Hallo
Ich habe hier ein bisschen rumgesucht, weil ich eine Funktion/Prozedur brauchte, um den letzten Zugriff einer Datei auszulesen.
Dabei habe ich dashier gefunden:
Delphi-Quellcode:
function GetFileLastAccessTime(sFileName: string): TDateTime;
var
ffd: TWin32FindData;
dft: DWORD;
lft: TFileTime;
h: THandle;
begin
//
// get file information
h := Windows.FindFirstFile(PChar(sFileName), ffd);
if (INVALID_HANDLE_VALUE <> h) then
begin
//
// we're looking for just one file,
// so close our "find"
Windows.FindClose(h);
//
// convert the FILETIME to
// local FILETIME
FileTimeToLocalFileTime(ffd.ftLastAccessTime, lft);
//
// convert FILETIME to
// DOS time
FileTimeToDosDateTime(lft, LongRec(dft).Hi, LongRec(dft).Lo);
//
// finally, convert DOS time to
// TDateTime for use in Delphi's
// native date/time functions
Result := FileDateToDateTime(dft);
end;
end;
...
procedure TForm1.Button1Click(Sender: TObject);
begin
Edit1.Text := DateTimeToStr(GetFileLastAccessTime('C:\datei.dat'));
end;
Das Problem ist, dass ich nicht das Datum/die Uhrzeit vom letzten Zugriff bekomme, sondern das von der letzten Änderung.
Also ob ich oben in der Funktion das hier
FileTimeToLocalFileTime(ffd.ftLastAccessTime, lft);
oder
FileTimeToLocalFileTime(ffd.ftLastWriteTime, lft);
stehen habe macht keinen Unterschied.
Gibt es denn vielleicht noch eine andere Möglichkeit den letzten Zugriff zu lesen?
-SiMc