Forum: Object-Pascal / Delphi-Language
Delphi
by marabu,
13. Mai 2005
Die Tage zwischen dem 4. und dem 15. Oktober 1582 hat es nie gegeben, sie fielen der Kalenderreform von Papst Gregor XIII zum Opfer. Insofern hast du eine kleine Unschärfe in deinen Routinen.
marabu
Forum: Object-Pascal / Delphi-Language
Delphi
by marabu,
13. Mai 2005
result := I * 365 + I div 4 - I div 100 + I div 400 + Day - 693594;
Du berechnest in deiner Routine EncodeDate() zuerst die Gesamttage seit Beginn der Zeitrechnung - das ist zwar vom Ergebnis nicht ganz richtig, aber sei's drum. Zuletzt rechnest du durch Subtraktion von 693594 Tagen das Ergebnis in die Zahl der Tage seit dem 31.12.1899 um.
Warum? In deiner Routine DecodeDate() gehst du doch...
Forum: Object-Pascal / Delphi-Language
Delphi
by marabu,
13. Mai 2005
Diese Festlegung wird in deinem Code nirgendwo berücksichtigt.
Grüße vom marabu