@Hagen:
Wenn Du meinen Beitrag noch mal aufmerksam liest, wirst Du feststellen, daß er keine Umwege über Kodierung/Dekodierung enthält. Ich habe gerade diese Aufrufe aus dem Ursprungs-Posting durch ein direktes Rechnen mit TDateTime (gekaspselt in
IncMilliSecond) ersetzt. Mein erster Gedanke beim Verfassen des Beitrags war es auch, für die eigentliche Berechnung einen Einzeiler zu schreiben. Diese Zeile
Zitat von
RX3:
(bitte keine professionellen Code-Vorschläge, sondern einfachen simplen Code, damit ich es auch selber verstehe *gg*)
hat mich aber davon abgehalten. Möglicherweise findet RX3 ja über das Nachschlagen der Funktion
IncMilliSecond in der Online-Hilfe den Einstieg in die Verwendung von TDateTime.
Die von Dir beschriebenen Fehler sind, wie Du sicher weißt, spätestens seit Version 6.02 korrigiert. Ob die
Unit nun fehlerfrei ist, vermag ich nicht zu sagen. Ich vermeide ebenfalls den übermäßgen Gebrauch der dort angebotenen Funktionen. Ich stimme Dir aber durchaus zu, daß viele Routinen eigentlich überflüssig sind und durch einfache Umrechnungen ersetzt werden können. Eine gedankenlose Verwendung führt aufgrund der möglichen Rundungsfehler zu Problemen, die mit dem von marabu erwähnten Verfahren weitestgehend vermieden werden können.
Eine Korrektur noch zu meinem ersten Beitrag:
Der Aufruf der Trunc-Funktion sollte entfernt werden, die Variable h muß dann natürlich als Real vereinbart werden. Diesen Fehler aus dem Ursprungs-Posting hatte ich nicht korrigiert. Mit Trunc erhält man lediglich die (ganzzahlige) Anzahl Stunden, wodurch die nachfolgende Umrechnung in Millisekunden überflüssig wäre.
Gruß Hawkeye