letzter Dateizugriff

Antworten
sud
Beiträge: 7
Registriert: Do 22. Okt 2009, 19:30

letzter Dateizugriff

Beitrag von sud »

Hi,

wie ist es mir unter Linux möglich mit Lazarus-"Bordmitteln" den letzten Zugriff auf eine Datei oder einen Ordner festzustellen?

Gruß
sud

Benutzeravatar
theo
Beiträge: 10468
Registriert: Mo 11. Sep 2006, 19:01

Re: letzter Dateizugriff

Beitrag von theo »

Ja. FileAge gibt "Geändert" zurück (Cross Platform) und fpstat benötigt BaseUnix und gibt alles mögliche zurück.
http://www.freepascal.org/docs-html/rtl ... /stat.html

Code: Alles auswählen

uses BaseUnix;
 
{ TForm1 }
 
procedure TForm1.Button1Click(Sender:TObject);
Var S : TDateTime;
    fa : Longint;
    info : stat;
Begin
  fa:=FileAgeUTF8('test.txt');
  If Fa<>-1 then  S:=FileDateTodateTime(fa);
 
  if fpstat ('test.txt',info)=0 then
       Caption:=DateTimeToStr(S)+' '+DateTimeToStr(FileDateToDateTime(info.atime));
end;

sud
Beiträge: 7
Registriert: Do 22. Okt 2009, 19:30

Re: letzter Dateizugriff

Beitrag von sud »

Hi theo,

Danke, genau das war es was ich gesucht hatte.. :D

Gruß
sud

mschnell
Beiträge: 3444
Registriert: Mo 11. Sep 2006, 10:24
OS, Lazarus, FPC: svn (Window32, Linux x64, Linux ARM (QNAP) (cross+nativ)
CPU-Target: X32 / X64 / ARMv5
Wohnort: Krefeld

Re: letzter Dateizugriff

Beitrag von mschnell »

ist "FileAge" wirklich der letzte Zugriff und nicht der Zeitpunkt er letzten Änderung ?

Für "Letzer Zugriff" (auch lesend) gibt es doch vermutlich auch eine Funktion (falls das Filesystem das unterstützt - also nicht FAT - und das speichern dieses Zeitpunkts nicht abgeschaltet ist - möglich z.B. bei EXT3) ....

-Michael

Benutzeravatar
theo
Beiträge: 10468
Registriert: Mo 11. Sep 2006, 19:01

Re: letzter Dateizugriff

Beitrag von theo »

@mschnell: Heute schon Kaffee getrunken?
Lies meine obige Antwort und das Code Beispiel danach nochmal. :wink:

Antworten