Zliy Pes truly breeds Люди думают, что собаки любят кости. Хотя собаки любят мясо. Проверено: блох нет
Валяльня
Версия для печати





! Осторожно: Злой пес !
На главную страницу

Статьи | Web-обзоры | Гороскопы и пр. | Musica | Юмор | Programming | Математика
Информатика | Поиск по сайту | Кроссворды | В гостях UPSA | Новый сайт: Adsense, Scriptlance, блог
 
Ads:
Delphi 6 + XML = Динамическое меню

Скачать программу и исходники можно здесь.

Постановка задачи: написать программу для формирования и визуализации меню произвольного уровня вложенности.

В качестве формата хранения данных многоуровневого меню используется формат XML. Для редактирования и визуалиции меню используется Delphi 6 (т.к. данная среда обладает встроенными средствами для работы с форматом XML). Для редактирования меню применяется стандартный компонент TreeView (управление структурой) и два текстовых поля (для редактирования аттрибутов). Для визуализации меню используется стандартный компонент MainMenu. Обработка данных выполняется с помощью рекурсии (естественное решение, следующее из задания и формата хранения данных).

Вот пример файла меню (menu.xml):

<multimenu>
  <item name="Zaporozhye State University">
    <item name="Guest Book" link="http://www.zsu.edu.ua/?dest=guestbook"/>
    <item name="Site Map" link="http://www.zsu.edu.ua/?dest=sitemap"/>
    <item name="Telephone Directory" link="http://www.zsu.edu.ua/?dest=contacts"/>
    <item name="Links" link="http://www.zsu.edu.ua/?dest=main@links"/>
    <item name="Departments">
      <item name="Mathematics" link="http://www.zsu.edu.ua/?dest=departments@math"/>
      <item name="History" link="http://www.zsu.edu.ua/?dest=departments@history"/>
      <item name="Biology" link="http://www.zsu.edu.ua/?dest=departments@biology"/>
      <item name="Physics" link="http://www.zsu.edu.ua/?dest=departments@physics">
        <item name="Site" link="http://ssem.zsu.zp.ua"/>
      </item>
    </item>
  </item>
  <item name="Zliy Pes">
    <item name="Miscellaneous">
      <item name="New on site" link="http://zliypes.com.ua/etc/renewals.php"/>
      <item name="About the project" link="http://zliypes.com.ua/etc/about.php"/>
    </item>
    <item name="Articles" link="http://zliypes.com.ua/articles"/>
    <item name="Мыло автору" link="mailto:val@zliypes.com.ua?Subject=XML Dynamic Menu Builder"/>
  </item>
  <item name="Search Engines">
    <item name="Google" link="http://www.google.com"/>
    <item name="AltaVista" link="http://www.av.com"/>
    <item name="Yahoo" link="http://www.yahoo.com"/>
    <item name="Russian engines" link="http://www.something.com">
      <item name="Yandex" link="http://www.yandex.ru"/>
      <item name="Апорт" link="http://www.aport.ru"/>
      <item name="Rambler" link="http://www.rambler.ru"/>
    </item>
  </item>
  <item name="Office Tools">
    <item name="Microsoft Word" link="winword"/>
    <item name="Microsoft Excel" link="excel"/>
    <item name="Microsoft Access" link="msaccess"/>
  </item>
  <item name="Accessories">
    <item name="Notepad" link="notepad"/>
    <item name="MsPaint" link="mspaint"/>
    <item name="Calculator" link="calc"/>
    <item name="WordPad" link="wordpad"/>
  </item>
</multimenu>

Аттрибут link может иметь любое значение, которое "скушает" API команда ShellExecute. В предлагаемом меню реализованы 3 типа линков: http-ссылки, e-mail-адреса и имена exe-программ.

Скачать программу и исходники можно здесь.

19.03.2002
Комментарии
 

 

О проекте | Стая Злого Пса | Что нового? Quick jump: © 2002-2007