使用函数:

System.IOUtils.TDirectory.GetDirectories

所有重载:

class function GetDirectories(const Path: string): TStringDynArray;
class function GetDirectories(const Path: string; const Predicate: TFilterPredicate): TStringDynArray;
class function GetDirectories(const Path, SearchPattern: string): TStringDynArray; overload; inline; static;
class function GetDirectories(const Path, SearchPattern: string; const Predicate: TFilterPredicate): TStringDynArray;
class function GetDirectories(const Path, SearchPattern: string; const SearchOption: TSearchOption): TStringDynArray; overload; static;
class function GetDirectories(const Path, SearchPattern: string; const SearchOption: TSearchOption; const Predicate: TFilterPredicate): TStringDynArray; overload; static;
class function GetDirectories(const Path: string; const SearchOption: TSearchOption; const Predicate: TFilterPredicate): TStringDynArray; overload; static;

描述:返回给定目录下的子目录列表。返回类型TStringDynArray,动态字符串数组。

参数说明:

参数名

说明

Path

指定要进行枚举的目录

SearchPattern

枚举模板(比如*app 匹配所有app名称结束的文件夹)

SearchOption

枚举选项,是否顶层枚举模式或递归枚举模式

T SearchOption(0)为当前录,不含子目录以

T SearchOption(1)所有目录,递归形式

Predicate

一个用来的过滤不想要的结果的函数(匿名需重写),用来更今精细的过滤

异常处理: 目录无效或目录不存在

例一:

查找所有'H:\tmp' 目录下的所有以'hi'开头且文件属性为隐藏的文件夹

代码部分:

var
sDir: string;
dynArr: TStringDynArray;
FilterPredicate: TDirectory.TFilterPredicate;
begin
ListBox1.Clear;
FilterPredicate := //重写函数
function(const Path: string; const SearchRec: TSearchRec): Boolean
begin
Result := Boolean(SearchRec.Attr and faHidden); //判断是否隐藏文件
end;
try
dynArr := TDirectory.GetDirectories(
'H:\tmp', //'H:\tmp'目录
'hi*', //'hi'开头的文件夹
TSearchOption(), //'H:\tmp'目录中的所有目录
FilterPredicate); //附加过滤参数
// for I := to Length(dynArr) - do
// ListBox1.Items.Add(dynArr[I]);
for sDir in dynArr do
ListBox1.Items.Add(sDir);
except
on e: Exception do
begin
MessageDlg(e.Message, mtError, [mbok], );
Exit;
end;
end;
end;

TDirectory.GetDirectories 获取指定目录下的目录的更多相关文章

  1. C#中获取指定目录下所有目录的名称、全路径和创建日期

    场景 指定一个路径,根据这个父级路径获取此目录下所有目录的名称.全路径.创建日期等信息. 注: 博客主页: https://blog.csdn.net/badao_liumang_qizhi 关注公众 ...

  2. C#遍历指定路径下的目录

    通过指定路径訪问路径下的文件.在C#的开发中主要利用了Directory类和DirectoryInfo类,简要介绍Directory类中的成员:命名空间 System.IO 命名空间 1.Create ...

  3. C# 中获取一个目录下的目录与文件

    //获得目录下所有文件和子目录使用DirectoryInfo类的GetFileSystemInfos()方法. //获得目录下所有目录 string[] dirs = Directory.GetDir ...

  4. Python获取指定路径下所有文件的绝对路径

    需求 给出制定目录(路径),获取该目录下所有文件的绝对路径: 实现 方式一: import os def get_file_path_by_name(file_dir): ''' 获取指定路径下所有文 ...

  5. Delphi阿里云邮件推送【支持单一发信、邮件批量发送和获取指定条件下的发送数据】

    作者QQ:(648437169) 点击下载➨Delphi阿里云邮件推送               阿里云api文档 [Delphi阿里云邮件推送]支持SingleSendMail(单一发信接口). ...

  6. TDirectory.GetFileSystemEntries获取指定目录下的目录和文件

    使用函数: System.IOUtils.TDirectory.GetFileSystemEntries 所有重载: class function GetFileSystemEntries(const ...

  7. TDirectory.GetFiles获取指定目录下的文件

    使用函数: System.IOUtils.TDirectory.GetFiles 所有重载: class function GetFiles(const Path: string): TStringD ...

  8. TDirectory.GetParent获取指定目录的父目录

    使用函数: System.IOUtils.TDirectory.GetParent class function GetParent(const Path: string): string; stat ...

  9. TDirectory.GetDirectoryRoot获取指定目录的根目录

    使用函数: System.IOUtils.TDirectory.GetDirectoryRoot 函数定义: class function GetDirectoryRoot(const Path: s ...

随机推荐

  1. [JavaEE] SSH框架笔记_S.S.H框架各自的优缺点

    Struts的原理和优点.Struts工作原理MVC即Model-View-Controller的缩写,是一种常用的设计模式.MVC 减弱了业务逻辑接口和数据接口之间的耦合,以及让视图层更富于变化.M ...

  2. 安装TortoiseGit出现提示“您必须安装带有更新版本Windows Installer服务的Windows Service Pack”-解决方法

    我的系统是xp sp3安装TortoiseGit时出现了错误提示“您必须安装带有更新版本Windows Installer服务的Windows Service Pack”. 解决方法,到微软官方下载相 ...

  3. 4. Android框架和工具之 android-async-http

    1. android-async-http   简介 主要有以下功能: (1)发送异步http请求,在匿名callback对象中处理response信息: (2)http请求发生在UI(主)线程之外的 ...

  4. Redis入门(优势,环境,字符串,哈希,列表)

    Redis从它的许多竞争继承来的三个主要特点: Redis数据库完全在内存中,使用磁盘仅用于持久性. 相比许多键值数据存储,Redis拥有一套较为丰富的数据类型. Redis可以将数据复制到任意数量的 ...

  5. 机房收费系统之处理流程图与DFD图

    一直想把自己画的图拿出来与大家分享,不过说来惭愧,一是图还没画完,二是图画的确实不咋地, 对于机房收费系统还是感到混乱,图画的不好大家多多指正. 系统处理流程图: DFD图

  6. jquery插件开发规范

    一.请给你的代码加上注释 这个世界不存在百分百的完美的jquery插件,注释不止是给别人看.更重要的是给自己看. 你应该把注释当做你代码的一部分,养成随手加注释的习惯,尤其是编写javascript的 ...

  7. VMware系统运维(十一)部署虚拟化桌面 Horizon View 5.2 HTML ACCESS安装

    如果你希望在浏览器上面能够连接到用户桌面,那么HTML ACCESS是必须安装的,下面开始安装. 1.点击红框文件 2.打开安装向导,点击"下一步" 3.接受协议,点击" ...

  8. 结合setTimeout和clearTimeout,实现“返回顶部”的功能

    结合setTimeout和clearTimeout,当页面停止滚动时,“返回顶部”按钮淡隐淡出.点击“返回顶部”页面以动画形式返回顶部.完美兼容ie6-11,firefox,chrome等. html ...

  9. 当“逻辑”与“UE”冲突时

    如上图. 权限系统有三个对象:用户.角色和组. 角色代表自定义的权限集合. "组"你可以理解为"文件夹"."部门"等名词. 一个用户可以拥有 ...

  10. asp动态生成google的sitemap地图的代码

    本来使用那些网站生成google网站地图,时间久了,感觉太麻烦了:先打开他们的网站,输入我的网址,然后点击生成,等待一段时间后,下载生成后的文件,再将它通过ftp上传到空间上了.实在太麻烦了,还不如自 ...