Информационный сервер для программистов: Исходники со всего света. Паскальные исходники со всего света
  Powered by Поисковый сервер Яndex: Найдется ВСЁ!
На Главную Исходники Форум Информер Страны мира
   ЧАВО - Частые Вопросы и Ответы    >>    walkdir
   
 
 FIL. Как обойти все вложенные подкаталоги   Sly Golovanov 27.12.1997

Метод обхода дерева каталогов с помощью FindFirst и FindNext.


 
 

Pascal FAQ created by SLY Golovanov, 2:5020/278.13 (slightly corrected by Valery Votintsev 2:5021/22) ============================================================================== Q:> Как обойти все каталоги на диске? A: Используя процедуры FindFirst, FindNext. Их описание есть в хелпе. Вкратце - в функции обхода перебираем все вхождения в каталог, и проверяем каждое из них - если это каталог, то входим в него и рекурсивно вызываем функцию обхода каталога. Uses Dos; Procedure DirTree(path:string); var sr:searchrec; begin If path[length(path)]<>'\' then path:=path+'\'; findfirst(path+'*.*',AnyFile,sr); while (doserror=0) do begin if (sr.attr and directory) = directory then begin if (sr.name<>'.') and (sr.name<>'..') then DirTree(path+sr.name+'\'); end else begin writeln(path+sr.name); end; findnext(sr); end; end; begin DirTree(ParamStr(1)); end. --- * Origin: (2:5020/794.13)