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

Soyez le premier à donner votre avis sur cette source.

Snippet vu 7 506 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

PhGORMAND
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;
fabiin
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 @+
PhGORMAND
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/
garfieldfr
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 !!!!

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.