delphi 遍历文件算法(含遍历目录算法)

来源:互联网 发布:伴生活智能门禁 知乎 编辑:程序博客网 时间:2024/06/07 08:46

delphi 遍历文件算法(含遍历目录算法)

 5

谁能帮我解释一下这个遍历文件算法.... if (SearchRec.Name<>'.') and (SearchRec.Name<>'..') and (SearchRec.Name<>'IMG') 这句是什么意思? <> 是大于还是小于...还是什么意思...我是初学DELPHI的,对DELPHI的语法都不熟,想通过这个程序了解一下

谢谢哈!!!


function GetFileList(path:string;Attr:integer;FileList:TStringList):boolean;
var
SearchRec: TSearchRec;
i:integer;
begin
i:=FindFirst(path, attr, SearchRec);
if i <> 0 then
begin
result := false;
exit;
end;

while i = 0 do
begin
if (SearchRec.Name<>'.') and (SearchRec.Name<>'..') and (SearchRec.Name<>'IMG') then
FileList.Add(SearchRec.Name);
i:=FindNext(SearchRec);
end;
FindClose(SearchRec);
result := true;
end;

满意答案

食用菌 9级 2009-08-28

你这个算法只查当前的传入的文件夹的文件,含不了子目录
追问:

这三句是什么意思啊?

FindFirst(path, attr, SearchRec);
FileList.Add(SearchRec.Name);
FindNext(SearchRec);


回答:

FindFirst(path, attr, SearchRec); 第一次查文件,//path是路径, attr是属性,比如,系统文件还是隐藏文件。。。SearchRec如果成功就放在这存着。

FileList.Add(SearchRec.Name);//用把查到的文件名,用FileList存放

FindNext(SearchRec);//继续按第一次查的参数查找

评论(0)00
提问者 的感言:  谢谢~~ 2009-08-28

其他回答(1)

热心问友 2009-08-28

<> 是不等于。

if (SearchRec.Name<>'.') and (SearchRec.Name<>'..') and (SearchRec.Name<>'IMG') 是排除特殊目录.和..和IMG。

追问:

是不是目录中有'.'和'..'各'IMG'就执行if后面的FileList.Add(SearchRec.Name);

FindFirst(path, attr, SearchRec);
FileList.Add(SearchRec.Name);
FindNext(SearchRec);

又是什么意思啊?

回答:

是排除这3种情况。每次只获得一个目录项,如果不是这3种情况就执行FileList.Add(SearchRec.Name);

0 0
原创粉丝点击