显示文件的基本信息,这个算吗? ... uses ... ShellApi; ... type TForm1=class(TForm) FileListBox1:TFileListBox; DirectoryListBox1:=TDirectoryListBox; DriveComboBox1:TDriveComboBox; Image1:TImage; ... end; var Form1:TForm1; FileInfo:SHFILEINFO; implementation {$R *.DFM} procedure TForm1.Buton1Click(Sender:TObject); var FileName:String; Attrs:String; Attributes:Integer; Begin if FileListBox1.ItemIndex<>-1 then begin FileName:=FileListBox1.FileName; end else Begin FileName:=DirectoryListBox1.Directory; end; edit1.text:=FileName; SHGetFileInfo(Pchar(FileName),0,FileInfo,SizeOf(FileInfo),SHGFI_DISPLAYNAME); edit2.text:=Text:=FileInfo.szDisplayName; SHGETFileInfo(Pchar(FileName),0,FileInfo,SizeOf(FileInfo),SHGFI_TYPENAME); Edit3.text:=FileInfo.szTypeName; SHGetFileInfo(PChar(FileName),0,FileInfo,SizeOf(FileInfo),SHGFI_ICO); Image1.Picture.Icon.Handle:=FileInfo.hIcon; Attributs:=GetFileAttributes(PChar(FileName)); Attrs:=''; if Bool(attributes and FILE_ATTRIBUTE_READONLY) then attrs:=attrs+'R'; if Bool(attributes and FILE_ATTRIBUTE_HIDDEN) then attrs:=attrs+'H'; if Bool(attributes and FILE_ATTRIBUTE_SYSTEM) then attrs:=attrs+'S'; if Bool(attributes and FILE_ATTRIBUTE_ACHIVE) then attrs:=attrs+'A'; edit4.text=Attrs; try edit5.text:=DateTimeToStr(FileDateToDateTime(FileAge(FileName)); Except on EconvertError do edit5.text:='无法获取该信息'; end; end;
...
uses
...
ShellApi;
...
type
TForm1=class(TForm)
FileListBox1:TFileListBox;
DirectoryListBox1:=TDirectoryListBox;
DriveComboBox1:TDriveComboBox;
Image1:TImage;
...
end;
var
Form1:TForm1;
FileInfo:SHFILEINFO;
implementation
{$R *.DFM}
procedure TForm1.Buton1Click(Sender:TObject);
var
FileName:String;
Attrs:String;
Attributes:Integer;
Begin
if FileListBox1.ItemIndex<>-1 then
begin
FileName:=FileListBox1.FileName;
end
else
Begin
FileName:=DirectoryListBox1.Directory;
end;
edit1.text:=FileName;
SHGetFileInfo(Pchar(FileName),0,FileInfo,SizeOf(FileInfo),SHGFI_DISPLAYNAME);
edit2.text:=Text:=FileInfo.szDisplayName;
SHGETFileInfo(Pchar(FileName),0,FileInfo,SizeOf(FileInfo),SHGFI_TYPENAME);
Edit3.text:=FileInfo.szTypeName;
SHGetFileInfo(PChar(FileName),0,FileInfo,SizeOf(FileInfo),SHGFI_ICO);
Image1.Picture.Icon.Handle:=FileInfo.hIcon;
Attributs:=GetFileAttributes(PChar(FileName));
Attrs:='';
if Bool(attributes and FILE_ATTRIBUTE_READONLY) then attrs:=attrs+'R';
if Bool(attributes and FILE_ATTRIBUTE_HIDDEN) then attrs:=attrs+'H';
if Bool(attributes and FILE_ATTRIBUTE_SYSTEM) then attrs:=attrs+'S';
if Bool(attributes and FILE_ATTRIBUTE_ACHIVE) then attrs:=attrs+'A';
edit4.text=Attrs;
try
edit5.text:=DateTimeToStr(FileDateToDateTime(FileAge(FileName));
Except
on EconvertError do
edit5.text:='无法获取该信息';
end;
end;