我在一edit中输入文件名,要求获得此文件的大小。
用了下面的语句
if edit1.text<>'' then
begin
AssignFile(f,sFind);
Reset(f);
size := FileSize(f);
L:=IntToStr(size);
Edit3.Text:=L;
closefile(f);
end;其中sFind为edit1.text的内容,Edit3显示文件大小
每次程序运行都报错误“file not found”
但是程序和文件都在同一文件家下。请问各位大人知道问题出在何处没有?同时有没有什么办法可以让超过1M的文件以M为单位显示大小。小于1M的以K显示大小
用了下面的语句
if edit1.text<>'' then
begin
AssignFile(f,sFind);
Reset(f);
size := FileSize(f);
L:=IntToStr(size);
Edit3.Text:=L;
closefile(f);
end;其中sFind为edit1.text的内容,Edit3显示文件大小
每次程序运行都报错误“file not found”
但是程序和文件都在同一文件家下。请问各位大人知道问题出在何处没有?同时有没有什么办法可以让超过1M的文件以M为单位显示大小。小于1M的以K显示大小
解决方案 »
- project mdiapp.exe raised exception class eoleException with message '记录被删除'
- 求助,谁能上传个d6或d7自带Demo中的richedit实例?
- 对组成复合主键的单个字段有何要求?
- 请问abstract error是什么错误?
- 各位高手!!!!小弟有事相求!!!救命啦!!!!!!救命啦!!!!令晚上必须解决不然客户要退货了!!!!!!!站等!!!!!!!!!!站等!!!!!
- Delphi 2004-10专家榜
- 哪位大哥能教教小弟如何制作自制的可以拖动的组件???急!!!万分感谢!!!
- 关于speedbutton和MouseMove事件
- delphi怎么样和sql-server联系起来使用啊 ?
- delphi6中的Corba问题,请高手帮忙。
- 一个奇怪的问题
- 两个小概念问题,请帮忙(我是出学者)
f:tfilestream;
size:real;
s:string;
begin
f:=tfilestream.create(edit1.text,fmOpenRead)
size:=f.size;
if (size>=1024) and (size<1024*1024) then
s:=floattostr(size/1024)+'KB';
if (size>=1024*1024) then
s:=floattostr(size/1024*1024)+'MB'end;
if length(L)>6 then
edit3.text:=L div 1000000+'MB'
else
edit3.text:=L div 1000+'KB';
我也是菜鳥,不知可行否,你試試吧.
f:integer;
FSize:integer;if Edit1.text<>'' then
begin
f:=FileOpen(sFind,fmOpenRead);
FSize:=FileSeek(f,0,2);
if FSize<1024 then
Edit3.Text:=inttostr(FSize)+' 字节'
else if FSize<1048576 then
Edit3.Text:=floattostr(Trunc(FSize/102.4)/10)+' KB'
else
Edit3.Text:=floattostr(Trunc(FSize/104857.6)/10)+' MB';
FileClose(f);
end;ExtractFilePath()可获得文件路径!用全路径打开文件可保证不出问题!
SetCurrentDir()可设置当前目录!
最好使用TFileStream。
var FStream:TFileStream;FStream:=TFileStream.Create(FileName,fmOpenRead);
PicFileSize:=FStream.Size;
FFileHandle:THandle;
FFileSize:Integer;
begin
FFileHandle:=FileOpen('文件名',fmOpenRead);
if FFileHandle = 0 then
raise Exception.Create 'Failed to open file ';
FFileSize:=GetFileSize(FFileHandle,nil);//文件大小
end;
var
FHandle: THandle;
begin
FHandle := CreateFile(PChar(FileName), 0, FILE_SHARE_READ, nil, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL or FILE_FLAG_SEQUENTIAL_SCAN, 0);
Result := GetFileSize(FHandle,nil);
CloseHandle(FHandle);
end;