请问Delphi中获取文件大小是哪个函数?有没有直接获取文件夹大小的函数,有是哪个?

解决方案 »

  1.   

    function FileSize(var F): Integer;
      

  2.   

    AssignFile(CopyFile_f, sCopySourceFile);
            Reset(CopyFile_f);
            try
              CopyNumSize:=FileSize(CopyFile_f);
            finally
              CloseFile(CopyFile_f);
            end;
      

  3.   

    zt
    获取目录下全部文件大小 
      function GetDirectorySize(const ADirectory: string): Integer; 
      var 
      Dir: TSearchRec; 
      Ret: integer; 
      Path: string; 
      begin 
      Result := 0; 
      Path := ExtractFilePath(ADirectory); 
      Ret := Sysutils.FindFirst(ADirectory, faAnyFile, Dir); 
      if Ret = NO_ERROR then 
      exit; 
      try 
      while ret = NO_ERROR do 
      begin 
      inc(Result, Dir.Size); 
      if (Dir.Attr in [faDirectory]) and (Dir.Name[1]?? '.') then 
      Inc(Result, GetDirectorySize(Path + Dir.Name + '\*.*')); 
      Ret := Sysutils.FindNext(Dir); 
      end; 
      finally 
      Sysutils.FindClose(Dir); 
      end; 
      end;
      

  4.   

    AssignFile(f, OpenDialog1.FileName);
        Reset(f);
        size := FileSize(f);
      

  5.   

    wilowind(无风雪亦飘) 你贴出的代码像坛子里并不少见,若你自己没有测试过倒没什么奇怪,以上代码测试的文件夹容量是不准确的。
      

  6.   

    function TForm1.GetCurrentFileSize(sFileName: string): Int64;
    begin
      with TFileStream.Create(sFileName, fmOpenWrite or fmShareExclusive) do
        try
          Result := Size;
        finally 
          Free; 
        end;
    end;
      

  7.   

    uses ShellApi;procedure TForm1.Button1Click(Sender: TObject);
    var hFromFile,i:Integer;
    begin
      hFromFile:= FileOpen('c:\aa.xml', fmOpenRead);
      i:= GetFileSize(hFromFile,nil);
      FileClose(hFromFile);
      label1.Caption:=inttostr(i);
    end;
      

  8.   

    uses ShellApi;
    GetFileSize()