Вопрос
Необходимо реализовать полный перебор всех вложенных папок в указанной папке (т.е. все вложенные папки должны быть представлены в виде дерева, к примеру). Как это можно сделать?
Ответ
Простейший сканнер
Вот пример, который ищет мп3 файлы на жестком диске…
unit Audit1;
interface uses windos;
var dest:string;
procedure dorecurse(dir:string);
implementation {$R *.DFM} Procedure Process (dir:string; Searchrec:tsearchrec);
begin showmessage (Searchrec.name);
case Searchrec.attr of $10: if (searchrec.name<>'.') and (searchrec.name<>'..') then begin dorecurse (dir+'\'+searchrec.name);
writeln (dir);
end;
end;
end;
Procedure Dorecurse(dir:string);
var Searchrec:Tsearchrec;
pc: array[0..79] of Char;
begin StrPCopy(pc, dir+'\*.mp3');
FindFirst(pc, FaAnyfile, SearchRec);
Process (dir,SearchRec);
while FindNext(SearchRec)<>
-18 do begin Process (dir,SearchRec);
end;
end;
Procedure startsearch;
begin dorecurse (paramstr(1));
end;
begin startsearch;
end.
Из конференции Expert_FAQ
Copyright 2000-2004 Сообщество Чайников
Контактная информация