> LoMode,
HyMode: integer); повертає ДІАПАЗОН можливіть режімів роботи заданого графічного драйвера:
Driver - тип адаптера;
LoMode - мінімальне Значення коду режиму адаптера;
HiMode - мінімальне Значення коду режиму адаптера.
! Особлівість!:
- ЯКЩО Значення Drive задано невірно, те змінні отримуються значення -1;
- перед звертання до процедури можна НЕ встановлюваті графічний режим.
3) процедур установки текстового та графічного режімів:
а) RestorCRTMode ; повертає до текстового режиму.
! Особлівість!: навідміну від CloseGraph графічний драйвер залішається у пам'яті, а такоже залішаються встановленого графічного режиму.
б) процедура SetGraphMode ( Mode: integer); установлює графічний режим за Вказаним кодом - Mode .
! Осблівість!: для повернення до попередня графічного режиму на місце параметра мінімальне Значення кодом режиму адаптера Mode можна Вставити функцію GetGraphMode .
Розглянемо Приклади Використання процедур роботи з відеорежімамі.
Приклад 4:
Перехід з графічного режиму до текстового І знову до графічного.
Uses Graph;
Var Driver, Mode, Error: integer;
Begin
Driver: = Detect;
InitGraph (Driver, Mode,'');
Error GraphResult;
If Error <> 0 then
WriteLn (GraphErrarMsg (Error))
Else
Begin
WriteLn ('Це графічний режим');
ReadLn;
ResultCRTMode;
WriteLn ('Це текстовий режим');
`ReadLn;
SetGraphMode (GetGraphMode);
WriteLn ('Знову графічний режим');
ReadLn;
CloseGraph;
End;
End.
Приклад +5
После ініціалізації графічного режиму виводу на екран рядок з іменем Завантажени драйверу, а такоже ВСІ режими его роботи.
Uses GRAPH;
Var
a, b: integer;
begin
a: = Detect;
InitGraph (a, b,'');
WriteLn (GetDriveName);
For a: = 0 to GetMaxMode do
WriteLn (GetModeName (a): 10);
ReadLn;
CloseGraph;
End;
Приклад 6:
вивести на екран назви всех адаптерів и ДІАПАЗОН можливіть номерів режімів їх роботи.
Uses Graph;
Var
D, L, H: integer;
Const
N: array [1 .. 11] of string [8] =
('CGA', 'MCGA', 'EGA';
'EGA64', 'EGAMONO', 'IBM8514';
'HercMONO', 'ATT400', 'VGA';
'PC3270', 'Помилка');
begin
writeLn ('адаптер Мін. Макс.');
for D: = 1 to 11 do
begin
GetModeRange (D, L, H);
WriteLn (N [D], L: 7, H: 10);
End;
End.
Таким чином:
а) Керування графічнім режимом забезпечується модуль GRAPH , Який підключається Стандартним способом: USES GRAPH ;
б) для ініціалізації графічного режиму Використовують процедура InitGraph ;
в) завершує графічний режим процедура CloseGraph ;
г) структура графічної Паскаль-програми практично НЕ відрізняється від стандартної структури;
д) модуль GRAPH містіть широкий набор процедур та функцій роботи з відеорежімамі.
6. Побудова графічніх об'єктів
Побудова геометричних фігур
Для побудова зображення у графічному режімі Використовують систему координат, яка відрізняється від текстового режиму (екран представляється у вігляді прямокутна масиву сімволів и координат та Х, У почінаються з 1 ... max значення).
відлік координат ПОЧИНАЄТЬСЯ з верхнього лівого кута екрана з координатами (0, 0). При цьом екран представляється у вігляді прямокутна масиву адресуєміх точок (пікселів). Для різніх тіпів адаптерів та режімів кількість точок по вертікалі та горізонталі Суттєво відрізняється.
Для визначення максимального значення координат екранах, в Модулі GRAPH Використовують Функції:
GetMax X: integer;
GetMax Y: integer.
Особливості: Якщо при адресації точок вказуються значення координат, Які перевіщують максімальні, то Операція ігнорується.
Побудова графічного зображення ПОЧИНАЄТЬСЯ з позначені початкової позіції. У текстовому режімі Цю позіцію позначає курсор, Який розміщується за останнім символом и вказує на місце Наступний символу. У графічніх режимах відображаємого на екрані курсору НЕ має, альо є скрити поточний показчик СР (current pointer), Який Виконує аналогічні Функції курсору текстового режиму.
У графічному режімі для переміщення СР...