Розробка комп'ютерних навчальних засобів з обраної предметної області, Детальна інформація

Розробка комп'ютерних навчальних засобів з обраної предметної області
Тип документу: Курсова
Сторінок: 29
Предмет: Комп`ютерні науки
Автор: фелікс
Розмір: 35.4
Скачувань: 1231
Це є основна функція, що і виконує сновну функцію всього модуля. Змінні c1, c2, c3, c4, c5, c6, c7, c8 слугують для передачі кодів кольорів меню. Всередині функції використовуються процедури:

procedure screen_save; assembler;

procedure screen_restore; assembler;,

друкування підменю тощо. Основний алгоритм такий: намалювати пункти меню, прочитати клавішу з клавіатури і в залежності від клавіші пересунути вказівник вліво, вправо, вгору чи вниз відповідно. Кожен раз при перемальовці екрану, викликається функція screen_restore для того щоб підпункти меню не накладалися один на одного. Для забезпечення швидкості перемальування екрану, функції зберження та відновлення екрану написані на асемблері. Результат, що видається має тип word. В старшому байті знаходиться номер пункту основного меню, а в молодшому - номер його підпункту. Перевірку в основній програмі можна, наприклад, зробити так:

run:=menu_run(m, 0, 3, 15, 0, 0, 3, 15, 0);

case hi(run) of

1: case lo(run) of

1: ... Дії до пункту 1 підменю 1

2: ... Дії до пункту 2 підменю 1

2: case lo(run) of

1: ... Дії до пункту 1 підменю 2

2: ... Дії до пункту 2 підменю 2

end;

end;

procedure menu_done(m: menu);

Функція деініціалізації, що закінчує роботу меню. Після виклику цієї функції неможна користуватись змінною m.

Сама змінна m має таку структуру:

const

max_of_main = 10; максимальна кількість пунктів основного меню

max_of_item = 30; максимальна довжина тексту назви пункта

type

menu = record

mains: integer; кількість пунктів основного меню

current: integer; поточний виділений пункт

item1: array [1..max_of_main] of record масив інформації про кожен з пунктів

text: string[max_of_item]; напис

letter: char; гаряча клавіша

items: integer; кількість підпунктів

current: integer; поточний підпункт

item2: array [1..10] of record інформація про підпункти

The online video editor trusted by teams to make professional video in minutes