shads писал(а):функция берет адрес начала структуры и перебором находит первый 0, это будет конец текста первой менюшки, соответственно к этому адресу прибавляем количество информационных байт (в нашем случае 2) и попадаем на начало второй менюшки... ну и т.д.
чем-то напоминает процесс вырезания гланд через прямую кишку...
когда-то я этими меню был маленько озабочен... если нужно - гуглите на моем сайте "
TUI" - Text User Interface - делал библиотечку для меню на текстовом ЖКИ... среди основных фич:
- почти любая вложенность "подменю" (ограничение - объем памяти)
- возможность динамически менять текст пунктов меню (например, "подсветка вкл" на "подсветка выкл")
- возможность встраивания в меню числовых изменяемых параметров (например, "яркость 15%") - параметр меняется прямо в пункте меню
- ориентация на WinAVR
что-то там еще было, сейчас уже и не упомню...