![]() |
GetFileTimes liefert mir ein anderes datum zurück
Hallo. Habe diesen Code verwendet.
![]() Wie kann ich das korregieren? Abfangen und heutiges datum zuweisen? bzw. kann ich das irgenwie "auslesen" wenn es mit der obengenannte function nicht geht? |
Re: GetFileTimes liefert mir ein anderes datum zurück
Zitat:
Aber bei mir liegen immer alle Datumswerte in der Vergangenheit, wo auch sonst. In der Gegenwart und der Zukunft können sie nicht liegen. |
Re: GetFileTimes liefert mir ein anderes datum zurück
1979 anstatt 2005
|
Re: GetFileTimes liefert mir ein anderes datum zurück
Zitat:
Ansonsten probiere es damit
Delphi-Quellcode:
BTW: Nicht alle Dateisysteme unterstüzen alle drei Zeiten...
function GetLocalFileTimes(const FileName: string; out Created, Accessed, Modified: TDateTime): Boolean;
var FileHandle: THandle; CreationTime: TFileTime; LastAccessTime: TFileTime; LastWriteTime: TFileTime; LocalCreationTime: TFileTime; LocalLastAccessTime: TFileTime; LocalLastWriteTime: TFileTime; SystemCreationTime: TSystemTime; SystemLastAccessTime: TSystemTime; SystemLastWriteTime: TSystemTime; begin Result := False; FileHandle := CreateFile(PChar(FileName), GENERIC_READ, FILE_SHARE_READ or FILE_SHARE_WRITE, nil, OPEN_EXISTING, 0, THandle(nil)); if FileHandle <> INVALID_HANDLE_VALUE then try if GetFileTime(FileHandle, @CreationTime, @LastAccessTime, @LastWriteTime) and FileTimeToLocalFileTime(CreationTime, LocalCreationTime) and FileTimeToLocalFileTime(LastAccessTime, LocalLastAccessTime) and FileTimeToLocalFileTime(LastWriteTime, LocalLastWriteTime) and FileTimeToSystemTime(LocalCreationTime, SystemCreationTime) and FileTimeToSystemTime(LocalLastAccessTime, SystemLastAccessTime) and FileTimeToSystemTime(LocalLastWriteTime, SystemLastWriteTime) then begin try Created := SystemTimeToDateTime(SystemCreationTime); Accessed := SystemTimeToDateTime(SystemLastAccessTime); Modified := SystemTimeToDateTime(SystemLastWriteTime); Result := True; except // ignore exceptions; end; end; finally CloseHandle(FileHandle); end; end; procedure TForm1.FormCreate(Sender: TObject); var Created: TDateTime; Accessed: TDateTime; Modified: TDateTime; begin if GetLocalFileTimes(ParamStr(0), Created, Accessed, Modified) then ShowMessage( 'Created: ' + DateTimeToStr(Created) + #13#10 + 'Accessed: ' + DateTimeToStr(Accessed) + #13#10 + 'Modified: ' + DateTimeToStr(Modified)); end; |
Re: GetFileTimes liefert mir ein anderes datum zurück
Vielen Dank! BS: Win 2000 und XP
was micht gewundert hat, das dieses fehlverhalten ab und zu auftritt. Ich kann mich erinnern das es irendwann mal so was gab Das bei machen Dateien nicht möglich war die Datumswerte auslesen. weis ich aber nicht warum. PS: Die Bilder liegen auf eine SD Karte der Digitalkamera.. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 17:29 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz