zoukankan      html  css  js  c++  java
  • Delphi 目录函数,操作[1] FindFirst、FindNext、TSearchRec

    Delphi 目录操作[1] FindFirst、FindNext  - 寻找目标目录下的第一个文件和下一个文件

    单元:SysUtils

    1、FindFirst //寻找目标目录下的第一个文件
    函数 原型:

    function FindFirst(const Path: string; Attr: Integer; var F: TSearchRec): Integer;
    const
      faSpecial = faHidden or faSysFile or faVolumeID or faDirectory;
    begin
      F.ExcludeAttr := not Attr and faSpecial;
      F.FindHandle := FindFirstFile(PChar(Path), F.FindData);
      if F.FindHandle <> INVALID_HANDLE_VALUE then
      begin
        Result := FindMatchingFile(F);
        if Result <> 0 then FindClose(F);
      end else
        Result := GetLastError;
    end;

    返回值:成功找到文件时,返回 0

    Arrt 参数可定义:

    • faReadOnly = $00000001 platform;   //只读文件
    • faHidden = $00000002 platform;  //隐藏文件
    • faSysFile = $00000004 platform;  //系统文件
    • faVolumeID = $00000008 platform;   //卷标文件
    • faDirectory = $00000010;  //目录文件
    • faArchive = $00000020 platform;  //归档文件
    • faSymLink = $00000040 platform;  //链接文件
    • faAnyFile = $0000003F;  //任意文件

    2、FindNext //寻找下一个文件

    函数原型:

    function FindNext(var F: TSearchRec): Integer;
    begin
      if FindNextFile(F.FindHandle, F.FindData) then
        Result := FindMatchingFile(F) else
        Result := GetLastError;
    end;
    

    返回值:成功找到文件时,返回 0

    Arrt 参数,参考以上.

    TSearchRec 参数 是一个文件信息的记录类型,可以通过返回值获取 SearchRec.Name 文件名、SearchRec.Size 文件大小 等信息。
    TSearchRec 记录类型原型:

      TSearchRec = record
        Time: Integer;    //文件时间
        Size: Integer;   //文件大小
        Attr: Integer;   //文件属性
        Name: TFileName; //文件名称
        ExcludeAttr: Integer;
        FindHandle: THandle  platform;
        FindData: TWin32FindData  platform;
      end;
    

    Delphi 示例:

    var 
      SearchRec:TSearchRec; //搜索对象
      ext,AppPath:string; 
    begin 
      Listbox1.Clear; //清空列表框
      AppPath:=Edit1.text; //设置要搜索的目标目录
      ext:='*.*'; //设置要搜索的文件后缀名
      FindFirst(AppPath+ext,faAnyFile,SearchRec); //-faDirectory 
      Listbox1.Items.Add(SearchRec.Name); //添加文件名
      while FindNext(SearchRec)=0 do
        Listbox1.Items.Add(SearchRec.Name); //添加文件名
    end;
    

      

    创建时间:2020.06.18  更新时间:

  • 相关阅读:
    两数之和
    IntelliJ IDEA为类和方法自动添加注释
    IDEA main 函数的快捷键
    Mac终端开启代理
    Pycharm节能模式
    使用正则表达式替换构造字典
    使用代理爬取微信文章
    利用 Scrapy 爬取知乎用户信息
    Scrapy选择器的用法
    Scrapy命令行基本用法
  • 原文地址:https://www.cnblogs.com/guorongtao/p/13155838.html
Copyright © 2011-2022 走看看