конечно будет тока в корне искать, что бы искать везде, нужен рекурсивный поиск. Вот код:
Код:
procedure ScanDir(StartDir,Mask: string; List: TStrings);
var
SearchRec: TSearchRec;
begin
if Mask = '' then Mask := '*.*';
if StartDir[Length(StartDir)] <> '\' then StartDir := StartDir + '\';
if FindFirst(StartDir+Mask, faAnyFile, SearchRec) = 0 then
begin
repeat
Application.ProcessMessages;
if (SearchRec.Attr and faDirectory) <> faDirectory then
List.Add(StartDir + SearchRec.Name) else
if (SearchRec.Name <> '..') and (SearchRec.Name <> '.') then
begin
List.Add(StartDir + SearchRec.Name + '\');
ScanDir(StartDir + SearchRec.Name + '\',Mask,List);
end;
until FindNext(SearchRec) <> 0;
FindClose(SearchRec);
end;
end;
использовать так:
Код:
var
list: TStrings;
begin
list := TStrings.Create;
ScanDir('c:\','123.txt',list);
// в list будут строки с путями до файла 123.txt, если таковой будет найден
list.Free;
end;
P.S.: а вообще тебе сюда:
http://yandex.ru/yandsearch?clid=486...delphi&l r=36