![]() |
Wie komme ich an die verschiedenen Datumswerte einer Datei?
Liste der Anhänge anzeigen (Anzahl: 1)
Hallo Wissende,
tja, die Frage ist sicher schon hundertmal beantwortet worden, aber für mein Problem habe ich noch keine Lösung gefunden. Folgendes: Bekannt ist mir diese Routine:
Delphi-Quellcode:
Diese Routine gibt mir das Creation Date, Last access date und das Modified date zurück. Soweit, so gut...
// Hier gefunden: https://www.delphipraxis.net/6594-letzten-zugriff-auf-datei-auslesen.html
function GetFileTimes(const FileName: string; var Created: TDateTime; var Accessed: TDateTime; var Modified: TDateTime): Boolean; var h: THandle; Info1, Info2, Info3: TFileTime; SysTimeStruct: SYSTEMTIME; TimeZoneInfo: TTimeZoneInformation; Bias: Double; begin Result := False; Bias := 0; h := FileOpen(FileName, fmOpenRead or fmShareDenyNone); if h > 0 then begin try if GetTimeZoneInformation(TimeZoneInfo) <> $FFFFFFFF then Bias := TimeZoneInfo.Bias / 1440 * 2; // 60x24 GetFileTime(h, @Info1, @Info2, @Info3); if FileTimeToSystemTime(Info1, SysTimeStruct) then Created := SystemTimeToDateTime(SysTimeStruct) - Bias; if FileTimeToSystemTime(Info2, SysTimeStruct) then Accessed := SystemTimeToDateTime(SysTimeStruct) - Bias; if FileTimeToSystemTime(Info3, SysTimeStruct) then Modified := SystemTimeToDateTime(SysTimeStruct) - Bias; Result := True; finally FileClose(h); end; end; end; Mein Explorer zeigt aber 4 Datumswerte an: Anhang 51162 In meinem Falle such ich das tatsächliche Erstell- bzw. Scan-Datum. Da die Dateien schon mal umkopiert wurden, zeigt das Erstell-Datum nur das Kopierdatum an. Das eigentliche Erstelldatum wird hier unter "Datum" angezeigt. Wie komme ich an dieses Datum heran?? |
AW: Wie komme ich an die verschiedenen Datumswerte einer Datei?
Eventuell EXIF-Daten aus dem JPeg?
![]() ![]() ![]() |
AW: Wie komme ich an die verschiedenen Datumswerte einer Datei?
Zitat:
|
AW: Wie komme ich an die verschiedenen Datumswerte einer Datei?
Das Datum mit dem letzten Update findest Du folgendermaßen heraus und dies ist auf allen OS kompilierbar (ich kann jetzt aber nicht die Hand in's Feuer legen, dass es auch auf allen OS einen brauchbaren Wert zurückliefert, das müsste ich erst testen):
Delphi-Quellcode:
class function TFileUtils.getFileChangeDate(filename:String):TDateTime;
var sr: TSearchRec; begin Result := 0; try if FindFirst(filename, faNormal, sr) = 0 then Result := sr.TimeStamp; finally FindClose(sr); end; end; |
AW: Wie komme ich an die verschiedenen Datumswerte einer Datei?
Zitat:
Tatsächlich gibt Deine Routine das gleiche zurück wie SysUtils.FileAge(Filename), also das Änderungsdatum. |
AW: Wie komme ich an die verschiedenen Datumswerte einer Datei?
Ich sehe auf dem Screenshort nur drei Datumswerte.
|
AW: Wie komme ich an die verschiedenen Datumswerte einer Datei?
Liste der Anhänge anzeigen (Anzahl: 1)
Zitat:
Datum, Erstelldatum, Änderungsdatum und Letzter Zugriff Anhang 51163 |
AW: Wie komme ich an die verschiedenen Datumswerte einer Datei?
Zitat:
|
AW: Wie komme ich an die verschiedenen Datumswerte einer Datei?
Zitat:
|
AW: Wie komme ich an die verschiedenen Datumswerte einer Datei?
Bei diesen Daten geht es sowieso nicht mit rechten Dingen zu. Wie kann das letzte Änderungsdatum vor dem Erstelldatum liegen? "Datum" wird vom Explorer offenbar auch nur bei Bildern angeboten. Das ist sicher, dass der Scanner keine EXIF-Sektion angelegt hat?
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 07:23 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-2025 by Thomas Breitkreuz