Size: a a a

2021 April 26

RS

Roman Storozhenko in Embedded Group
“Создание» объекта
Декларирование
источник

ED

Electronics Designer in Embedded Group
Я вообще не мыслю тут категориями объектов. :) Каждая ветка меню - простой массив, записанный во флеш.
источник

RS

Roman Storozhenko in Embedded Group
Массив это объект
источник

ED

Electronics Designer in Embedded Group
Для меня массив - это указатель на его начало, ну да ладно. :)

Так или иначе, конструктора у него нет. У него вообще ничего нет, кроме стартового адреса. :)
источник

ED

Electronics Designer in Embedded Group
Короче. Мое меню - массив данных во флеше, который обходит движок.
источник

ED

Electronics Designer in Embedded Group
Движок обходит его по командам пользователя.
источник

ED

Electronics Designer in Embedded Group
По нажатию кнопки действия движок интерпретирует указатель в выбранном пункте меню таким образом, какой диктуется в поле его типа.
источник

ED

Electronics Designer in Embedded Group
Либо тем или иным способом запускает код, либо переходит к другой ветке меню (меняет внутренний указатель текущей ветки на новый).
источник

RS

Roman Storozhenko in Embedded Group
Да это понятно)
источник

RS

Roman Storozhenko in Embedded Group
Мне тут идея формирования дерева интересует
Пока не получается достаточно красиво
источник

ED

Electronics Designer in Embedded Group
Потому я не совсем понимаю, где у меня что разделено. :) У меня все монолитно. :)
источник

ED

Electronics Designer in Embedded Group
Есть набор одинаковых массивов. Каждый представляет собой ветку меню. В каждой ветке меню в любом пункте можно организовать переход к любой другой произвольной ветке.
источник

ED

Electronics Designer in Embedded Group
Это как делаю я.
источник

ED

Electronics Designer in Embedded Group
Минус такого способа - даже возврат на уровень вверх надо явно прописывать.
источник

ED

Electronics Designer in Embedded Group
Это можно было бы устранить, заставив движок кэшировать один предыдущий адрес и автоматически дорисовывать дополнительный пункт возврата, но я решил не ломать логику построения меню.
источник

RS

Roman Storozhenko in Embedded Group
Я так и делаю. Есть история переходов по которой происходит возврат
Так работает меню на мобильниках
источник

A

Alexander in Embedded Group
Лет ...дцать назад Dihalt подобное на MicroMenu реализовывал:


http://easyelectronics.ru/organizaciya-drevovidnogo-menyu.html
источник

A

Alexander in Embedded Group
Вместо одного указателя используются 4:
*next, *previous, *parent, *child.
источник

A

Alexander in Embedded Group
Можно терминировать неиспользуемые ветви NULL'ами.
источник

AK

Anton Kirilenko in Embedded Group
про менюшки в программах на Спектруме вобще не говорим - как давно это было сделано и что оно работало %)
источник