Вниз
Скачать: 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.02 c
3-1090962072
AlexG
2004-07-28 01:01
2004.08.22
Создание зависимых списков


3-1091083229
WondeRu
2004-07-29 10:40
2004.08.22
SQL. Как использовать процедуру для WHERE


3-1091101972
SergP
2004-07-29 15:52
2004.08.22
Проблема с запросом...(LEFT JOIN)


14-1091561847
DeadMeat
2004-08-03 23:37
2004.08.22
1C


1-1092134649
Fath
2004-08-10 14:44
2004.08.22
MaskEdit




   Наверх