procedure searchfile(path:string);//注意,path后面要有'\';
var
SearchRec:TSearchRec;
found:integer;
begin
found:=FindFirst(path+'*.*',faAnyFile,SearchRec);
while found=0 do
begin
if (SearchRec.Name<>'.') and (SearchRec.Name<>'..')
and (SearchRec.Attr<>faDirectory) then
ListBox1.Add(SearchRec.Name);
found:=FindNext(SearchRec);
end;
FindClose(SearchRec);
end;
//===============================================================
上面一个只获取当前目录下所有文件,如果要获取该目录下的子目录的文件,看下面
procedure SearchFile(path:string);
var
SearchRec:TSearchRec;
found:integer;
begin
found:=FindFirst(path+'*.*',faAanyFile,SearchRec);
while found=0 do
begin
if (SearchRec.Name<>'.') and (SearchRec.name<>'..) and
(SearchRec.Name=faDirectory) then
SearchFile(SearchRec.Name+'\')
else
LisBox1.Add(SearchRec.Name);
found:=FindNext(SearchREc);
end;
FindClose(SearchRec);
end;
//===================================================================
本文提供了两种使用Delphi实现的递归搜索文件夹的方法。第一种仅搜索当前目录下的文件,第二种则会深入子目录进行搜索。这两种方法都利用了`FindFirst`和`FindNext`函数来遍历目录,并通过条件判断来区分文件与文件夹。
2028

被折叠的 条评论
为什么被折叠?



