如何在treeview中显示指定文件夹中的文件和子文件夹

blueraindrop 2002-08-15 09:20:39
有什么函数才能取道指定文件夹中的文件和子文件夹
例如:要d盘根目录下的text中的所有文件和子文件夹显示在treeview中
...全文
161 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
laishoulin 2002-08-15
  • 打赏
  • 举报
回复
哦!他用的不是Delphi 6呀?我说呢!我用的
D6
yjs_lh 2002-08-15
  • 打赏
  • 举报
回复
建议用ShellTreeView(D6).可以完全满足要求。
goodhazel 2002-08-15
  • 打赏
  • 举报
回复
TreeView中每个节点的Data属性是个pointer类型.让他指向你定义的指针类型
laishoulin 2002-08-15
  • 打赏
  • 举报
回复
procedure TForm1.GetDirectories(Tree: TTreeView; Directory: string; Item: TTreeNode; IncludeFiles: boolean);
var
SearchRec: TSearchRec;
ItemTemp: TTreeNode;
position:integer;
tempstring:string;
begin
TreeView1.Items.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
Item := Tree.Items.AddChild(Item,SearchRec.Name);
ItemTemp := Item.Parent;
GetDirectories(Tree,Directory + SearchRec.Name,Item,IncludeFiles);
Item := ItemTemp;
end
else if IncludeFiles then
if SearchRec.Name[1] <> '.' then
begin
ItemTemp:=Tree.Items.AddChild(Item,SearchRec.Name);
ItemTemp.ImageIndex:=1;
ItemTemp.SelectedIndex:=1;
tempstring:=Directory + SearchRec.Name;
position:=pos(dirname,tempstring);
tempstring:=trim(Copy(tempstring,position+length(dirname),length(tempstring)));
if GetFileEx(tempstring)='txt' then//text文件
filelist.Add(tempstring);
end;
until FindNext(SearchRec) <> 0;
FindClose(SearchRec);
end;
treeView1.Items.EndUpdate;
end;
blueraindrop 2002-08-15
  • 打赏
  • 举报
回复
谢谢大家
请问yjs_lh(长风浪子)怎样才能让ShellListView出现ShellTreeView指定文件夹中的文件?
//显示任意一个目录的文件TReeview unit uTreeViewDemo; interface uses  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,  Dialogs, ComCtrls, StdCtrls, FileCtrl; const  SELDIRHELP = 1000; type  TForm1 = class(TForm)   TreeView1: TTreeView;   Button1: TButton;   procedure Button1Click(Sender: TObject);  private   { Private declarations }  public   procedure GetDirectories(Tree: TTreeView; Directory: string; Item: TTreeNode;              IncludeFiles: Boolean);   { Public declarations }  end; var  Form1: TForm1; implementation {$R *.dfm} procedure TForm1.GetDirectories(Tree: TTreeView; Directory: string; Item: TTreeNode;                 IncludeFiles: Boolean); var  SearchRec: TSearchRec;  ItemTemp: TTreeNode; begin  TreeView1.Items.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     Item := Tree.Items.AddChild(Item, SearchRec.Name);     ItemTemp := Item.Parent;     GetDirectories(Tree, Directory + SearchRec.Name, Item, IncludeFiles);     Item := ItemTemp;    end    else    if IncludeFiles then    if SearchRec.Name[1] '.' then     Tree.Items.AddChild(Item, SearchRec.Name);   until FindNext(SearchRec) 0;   FindClose(SearchRec);   TreeView1.Items.EndUpdate;  end; end; procedure TForm1.Button1Click(Sender: TObject); var  strOpenDir: string; begin  if SelectDirectory(strOpenDir, [sdAllowCreate, sdPerformCreate, sdPrompt],SELDIRHELP) then  try   GetDirectories(TreeView1, strOpenDir, nil, True);  except   ShowMessage('错误信息');  end; end; end.

5,388

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 开发及应用
社区管理员
  • VCL组件开发及应用社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧