微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何在Delphi中获取创build/最后修改文件的date?

我想获得一个文件这些属性作为整数值。

二进制安装文件

我可以使用mod_rewrite更改文件扩展名? .jpeg为.jpg例如

如何使用Windows命令行search文件,然后用位置创build文本文档?

primefaces文件保存在Linux上,不会丢失元数据

如何获得应用程序从文件系统读取/写入文件系统的总时间?

Delphians倾向于喜欢FindFirst方法(SearchRec结构有一些),但是我建议使用Win32 API函数GetFileAttributesEx。

尝试

function FileAge(const FileName: string; out FileDateTime: TDateTime): Boolean;

从SysUtils。

从DSiWin32免费软件库:

function DSiFileTimetoDateTime(fileTime: TFileTime; var dateTime: TDateTime): boolean; var sysTime: TSystemTime; begin Result := FileTimetoSystemTime(fileTime,sysTime); if Result then dateTime := SystemTimetoDateTime(sysTime); end; { DSiFileTimetoDateTime } function DSiGetFileTimes(const fileName: string; var creationTime,lastAccesstime,lastModificationTime: TDateTime): boolean; var fileHandle : cardinal; fsCreationTime : TFileTime; fsLastAccesstime : TFileTime; fsLastModificationTime: TFileTime; begin Result := false; fileHandle := CreateFile(PChar(fileName),GENERIC_READ,FILE_SHARE_READ,nil,OPEN_EXISTING,0); if fileHandle <> INVALID_HANDLE_VALUE then try Result := GetFileTime(fileHandle,@fsCreationTime,@fsLastAccesstime,@fsLastModificationTime) and DSiFileTimetoDateTime(fsCreationTime,creationTime) and DSiFileTimetoDateTime(fsLastAccesstime,lastAccesstime) and DSiFileTimetoDateTime(fsLastModificationTime,lastModificationTime); finally CloseHandle(fileHandle); end; end; { DSiGetFileTimes }

这应该工作,它是本机的Delphi代码

function GetFileModDate(filename : string) : integer; var F : TSearchRec; begin FindFirst(filename,faAnyFile,F); Result := F.Time; //if you wanted a TDateTime,change the return type and use this line: //Result := FileDatetoDatetime(F.Time); FindClose(F); end;

function GetFileModDate(filename : string) : TDateTime; var F : TSearchRec; begin FindFirst(filename,F); Result := F.TimeStamp; //if you really wanted an Int,change the return type and use this line: //Result := F.Time; FindClose(F); end;

F.Time已经被弃用,帮助文件说使用F.TimeStamp。

只是为了更新这个由于更高版本的德尔福

你可以调用GetFile@R_430_4045@ionByHandle的 winapi函数。 另外, JCL还有一个你也可以使用的GetFileLastWrite函数

System.IoUtils确实有TFile记录与获取文件时间的几个函数,例如GetCreationTime,GetLastAccesstime,GetLastWriteTime

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐