如果var myfile:textfile; 或var myfile:file;
filesize(myfile) 返回的是文件的字节数除以128如果var myfile:file of byte;
filesize(myfile) 返回的是文件的字节数如果var myfile:file of Mytype; //记录文件,Mytype是记录类型
filesize(myfile) 返回的是文件的字节数除以Mytype的长度

解决方案 »

  1.   

    function TMainForm.GetFileSizeString(Name: string): string;
    var
      W_FileName: string; {函数功能:取文件大小并转换成字符串}
      W_File: file;
      W_FileSize: integer;
    begin
      W_FileName := Name;
      assignfile(W_File,W_FileName);
      FileMode := 0;      {设置文件打开方式}
      reset(W_File,1);
      W_FileSize := Filesize(W_File);
      closefile(W_File);
      if W_FileSize >= 1024 then
      begin
        W_FileSize := (W_FileSize div 1024);
        Result := (inttostr(W_FileSize) + ' KB');
      end
      else
        Result:=(inttostr(W_FileSize) + ' Bytes');
    end;
    以前瞎写的。没有加入保护块