Сам по себе поиск файла по подкаталогам можно сделать наверное так:
Код:
function FolderScan(Folder: String; FileName: String): Boolean;
Var SR: TSearchRec;
begin
Result := False;
if FindFirst(Folder + '*.*', faAnyFile, SR) = 0
then begin
try
repeat
if (SR.Name = '.') or (SR.Name = '..') then Continue;
if (SR.Attr and faDirectory <> 0)
then begin
Result := FolderScan(Folder+SR.Name+'\', fileName);
if Result then Break else Continue;
end;
if SR.Name = FileName
then begin
Result := True;
Break;
end;
until FindNext(SR) <> 0;
finally
SysUtils.FindClose(SR);
end;
end;
end;