Transformer des millisecondes(integer) en format hh:mm:ss:ccc (string)

Soyez le premier à donner votre avis sur cette source.

Snippet vu 7 650 fois - Téléchargée 29 fois

Contenu du snippet

Cette petite fonction permet de transfomer un nombre de millisecondes en un type String format HH:MM:SS:ccc

Vous pouvez facilement la modifier pour un format HH:MM:SS :)

Source / Exemple :


function IntToTime(Valeur:integer):string;
var
TmpVal:real;
TmpStr:string;
begin
TmpVal := Valeur;
TmpStr := '';

TmpVal := TmpVal / 3600000;
TmpStr := inttostr(trunc(TmpVal));

TmpVal := (TmpVal-trunc(TmpVal))* 3600000;
TmpVal := TmpVal / 60000;
TmpStr := TmpStr + ':' + inttostr(trunc(TmpVal));

TmpVal := (TmpVal-trunc(TmpVal))*60000;
TmpVal := TmpVal / 1000;
TmpStr := TmpStr + ':' + inttostr(trunc(TmpVal));

TmpVal := (TmpVal-trunc(TmpVal))*1000;
TmpVal := TmpVal;
TmpStr := TmpStr + ':' + inttostr(trunc(TmpVal));

Result := TmpStr;

end;

Conclusion :


exemple d'utilisation :
IntToTime(GetTickCount)
vous renvera le temps depuis ke vous avez lancé votre ordinateur :)

A voir également

Ajouter un commentaire

Commentaires

Messages postés
1
Date d'inscription
samedi 22 mars 2003
Statut
Membre
Dernière intervention
22 mars 2003

ou comment se compliquer la vie :
Il existe un type TTimeStamp:
TTimeStamp =record
Time:Integer;
Date:Integer;
end;

donc le code :
var T:TTimeStamp;
D:TDateTime;
begin
T.time := 1254586; //millisecondes
D:=TimestampToDateTime(T);
...et plein d'autre fonction ....
end;

en gros, vous reinventez la roue .... il faut lire la doc !!!!
Messages postés
54
Date d'inscription
jeudi 3 janvier 2002
Statut
Membre
Dernière intervention
20 juillet 2006

Tu fais comme ça, pour avoir les milisecondes.

Function MilisecondesToTime(D : Integer) : String;
Var
T : TDateTime;
F : Double;
Begin
F := (Frac(D / 1000)) * 1000;
T := D / 86400000;
Result := TimeToStr(T) + ':' + IntTostr(Round(F));
End;


Au fait : http://philippe.gormand.free.fr/
Messages postés
338
Date d'inscription
mercredi 4 avril 2001
Statut
Membre
Dernière intervention
8 décembre 2009
6
Wé !!! c cool ton code !!!
Mais comment fait-ton pour avoir les millisecondes ???

Merci @+
Messages postés
54
Date d'inscription
jeudi 3 janvier 2002
Statut
Membre
Dernière intervention
20 juillet 2006

Salut. Que penses tu de ce code ?

Function MilisecondesToTime( M : Integer) : String;
Var
T : TDateTime;

Begin
T:=D /86400000;
Result := TimeToStr(T);
End;


// Exemple
procedure TForm1.Button1lick(Sender : TObject);
Var
T : Integer;
begin
T:=GetTickCount;
Caption:= MilisecondesToTime(T);
end;

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.