Home » Tipps & Tricks » Dateien/Verzeichnisse » Dateieigenschaften » Letzten Dateizugriff ermitteln

Letzten Dateizugriff ermitteln

Die folgende Funktion liest den letzten Dateizugriff aus. Als Parameter muss der Pfad+Dateiname der Datei übergeben werden.

function GetFileLastAccessTime(Path: string): TDateTime;
var
  hFile: THandle;
  rStructur: TWin32FindData;
  rFileTime: TFileTime;
  dwLastAccess: cardinal;

begin
  Result := 0;
  hFile := Windows.FindFirstFile(pchar(Path), rStructur);
  if INVALID_HANDLE_VALUE  hFile
  then begin
    Windows.FindClose(hFile);
    { FILETIME in lokales FILETIME-Format konvertieren }
    FileTimeToLocalFileTime(rStructur.ftLastAccessTime, rFileTime);
    { lokales FILETIME-Format ins DOS-Format konvertieren }
    FileTimeToDosDateTime(rFileTime, LongRec(dwLastAccess).Hi, LongRec(dwLastAccess).Lo);
    { DOS-Format in ein Delphi-Format konvertieren }
    Result := FileDateToDateTime(dwLastAccess);
  end;

end; {function GetFileLastAccessDate() ...}

Aufgerufen werden kann die Funktion beispielsweise so:

procedure TForm1.Button1Click(Sender: TObject);
begin
  Caption:=DateTimeToStr(GetFileLastAccessTime('C:bild.bmp'));
end;