[an error occurred while processing this directive]
Да, я делал проект под адуку на Кейле
(«Телесистемы»: Конференция «Микроконтроллеры и их применение»)

миниатюрный аудио-видеорекордер mAVR

Отправлено bialix 14 февраля 2003 г. 14:12
В ответ на: А сама реализация меню написана ? отправлено DASM 14 февраля 2003 г. 13:53

Общая идея у меня была такая:
Меню - это массив структуры Пункт_Меню
В каждом Пункте_Меню я хранил строку для отображения на экране, указатель на функцию, которая запускалась при выборе меню, а также, я для облегчения себе жизни ввел еще 4 указателя на другие Пункты_Меню
Поскольку все управление интерфейсом в моем случае сводилось к 4 клавишам ( [<-] [->] [ВВОД] [СБРОС] ), то я сделал по аналогии с менюшками в мобильниках. Поэтому для навигации хранил указатели на верхний уровень меню, на соседние меню (слева/справа), и на первый пункт в подменю (если было подменю). Вся реализация получилась достаточно простой и надежной.
Я хранил массив меню в памяти программ поскольку мне не нужно было его динамически модифицировать, однако легко видеть, что при хранении в ОЗУ, такое меню легко модифицировать.
Самое ответственное - это формировать статический массив меню. Если еще и начинаешь в процессе разработки его подправлять, то легко где-то потерять указатель на соседние меню. Но при тестировании на железе этот факт естественно вылазит наружу очень быстро.

Составить ответ  |||  Конференция  |||  Архив

Ответы



Перейти к списку ответов  |||  Конференция  |||  Архив  |||  Главная страница  |||  Содержание  |||  Без кадра

E-mail: info@telesys.ru