遍历某盘所有目录生成树
来源:互联网 发布:中信证券交易软件 编辑:程序博客网 时间:2024/06/17 20:16
GetRightStr //取右边字符串
EnumFileInRecursion遍历生成目录树
procedure EnumFileInRecursion(ATree :TTreeView; AParentNode :TTreeNode; APath:PChar);
var
_searchRec :TSearchRec;
_found, _len :Integer;
_tmpStr :String;
begin
//Ctreate RootNode, for example: path is 'C:' or 'C:/'
_len := Length(APath);
if _len=2 then //path='C:'
AParentNode:=ATree.Items.AddFirst(nil, APath[0])
else if (_len=3) and (APath[2]='/') then //path='C:/', path is like 'C:f'
AParentNode:=ATree.Items.AddChild(nil, APath[0]);
if APath[_len-1] <> '/' then
_tmpStr := StrPas(APath) + '/*.*'
else
_tmpStr := StrPas(APath) + '*.*';
_found := FindFirst(_tmpStr, faAnyFile, _searchRec);
while _found=0 do
begin
if (_searchRec.Attr and faDirectory)<>0 then
begin
if _searchRec.Name = '.' then
AParentNode:=ATree.Items.AddChild(AParentNode, GetRightStr('/', StrPas(APath)) );
if (_searchRec.Name <> '.') and (_searchRec.Name <> '..') then
begin
_tmpStr:=StrPas(APath)+'/'+_searchRec.Name;
EnumFileInRecursion(ATree, AParentNode, PChar(_tmpStr));
end;
end;
_found:=FindNext(_searchRec);
end;
FindClose(_searchRec);
end;
function GetRightStr(ASub, AStr :string):string;
var
_index :Integer;
begin
Result := '';
if AStr = '' then
Exit;
_index := Pos(ASub, AStr);
while _index > 0 do
begin
AStr := Copy(AStr, _index + 1, Length(AStr) - _index);
_index := Pos(ASub, AStr);
end;
Result := AStr;
end;
经朋友指点:函数GetRightStr可以直接用ExtractFileName代替,效果一样的。学习了,谢谢KONG
- 遍历某盘所有目录生成树
- 遍历某个目录,生成目录树
- 遍历某目录中所有文件
- 遍历某目录下所有子文件
- 遍历目录所有文件
- 遍历目录所有文件
- 【JAVA】JTree遍历指定目录生成树
- 遍历目录下所有文件
- 【app】遍历目录所有文件
- python 遍历目录所有文件
- shell脚本 遍历所有目录
- python 遍历目录所有文件
- 遍历所有文件和目录
- 遍历目录下所有文件
- 遍历目录下所有所有文件
- 遍历Symbian某目录下的所有文件
- 遍历Symbian某目录下的所有文件
- 遍历Symbian某目录下的所有文件
- 二极管7种应用电路详解之一
- 幽默的老外程序员注释
- windows VIA C/C++ 之 Character Encodings
- 关于Excel中的F2键(知道了,会对Excel的操作非常方便)。
- jQuery 中dialog的使用 对dialog中页面进行编辑后由ajax传回主页面 商品三级类的添加修改
- 遍历某盘所有目录生成树
- Microsoft Visual Studio International Pack 1.0 处理汉字、拼音、笔画转换
- [软件人生]一场无伤的辩论——关于韩国历史和满汉朝之间关系的讨论(2)
- C++中 PASCAL关键字
- MyEclipse6.5自动生成序列号注册机源码
- MFC歌词解析
- 文档编辑一部分代码-
- linux下搭建查看内核源代码工具lxr
- [软件人生]一场无伤的辩论——关于韩国历史和满汉朝之间关系的讨论(3)