Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Library: Dateien / Laufwerke (https://www.delphipraxis.net/41-library-dateien-laufwerke/)
-   -   Delphi Letzten Zugriff auf Datei auslesen (https://www.delphipraxis.net/6594-letzten-zugriff-auf-datei-auslesen.html)

Alexander 16. Jul 2003 11:46


Letzten Zugriff auf Datei auslesen
 
Mit dieser Funktion sollte man das Änderungsdatum, Zugriffsdatum und Erstellungsdatum herausfinden.
Die Funktion stammt nicht von mir, der Autor ist leider unbekannt (habe den Code auf meinem Rechner gefunden)
Delphi-Quellcode:
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; // 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;


procedure TForm1.Button1Click(Sender: TObject);
var
  Date1, Date2, Date3: TDateTime;
begin
  if GetFileTimes(Edit1.Text, Date1, Date2, Date3) then
  begin
    ShowMessage('Created: ' + DateTimeToStr(Date1));
    ShowMessage('Last Accessed: ' + DateTimeToStr(Date2));
    ShowMessage('Last Modified: ' + DateTimeToStr(Date3));
  end;
end;
[edit=Daniel B]Titel korrigiert. Mfg, Daniel B[/edit]
[edit=flomei]Wir "räumen auf", daher Titel geändert... Mfg, flomei[/edit]


Alle Zeitangaben in WEZ +1. Es ist jetzt 09:23 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz