When was that file last accessed? #9
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;
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
);
| Original resource: | Chami.com Tips |
|---|---|
| Author: | Unknown |
| Added: | 2007/06/02 |
| Last updated: | 2009/08/27 |