和 TDirectory.GetFiles 用法一样, TDirectory.GetDirectories 是用来获取子目录的.

另外还有 TDirectory.GetFileSystemEntries 可同时获取文件与子目录, 用法都一样.


unit Unit1;interfaceusesWindows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,Dialogs, StdCtrls;typeTForm1 = class(TForm)Memo1: TMemo;Button1: TButton;Button2: TButton;Button3: TButton;Button4: TButton;procedure Button1Click(Sender: TObject);procedure Button2Click(Sender: TObject);procedure Button3Click(Sender: TObject);procedure Button4Click(Sender: TObject);end;varForm1: TForm1;implementation{$R *.dfm}uses IOUtils, Types;const path = 'C:\Program Files\Embarcadero\RAD Studio\7.0';//获取指定目录下的文件与子目录
procedure TForm1.Button1Click(Sender: TObject);
vardfs: TStringDynArray;str: string;
begindfs := TDirectory.GetFileSystemEntries(path);Memo1.Clear;for str in dfs do Memo1.Lines.Add(str);
end;//获取指定目录下的、名称是 L 开头的文件与子目录
procedure TForm1.Button2Click(Sender: TObject);
vardfs: TStringDynArray;str: string;
begindfs := TDirectory.GetFileSystemEntries(path, 'L*');Memo1.Clear;for str in dfs do Memo1.Lines.Add(str);
end;//获取指定目录及嵌套目录下的所有文件与子目录
procedure TForm1.Button3Click(Sender: TObject);
vardfs: TStringDynArray;str: string;
begindfs := TDirectory.GetFileSystemEntries(path + '\source', TSearchOption.soAllDirectories, nil);Memo1.Clear;for str in dfs do Memo1.Lines.Add(str);
end;//使用 TDirectory.TFilterPredicate 函数参数
procedure TForm1.Button4Click(Sender: TObject);
vardfs: TStringDynArray;
beginMemo1.Clear;dfs := TDirectory.GetFileSystemEntries(path,function(const Path: string; const SearchRec: TSearchRec): Booleanbegin//这里可以有更多过滤条件或其他处理Memo1.Lines.Add(Path + '\' + SearchRec.Name);end);
end;end.

转载于:https://www.cnblogs.com/del/archive/2009/10/16/1584768.html

Delphi 2010 新增功能之: IOUtils 单元(4): TDirectory.GetDirectories相关推荐

  1. Delphi 2010 新增功能之: IOUtils 单元(1): 初识 TDirectory.GetFiles

    为什么80%的码农都做不了架构师?>>>    用 IOUtils 单元下的 TDirectory.GetFiles 获取文件列表太方便了; 下面的例子只是 TDirectory.G ...

  2. Delphi 2010 新增功能之: Rtti 单元(5): 获取方法的更多信息

    方法的更多信息是指: 方法类型.返回值.参数等. unit Unit1;interfaceusesWindows, Messages, SysUtils, Variants, Classes, Gra ...

  3. Delphi 2010 新增功能之: 软键盘、触摸键盘(TTouchKeyboard)

    本例效果动画图(因不是触摸屏, 只能用鼠标测试一下): 代码文件: unit Unit1;interfaceusesWindows, Messages, SysUtils, Variants, Cla ...

  4. Delphi 2010 新增功能之: TWICImage 类[4] - 图像的修剪

    虽然不用 TWICImage 也可以方便实现图像的修剪, 但这是 TWICImage 的方式. 测试代码: unit Unit1;interfaceusesWindows, Messages, Sys ...

  5. Microsoft SharePoint Server 2010 的新增功能

    Microsoft SharePoint Server 2010 包括几个关键的增强和新增功能.重新设计的用户界面中的功能区通过将命令放置到更易于导航的基于任务的选项卡上,来帮助您更快地完成工作.可以 ...

  6. RAD Studio Delphi 10.4在Windows,Android,iOS,macOS和Linux上更快地可视化开发APP应用软件及新增功能详解

    RAD Studio 10.4的新增功能 RAD Studio 10.4提供了显着增强的高性能本机Windows支持,通过出色的快速代码完成功能提高了生产率,通过托管记录提高了代码速度,并在现代多核C ...

  7. Visual C++ 新增功能(2003 - 2015)

    本页面包括从 Visual Studio 2003 到 Visual Studio 2015 的所有 Visual C++ 版本的"新增功能"页. 提供这些信息的目的是方便用户从早 ...

  8. Microsoft Dynamics AX 2009 新增功能 – 应用(目录)

    PDF 下载链接 第 1 章:新增常规功能 用户界面更新 角色中心 工作流 Contoso 演示数据集 第 2 章:财务 填充实用程序 过帐限制 原因代码 自动分摊 – 总帐 冲销分录 – 总帐 预算 ...

  9. Delphi 2010 安装及调试

    呵呵,毫不客气地说,Delphi 2010 这个版本可以算是 Delphi 的一个"里程碑",为什么这么说?因为这个版本实现了几个 Delphi 应该有却一直没有的功能 Delph ...

最新文章

  1. mybatis mapper.xml dtd_全栈开发踩坑之路4-用MyBatis实现服务
  2. Linux下SYN***原理与防范措施
  3. ES使用org.elasticsearch.client.transport.NoNodeAvailableException: No node available 错误解决方法
  4. Hololens开发基础知识
  5. [CTSC2018]混合果汁
  6. 替换字符串中指定的字符--随手源码
  7. 极致无边界!2021 神策数据 Tech-Day 即将开幕
  8. GIS实用小技巧(三)-CASS怎么添加图例?
  9. 前端学习(1959)vue之电商管理系统电商系统之通过路由加载分类参数
  10. mysql 5.6 ibdata1_mysql 里的 ibdata1 文件不断的增长?
  11. 振动系统零频率和重频率问题探讨
  12. apache开源项目_众筹开源笔记本电脑,新的Apache项目等
  13. oracle imp导入库到指定表空间
  14. jetty;linux 目录结构
  15. Facebook研究院院长:AI不会取代人类
  16. 【Git入门之六】远程仓库
  17. less 、more 翻页显示文件内容
  18. 安卓手机root是什么意思
  19. 阿里云短信发送接口直接HTTP请求调用
  20. 运动耳机什么牌子好、这五款是最值得推荐的运动耳机

热门文章

  1. Rspamd 将收到的spam/ham转了到指定邮箱
  2. 《HBase企业应用开发实战》—— 2.5 停止HBase集群
  3. leetcode笔记:Gray Code(2016腾讯软件开发笔试题)
  4. 操作系统级虚拟化概述
  5. 重构——39以多态取代条件表达式(Replace Conditional with Polymorphism)
  6. shell编程面试必会30题
  7. [20170606]11G _optimizer_null_aware_antijoin.txt
  8. 路由器学习之静态路由实验
  9. Learn Python The Hard Way(20)
  10. Remove Duplicates from Sorted List