@Robert_G :
Zitat:
Wie kommst du auf die Idee TDate sei ein Integer?
Also nochmal : Windows verwaltet das Datum intern als Integer.
Kannst Du ganz leicht ausprobieren : Starte Excel, gib' in irgendeine Zelle das heutige Datum ein - den
29.04.2004 - und dann Pulldown-Menü 'Format / Zellen' und klick da auf Zahl.
Dann siehst Du in dieser Excel-Zelle die windows-interne Ganz-Zahl, die für den 29.04.2004 steht,
nämlich 38106.
Und wenn Du nun in Delphi das Datum abfragst, dann steht in dem Datentyp TDateTime (der wie gesagt
dem Datentyp Double entspricht) "links" vom Komma dieser Ganz-Zahl-Wert für das Datum, den Delphi
vom Windows-System bezieht (für heute 38106) und "rechts" vom Komma steht ein Ganz-Zahl-Wert, der die Zeit repräsentiert.
Wenn Du Dir dann die Datums-Zahl links vom Komma 'isolierst' erhälst Du einen Integer-Wert, der für das Datum steht
und das Du locker im Zusammenhang mit
SQL-Queries verwenden kannst. Jedenfalls bei Microsoft-Datenbanken wie
Access.
TDateTime ist natürlich kein Integer, aber das Datum an sich, wird durch eine ganze Zahl repräsentiert und kann ganz
einfach aus dem TDateTime extrahiert werden - undzwar in eine
integer-Variable.