e: = 0 to GetMaxMode do
{показ всіх режимів}
OutTextXY (10, 10 + mode * 10, GetModeName (mode));
ReadLn;
{пауза до натискання ...}
CloseGraph
{закриття графіки}
END.
Функція GetDriverName : String дозволяє отримати ім'я використовуваного драйвера. Її застосування обгрунтоване тільки в тому випадку, якщо в процедурі InitGraph мінлива GraphDriver визначена, як Detect.
В
Очищення екрану і перемикання режимів
Очищення графічного екрану. Дві наступні процедури виконують майже однакові дії, тільки перша з них є як би підмножиною другий:
ClearDevice
Ця процедура очищає графічний екран і встановлює покажчик позиції в (0, 0), а процедура
GraphDefaults окрім очищення екрана встановлює ряд параметрів графічної системи:
o графічне вікно стає рівним розміру екрану;
o відновлюється системна колірна палітра;
o перепризначувалися кольору основних ліній і фону екрану;
o товщина і стиль ліній приймаються як за замовчуванням;
o колір і шаблон заливки геометричних фігур і замкнутих ламаних приймається як по умовчанням;
o переустанавливается активний шрифт і його стиль.
Процедура GraphDefaults неявно викликається при ініціалізації графіки і виконує, no-суті, всі стартові встановлення графічних параметрів.
Перемикання режимів . Воно здійснюється процедурою SetGraphMode ( GraphMode : Integer )
Процедура перемикає систему у вказаний параметром GraphMode режим і очищає екран монітора. При цьому всі характеристики встановлюються за замовчуванням. Такі перемикання можливі тільки в рамках поточного драйвера. p> Процедура RestoreCRTMode . При написанні деяких пакетів, що використовують і графічні, і текстові режими роботи, може використовуватися процедура RestoreCRTMode, яка повертає систему в текстовий режим, який працював до ініціалізації графіки. Здавалося б, вже є процедура з подібною дією - CloseGraph. Однак після неї повернення в графічний режим повинен проводитися через процедуру InitGraph, що досить складно. Якщо ж скористатися процедурою RestoreCRTMode, то повернення в графіком буде досить простим
USES Graph;
{підключений модуль Graph}
{$ I Initgraf.pas}
{процедура ініціалізації}
CONST
{константи - повідомлення}
graph_str = 'Це графічний режим';
text_str = 'А це текстовий режим';
graph_ back = 'А це знову графічний режим';
BEGIN
Grlnit;
{ініціалізація графіки}
Line (0,0, GetMaxX, GetMaxY }; /Td>
{діагональ екрана}
OutTextXY (0,100, graph_str); /Td>
{висновок першого повідомлення}
ReadLn;
{пауза до натискання введення}
RestoreCRTMode;
{відновлення текстового режиму}
Write {text_str);
{висновок другого повідомлення}
ReadLn;
{пауза до натискання введення}
SetGraphMode (GetGraphMode); /Td>
{відновлення графічного режиму}
Une (0,0, GetMaxX, GetMaxY); /Td>
{діагональ екрана}
OutTextXY (0,100, graph_back);
{висновок третього повідомлення}
ReadLn;
{пауза до натискання введення}
CloseGraph
{закриття графіки}
End.