Главная

Популярная публикация

Научная публикация

Случайная публикация

Обратная связь

ТОР 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) и курсор передвигается вниз.






Не нашли, что искали? Воспользуйтесь поиском:

vikidalka.ru - 2015-2024 год. Все права принадлежат их авторам! Нарушение авторских прав | Нарушение персональных данных