TSearchRec

FindFirst是用来寻找目标目录下的第一个文件,FindNext则是寻找下一个
TSearchRec是一个文件信息的纪录,当FindFirst返回SearchRec时,你可以通过SearchRec.Name获取文件名,以及SearchRec.Size获取文件大小等信息。

TSearchRec类型定义如下: 
     type 
     TSearchRec = record 
     Time : Integer; 
     Size : Integer; 
     Attr : Integer; 
     Name : TFileName; 
     ExcludeAttr : Integer; 
     FindHandle : THandle; 
     FindData : TWin32FindData; 
     end; 
     
     当利用FindFirst和FindNext函数找到一个文件后,利用这个类型可以获得文件的属性、大小和修改时间等信息。

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;

//更多注释:
  //TSearchRec 结构是内涵文件大小、名称、属性与时间等信息
  //TSearchRec 中的属性是一个整数值, 可能的值有:
  //faReadOnly  1   只读文件
  //faHidden    2   隐藏文件
  //faSysFile   4   系统文件
  //faVolumeID  8   卷标文件
  //faDirectory 16  目录文件
  //faArchive   32  归档文件
  //faSymLink   64  链接文件
  //faAnyFile   63  任意文件
  //s 的值也可以使用?通配符,好像只支持7个?, 如果没有条件就是*, 譬如: C:\*
  //实际使用中还应该在 repeat 中提些条件, 譬如判断如果是文件夹就递归搜索等等

?
function  FindFirst( const  Path: string ; //包含路径和通配符的字符串,如f:\test\*.*
                          Attr: Integer ; //文件属性
                        var   F: TSearchRec //一个结构(或叫记录)
                    ): Integer ;    //返回值,成功返回0 ,失败返回-1

TSearchRec相关推荐

  1. TSearchRec类型

    (1)TSearchRec是一个记录类型,在delphi帮助文档下可以看到其定义: TSearchRec是一个文件信息的纪录(Record)类型 在Windows下原型: type TSearchRe ...

  2. delphi公共函数 UMyPubFuncFroc--版权所有 (C) 2008 勇者工作室

    {*******************************************************} { } { Delphi公用函数单元 } { } { 版权所有 (C) 2008 勇 ...

  3. 理解 Delphi 的类(十) - 深入方法[28] - 递归函数实例: 搜索当前目录下的所有嵌套目录...

    为什么80%的码农都做不了架构师?>>>    //上面一个例子不能说明递归函数的本质, 直接来个实用的函数吧, 刚好要用.unit Unit1;interfaceusesWindo ...

  4. Delphi下遍历文件夹下所有文件的递归算法

    {------------------------------------------------------------------------------- 过程名:    MakeFileLis ...

  5. findfirst findnext 递归查找指定目录下所有子目录下所有文件,为什么总是死机?...

    findfirst findnext 递归查找指定目录下所有子目录下所有文件,为什么总是死机? Delphi / Windows SDK/API http://www.delphi2007.net/D ...

  6. C++ Builder技巧集锦

    C++ Builder技巧集锦 1 /* 2 调用DOS程序时不显示窗口 3 使 用 ShellExecute调 用 DOS程 序 时 可 以 不 显 示 窗 口 , 如 :*/ 4 ShellExe ...

  7. Delphi 2010 新增功能之: IOUtils 单元(4): TDirectory.GetDirectories

    和 TDirectory.GetFiles 用法一样, TDirectory.GetDirectories 是用来获取子目录的. 另外还有 TDirectory.GetFileSystemEntrie ...

  8. Dokan虚拟磁盘开发实战

    因工作需要,最近与同事合作使用Dokan开发了一个虚拟磁盘的简单程序,初步实现了远程目录映射到本地虚拟磁盘的功能. 远程服务端是用Python写的,主要是将远程主机上的目录文件传给客戶端,在这里就不细 ...

  9. Delphi资源文件的应用(转)

    (一)初级应用篇: 资源文件一般为扩展名为res的文件.在VC中资源文件用得非常普遍,但Delphi在其联机帮助中对资源文件没作什么介绍,其实利用其自带的资源编译工具BRCC32.EXE(一般位于\D ...

最新文章

  1. hdu 5396 Expression
  2. 《vSphere性能设计:性能密集场景下CPU、内存、存储及网络的最佳设计实践》一1.2.2 内存...
  3. nhibernate many-to-one 没有匹配项时的异常
  4. api网关 android,如何通过Android上的retrofit2使用Cognito Credentials调用API网关?
  5. 为什么会有那么多人放弃编程?
  6. HDFS使用流的方式上传下载
  7. redis中数据的持久化
  8. 牛客网暑期ACM多校训练营(第九场)H. Prefix Sum(CDQ分治)
  9. Java Hamcrest学习
  10. Vivado ML 2021.1 安装包下载
  11. 【高等数学基础进阶】导数与微分
  12. 为什么Windows的文件名不能超过255个英文字符,求解答
  13. Java 批量导出PPT为图片,并合并生成PDF
  14. 流放之路 剧情 第六章
  15. 一文搞定 JVM 面试,教你吊打面试官~
  16. python选题背景_选题背景和意义
  17. supervisord使用
  18. 计算机科学与技术的未来发展前景
  19. STC12C5A60S2单片机WIFI信号扫描报警监视系统信号增强信号过低报警
  20. 用代码向 90 后逝去的青春致敬

热门文章

  1. 对上次的“打地鼠“进行了调整
  2. A-level化学氧化数配平法
  3. VBA word中插入文字和艺术字
  4. linux paste变量,Linux paste命令
  5. 《瞬息全宇宙》评论乌龙刷评翻车 水军机器人何时能休?
  6. 攒了一冬的甜,米易枇杷借力新电商走出川西大山
  7. android 的Application应用
  8. 清除指定域名下的cookie
  9. “吃鸡”外挂黑产上亿,游戏行业如何做好防御?
  10. cogs 1075. [省常中2011S4] 最短路径问题