TDirectory.GetDirectories 获取指定目录下的目录
使用函数:
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 获取指定目录下的目录的更多相关文章
- C#中获取指定目录下所有目录的名称、全路径和创建日期
场景 指定一个路径,根据这个父级路径获取此目录下所有目录的名称.全路径.创建日期等信息. 注: 博客主页: https://blog.csdn.net/badao_liumang_qizhi 关注公众 ...
- C#遍历指定路径下的目录
通过指定路径訪问路径下的文件.在C#的开发中主要利用了Directory类和DirectoryInfo类,简要介绍Directory类中的成员:命名空间 System.IO 命名空间 1.Create ...
- C# 中获取一个目录下的目录与文件
//获得目录下所有文件和子目录使用DirectoryInfo类的GetFileSystemInfos()方法. //获得目录下所有目录 string[] dirs = Directory.GetDir ...
- Python获取指定路径下所有文件的绝对路径
需求 给出制定目录(路径),获取该目录下所有文件的绝对路径: 实现 方式一: import os def get_file_path_by_name(file_dir): ''' 获取指定路径下所有文 ...
- Delphi阿里云邮件推送【支持单一发信、邮件批量发送和获取指定条件下的发送数据】
作者QQ:(648437169) 点击下载➨Delphi阿里云邮件推送 阿里云api文档 [Delphi阿里云邮件推送]支持SingleSendMail(单一发信接口). ...
- TDirectory.GetFileSystemEntries获取指定目录下的目录和文件
使用函数: System.IOUtils.TDirectory.GetFileSystemEntries 所有重载: class function GetFileSystemEntries(const ...
- TDirectory.GetFiles获取指定目录下的文件
使用函数: System.IOUtils.TDirectory.GetFiles 所有重载: class function GetFiles(const Path: string): TStringD ...
- TDirectory.GetParent获取指定目录的父目录
使用函数: System.IOUtils.TDirectory.GetParent class function GetParent(const Path: string): string; stat ...
- TDirectory.GetDirectoryRoot获取指定目录的根目录
使用函数: System.IOUtils.TDirectory.GetDirectoryRoot 函数定义: class function GetDirectoryRoot(const Path: s ...
随机推荐
- DataGridView 多线程更新 数据 解决卡顿问题
使用多线程更新DataGridView,防止页面卡顿和卡死的问题 private delegate void UpdateDataGridView(DataTable dt); private voi ...
- ubuntu16.04 编译安装mysql5.7.x,以及配置使用
編譯與安裝: 源码下载地址:http://dev.mysql.com/downloads/mysql/ 选择Generic Linux (Architecture Independent), C ...
- LocalActivityManager的内部机制
LocalActivityManager内部机制的核心在于,它使用了主线程对象mActivityThread来装载指定的Activity.注意,这里是装载,而不是启动,这点很重要. 所谓的启动,一般是 ...
- java jdbc连接mysql
JDBC(Java Data Base Connectivity,java数据库连接)是一种用于执行SQL语句的Java API,可以为多种关系数据库提供统一访问,它由一组用Java语言编写的类和接口 ...
- Svn 的 Update 与Maven 的update project 作用有什么区别
1.svn update只是更新项目的SVN仓库.2.maven update project则是进行一系列的操作(跟自己的配置有关,可能包含一下操作):更新SVN.更新项目关联.编译项目.构建发布等 ...
- hdu 3909 数独扩展
思路:做法与9*9的一样.只不过是变量. #include<set> #include<map> #include<cmath> #include<queue ...
- hdu 4117 GRE Words AC自动机DP
题目:给出n个串,问最多能够选出多少个串,使得前面串是后面串的子串(按照输入顺序) 分析: 其实这题是这题SPOJ 7758. Growing Strings AC自动机DP的进阶版本,主题思想差不多 ...
- CI框架程序--本地调试之后部署新浪SAE
前几天给朋友写了个简单的网站, 想想还是部署到服务器上让朋友看一下效果! 用CI框架写的,有个SAE新浪云的账号,可以用!就部署到上面去了!途中遇到了一些问题!一一解决了! 在这里分享一下 供遇到这些 ...
- Jmail发送邮件与带附件乱码解决办法
Jamil发送邮件的具体用法: 首先,我们要从网上下载Jamil.dll的组件,这个网上很多,然后添加引用using jmail,然后再本机或者服务器上注册一下 将jmail.dll拷贝到服务器的sy ...
- C# Winform里面用Console.WriteLine输出到哪了
C# Winform里面用Console.WriteLine输出也不会报错 显示在 VS IDE 的视图→输出窗口,且只在 Debug 环境下此语句执行. 如果是 Release 环境,在 Win32 ...