Ініціалізація графічного режиму

Константи графічних драйверів

режиму

Константи графічних режимів

Бірюзовий, малиновий, світло-

Зелений, червоний, коричневий.

Бірюзовий, малиновий, світло-

Зелений, червоний, коричневий.

Бірюзовий, малиновий, світло-

Наприклад: DriverVar: = VGA; ModeVar := VGALo;

Перший параметр може задаватися як на ім'я, так і цифрою. Наступні інструкції еквівалентні: DriverVar: = VGA; DriverVar: = 9;

Щоб ініціалізувати графічний режим з автоматичним розпізнаванням драйвера та режиму, достатньо присвоїти параметру DriverVar:= Detect та InitGraph автоматично ініціює потрібний драйвер і встановить режим, що найбільш підходить для дисплея.

Третій параметр ''; задає маршрут до модуля GRAPH і є синтаксично коректний, згідно з правилами MS-DOS, шлях до каталогу, в якому знаходяться файли графічних драйверів(*.BGI), якщо він розташований в активній директорії, то замість маршруту ставляться два апострофи, наприклад:

DriverVar: = Detect; InitGraph(DriverVar, ModeVar, '');

Коли всі графічні роботи виконані, необхідно вийти з графічного режиму. Це робиться за допомогою, яка не має параметрів процедури CloseGraph. У процесі виконання ця процедура звільняє пам'ять, розподілену під драйвери графіки, файли шрифтів і проміжні дані, і відновлює режим роботи адаптера у стан, у якому перебував до ініціалізації системи.

2.3.3 Перемикання текст - графіка - текст

Іноді потрібно періодично переходити з текстового режиму до графічного і навпаки. Алгоритм подібних маніпуляцій показаний у наступному фрагменті:

DriverVar, ModeVar: integer; begin

DriverVar: = Detect;InitGraph(DriverVar,ModeVar, , ''); OutTextXY(300,250,'Графічний режим')

RestoreCRTMode; Writeln ('Текстовий режим');

SetGraphMode(ModeVar); OutTextXY(300,250,'Графічний режим')

2.3.4 Обробка помилок

Графічна програма, як будь-яка інша, може містити помилки. Програміст повинен передбачити все можливе для їх своєчасного виявлення та нейтралізації. Для цього є дві функції: GraphResult та GraphErrorMsg.

GraphResult:integer – повертає значення 0, якщо остання графічна операція виконалася без помилок або число в діапазоні -15. -1 якщо помилка була. Усі можливі помилки та його коди наведено у табл.3 Як приклад розглянемо наступний фрагмент:

ErrorNumber: integer; begin

У змінній ErrorNumber міститься код помилки. Можна користуватися як кодом помилки, так і відповідною константою, наприклад:

if ErrorNumber <> grOK then Writeln('Виявлено помилку:');

GraphErrorMsg(ErrorCode:integer):string - повертає рядок повідомлення про помилку, що відповідає коду помилки. Наприклад, процедура

Writeln(GraphErrorMsg(ErrorNumber)); виведе рядок "No error", оскільки в на-

шому прикладі графічний режим встановлений правильно.