如何用最简单的方法得到文件的大小?

解决方案 »

  1.   

    最好帮忙写个函数:function c_getFileSize(filename:String):int64;
      

  2.   

    var
      fHandle:THandle;
    begin
      fHandle := FileOpen(FileName);
      GetFileSize(fHandle,nil);
    end;
      

  3.   

    function c_getFileSize(filename:String):int64;
    begin
      Result:=FileSeek(FileOpen(filename,fmOpenRead),0,2);
    end;
      

  4.   

    to  ehom(?!) : 文件打开后不用关闭吗?
      

  5.   

    Function F_GetFileSize(as_file:String):integer;
    var
     f: file of Byte;
     Fsize : Longint;
    begin
         AssignFile(f,as_file);  //as_flie 文件 全路径
         Reset(f);
         Fsize := FileSize(f);
         CloseFile(f);
         f_getfilesize := Fsize;end;
      

  6.   

    谢谢各位!!因为我要获取一大批的文件的大小,请文下面两个函数,哪个效率更高一些?//得到文件大小的函数
    //1------------------------------------------------------
    function zjs_getFileSize(filename:TFilename):int64;
    var
      fs:TFileStream;
    begin
      fs:=TFileStream.Create(filename,fmopenread or fmShareDenyWrite);
      try
        Result:=fs.Size;
      finally
        fs.Free;
      end;
    end;
    //2------------------------------------------------------
    function zjs_getFileSize1(filename:TFilename):int64;
    var
      hFile:THandle;
    begin
      hFile:=fileOpen(filename,fmopenread or fmsharedenywrite);
      result:=fileseek(hFile,0,soFromEnd);
      fileclose(hFile);
    end;
      

  7.   

    第2个,直接用API当然比使用VCL对象效率要高,占用资源少。建议用第2个。
      

  8.   

    不是吧,根本没有这个函数(filelen)