Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Все о Delphi > Компоненты и классы
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

 
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 23.08.2017, 18:22
Romix Romix вне форума
Начинающий
 
Регистрация: 10.02.2008
Сообщения: 136
Версия Delphi: XE2
Репутация: 41
Восклицание Динамическое заполнение MainMenu

Доброе время суток, уважаемы форумчане. Возникла необходимость заполнить главное меню найденными директориями с их субдиректориями. Директорий будет немного. Непонятным чудом пришёл к такому коду(сильно не пинайте)
Код:
procedure SearchDirectory(MainMenu: TMainMenu; I: Int32; Directory: String);
var
MenuItem: TMenuItem;
  SearchRec: TSearchRec;
begin
  if FindFirst(Directory + '*.*', faDirectory, SearchRec) = 0 then
    Repeat
      if (SearchRec.Name <> '.') and (SearchRec.Name <> '..') and
        ((SearchRec.Attr and faDirectory) = faDirectory) then
      begin
      MenuItem:=TMenuItem.Create(MainMenu);
      MenuItem.Caption:=SearchRec.Name;
        MainMenu.Items[i].Add(MenuItem);
        SearchDirectory(MainMenu, I + 1, Directory + SearchRec.Name + '\');
      end;
    Until FindNext(SearchRec) <> 0;
  FindClose(SearchRec);
end;
Вызываю процедуру так
Код:
SearchDirectory(MainMenu, 0, '');

Наставьте неуча на путь истинный. Как правильно сделать рекурсию, что бы подпункты MainMenu тоже заполнялись?
Ответить с цитированием
 


Delphi Sources

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 08:44.


 

Сайт

Форум

FAQ

RSS лента

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2023

ВКонтакте   Facebook   Twitter