文件磁盘相关函数-搜索文件 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编辑  收藏  举报

导航