我不是要这个啊。 如何获取文件的创建时间? 我的代码: function GetFileProp(FileName: string): TFileProperty; //TFileProperty是自定义的文件属性类型 var SR: TSearchRec; begin if FindFirst(FileName, faAnyFile, SR) = 0 then begin Result.FileName := FileName; Result.Size := SR.Size; Result.Attr := SR.Attr; Result.DOSFileName := SR.FindData.cAlternateFileName; Result.CreationTime := FileTimeToLocalSystemTime(SR.FindData.ftCreationTime); Result.LastWriteTime := FileTimeToLocalSystemTime(SR.FindData.ftLastWriteTime); Result.LastAccessTime := FileTimeToLocalSystemTime(SR.FindData.ftLastAccessTime); FindClose(SR); end; end; SR.FindData的属性找不到,还有FileTimeToLocalSystemTime()也找不到 是不是要声明API
//uses shellapi function FileTimeToLocalSystemTime(FTime: TFileTime): TSystemTime; var STime: TSystemTime; begin FileTimeToLocalFileTime(FTime, FTime); FileTimeToSystemTime(FTime, STime); Result := STime; end;
function CovFileDate(Fd:_FileTime):TDateTime; var Tct:_SystemTime; Temp:_FileTime; begin FileTimeToLocalFileTime(Fd,Temp); FileTimeToSystemTime(Temp,Tct); CovFileDate:=SystemTimeToDateTime(Tct); end;function GetFileTime(const Tf:string):TDateTime; { 获取文件时间,Tf表示目标文件路径和名称 } var Tp:TSearchRec; { 申明Tp为一个查找记录 } begin FindFirst(Tf,faAnyFile,Tp); { 查找目标文件 } Result:=CovFileDate(Tp.FindData.ftCreationTime); { 返回文件的创建时间 } FindClose(Tp); end;procedure TForm1.Button1Click(Sender: TObject); begin Caption:=DateTimeToStr(GetFileTime(Edit1.Text)); end;win api 中定义了WIN32_FIND_DATA结构,用来记录文件的时间和属性信息 TWIN32FINDDATA是对WIN32_FIND_DATA的封装 FILETIME 文件的创建时间修改SetFileTiem
首部 function FileSetDate(Handle: Integer; Age: Integer): Integer; overload; platform; $[SysUtils.pas
功能 返回设置文件的修改时间
说明 修改成功则返回0
参考 function Windows.SetFileTime
例子 SpinEdit1.Value := FileSetDate(Edit1.Text, DateTimeToFileDate(StrToDateTime(Edit2.Text))
如何获取文件的创建时间?
我的代码:
function GetFileProp(FileName: string): TFileProperty;
//TFileProperty是自定义的文件属性类型
var
SR: TSearchRec;
begin
if FindFirst(FileName, faAnyFile, SR) = 0 then
begin
Result.FileName := FileName;
Result.Size := SR.Size;
Result.Attr := SR.Attr;
Result.DOSFileName := SR.FindData.cAlternateFileName;
Result.CreationTime := FileTimeToLocalSystemTime(SR.FindData.ftCreationTime);
Result.LastWriteTime := FileTimeToLocalSystemTime(SR.FindData.ftLastWriteTime);
Result.LastAccessTime := FileTimeToLocalSystemTime(SR.FindData.ftLastAccessTime);
FindClose(SR);
end;
end;
SR.FindData的属性找不到,还有FileTimeToLocalSystemTime()也找不到
是不是要声明API
function FileTimeToLocalSystemTime(FTime: TFileTime): TSystemTime;
var
STime: TSystemTime;
begin
FileTimeToLocalFileTime(FTime, FTime);
FileTimeToSystemTime(FTime, STime);
Result := STime;
end;
var
Tct:_SystemTime;
Temp:_FileTime;
begin
FileTimeToLocalFileTime(Fd,Temp);
FileTimeToSystemTime(Temp,Tct);
CovFileDate:=SystemTimeToDateTime(Tct);
end;function GetFileTime(const Tf:string):TDateTime;
{ 获取文件时间,Tf表示目标文件路径和名称 }
var
Tp:TSearchRec; { 申明Tp为一个查找记录 }
begin
FindFirst(Tf,faAnyFile,Tp); { 查找目标文件 }
Result:=CovFileDate(Tp.FindData.ftCreationTime);
{ 返回文件的创建时间 }
FindClose(Tp);
end;procedure TForm1.Button1Click(Sender: TObject);
begin
Caption:=DateTimeToStr(GetFileTime(Edit1.Text));
end;win api 中定义了WIN32_FIND_DATA结构,用来记录文件的时间和属性信息
TWIN32FINDDATA是对WIN32_FIND_DATA的封装
FILETIME 文件的创建时间修改SetFileTiem