function suchdatei(pfad,datei:string): string;
var
sr: TSearchRec;
begin
result:= '';
if findfirst(pfad+'*.*',$27,sr)=0 then
repeat
if ansilowercase(sr.name)=ansilowercase(datei) then
begin
result:= pfad+datei;
break;
end;
until findnext(sr)<>0;
FindClose(Sr);
end;
function finden(start,datei:string): string;
var
sr: TSearchRec;
hlp: string;
begin
if ansilastchar(start)<>'\' then
start:= start+'\';
result:= suchdatei(start,datei);
if result <> '' then exit;
if findfirst(start+'*.*',faAnyfile,sr)=0 then
begin
repeat
if (sr.Attr and faDirectory > 0)and(sr.name[1]<>'.') then
begin
hlp:= start+sr.name;
result:= finden(hlp,datei);
if result <> '' then
break;
end;
until findnext(sr)<>0;
FindClose(Sr);
end;
end;