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

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

рекурсия [D7, Win2k]


bang ©   (2004-08-20 17:35:00) 

Ув. мастера, подскажите мне, незнающему, как сделать рекурсивный поиск файлов по маске в директории и найденные имена файлов добавить в список? Заранее спасибо и извините если некорректно задал вопрос.


Mim1   (2004-08-20 19:34:00) [1]

program test;
{$APPTYPE CONSOLE}
uses sysutils, Masks;

procedure Q(startdir:string; mask:string);
var
SearchRec : TSearchRec;
begin
if FindFirst(StartDir+'\*.*', faAnyFile, SearchRec) = 0 then
begin
  repeat
    if (SearchRec.Attr and faDirectory) = faDirectory then
      begin
        if (SearchRec.Name <> '..') and (SearchRec.Name <> '.') then
          q(startdir+'\'+SearchRec.Name,mask);
      end
    else
      if MatchesMask(SearchRec.Name,mask) then
        writeln(StartDir +'\'+ SearchRec.Name);
  until FindNext(SearchRec) <> 0;
  FindClose(SearchRec);
end;
end;
begin
 q('d:\mp3','*.mp3');
end.


bang   (2004-08-20 19:22:00) [2]

Нашел!!! Это то, что нужно!
http://www.torry.net/vcl/filedrv/search/teasyfilesearch.zip


bang   (2004-08-20 19:08:00) [3]

Пример хороший, только если фильтр будет *.txt, например, никакой рекурсии не будет :(


Суслик   (2004-08-20 17:37:00) [4]

http://www.delphimaster.ru/cgi-bin/faq.pl?look=1&id=1015254946&n=19


Наверх

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