function Get_FileSize(sFile: string): Integer;
var
  f: file of Byte;
begin
  AssignFile(f, sFile);
  {$I-}
  Reset(f);
  {$I+}
  CloseFile(f);
  Result := FileSize(f);
  if IOResult <> 0 then Result := -1;
end;

解决方案 »

  1.   

    function Get_FileSize(sFile: string): Integer;
    var
      f: file of Byte;
    begin
      AssignFile(f, sFile);
      {$I-}
      Reset(f);
      {$I+}
      CloseFile(f);
      Result := FileSize(f);
      if IOResult <> 0 then Result := -1;
    end;
      

  2.   

    function Get_FileSize(sFile: string): Integer;
    var
      f: file of Byte;
    begin
      AssignFile(f, sFile);
      {$I-}
      Reset(f);
      {$I+}
      Result := FileSize(f);
      CloseFile(f); //换个位置
      if IOResult <> 0 then Result := -1;
    end;//理论上应该是
    function Get_FileSize(sFile: String): Integer;
    var
      pFile: PFILE;
    begin
      Result := -1;
      pFile := fopen(PChar(sFile), 'rb');
      if Assigned(pFile) then Exit;
      fseek(pFile, Longint(0), SEEK_END);
      Result := ftell(pFile);
      fclose(pFile);
    end;
      

  3.   

    var
      pFile: PFILE;    //PFILE 是什么?