希望能说清楚点

解决方案 »

  1.   

    转贴:把某个制定文件夹下的所有文件夹都倒入一个TTreeView来显示的函数
    procedure TMainForm.DirToTreeView(Tree: TTreeView; Directory: string; Root: TTreeNode; IncludeFiles: Boolean);var
      SearchRec : TSearchRec;
      ItemTemp : TTreeNode;
    begin  with Tree.Items do
      try
        BeginUpdate;//
        if Directory[Length(Directory)] <> '\' then Directory := Directory + '\';
        if FindFirst(Directory + '*.*', faDirectory, SearchRec) = 0 then
        begin
          repeat
          if (SearchRec.Attr and faDirectory = faDirectory) and (SearchRec.Name[1] <> '.') then
          begin
            if (SearchRec.Attr and faDirectory > 0) then
              Root := AddChild(Root, SearchRec.Name);
            ItemTemp := Root.Parent;
            DirToTreeView(Tree, Directory + SearchRec.Name, Root, IncludeFiles);
            Root := ItemTemp;
         end
         else if IncludeFiles then
           if SearchRec.Name[1] <> '.' then
             AddChild(Root, SearchRec.Name);
         until SysUtils.FindNext(SearchRec) <> 0;     FindClose(SearchRec);
       end;
     finally
       EndUpdate;
    end;end;
      

  2.   

    var
      sr: TSearchRec;
      FileAttrs: Integer;
      fileList: TStrings;
      i: Integer;
    begin
        fileList := TStringList.Create;
        FileAttrs := $FFFF;
        if FindFirst(YourDir + '\*.*', FileAttrs, sr) = 0 then
        begin
            repeat
                 FileList.Add(sr.Name);
            until FindNext(sr) <> 0;
            FindClose(sr);
        end;
        FileLIst.Free;
    end;
      

  3.   

    上面得过程,下面是返回所有文件名得函数。
    function f: TStrings(YourDir: String);
    var
      sr: TSearchRec;
      FileAttrs: Integer;
      fileList: TStrings;
    begin
        fileList := TStringList.Create;
        FileAttrs := $FFFF;
        if FindFirst(YourDir + '\*.*', FileAttrs, sr) = 0 then
        begin
            repeat
                 FileList.Add(sr.Name);
            until FindNext(sr) <> 0;
            FindClose(sr);
        end;
        FileLIst;
        result := FileList;
    end;
      

  4.   

    谢谢,
    to ttzzj(标识符) 
    FileLIst是个啥类型,怎么转成string???
      

  5.   

    哈哈,如下了:
    procedure TForm1.Button1Click(Sender: TObject);
    var
       SearchRec:TSearchRec;
       ext,AppPath:string;
    begin
        listbox1.Items.Clear;
         AppPath:='d:\aa\';
         ext:='*.*';
         FindFirst(AppPath+ext,faAnyFile-faDirectory,SearchRec);
         listbox1.Items.Add(SearchRec.Name);
         while FindNext(SearchRec)=0 do
           listbox1.Items.Add(SearchRec.Name);
         listbox1.items为你需要的结果
    end;