Версия для печати темы

Нажмите сюда для просмотра этой темы в обычном формате

Форум «Всё о Паскале» _ Задачи _ Обход дерева каталогов на Borland Pascal For Win

Автор: Renat 6.08.2004 16:26

Пожалуйста, помогите решить данную задачу-реализовать циклический обход дерева каталогов на BORLAND PASCAL _FOR WINDOWS_

Автор: BlackShadow 6.08.2004 16:34

Тоже где-то вроде...

Код

Uses WinDos;

Type
 TCallBack=Function(FileName:String):Boolean;

Function Browse(Root:String;Mask:String;CallBack:TCallBack):Boolean;
Var
 q:TSearchRec;
Begin
 Browse:=False;
 If Root[Length(Root)] <> '\' Then
   Root:=Root + '\';
 If FindFirst(Root+Mask,faAnyFile,q) <> 0 Then
   Exit;
 Repeat
   If q.Attrib And faDirectory <> 0 Then
   Begin
     If Not Browse(Root+q.Name,Mask,CallBack) Then
       Exit
   End
   Else
     If Not CallBack(Root+q.Name) Then
       Exit
 Until FindNext(q)<>0;
 Browse:=True
End;

{Example}

Function PrintList(FileName:String):Boolean;
Begin
 WriterLn(FileName);
 PrintList:=True
End;

Begin
 Browse("C:\windows\System32","*.Dll",PrintList)
End.


Возможны мелкие ошибки (т. к. без компилятора пишу), но алгоритм, я думаю, понятен, так что исправить их не составит труда.