Page 1 of 1

Start Menu Editor - Редактор Главного Меню

Posted: Mon Dec 20, 2010 12:04 pm
by connect
Имею желание написать утилиту по настройке главного меню. Несколько раз встречал на форуме упоминание о неудобствах MENU.DAT, да и сам все понял, попробовав убрать из него игры и демки. Такая программа могла бы вызываться из выпадающего меню десктопа, не суть. Главными двумя основными моментами, которые я попробую реализовать будут:
1) Создание приложения, редактирующего MENU.INI файл
2) Перевод @MENU на работу с MENU.INI вместо устаревшего MENU.DAT

Создал данную ветку, что бы не делать пустого. Если сообщество подскажет, что подобная утилита уже существует в какой либо степени завершенности или подобная утилита будет сочтена несущественной, я откажусь от своей задумки в пользу чего-либо более нужного.

Примечание:
Мои познания ассемблера находятся в зачаточной стадии, потому эта программа послужит для меня также и обучающим пособием.

Re: Start Menu Editor - Редактор Главного Меню

Posted: Mon Dec 20, 2010 2:06 pm
by ChE
ИМХО, если делать редактор меню, то MENU.DAT лучше сделать вообще бинарным, а не заморачиваться с ini.

Re: Start Menu Editor - Редактор Главного Меню

Posted: Mon Dec 20, 2010 2:51 pm
by IgorA
connect wrote:Если сообщество подскажет, что подобная утилита уже существует в какой либо степени завершенности
Когда-то я выложил на форуме свой вариант меню, основанный на элементе tree_list из библиотеки box_lib.obj найти можно здесь :
viewtopic.php?f=9&t=1336&start=45
Там посмотри мое второе сообщение где :
Да так. Я сделал эту программку более универсальной. Все записи сохраняются в отдельном файле menu.lst. Также сделал редактор к файлу. Вот пример.

Вложения:
Комментарий к файлу: моя версия menu
menu_aie_09_12_10.7z [19.13 Кб]
Скачиваний: 17
Я делал также программы для редактирования своего файла меню, в нем не было ограничения на количество пунктов. Но в конце концов эта программа не прижилась. Возможно потому что другие люди заявили что сделают новую программу panel в которой будет внедрено свое меню ...
Если есть желание можешь доделать мой пример из файла menu_aie_09_12_10.7z , в нем еще есть несколько недоработанных моментов, например то что вокруг окна есть рамка, лучше было-бы для меню сделать окно вообще без скина.

Re: Start Menu Editor - Редактор Главного Меню

Posted: Mon Dec 20, 2010 5:21 pm
by DmitrySokolowsky
А есть какие-то проблемы в том, чтобы редактировать непосредственно конфигурационный файл? Он же простой как два пальца.

Re: Start Menu Editor - Редактор Главного Меню

Posted: Mon Dec 20, 2010 6:27 pm
by IgorA
Атауальпа wrote:А есть какие-то проблемы в том, чтобы редактировать непосредственно конфигурационный файл?
На сколько я понял основная проблема это ограничение на количество пунктов в меню :
Замечания по синтаксису файла MENU.DAT:
Размер файла MENU.DAT-не более 2К
Меню #0-всегда главное.
Количество меню-не более 10 - от #0 до #9
Взято с http://redmine.kolibrios.org/projects/k ... readme.txt

Re: Start Menu Editor - Редактор Главного Меню

Posted: Mon Dec 20, 2010 9:04 pm
by Mario
IgorA
Размер меню поменять особых проблем нет - 2 Кб это потому что в свое время больше было не нужно, да и была некоторая неувязочка со стеками потоков, приложение то многопоточное.

Лично я тоже не вижу сильной необходимости в смены меню. Структура достаточно простая и понятная. Уж во всяком случае с каким нибудь XML подобными скриптами даже не сравнить по сложности. Добавление же иконок в пункты не улучшит функциональность меню, а лишь займет место (это я к тому если есть такие идеи, любители свисто-плясо-перделок красивостей уже не раз пытались брутфорсить эту идею). Однако если есть желание, то почему не заняться - может чего и получиться толковое. Графические утилиты часто облегчают жизнь, главное чтобы сделано было не в ущерб скорости и размеру.

Re: Start Menu Editor - Редактор Главного Меню

Posted: Tue Dec 21, 2010 4:14 pm
by CleverMouse
IgorA, этот текст, если и был когда-то актуален, то давно устарел. Сейчас используемый в дистрибутиве menu.dat занимает заметно больше 2K и имеет больше 10 подменю. Я взглянула на код - ограничение по размеру действительно есть, но такое, чтобы файл помещался в место, оставшееся в первых 64K за вычетом кода и данных программы @menu - сейчас для menu.dat остаётся около 47K.