關於判斷兩個文件的新舊問題 幫朋友寫一個文件更新程序,怎樣去判斷兩個文件的新舊...我是用getfiletime來獲取時間的...是否行得通呢.... 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 如果在2秒间隔内修改的文件getfiletime就没办法判断了, 因为filetime最低精度是2秒 获取文件时间function FGetFileTime(sFileName: string; TimeType: Integer): TDateTime;var ffd:TWin32FindData; dft:DWord; lft,Time:TFileTime; H:THandle;begin H:=Windows.FindFirstFile(PChar(sFileName),ffd); case TimeType of 0: Time:=ffd.ftCreationTime; 1: Time:=ffd.ftLastWriteTime; 2: Time:=ffd.ftLastAccessTime; end; //获取文件信息 if (H <> INVALID_HANDLE_VALUE) then begin //我们只查找一个文件,所以关掉"find" Windows.FindClose(H); //转换FILETIME格式成为local FILETIME格式 FileTimeToLocalFileTime(Time,lft); //转换FILETIME格式成为DOStime格式 FileTimeToDosDateTime(lft,LongRec(dft).Hi,LongRec(dft).Lo); //最后,转换DOStime格式成为Delphi's应用的TdateTime格式 Result:=FileDateToDateTime(dft); end else result:=0;end;procedure TForm1.Button1Click(Sender: TObject);begin Edit1.Text:=DateTimeToStr(FGetFileTime('C:\1.txt',0)); Edit2.Text:=DateTimeToStr(FGetFileTime('C:\1.txt',1)); Edit3.Text:=DateTimeToStr(FGetFileTime('C:\1.txt',2));end; 如果在2秒间隔内修改的文件getfiletime就没办法判断了, 因为filetime最低精度是2秒楼上的研究得精确如果单单要获得文件时间,那用getfiletime就足够了 获得时间直接用getfiletime就可以了。 高分求助高手帮忙呀。急:在DELPHI下如何区别一个字符串是汉字而不是标点符号、英文字母或其它乱码? 愤怒!印尼媒体诬中方救灾食品过期。 输入法窗口总是被ComboBox的下拉框挡住,怎么办? 我的scktsrvr.exe在NT server上運行怎么會報錯? 来者有分 求购 Delphi进销存程式设计和Delphi5企业级解决方案及应用剖析 请问,如何在程序中动态注册ODBC数据源? 菜鸟问题,谢谢啦~ 大家来看看! jshnet ,过来帮忙或领分!!! 鸳鸯科技招聘资深软件开发人员 如何处理socket异常
TimeType: Integer): TDateTime;
var
ffd:TWin32FindData;
dft:DWord;
lft,Time:TFileTime;
H:THandle;
begin
H:=Windows.FindFirstFile(PChar(sFileName),ffd);
case TimeType of
0: Time:=ffd.ftCreationTime;
1: Time:=ffd.ftLastWriteTime;
2: Time:=ffd.ftLastAccessTime;
end; //获取文件信息
if (H <> INVALID_HANDLE_VALUE) then
begin
//我们只查找一个文件,所以关掉"find"
Windows.FindClose(H);
//转换FILETIME格式成为local FILETIME格式
FileTimeToLocalFileTime(Time,lft);
//转换FILETIME格式成为DOStime格式
FileTimeToDosDateTime(lft,LongRec(dft).Hi,LongRec(dft).Lo);
//最后,转换DOStime格式成为Delphi's应用的TdateTime格式
Result:=FileDateToDateTime(dft);
end
else
result:=0;
end;procedure TForm1.Button1Click(Sender: TObject);
begin
Edit1.Text:=DateTimeToStr(FGetFileTime('C:\1.txt',0));
Edit2.Text:=DateTimeToStr(FGetFileTime('C:\1.txt',1));
Edit3.Text:=DateTimeToStr(FGetFileTime('C:\1.txt',2));
end;
楼上的研究得精确如果单单要获得文件时间,那用getfiletime就足够了