Entwickler-Ecke
Sonstiges (Delphi) - Anzeige über 24 Stunden
schaumermal - Do 18.11.10 17:41
Titel: Anzeige über 24 Stunden
Hallo,
kann mir jemand sagen, wie ich Delphi Zeiten über 24 Stunden darstellen kann?
Ich ermittle und summiere die Arbeitszeiten pro Tag.
Wie kann ich es anstellen, dass ich als Ergenis z.B. 38:15 Stunden bekomme.
Nach meiner Addition erhalte ich z.B. hier nur 14:15.
Gruß
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14:
| var Tmp:Double; begin QSuchen.SQL.Text:='Select * from PersonalAnwesenheitszeiten'; QSuchen.SQL.Add('Where PersonalID='+IntToStr(Personal)); QSuchen.Active:=true;
Tmp:=QSuchen.FieldByName('MontagBis').AsDateTime-QSuchen.FieldByName('MontagVon').AsDateTime; Tmp:=Tmp+QSuchen.FieldByName('DienstagBis').AsDateTime-QSuchen.FieldByName('DienstagVon').AsDateTime; Tmp:=Tmp+QSuchen.FieldByName('MittwochBis').AsDateTime-QSuchen.FieldByName('MittwochVon').AsDateTime; Tmp:=Tmp+QSuchen.FieldByName('DonnerstagBis').AsDateTime-QSuchen.FieldByName('DonnerstagVon').AsDateTime; Tmp:=Tmp+QSuchen.FieldByName('FreitagBis').AsDateTime-QSuchen.FieldByName('FreitagVon').AsDateTime; Tmp:=Tmp+QSuchen.FieldByName('SamstagBis').AsDateTime-QSuchen.FieldByName('SamstagVon').AsDateTime; Result:=DateTimeToStr(tmp); |
Moderiert von
Martok: Delphi-Tags gesetzt
jaenicke - Do 18.11.10 17:56
Delphi-Quelltext
1:
| Result := TimeToStr(Frac(tmp)); |
Frac extrahiert den Nachkommaanteil. Und da ein Tag genau Eins entspricht, passt das für die Uhrzeit. Dann noch die Tage mit 24 multiplizieren und addieren.
schaumermal - Do 18.11.10 17:59
Hi,
das ist schon klar.
Aber wie kann ich dies dann als 38:15 anzeigen lassen?
bummi - Do 18.11.10 18:08
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9:
| var d,h,mm,s,z:Word; Zeit:Double; begin Zeit := 1.7; d := Trunc(zeit); DecodeTime(Zeit,h,mm,s,z); Showmessage(Format('%d:%d',[d*24+h,mm])) end; |
schaumermal - Do 18.11.10 18:10
Danke!
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2025 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!