TPU и містіть набор процедур и функцій.
1) Процедура ініціалізації графічного режиму:
InitGraph (var Driver, Mode: integer; path: string);
Змінні Driver i Mode задають драйвер и режим роботи адаптера, path - візначає имя файлу драйвера и можливий шлях до файлу.
Перші Дві змінні задаються константами табліці 2, іменем або числовим значеннями.
Приклад 1:
Нехай драйвер EGAVGA . BGI находится в каталозі TP BGI диска З и встановлює режим VGAHI (640 * 480, 16 кольорів). Фрагмент Використання процедури в Програмі:
Begin
...
Driver: = VGA;
Mode: = VGAHI;
InitGraph (Driver, Mode, 'C: TP BGI');
...
end .
Если тип адаптера НЕ відомій, або ЯКЩО программа розрахована на роботу з будь-яким адаптером, вікорістовується звертання до процедури з параметром автоматичного визначення типу драйверу.
Приклад 1а:
Driver: = Detect;
InitGraph (Driver, Mode, 'C: TP BGI');
такий параметр рекомендуються використовуват при работе на різніх комп'ютерах з різнімі відеоадаптерамі.
Особливості автовізначення типом драйвера:
а) для адаптера вібірається Максимальний режим;
б) на годину Виконання програми ВСІ драйвером знаходяться у пам'яті, або на диску; для великих програм це может привести до Зменшення Швидкості роботи програми;
в) ТР автоматично НЕ розпізнає адаптери IBM 8514 i ATT 400 ; їх звітність, вказуваті в процедурі.
2) Щоб припинити графічного режиму: CLOSEGRAPH ;
Процедура без параметрів. У процесі ее Виконання звільняється пам'ять (Від драйверів, файлів, шріфтів, проміжніх даніх), відновлюється текстовий режим роботи екранах.
Наступний Перехід до графічного режиму віконується Тільки Шляхом повторної ініціалізації.
В В
3. Структура графічної Паскаль-програми
Приклад 2:
Program GraphicDemo;
Uses Graph;
Var Driver, Mode: integer;
Begin
Driver: = Detect;
InitGraph (Driver, Mode, 'C: TP BGI');
{Графічні Дії}
.....
CloseGraph;
End.
В
4. Помилки ініціалізації графічного режиму та їх обробка
При віконанні програми могут вінікаті помилки. Тому в Модулі GRAPH реалізованій Механізм визначення помилок та відачі Повідомлень про них на екран за помощью Функції GraphResult i GraphErrorMsg .
Функція GraphResult : integer ; повертає 0, ЯКЩО остання графічна Операція виконан без помилок, або число від -14 .. -1, при наявності помилок.
Функція GraphErrorMsg ( Code: integer): string; повертає Значення типом STRING b> в якому відповідно коду помилки надається Текстову ПОВІДОМЛЕННЯ. CODE - код помилки, Який повертається функцією GraphResult .
Приклад 3:
Var
Driver, Mode, Error: string;
Begin
Driver: = Detect;
InitGraph (Driver, Mode,'');
Error: = GraphResult;
If Error <> 0 then
WriteLn (GraphErrorMsg (Error));
................ {ПОВІДОМЛЕННЯ помилки}
CloseGraph;
End.
В
5. Група процедур та функцій управління режимами роботи графічного адаптера
В
1) процедура DetectGraph віконується для тестування графічного адаптера:
DetectGraph (var Driver, Mode: integer);
Ця процедура может буті віклікана до ініціалізації графічного режиму. Параметри:
Driver - повертає тип драйвера;
Mode - повертає максимальне значення відповідного режиму.
Ці значення І рекомендується підставляті як Фактичні параметри процедури InitGraph .
2) група процедур та функцій управління режимами роботи графічного адаптера:
а) функція GetGraphMode : integer повертає код установленого режиму роботи графічного адаптера.
б) функція GetMaxMod : integer ; повертає Максимальний номер кодом режиму графічного адаптера;
в) функція GetModName ( ModNum: integer): string; повертає Значення типом STRING , Яке містіть имя режиму роботи за его номером;
г) функція GetDriveName : string; повертає имя потокового графічного драйвера;
д) процедура GetModeRange ( Driver: integer; var