Also hierzu solltet Ihr Euch einfach mal klar werden in welchem Format TDateTime vorliegt.
Delphi-Hilfe zu TDateTime hat folgendes geschrieben: |
Der ganzzahlige Teil eines TDateTime-Wertes entspricht der Anzahl der Tage seit dem 30.12.1899. Der fraktionale Teil TDateTime-Wertes gibt die Tageszeit an. |
Also ist hinter dem Komma die Uhrzeit als Bruchteil des Tages.
Dieser Teil mal 24 sind die Stunden. Die Bruchteile der Stunden mal 60 sind die Minuten usw...
Hier mal als Beispiel:
Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17:
| procedure TForm1.Button2Click(Sender: TObject); var T: TDateTime; H: Real; M: Real; S: Real; begin T := Now; // Aktuelles Datum und Uhrzeit setzen T := T - Trunc(T); //Vorkommateil eliminieren H := 24 * T; // Nachkommateil mal 24 Stunden pro Tag Edit1.Text := IntToStr(Trunc(H)); // Ausgeben H := H - Trunc(H); //Vorkommateil eliminieren M := 60 * H; // Nachkommateil mal 60 Minuten pro Stunde Edit2.Text := IntToStr(Trunc(M)); M := M - Trunc(M); //Vorkommateil eliminieren S := 60 * M; // Nachkommateil mal 60 Sekunden pro Minute Edit3.Text := IntToStr(Trunc(S)); end; |
DecodeTime macht im Prinzip nichts anderes, nur eben als Funktion.
"Der Mensch ist nicht was er sich vorstellt oder wünscht zu sein, sondern das was andere in ihm sehen."