delphi 状态栏 显示文件大小,修改时间,名称 20
1个回答
展开全部
//获取文件时间
function getfiletime(sfilename: string;
timetype: integer): tdatetime;
var
ffd:TWin32FindData;
dft:DWord;
lft,Time:TFileTime;
h:THandle;
begin
h:=windows.FindFirstFile(pchar(sfilename),ffd);
if h<>INVALID_HANDLE_VALUE then begin
case timetype of
0: time:=ffd.ftCreationTime;//创建时间
1: time:=ffd.ftLastAccessTime;//最后访问时间
2: time:=ffd.ftLastWriteTime;//修改时间
end;
windows.FindClose(h);
filetimetolocalfiletime(time,lft);
filetimetodosdatetime(lft,longrec(dft).hi,longrec(dft).lo);
result:=filedatetodatetime(dft);
end;
//获取文件大小
function GetFileSize(const AFile: string): Integer;
var
hFile: THandle;
begin
Result := 0;
hFile := FileOpen(AFile, fmOpenRead);
if hFile <> INVALID_HANDLE_VALUE then
try
Result := FileSeek(hFile, 0, 2) div 1024;
finally
FileClose(hFile);
end;
end;
所以
fname:='C:\111.txt';
SizeStr:=inttostr( GetFileSize(fname));
ftimeStr:=getfiletime(fname,2);
StatusBar.Panels[0].Text:='文件名为'+fname+' 大小'+sizeStr+' 修改时间为'+ftimeStr;
(前提是在StatusBar按右键增加一个panel)
function getfiletime(sfilename: string;
timetype: integer): tdatetime;
var
ffd:TWin32FindData;
dft:DWord;
lft,Time:TFileTime;
h:THandle;
begin
h:=windows.FindFirstFile(pchar(sfilename),ffd);
if h<>INVALID_HANDLE_VALUE then begin
case timetype of
0: time:=ffd.ftCreationTime;//创建时间
1: time:=ffd.ftLastAccessTime;//最后访问时间
2: time:=ffd.ftLastWriteTime;//修改时间
end;
windows.FindClose(h);
filetimetolocalfiletime(time,lft);
filetimetodosdatetime(lft,longrec(dft).hi,longrec(dft).lo);
result:=filedatetodatetime(dft);
end;
//获取文件大小
function GetFileSize(const AFile: string): Integer;
var
hFile: THandle;
begin
Result := 0;
hFile := FileOpen(AFile, fmOpenRead);
if hFile <> INVALID_HANDLE_VALUE then
try
Result := FileSeek(hFile, 0, 2) div 1024;
finally
FileClose(hFile);
end;
end;
所以
fname:='C:\111.txt';
SizeStr:=inttostr( GetFileSize(fname));
ftimeStr:=getfiletime(fname,2);
StatusBar.Panels[0].Text:='文件名为'+fname+' 大小'+sizeStr+' 修改时间为'+ftimeStr;
(前提是在StatusBar按右键增加一个panel)
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询