在 object pascal 中使用 get size 函数的正确方法

the correct way to use get size function in object pascal

我是 DELPHI 的初学者,我有一个问题.. 如何调用和使用这个函数,我想在标签中显示结果,以及如何以正确的方式声明函数,在此先感谢。

function FindFileSize(Filename:string):integer;
var
sr : TSearchRec;
begin
if FindFirst(filename,faAnyFile-faDirectory,sr) = 0 then
Result := sr.Size
else
raise EFileNotFoundException.Create(filename+' not found.');
FindClose(sr);
end;

尝试这样的事情:

..., SysUtils;

type
  EFileNotFoundException = class(Exception)
  end;

function FindFileSize(const Filename: string): Int64;
var
  sr : TSearchRec;
  Err: Integer;
begin
  Err := FindFirst(filename, faAnyFile and (not faDirectory), sr);
  if Err = 0 then
  begin
    FindClose(sr);
    if (sr.Attr and faDirectory) = 0 then
    begin
      Result := sr.Size;
      Exit;
    end;
    Err := ERROR_FILE_NOT_FOUND;
  end
  if Err = ERROR_FILE_NOT_FOUND then begin
    raise EFileNotFoundException.Create(filename + ' not found.');
  end else begin
    RaiseLastOSError(Err);
  end;
end;

procedure TMyForm.Button1Click(Sender: TObject);
begin
  Label1.Caption := IntToStr(FindFileSize('C:\path to\some file.ext'));
end;