本文整理自网络,侵删。
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函数找到一个文件后,利用这个类型可以获得文件的属性、大小和修改时间等信息。
varSearchRec: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 中提些条件, 譬如判断如果是文件夹就递归搜索等等
Constant Value Description Linux Meaning faReadOnly 1 Read-only files Current user does not have write access. faHidden 2 Hidden files File name begins with ".". faSysFile 4 System files File is socket, symbolic link, device file, or FIFO. faVolumeID 8 Volume ID files Not used. faDirectory 16 Directory files Directory. faArchive 32 Archive files Not used. faSymLink 64 Symbolic link File is a symbolic link. faAnyFile 71 Any file Any file.
function FindFirst(const Path: string; //包含路径和通配符的字符串,如f:\test\*.* Attr: Integer; //文件属性 var F: TSearchRec //一个结构(或叫记录) ): Integer; //返回值,成功返回0 ,失败返回-1
相关阅读 >>
Delphi 检查字符串是不是 包含 中文和获取中文字符个数
Delphi在设计时设置tstringgrid控件各列的列宽
Delphi winapi: windowfrompoint- 获取指定点所在窗口的句柄
更多相关阅读请进入《Delphi》频道 >>