- 人气:
- 放大
- 缩小
- 二维码
- 赞赏
delphi 获取上一次文件访问时间
上次访问该文件的时间是什么?
这是如何编写一个函数的示例,该函数将返回文件的上次访问时间(不要与上次修改时间混淆)。
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()将以Delphi TDateTime类型返回给定文件的上次访问时间,您可以使用DateTimeToStr()函数将其转换为字符串。例如:
MessageDlg(
'c:\config.sys was last accessed on '
+ DateTimeToStr(GetFileLastAccessTime('c:\config.sys')),
mtInformation, [mbOk], 0
);