delphi 获取上一次文件访问时间  
官方Delphi 学习QQ群: 682628230(三千人)
频道

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
);

推荐分享
图文皆来源于网络,内容仅做公益性分享,版权归原作者所有,如有侵权请告知删除!
 

Copyright © 2014 DelphiW.com 开发 源码 文档 技巧 All Rights Reserved
晋ICP备14006235号-8 晋公网安备 14108102000087号

执行时间: 0.034636974334717 seconds