(page requirements)
Downloads

When was that file last accessed?

Here's an example of how to write a function that'll return a file's last access time (not to be confused with the last modified time).
 
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;
Listing #1 : Delphi code. Download fatime (0.53 KB).
 
"GetFileLastAccessTime()" will return a given file's last access time as a Delphi "TDateTime" type which you can convert to a string by using the "DateTimeToStr()" function. For example:
 
  MessageDlg(
    'c:config.sys was last accessed on ' +
    DateTimeToStr( 
      GetFileLastAccessTime( 'c:config.sys' ) ),
    mtInformation, [mbOk], 0 );
Listing #2 : Delphi code. Download sample (0.25 KB).
 
 
Applicable Keywords : Delphi, Delphi 2.x, Delphi 3.x, Functions, Win32
 
 
 
Copyright © 2009 Chami.com. All Rights Reserved. | Advertise | Created in HTML Kit editor