ТОР 5 статей: Методические подходы к анализу финансового состояния предприятия Проблема периодизации русской литературы ХХ века. Краткая характеристика второй половины ХХ века Характеристика шлифовальных кругов и ее маркировка Служебные части речи. Предлог. Союз. Частицы КАТЕГОРИИ:
|
Алгоритм выполнения функции MainMenuЭта функция реализует главное меню в программе. Передвигая курсор (стрелки) по строкам меню, выбираем необходимый режим работы. В начальном положении курсор находится в начале первой строки. Коррекция положения курсора при его перемещении вниз или вверх по строкам меню реализуется с помощью процедуры UpDown. В бесконечном цикле REPEAT...UNTIL FALSE анализируется код нажатой клавиши (Ch), если он равен #32 (код клавиши пробел) или #13 (код клавиши ENTER), то в зависимости от того, на какой строке находится курсор (номер строки запоминается в переменной I, число выводимых строк меню равно 8), управление передается следующим процедурам, используя оператор CASE: Case i of 1: InputRecord; {Создать массив записей} 2: OutRecord(MaxElem); {Вывести данные на экран} 3: Zapros1; {Вычислить общее количество товаров за определенный год} 4: KeyRec; {Вывести содержимое записи по ключу} 5: AddRecord; {Добавить запись} 6: ChangeDel(true); {Изменить запись} 7: ChangeDel(false); {Удалить запись} Begin Mainmenu:= true; Exit; End; Если курсор находится на 8 строке и нажата клавиша ENTER или пробел, функция Mainmenu получает значение true, управление передается в основную программу и программа завершает свою работу. Алгоритм выполнения процедуры UpDown (var Vari: integer; Im: byte) Процедура реализует коррекцию положения курсора при его движении по строкам меню (стрелки «вверх» и «вниз»). Через переменную Im в процедуру передается число выведенных строк на экран (в нашем случае 8), переменная VarI фиксирует строку, на которой находится курсор, - GotoXY (1,VarI). В этой процедуре обрабатываются расширенные ASCII -коды клавиш. Если курсор движется вверх (т.е. нажимаем клавишу стрелка «вверх» - код #72) и находится на первой строке (vari=1), то переменной vari присваивается значение im. Тем самым, курсор перемещается на последнюю строку экрана. Иначе номер строки уменьшается на единицу и курсор передвигается вверх на одну строку. Аналогично, если курсор находится в последней строке меню и движется вниз (код клавиши стрелка «вниз» #80 и переменная vari равна Im), переменной vari присваивается значение 1 (курсор перемещается в первую строку меню). Иначе значение переменной vari увеличивается на единицу (vari:= vari+1) и курсор передвигается вниз. Не нашли, что искали? Воспользуйтесь поиском:
|