正在修改组件,需要获取指定文件夹的大小,偶是如下写的:
   bufdir: TDirectoryListBox;   userbox:=FixDirBackSlash(FMailRootDir)+'MailBoxes\'+userbox;
   bufdir.Directory:=userbox;   怎么没有bufdir.size呀?

解决方案 »

  1.   

    function FileLength(Filename:string):integer;
    var
      fp:file of byte;
    begin
      AssignFile(fp,Filename);
      Reset(fp);
      Result := FileSize(fp);
      CloseFile(fp);
    end;
      

  2.   

    这个?
    取得了单个文件的大小,不就得出来了文件夹的大小了吗?
    还有另一种方式,就是从文件夹的接口入手,就如那种winrar之类的进行注册,获得信息就成了。不过,还是有些麻烦。
      

  3.   

    To FS,你别把我往进装啊?
       偶要做事了。
      

  4.   

    完蛋了,我在QQ上问了一个非常高的人,看他我都要落枕了,呵呵....我们的聊天记录如下:----------------------------------------------------------------------(2003-08-02 11:18:42)    FrameSniper
    http://expert.csdn.net/Expert/topic/2100/2100499.xml?temp=6.373233E-02帮忙解决一下 
    (2003-08-02 11:23:12)   VisualGraph
    不可能有这样的函数。只能遍历。否则Windows打开文件属性对话盒就不会折腾那么些时间了。
    (2003-08-02 11:24:58)    FrameSniper
    API里面没有一个可以直接得到文件夹大小的函数吗 
    (2003-08-02 11:24:13)   VisualGraph
    没有-------------------------------------------------------------------------看来估计是没有了...........失望..........
      

  5.   

    TO FS:你真好,谢谢!
    我就用遍历文件吧。