Delphi 目录函数,操作[1] FindFirst、FindNext、TSearchRec - 寻找目标目录下的第一个文件和下一个文件
Delphi 目录操作[1] FindFirst、FindNext - 寻找目标目录下的第一个文件和下一个文件
单元:SysUtils
1、FindFirst //寻找目标目录下的第一个文件
函数 原型:
1 2 3 4 5 6 7 8 9 10 11 12 13 | 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 //寻找下一个文件
函数原型:
1 2 3 4 5 6 | 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 记录类型原型:
1 2 3 4 5 6 7 8 9 | TSearchRec = record Time: Integer ; //文件时间 Size: Integer ; //文件大小 Attr: Integer ; //文件属性 Name: TFileName; //文件名称 ExcludeAttr: Integer ; FindHandle: THandle platform; FindData: TWin32FindData platform; end ; |
Delphi 示例:
1 2 3 4 5 6 7 8 9 10 11 12 | 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 更新时间:
博客园 滔Roy https://www.cnblogs.com/guorongtao 希望内容对你有所帮助,谢谢!
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报