如何获得指定目录下的文件列表

解决方案 »

  1.   

    看看这个
    \Borland\Delphi5\Demos\Virtual Listview
      

  2.   

    var
      MyTreeNode1: TTreeNode;
      mDirName, vPathName: string;
      K: Integer;
      ListItem: TListItem;
      vSearchRec: TSearchRec;
    begin
    ////////////////////
      mDirName := 'C:';
      vPathName := mDirName + '\*.*';
      K := FindFirst(vPathName, faAnyFile, vSearchRec);
      while K = 0 do begin
        /////////////// 增加到文件目录列表
        listview1.Items.Clear;
        ListItem := ListView1.Items.Add;
        ListItem.Caption := vSearchRec.Name;
        ListItem.ImageIndex := GetIconIndex(mDirName + '\' + vSearchRec.Name);    if (vSearchRec.Attr and faDirectory <> 0) and
          (Pos(vSearchRec.Name, '..') = 0) then begin      MyTreeNode1 := TreeView1.Items.Add(nil, vPathName);
          //预读
          checkDirectory(MyTreeNode1,mDirName + '\' + vSearchRec.Name);      MyTreeNode1.Text := vSearchRec.Name;
          new(spath);
          spath^.fpath := mDirName + '\' + vSearchRec.Name;
          MyTreeNode1.Data := spath;
          MyTreeNode1.ImageIndex := GetIconIndex(mDirName + '\' + vSearchRec.Name);
          MyTreeNode1.SelectedIndex := GetIconIndex(mDirName + '\' + vSearchRec.Name);
        end;
        K := FindNext(vSearchRec);
      end;
      FindClose(vSearchRec);
      

  3.   

    不用那么麻烦,只要FileListBox就可以了
      

  4.   

    不能怕麻烦
    我同意S.F.(萧寒(Chinasf))的做法。
    其实,这是个非常常用的功能。
    建议做成Dll。
    用控件做的话,也不是不好,只是在Dll中真的有些别扭。
      

  5.   

    对,用FileListBox控件解决是最简单的了