Главная страница | назад





Article #16930: Determine the last access time of a given file

 Question and Answer Database

     FAQ: FAQ1930D - Determine the last access time of a given file
Category: Windows API
Platform: All Windows
 Product: 

Question:

How can I determine the last access time of a given file?



Answer:

The following example demonstrates retrieving the last date and
time a given file was accessed. Note: Not all file systems support 
the last access time.

Example:

procedure TForm1.Button1Click(Sender: TObject);
var
  SearchRec : TSearchRec;
  Success : integer;
  DT : TFileTime;
  ST : TSystemTime;
begin
  Success := SysUtils.FindFirst('C:\autoexec.bat',
                                faAnyFile,
                                SearchRec);
 if (Success = 0) and
      (( SearchRec.FindData.ftLastAccessTime.dwLowDateTime <> 0)
      or ( SearchRec.FindData.ftLastAccessTime.dwHighDateTime <> 0))
 then
  begin
    FileTimeToLocalFileTime(SearchRec.FindData.ftLastAccessTime,DT);
      FileTimeToSystemTime(DT,ST);
    Memo1.Lines.Clear;
    Memo1.Lines.Add('AutoExec.Bat was last accessed at:');
    Memo1.Lines.Add('Year := ' + IntToStr(st.wYear));
    Memo1.Lines.Add('Month := ' + IntToStr(st.wMonth));
    Memo1.Lines.Add('DayOfWeek := ' + IntToStr(st.wDayOfWeek));
    Memo1.Lines.Add('Day := ' + IntToStr(st.wDay));
    Memo1.Lines.Add('Hour := ' + IntToStr(st.wHour));
    Memo1.Lines.Add('Minute := ' + IntToStr(st.wMinute));
    Memo1.Lines.Add('Second := ' + IntToStr(st.wSecond));
    Memo1.Lines.Add('Milliseconds := ' + IntToStr(st.wMilliseconds));
  end;
  SysUtils.FindClose(SearchRec);
end;



6/28/99 10:23:30 AM
 

Last Modified: 01-SEP-99