当前位置:主页>delphi7/进销存和数据库> 文章内容

如何才能知道一个文件的修改时间?

发布时间:2010-02-06 | QQ免费站
1楼: 在windows资源管理器里选择一个文件点击右键选择属性会有一个“修改时间”项,请问如何才能取得这个时间

字串9

2楼: 用GetFileTime,其中的第三个参数就是 字串9

3楼: GetFileTime //uses Windows; procedure TForm1.Button1Click(Sender: TObject); Var hFile : THandle; FT : TFileTime; ST : TSystemTime; Begin If Not OpenDialog1.Execute Then Exit; hFile := FileOpen(OpenDialog1.FileName, fmOpenWrite or fmShareDenyNone); GetFileTime(hFile, @FT, @FT, @FT); FileTimeToSystemTime(FT, ST); //ST.wYear、ST.wMonth... FileClose(hFile); end; 字串5

4楼: 用楼上的方法取到了两个文件的时间,但如何比较这两个时间是否相同呢?
字串3

5楼: If (FT1.dwLowDateTime=FT2.dwLowDateTime) And (FT1.dwLowDateTime=FT2.dwLowDateTime) showmessage(‘时间相同‘); 字串3

6楼: {获取文件时间 需在Uses加入ShellAPI} {最后修改时间11:14 2002-04-03,整理:JUKY} function TF_shuxing.getfiletime(sfilename:string;timetype:integer):tdatetime; var ffd:TWin32FindData; dft:DWord; lft,Time:TFileTime; h:THandle; begin h:=windows.FindFirstFile(pchar(sfilename),ffd); if h<>INVALID_HANDLE_VALUE then begin case timetype of 0: time:=ffd.ftCreationTime; 1: time:=ffd.ftLastAccessTime; 2: time:=ffd.ftLastWriteTime; end; windows.FindClose(h); filetimetolocalfiletime(time,lft); filetimetodosdatetime(lft,longrec(dft).hi,longrec(dft).lo); result:=filedatetodatetime(dft); filedate:=datetimetostr(result); end else result:=0; end;

字串5

7楼: 接受答案了.
字串6