在部分Win2k系统中,AutoCAD修改Dwg文件只修改了创建时间,修改时间不变,不知为何。 所以用下面的函数来得到文件时间。
Uses SysUtils;
function GetFileMaxTime(sFileName: String): String;
var
Tp: TSearchRec;
Tct: _SystemTime;
Temp, Fd: _FileTime;
CreateTime, ModifyTime: TDateTime;
begin
FindFirst(sFileName, faAnyFile, Tp);
try
Fd := Tp.FindData.ftCreationTime;
FileTimeToLocalFileTime(Fd, Temp);
FileTimeToSystemTime(Temp, Tct);
CreateTime := SystemTimeToDateTime(Tct);
Fd := Tp.FindData.ftLastWriteTime;
FileTimeToLocalFileTime(Fd, Temp);
FileTimeToSystemTime(Temp, Tct);
ModifyTime := SystemTimeToDateTime(Tct);
if CreateTime > ModifyTime then
ModifyTime := CreateTime;
Result := FormatDateTime('yyyy-mm-dd hh:mm:ss', ModifyTime);
finally
SysUtils.FindClose(Tp);
end;
end;