procedure TForm1.findfiles(Apath:string); var FSearchrec,DSearchrec:TSearchRec; FindResult:integer; function getdirname(dirname:string):string; begin if dirname[length(dirname)]<>'\' then result:=dirname+'\' else result:=dirname; end; function IsDirNotation(Adirname:string):bool; begin result:=(adirname='.') or (adirname='..'); end; begin apath:=getdirname(apath); FindResult:=findfirst(Apath+'*.pas',faAnyFile+faHidden+faSysFile+faReadOnly,FSearchRec); try while findresult=0 do begin listbox1.Items.Add(lowercase(Apath+FSearchRec.Name)); findresult:=findnext(FSearchRec); end; findresult:=findfirst(apath+'*.*',faDirectory,DSearchRec); while findresult=0 do begin if ((DSearchRec.Attr and faDirectory)= faDirectory) and not IsDirNotation(DSearchRec.Name) then findfiles(apath+DSearchRec.Name); findresult:=findnext(DSearchRec); end; finally findclose(FSearchRec); end; end;procedure TForm1.Button1Click(Sender: TObject); begin if edit1.text='' then begin showmessage('Input Directory First'); exit; end; listbox1.items.Clear; findfiles(trim(edit1.text)); end;
var
FSearchrec,DSearchrec:TSearchRec;
FindResult:integer;
function getdirname(dirname:string):string;
begin
if dirname[length(dirname)]<>'\' then
result:=dirname+'\'
else
result:=dirname;
end;
function IsDirNotation(Adirname:string):bool;
begin
result:=(adirname='.') or (adirname='..');
end;
begin
apath:=getdirname(apath);
FindResult:=findfirst(Apath+'*.pas',faAnyFile+faHidden+faSysFile+faReadOnly,FSearchRec);
try
while findresult=0 do
begin
listbox1.Items.Add(lowercase(Apath+FSearchRec.Name));
findresult:=findnext(FSearchRec);
end;
findresult:=findfirst(apath+'*.*',faDirectory,DSearchRec);
while findresult=0 do
begin
if ((DSearchRec.Attr and faDirectory)= faDirectory)
and not IsDirNotation(DSearchRec.Name) then
findfiles(apath+DSearchRec.Name);
findresult:=findnext(DSearchRec);
end;
finally
findclose(FSearchRec);
end;
end;procedure TForm1.Button1Click(Sender: TObject);
begin
if edit1.text='' then
begin
showmessage('Input Directory First');
exit;
end;
listbox1.items.Clear;
findfiles(trim(edit1.text));
end;