Комп, как модель матриархата: на одной мамке можно завести папок сколько влезет.
procedure TFormList.RecurseDir(PathInicial: string);
var
SearchRec: TSearchRec;
Result: integer;
tmpName: string;
begin
DirectoryListBox1.Directory := PathInicial;
Result := FindFirst(PathInicial + '\*.*', faAnyFile, SearchRec);
while Result = 0 dobeginif ExtOk(SearchRec.Name) then{ если каталог... }if SearchRec.Attr and faDirectory > 0 then{ рекурсивно обрабатываем... }
RecurseDir(PathInicial + '\' + SearchRec.Name)
elsebegin
tmpName := PathInicial + '\' + SearchRec.Name;
tmpName := Copy(tmpName,
Pos(PathOrigen, tmpName) + Length(PathOrigen),
Length(tmpName) - Length(PathOrigen));
ListBox1.Items.Add(LowerCase(tmpName));
end;
Application.ProcessMessages;
Result := FindNext(SearchRec);
end;
DirectoryListBox1.Directory := PathInicial;
end;
Статья Итерация подкаталогов раздела Файловая система Директории может быть полезна для разработчиков на Delphi и FreePascal.
Комментарии и вопросы
Материалы статей собраны из открытых источников, владелец сайта не претендует на авторство. Там где авторство установить не удалось, материал подаётся без имени автора. В случае если Вы считаете, что Ваши права нарушены, пожалуйста, свяжитесь с владельцем сайта.