Jakane - Di 02.04.13 09:52
Titel: Erstelldatum mit Zeitwechsel
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