Вниз
Скачать: CL | DM;

Рекурсивный поиск   Найти похожие ветки 

← →
dizrov   (2004-08-06 12:43) [0]

Добрый день, ув. мастера!
Подскажите, пожалуйста, как сделать рекурсивный поиск в каталоге.
Если не трудно - киньте исходник.
Заранее спасибо.


← →
begin...end ©   (2004-08-06 12:46) [1]

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


← →
dizrov   (2004-08-06 12:48) [2]

begin...end, спасибо огромное!


← →
syte_ser78 ©   (2004-08-06 12:50) [3]

Исходник на FP

Procedure SearchFiles(path,mask:string);
var sr:searchrec;
begin
 findfirst(path+"*.*",anyfile,sr);
 while doserror=0 do begin
   if (sr.attr and directory=directory) and
      (sr.name<>".") and (sr.name<>"..") then
     SearchFiles(path+sr.name+"\",mask);
   findnext(sr);
 end;
end;


← →
Mim1 ©   (2004-08-06 22:47) [4]

Для кучи
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.



Страницы: 1 вся ветка

Скачать: CL | DM;



Память: 0.45 MB
Время: 0.021 c
1-1091713019
DimonNew
2004-08-05 17:36
2004.08.22
ListBox &amp; Multiselect


14-1091513636
olookin
2004-08-03 10:13
2004.08.22
Непроизвольная неправильная запись слов


3-1090695422
viktor
2004-07-24 22:57
2004.08.22
FastReport


1-1091863065
Миха
2004-08-07 11:17
2004.08.22
Открыть файл с CD-ROMa (read-only)


3-1090826570
Valeri
2004-07-26 11:22
2004.08.22
ADOQuery




   Наверх