Einzelnen Beitrag anzeigen

SiMc

Registriert seit: 28. Feb 2005
8 Beiträge
 
#1

Problem mit Funktion: GetFileLastAccessTime

  Alt 1. Mai 2005, 14:39
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
  Mit Zitat antworten Zitat