显示任意一个目录的文件到Treeview中

上传者: microrain | 上传时间: 2021-09-09 17:14:47 | 文件大小: 200KB | 文件类型: RAR
//显示任意一个目录的文件到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.

文件下载

资源详情

[{"title":"( 9 个子文件 200KB ) 显示任意一个目录的文件到Treeview中","children":[{"title":"TreeViewDemo","children":[{"title":"显示任意一个目录的文件到TReeview中.txt <span style='color:#111;'> 1.93KB </span>","children":null,"spread":false},{"title":"uTreeViewDemo.pas <span style='color:#111;'> 1.89KB </span>","children":null,"spread":false},{"title":"uTreeViewDemo.dfm <span style='color:#111;'> 633B </span>","children":null,"spread":false},{"title":"uTreeViewDemo.dcu <span style='color:#111;'> 5.06KB </span>","children":null,"spread":false},{"title":"TreeViewDemo.exe <span style='color:#111;'> 467.50KB </span>","children":null,"spread":false},{"title":"TreeViewDemo.dpr <span style='color:#111;'> 208B </span>","children":null,"spread":false},{"title":"TreeViewDemo.res <span style='color:#111;'> 876B </span>","children":null,"spread":false},{"title":"deltemp.bat <span style='color:#111;'> 79B </span>","children":null,"spread":false}],"spread":true},{"title":"delphifans.com.nfo <span style='color:#111;'> 592B </span>","children":null,"spread":false}],"spread":true}]

评论信息

  • guoqi010203 :
    还可以,我用上了,值得借鉴。
    2014-07-10

免责申明

【只为小站】的资源来自网友分享,仅供学习研究,请务必在下载后24小时内给予删除,不得用于其他任何用途,否则后果自负。基于互联网的特殊性,【只为小站】 无法对用户传输的作品、信息、内容的权属或合法性、合规性、真实性、科学性、完整权、有效性等进行实质审查;无论 【只为小站】 经营者是否已进行审查,用户均应自行承担因其传输的作品、信息、内容而可能或已经产生的侵权或权属纠纷等法律责任。
本站所有资源不代表本站的观点或立场,基于网友分享,根据中国法律《信息网络传播权保护条例》第二十二条之规定,若资源存在侵权或相关问题请联系本站客服人员,zhiweidada#qq.com,请把#换成@,本站将给予最大的支持与配合,做到及时反馈和处理。关于更多版权及免责申明参见 版权及免责申明