var f: file of Byte; size : Longint; begin tryif ((fileexists('c:\ceshitemp.rar')=true)) then beginAssignFile(f, 'c:\ceshitemp.rar');Reset(f);执行到这一句出错,探出窗口,提示i/o错误。 size := FileSize(f); if (size >=2738598) then begin edit25.text:=floattostr(timej) + 's'; timer3.enabled:=false; DeleteFile ('c:\ceshitemp.rar'); end;end; finally timej:=timej+0.5; end; end;
var sr: TSearchRec;begin if FindFirst('c:\1.txt',faAnyFile,sr) = 0 then showmessage(IntToStr(sr.Size)); FindClose(sr);end;
Sizeof(Filename)Sizeof(***)可以返回任何文件、数据、数组的大小
var F: file of Byte; begin if OpenDialog1.Execute then begin AssignFile(F, OpenDialog1.FileName); {$I-} Reset(F); {$I+} if IOResult = 0 then begin MessageDlg('File size in bytes: ' + IntToStr(FileSize(F)), mtInformation, [mbOk], 0); CloseFile(F); end else MessageDlg('File access error', mtWarning, [mbOk], 0); end;end;
我主要是想问如何使用try finally语句后不再弹出提示框。
1.文件大小:[uses IdGlobal] function FileSizeByName(const AFilename: string): Int64; begin with TFileStream.Create(AFilename, fmOpenRead or fmShareDenyNone) do try Result := Size; finally Free; end; end; 2.不弹出提示框: Tools->Debug Options...->Language Exceptions标签中去掉 Stop On Delphi Exceptions复选框的选择
function TFrm_Main.GetMyFileSize(sFileName: String): Real; var M:TMemoryStream; begin M:=TMemoryStream.Create; M.LoadFromFile(sFileName); Result:=M.Size; M.Free; end;这个函数没问题,用吧,赶紧给我分!
里面有个 size属性
sr: TSearchRec;begin if FindFirst('c:\1.txt',faAnyFile,sr) = 0 then showmessage(IntToStr(sr.Size)); FindClose(sr);end;
Tools-->Debugger Options..-->不选Integrated debugging
f: file of Byte;
size : Longint;
begin
tryif ((fileexists('c:\ceshitemp.rar')=true)) then
beginAssignFile(f, 'c:\ceshitemp.rar');Reset(f);执行到这一句出错,探出窗口,提示i/o错误。
size := FileSize(f);
if (size >=2738598) then
begin
edit25.text:=floattostr(timej) + 's';
timer3.enabled:=false;
DeleteFile ('c:\ceshitemp.rar');
end;end;
finally
timej:=timej+0.5;
end;
end;
sr: TSearchRec;begin if FindFirst('c:\1.txt',faAnyFile,sr) = 0 then showmessage(IntToStr(sr.Size)); FindClose(sr);end;
begin
if OpenDialog1.Execute then
begin
AssignFile(F, OpenDialog1.FileName);
{$I-}
Reset(F);
{$I+}
if IOResult = 0 then
begin
MessageDlg('File size in bytes: ' + IntToStr(FileSize(F)),
mtInformation, [mbOk], 0);
CloseFile(F);
end
else
MessageDlg('File access error', mtWarning, [mbOk], 0);
end;end;
function FileSizeByName(const AFilename: string): Int64;
begin
with TFileStream.Create(AFilename, fmOpenRead or fmShareDenyNone) do
try
Result := Size;
finally
Free;
end;
end;
2.不弹出提示框:
Tools->Debug Options...->Language Exceptions标签中去掉
Stop On Delphi Exceptions复选框的选择
var M:TMemoryStream;
begin
M:=TMemoryStream.Create;
M.LoadFromFile(sFileName);
Result:=M.Size;
M.Free;
end;这个函数没问题,用吧,赶紧给我分!
因为你这个文件可能是只读的。