Перед началом работы с графикой необходимо установить режим работы монитора. Каждый из драйверов поддерживает от 1 до 3 видеорежимов. Драйвер и режим могут быть заданы как число или как символическая константа, некоторые из которых приведены в табл. 27.2.
Таблица 27.2
Графические режимы монитора
ДРАЙВЕР | РЕЖИМ | РАЗРЕШЕНИЕ | ФАЙЛ |
CGA(1) | CGACO (CGAHI) | 320X200 (640X200) | cga.bgi |
EGA (3) | EGALo (EGAHI) | 640x200(640x350) | egavga.bgi |
VGA (9) | VGALo (VGAHI) | 640X200 (640X350) | egavga.bgi |
HERC(8) | HERCMONOHI | 720X348 | herc.bgi |
380
Процедура, устанавливающая графический режим, имеет формат:
InitGraph(DriverVar, ModeVar, 'путь к файлу графического драйвера');
Целочисленные переменные DriverVar и ModeVar задают драйвер и режим. Первый параметр может задаваться как по имени, так и цифрой. На случай, если тип дисплея компьютера не известен, имеется стандартная константа Detect. Если соответствующее типу дисплея значение присвоено параметру DriverVar (DriverVar:=Detect;), то InitGRAPH автоматически инициирует нужный драйвер и устанавливает наиболее подходящий графический режим. Третий параметр в InitGRAPH - это путь к драйверу, если он находится в текущем каталоге, то вместо маршрута можно указать пустую строку, то есть два апострофа. Для различных манипуляций с видеорежимами в Turbo Pascal имеются следующие процедуры и функции:
GetDriveName: string;
функция возвращает имя установленного драйвера.
GetGraphMode: integer;
функция возвращает текущий графический режим.
GetModeRange(graphDriver: integer; VarloMode: integer);
процедура возвращает минимальный и максимальный графические режимы для данного драйвера.
DetectGraph(VarGraphDriver, GraphMode: integer);
процедура возвращает номера текущих драйвера и режима.
GetMaxMode:integer;
функция возвращает номер максимального режима установленного драйвера.
GetModeName(GraphMode: integer): string;
функция возвращает имя текущего драйвера.
GraphDefaults;
процедура устанавливает текущий указатель (СР) в начало и переустанавливает графическую систему.