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;

     

  • 相关阅读:
    使用 matlab 数据集的生成(generate datasets)
    从 RNN 到 LSTM (Short-Term Memory)
    从 RNN 到 LSTM (Short-Term Memory)
    OpenGL(二十二) gluBuild2DMipmaps 加载Mip纹理贴图
    概念的图解 —— 物理
    python数据库做成邮箱的注册系统!
    [每日一题] OCP1z0-047 :2013-08-15 描述GROUPING 函数 .......................................43
    OpenSSL之PKey的EVP封装
    最长回文字符串(manacher算法)
    POJ burnside&&polya整理练习
  • 原文地址:https://www.cnblogs.com/cause/p/3498143.html
Copyright © 2011-2022 走看看