文件时间的取得方法

lemon_wei 2003-04-26 07:41:30
我知道用GETFILETIME(),但是不知具体的用法,能给个具体的例子吗?
...全文
44 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
李_军 2003-04-26
  • 打赏
  • 举报
回复
unit Unit_AccessFile;

interface

uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
StdCtrls;

type
TForm1 = class(TForm)
Button1: TButton;
Label1: TLabel;
OpenDialog1: TOpenDialog;
Label2: TLabel;
Label3: TLabel;
procedure GetFileTime(Const Tf:String);
procedure Button1Click(Sender: TObject);
private
{ Private declarations }
function CovFileDate(FD: _FileTime): TDateTime;
public
{ Public declarations }
end;

var
Form1: TForm1;

implementation

{$R *.DFM}

procedure TForm1.Button1Click(Sender: TObject);
begin
if Opendialog1.Execute then
GetFileTime(Opendialog1.FileName);
end;
//获得文件的时间格式
function TForm1.CovFileDate(FD: _FileTime): TDateTime;
Var
Tct: _SystemTime;
Temp: _FileTime;
begin
FileTimeToLocalFileTime(FD,Temp);
FileTimeToSystemTime(Temp,Tct);
CovFileDate := SystemTimeToDateTime(Tct);
end;

//有了上面的函数支持,就可以获得一个文件的时间信息了。
//获取文件时间,TF表示目标文件路径和名称
procedure TForm1.GetFileTime(const Tf: String);
Const
Model = 'yyyy/mm/dd,hh:mm:ss';//设定时间格式
Var
Tp: TSearchRec; //声明TP为一个查找记录
T1,T2,T3: String;
begin
FindFirst(Tf,faAnyFile,TP); //查找目标文件
T1:=FormatDateTime(model,COvFileDate(Tp.FindData.ftCreationTime));
//返回文件创建时间
Label1.Caption:='文件的创建时间是:'+T1;
T2:=FormatDateTime(model,COvFileDate(Tp.FindData.ftLastWriteTime));
//返回文件修改时间
Label2.Caption:='文件的修改时间是:'+T2;
T3:=FormatDateTime(model,Now);
//返回文件当前访问时间
Label3.Caption:='文件的当前访问是:'+T3;
FindClose(Tp);
end;

end.
sysu 2003-04-26
  • 打赏
  • 举报
回复
用FileAge就可以了,再加上FileDateToDateTime转换一下:
ShowMessage(DateTimeToStr(FileDateToDateTime(FileAge('c:\config.sys'))));

5,386

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 开发及应用
社区管理员
  • VCL组件开发及应用社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧