![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Как искать во вложенных папках файлы? [D6, Win95/98]
Delphimun © (2002-01-09 15:00:00)findfirs и findnext ищут файлы только в указанной папке, а во вложенные не заглядывают. Есть ли способ, который мог бы искать и во вложенных папках, который можно было реализовать при помощи средств модуля system и Api(не хотелось бы загромаждать память другими модулями).
Искать fadirectory, а потом заглядывать в них на мой взгляд слишком хлопотно, но пока нет альтернативы пользуюсь этим.
Немогли бы вы предоставить мне альтернативу?
Заранее благодарен.
Polevi (2002-01-09 17:17:00) [1]procedure TForm1.GetFiles(APath: string);
var
sr:TSearchRec;
isFound:boolean;
begin
isFound:=FindFirst(APath+"*.*",faAnyFile,sr)=0;
while isFound do
begin
if (sr.Name<>".") and (sr.Name<>"..") then
begin
if sr.Attr=faDirectory then GetFiles(APath+sr.Name+"\");
Memo1.Lines.Add(APath+sr.Name);
end;
isFound:=FindNext(sr)=0;
end;
FindClose(sr);
end;
procedure TForm1.Button1Click(Sender: TObject);
begin
GetFiles("c:\");
end;
Dimka Maslov (2002-01-09 16:38:00) [2]Поищи на форуме, такой вопрос задаётся почти ежедневно.
Vovchik (2002-01-09 15:14:00) [3]Конечно, можно. Нужно делать рекурсию. Ищешь все подкаталоги в данном, потом все подкаталоги в в первом из найденных подкаталогов и т.д. Потом в последнем каталоге находишь файлы.
Я такое как-то писал на С++, если надо могу поделиться.