递归调用查询文件时,如果我在忽略c:\temp,怎么办?以下是代码
procedure TCopyFile.GetFileList(const MainPath, FileName: String;
FileList: TStringList);
var
i,j:integer;
SearchRec: TSearchRec;
begin
i:= FindFirst(MainPath+'\'+FileName,faAnyFile-faDirectory,SearchRec);
//先寻找根目录下的文件
while i=0 do
begin
FileList.add(MainPath+'\'+SearchRec.name);
i :=FindNext(SearchRec);
end;
FindClose(SearchRec);//再逐个寻找子目录中的文件
j:= FindFirst(MainPath+'\'+'*.*',faDirectory,SearchRec);
while j=0 do
begin
if (SearchRec.Name <> '.') and (SearchRec.Name <> '..') then
GetFileList(MainPath + '\'+SearchRec.Name,FileName,FileList);
j :=FindNext(SearchRec);
end;
end;
procedure TCopyFile.GetFileList(const MainPath, FileName: String;
FileList: TStringList);
var
i,j:integer;
SearchRec: TSearchRec;
begin
i:= FindFirst(MainPath+'\'+FileName,faAnyFile-faDirectory,SearchRec);
//先寻找根目录下的文件
while i=0 do
begin
FileList.add(MainPath+'\'+SearchRec.name);
i :=FindNext(SearchRec);
end;
FindClose(SearchRec);//再逐个寻找子目录中的文件
j:= FindFirst(MainPath+'\'+'*.*',faDirectory,SearchRec);
while j=0 do
begin
if (SearchRec.Name <> '.') and (SearchRec.Name <> '..') then
GetFileList(MainPath + '\'+SearchRec.Name,FileName,FileList);
j :=FindNext(SearchRec);
end;
end;
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货