Einzelnen Beitrag anzeigen

Benutzerbild von Woodman
Woodman

Registriert seit: 17. Mär 2007
74 Beiträge
 
Delphi 10.1 Berlin Starter
 
#1

Wie komme ich an die verschiedenen Datumswerte einer Datei?

  Alt 29. Mai 2019, 17:07
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:
// 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;
Diese Routine gibt mir das Creation Date, Last access date und das Modified date zurück. Soweit, so gut...
Mein Explorer zeigt aber 4 Datumswerte an:
explorer-auszug-datumjpg.jpg
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??
Keep
Horst
Delphi 10.1 Berlin Starter unter Windows 10 - 1803
  Mit Zitat antworten Zitat