文件磁盘相关函数-搜索文件 FindFirst; FindNext; FindClose
代码如下:
implementation {$R *.dfm} var estr:string; procedure TForm1.N10Click(Sender: TObject); //搜索文件 FindFirst; FindNext; FindClose var sr: TSearchRec; //定义 TSearchRec 结构变量 Attr: Integer; //文件属性 begin estr := Edit1.Text; Attr := faAnyFile; //文件属性值faAnyFile表示是所有文件 if FindFirst(estr,Attr,sr)=0 then //开始搜索,并给 sr 赋予信息, 返回0表示找到第一个 //如果有第一个就继续找 Memo1.Lines.Add(sr.Name); //用Memo1记下结果 while FindNext(sr)=0 do
memo1.lines.add(sr.name); //因为sr已经有了搜索信息, FindNext只要这一个参数, 返回0表示找到 FindClose(sr); //需要结束搜索, 搜索是内含句柄的 //更多注释: //TSearchRec 结构是内涵文件大小、名称、属性与时间等信息 //TSearchRec 中的属性是一个整数值, 可能的值有: //faReadOnly 1 只读文件 //faHidden 2 隐藏文件 //faSysFile 4 系统文件 //faVolumeID 8 卷标文件 //faDirectory 16 目录文件 //faArchive 32 归档文件 //faSymLink 64 链接文件 //faAnyFile 63 任意文件 //s 的值也可以使用?通配符,好像只支持7个?, 如果没有条件就是*, 譬如: C:\* //实际使用中还应该在 repeat 中提些条件, 譬如判断如果是文件夹就递归搜索等等 end;
下面进行函数分析:
function FindFirst(const Path: string; //包含路径和通配符的字符串,如f:\test\*.* Attr: Integer; //文件属性 var F: TSearchRec //一个结构(或叫记录) ): Integer; //返回值,成功返回0 ,失败返回-1
posted on 2011-09-06 19:24 delphi初学者 阅读(1098) 评论(0) 编辑 收藏 举报