Hallo liebe Delphi-Helfer
Um das Erstelldatum einer Datei auszulesen habe ich immer folgende Function verwendet:
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17:
| function TFuP_S._Erstelldatum(Dateipfad: String) : TDateTime; var SR: TSearchRec; SystemTime: TSystemTime; NewCreationTime: TFileTime; begin Result:= 0; if FindFirst(Dateipfad, faAnyFile, SR) = 0 then begin if (Windows.FileTimeToLocalFiletime(SR.FindData.ftCreationTime, NewCreationTime) and Windows.FileTimeToSystemTime(NewCreationTime, SystemTime)) then begin Result:= Encodedate(SystemTime.wYear, SystemTime.wMonth, SystemTime.wDay) + Encodetime(SystemTime.wHour, SystemTime.wMinute,SystemTime.wSecond, SystemTime.wMilliseconds); end; end; end; |
Das klappt fast das ganze Jahr.
Nur heute habe ich ein Problem
Eine Datei die am 29.03. um 23:45 erstellt wurde, wird mir mit 30.03. 00:45 angezeigt
Da das Datum jetzt unterschiedlich ist, erkennt mein Programm die falschen Daten, so liest er mir nun die Datei aus die am 28.03 erstellt wurde, weil sie nun den 29. anzeigt
Kann ich der Funktion irgendwie sagen, dass sie mir die echte Zeit anzeigen soll, ganz gleich ob Zeitumstellung oder nicht.
Hoffe jemand hat einen Rat.
Moderiert von Martok: Code- durch Delphi-Tags ersetzt