想编写一个程序能够读出指定文件夹下的所有文件的信息(包括各子文件绝对路径、文件名、大小三个信息),
那么该用什么控件,写那些代码。请高手指教,感激不尽!

解决方案 »

  1.   

    FindFile等实现
    FileAge
    FileSize等等
      

  2.   

    http://service.lonetear.com/delphi/dispdoc.asp?id=527
      

  3.   

    unit Unit1;interfaceuses
      Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
      Dialogs, ComCtrls, ShellCtrls, StdCtrls, ExtCtrls;type
      TForm1 = class(TForm)
        ShellTreeView1: TShellTreeView;
        ListBox1: TListBox;
        Button1: TButton;
        CheckBox1: TCheckBox;
        LabeledEdit1: TLabeledEdit;
        procedure Button1Click(Sender: TObject);
        procedure ListBox1Click(Sender: TObject);
      private
        FFileName:String;
        procedure FindFiles(path:String);
      public
        { Public declarations }
      end;var
      Form1: TForm1;implementation{$R *.dfm}procedure TForm1.Button1Click(Sender: TObject);
    begin
      Form1.Cursor:=crHourGlass;
      ListBox1.Items.Clear;
      FFileName:=LabeledEdit1.Text;
      try
        FindFiles(ShellTreeView1.Path+'\');
      finally
        Form1.Cursor:=crDefault;
      end;
    end;procedure TForm1.FindFiles(Path:String);
    var
      FSearchRec:TSearchRec;
      DSearchRec:TSearchRec;
      FindResult:ShortInt;
    begin
      FindResult:=FindFirst(path+FFileName,faAnyFile,FSearchRec);
      try
        while FindResult=0 do
          begin
            ListBox1.Items.Add(path+FSearchRec.Name);
            FindResult:=FindNext(FSearchRec);
          end;
        if CheckBox1.Checked then
          begin
            FindResult:=FindFirst(path+'*.*',faDirectory,DSearchRec);
            while FindResult=0 do
              begin
                if ((DSearchRec.Attr and faDirectory)=faDirectory) and (DSearchRec.Name<>'.')
                    and (DSearchRec.Name<>'..') then
                  FindFiles(path+DSearchRec.Name+'\');
                FindResult:=FindNext(DSearchRec);
              end;
          end;
      finally
        FindClose(FSearchRec);
      end;
    end;procedure TForm1.ListBox1Click(Sender: TObject);
    begin
      ListBox1.Hint:=ListBox1.Items.Strings[ListBox1.ItemIndex];
    end;end.
    FSearchRec.Size表示大小
      

  4.   

    用findfirst和findnext就可以了:)