var FileRec:TSearchrec; begin if FindFirst('C:\olp\verFile.ini', faAnyFile, FileRec) = 0 then begin if (FileRec.Attr and faDirectory) = 0 then begin ShowMessage('FileName: '+ FileRec.Name + Chr(13) + ' FileSize: ' + IntToStr(FileRec.Size)); ShowMessage(DateToStr(FileDateToDatetime(FileRec.Time))); end; FindClose(FileRec); end; end;注: TSearchRec = record Time: Integer; Size: Integer; Attr: Integer; Name: TFileName; ExcludeAttr: Integer; FindHandle: THandle; FindData: TWin32FindData; end; Time contains the time stamp of the file. It can be converted to a TDateTime value using FileDateToDateTime.Size 文件大小 in bytes. Name 文件名(含扩展名)FindHandle is an internal handle used to track find state.FindData (Windows only) 含 文件创建时间,最后修改时间等等
2楼好快,我的也贴出来吧! unit Unit1;interfaceuses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls,QFileCtrls,shellapi,ShlObj, ActiveX ,QDialogs,inifiles; type TFileProperty=record FileName :string; Size :integer; Attr : integer; DOSFileName :string; CreationTime:TSystemTime; LastWriteTime:TSystemTime; LastAccessTime :TSystemTime; end; type TForm1 = class(TForm) Button1: TButton; procedure Button1Click(Sender: TObject); private { Private declarations } public function GetFileProp(FileName: string): TFileProperty; function FileTimeToLocalSystemTime(FTime: TFileTime): TSystemTime; { Public declarations } end;var Form1: TForm1;implementation{$R *.dfm} function tform1.FileTimeToLocalSystemTime(FTime: TFileTime): TSystemTime; var STime: TSystemTime; begin FileTimeToLocalFileTime(FTime, FTime); FileTimeToSystemTime(FTime, STime); Result := STime; end; function TForm1.GetFileProp(FileName: string): 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;procedure TForm1.Button1Click(Sender: TObject); var st:TFileProperty; begin st :=GetFileProp('C:\BOOT\BOOTDISK.img'); showmessage(datetostr(SystemTimeToDateTime(st.CreationTime))); showmessage(datetostr(SystemTimeToDateTime(st.LastWriteTime))); showmessage(datetostr(SystemTimeToDateTime(st.LastAccessTime))); end;end.
procedure TForm1.Button1Click(Sender: TObject); var myfilename : String; fhandle : THandle; begin if OpenDialog1.Execute then myfilename := OpenDialog1.FileName; ListBox1.Items.Add('文件名:' + ExtractFileName(myfilename)); //文件名 ListBox1.Items.Add('扩展名:' + ExtractFileExt(myfilename)); //扩展名 fhandle := FileOpen(myfilename,0); try ListBox1.Items.Add('修改时间:'+ DateTimeToStr(FileDateToDateTime(FileGetDate(fhandle)))); //修改日期 finally FileClose(fhandle); end; end;
FileRec:TSearchrec;
begin
if FindFirst('C:\olp\verFile.ini', faAnyFile, FileRec) = 0 then
begin
if (FileRec.Attr and faDirectory) = 0 then
begin
ShowMessage('FileName: '+ FileRec.Name + Chr(13) + ' FileSize: ' + IntToStr(FileRec.Size));
ShowMessage(DateToStr(FileDateToDatetime(FileRec.Time)));
end;
FindClose(FileRec);
end;
end;注:
TSearchRec = record
Time: Integer;
Size: Integer;
Attr: Integer;
Name: TFileName;
ExcludeAttr: Integer;
FindHandle: THandle;
FindData: TWin32FindData;
end;
Time contains the time stamp of the file. It can be converted to a TDateTime value using FileDateToDateTime.Size 文件大小 in bytes. Name 文件名(含扩展名)FindHandle is an internal handle used to track find state.FindData (Windows only) 含 文件创建时间,最后修改时间等等
unit Unit1;interfaceuses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls,QFileCtrls,shellapi,ShlObj, ActiveX ,QDialogs,inifiles;
type
TFileProperty=record
FileName :string;
Size :integer;
Attr : integer;
DOSFileName :string;
CreationTime:TSystemTime;
LastWriteTime:TSystemTime;
LastAccessTime :TSystemTime;
end;
type
TForm1 = class(TForm)
Button1: TButton;
procedure Button1Click(Sender: TObject);
private
{ Private declarations }
public
function GetFileProp(FileName: string): TFileProperty; function FileTimeToLocalSystemTime(FTime: TFileTime): TSystemTime;
{ Public declarations }
end;var
Form1: TForm1;implementation{$R *.dfm}
function tform1.FileTimeToLocalSystemTime(FTime: TFileTime): TSystemTime;
var
STime: TSystemTime;
begin
FileTimeToLocalFileTime(FTime, FTime);
FileTimeToSystemTime(FTime, STime);
Result := STime;
end;
function TForm1.GetFileProp(FileName: string): 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;procedure TForm1.Button1Click(Sender: TObject);
var st:TFileProperty;
begin
st :=GetFileProp('C:\BOOT\BOOTDISK.img');
showmessage(datetostr(SystemTimeToDateTime(st.CreationTime)));
showmessage(datetostr(SystemTimeToDateTime(st.LastWriteTime)));
showmessage(datetostr(SystemTimeToDateTime(st.LastAccessTime)));
end;end.
var
myfilename : String;
fhandle : THandle;
begin
if OpenDialog1.Execute then
myfilename := OpenDialog1.FileName;
ListBox1.Items.Add('文件名:' + ExtractFileName(myfilename)); //文件名
ListBox1.Items.Add('扩展名:' + ExtractFileExt(myfilename)); //扩展名
fhandle := FileOpen(myfilename,0);
try
ListBox1.Items.Add('修改时间:'+ DateTimeToStr(FileDateToDateTime(FileGetDate(fhandle)))); //修改日期
finally
FileClose(fhandle);
end;
end;