Bonjour,
(Delphi 7)
Mon problème c'est que je voudrai convertir un Float en heures et minutes.
ex: "2,75" sachant que 2 et le nombre d'heures et 75 le nombre de minutes en centièmes pour pouvoir afficher 02:45.
D'avance merci à tous.
Bonjour,
(Delphi 7)
Mon problème c'est que je voudrai convertir un Float en heures et minutes.
ex: "2,75" sachant que 2 et le nombre d'heures et 75 le nombre de minutes en centièmes pour pouvoir afficher 02:45.
D'avance merci à tous.
bonjour
je n'en suis pas sur mais je pense que le format TTime correspond a
1/24/60/60
a toi de faire la conversion
edit: j'ai pas vu que tu veux 2.75 =>2:45
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12 Function Encode(t:single):TDatetime; var i,j:byte; begin i:=trunc(t); j:=(trunc((t-i)*100)); result:=EncodeTime(i,j,0,0); end; procedure TForm1.Button1Click(Sender: TObject); begin showmessage(TimeToStr(Encode(2.20))); end;![]()
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 var x : Single; begin .... x := 2.75; FormatDateTime ('hh:nn', TDateTime (x * 24));
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12 Function Encode(t:single):TDatetime; var i,j:byte; begin i:=trunc(t); j:=(trunc((t-i)*100)); j:=(j*60) div 100; result:=EncodeTime(i,j,0,0); end; procedure TForm1.Button1Click(Sender: TObject); begin showmessage(TimeToStr(Encode(2.50))); end;
J'étais parti comme toi Edam,
Mais la méthode de rsc est très sympa et beaucoup plus générique.
Sauf qu'il y a une erreur:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 var x : Single; begin .... x := 2.75; FormatDateTime ('hh:nn', TDateTime (x / 24));
Section Delphi
La mine d'or: La FAQ, les Sources
Un développement compliqué paraitra simple pour l'utilisateur, frustrant non ?
Notre revanche ? l'inverse est aussi vrai ;-)
Merci TicTactoe pour le compliment et la correction !![]()
Merci à tous pour ces réponses
mon prob est ainsi résolu
Encore merci
bonjour, j'ai tenté de convertir un hh:mm en float avec votre fonction, mais je n'y arrive pas une idée pour faire le contraire ??
decodetime est mon ami!
Partager