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