显示文件的基本信息,这个算吗?
...
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;