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);//继续按第一次查的参数查找
其他回答(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);