Основы программирования на C++, PASCAL
Select — позволяет выбрать пункт меню и возвращает символ выбранного пункта, при отказе от выбора возвращает #27;
Draw — рисует меню, выделяя выбранный пункт цветом;
LeftBoard — возвращает начало названия данного пункта;
Len — возвращает длину названия пункта;
WhatSel — возвращает символ выбранного пункта.
б) Создать новый объект TNeatMenu, наследующий TMenu, который, в отличие от своего предка, будет восстанавливать вид экрана. Для этого нужно добавить новое поле Store, где будет храниться прежний экран во время действия меню, перекрыть метод Init и добавить метод Done, который восстанавливает состояние экрана.
в) Создать меню, которое изображает себя в форме столбца. Для этого рационально воспользоваться виртуальными методами. Достаточно изменить метод Draw объекта TNeatMenu и объявить одноименные методы виртуальными.
г) Разместить объекты в динамической памяти, для этого достаточно описать указатели на них.
д) Построить сложное иерархическое меню: пробел будет открывать главное меню, последовательное нажатие на клавиши Enter и Пробел будет разворачивать подсвеченный пункт в подменю или, если пункт находится на нижнем уровне, клавиша Enter будет сворачивать подменю. Нажатие на клавишу Esc заканчивает работу программы.
е) Построить иерархическое меню: пробел будет открывать главное меню, нажатие на клавишу Enter будет разворачивать подсвеченный пункт в меню или, если пункт находится на самом нижнем уровне, клавиша Enter сворачивает подменю. Нажатие на клавишу Esc заканчивает работу программы. Нижний уровень — вертикальный.
13. Составить программу, работающую со связанными списками. Мы будем рассматривать связанный список как объект, содержащий связанный список данных и операций (методов), которые вы можете с ними выполнять. Связанный список данных состоит из указателей на начало («голову») и конец («хвост») связанного списка (в нашем примере из-за его гибкости используется двунаправленный связанный список). Каждый элемент связанного списка представляет собой реализацию отдельного объекта. Возможности, необходимые для использования связанного списка, предоставляют следующие операции:
• создание связанного списка (выделение для него памяти);
• уничтожение связанного списка (освобождение используемой памяти);