delphi的递归调用是不是要注意什么?
procedure Tform1.Filelist(path:string);
var
searchRec:TsearchRec;
Fcount:integer;
begin
if not (rightstr(trim(path),1)='\')then
path:=path+'\';
Fcount:=FindFirst(path+'*.*',faAnyFile,SearchRec); { }
while(Fcount)=0 do
begin
if (SearchRec.Attr=16)and (SearchRec.Name<>'.')and (SearchRec.Name<>'..')then
begin
filelist(path+SearchRec.Name);
end
else
begin
listbox1.Items.Add(SearchRec.Name);
Fcount:=FindNext(SearchRec);
end;
end;
findclose(SearchRec);
end;
怎么我就跳不出这个循环呢,当把filelist(path+SearchRec.Name);给屏蔽了换成别的就可以,不然当然Fcount不等于0跳出来后又会跑回去,真是搞不懂,求指点!
[解决办法]
kaikai_kk
的眼睛太利锐了,
[解决办法]
确定试了???这样看的清楚些
while(Fcount)=0 dobegin if (SearchRec.Attr=16)and (SearchRec.Name<>'.')and (SearchRec.Name<>'..')then filelist(path+SearchRec.Name) else listbox1.Items.Add(SearchRec.Name); Fcount:=FindNext(SearchRec);end;