Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Как искать во вложенных папках файлы? [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]

Конечно, можно. Нужно делать рекурсию. Ищешь все подкаталоги в данном, потом все подкаталоги в в первом из найденных подкаталогов и т.д. Потом в последнем каталоге находишь файлы.
Я такое как-то писал на С++, если надо могу поделиться.


Наверх

Титульная страница Поиск, карта сайта Написать письмо