zoukankan      html  css  js  c++  java
  • 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: mp' 目录下的所有以'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:	mp', //'H:	mp'目录
                'hi*',    //'hi'开头的文件夹
                TSearchOption(1), //'H:	mp'目录中的所有目录
                FilterPredicate); //附加过滤参数
            // for I := 0 to Length(dynArr) - 1 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], 0);
                Exit;
            end;
        end;
    end;

     

  • 相关阅读:
    【收集】各种hack
    CSS测试实录一:display的块状元素和行内元素的试验
    【转载加工】:after伪类+content内容生成经典应用举例
    CSS测试实录二:float和标准流
    onreadyStateChange  DOMContentLoaded
    Extensions
    Accessing of Rows in Silverlight DataGrid
    Linux应用程序的装载和执行
    top状态细分,进程状态
    定时器的使用和原理浅析,alarm/sleep函数
  • 原文地址:https://www.cnblogs.com/cause/p/3498143.html
Copyright © 2011-2022 走看看