分享

TSearchRec

 room854 2014-11-23

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
-----------------------------------------------

TSearchRec类型

(1)TSearchRec是一个记录类型,在delphi帮助文档下可以看到其定义:
TSearchRec是一个文件信息的纪录(Record)类型
在Windows下原型:
type
TSearchRec = record
Time: Integer;
Size: Integer;
Attr: Integer;
Name: TFileName;
ExcludeAttr: Integer;
FindHandle: THandle;
FindData: TWin32FindData;
end;
(2).FindFirst函数在delphi帮助下的定义:
function FindFirst(const Path: string; Attr:
Integer; var F: TSearchRec): Integer;
其中有一句:FindFirst returns 0 if a file was successfully
located
也就是说,当成功找到文件时,返回0.

(3).sr.Attr是查找的文件属性(attribute
Files).faDiractory是目录文件
整句的意思
如果查找的文件类型是目录文件那么 ...
(4).当文件没有查找完毕(还能查找到下一个文件)..

*****************************************************

 

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 中提些条件, 譬如判断如果是文件夹就递归搜索等等

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多