Delphi World - это проект, являющийся сборником статей и малодокументированных возможностей  по программированию в среде Delphi. Здесь вы найдёте работы по следующим категориям: delphi, delfi, borland, bds, дельфи, делфи, дэльфи, дэлфи, programming, example, программирование, исходные коды, code, исходники, source, sources, сорцы, сорсы, soft, programs, программы, and, how, delphiworld, базы данных, графика, игры, интернет, сети, компоненты, классы, мультимедиа, ос, железо, программа, интерфейс, рабочий стол, синтаксис, технологии, файловая система...
Итерация подкаталогов

Комп, как модель матриархата: на одной мамке можно завести папок сколько влезет.


procedure TFormList.RecurseDir(PathInicial: string);
var
  SearchRec: TSearchRec;
  Result: integer;
  tmpName: string;
begin
  DirectoryListBox1.Directory := PathInicial;
  Result := FindFirst(PathInicial + '\*.*', faAnyFile, SearchRec);
  while Result = 0 do
  begin
    if ExtOk(SearchRec.Name) then
      { если каталог... }
      if SearchRec.Attr and faDirectory > 0 then
        { рекурсивно обрабатываем... }
        RecurseDir(PathInicial + '\' + SearchRec.Name)
      else
      begin
        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 World © Выпуск 2002 - 2004
Автор проекта: ___Nikolay