В модуле Graph.tpu определен ряд подпрограмм, с помощью которых пользователь может получить информацию о текущих установках графического режима работы.
Процедура DetectGraph(var Driver,Mode:integer) определяет значения драйвера и режима, которые потом могут быть переданы в InitGraph. Если графическая аппаратура не найдена будет зафиксирована ошибка графики grNotDetected. После определения DetectGraph становится доступный диапазон графических режимов, поддерживаемых адаптером ПЭВМ, т.о. имея например апаптер VGA можно установить все режимы на платах CGA,EGA и т.д., т.е более "нижние" режимы.
Данную процедуру вызывает процедура InitGraph при инициализации графики. Вызов DetectGraph используется в случае замены выбираемого драйвера.
Пример.
Uses Graph;
Var Driver,Mode:integer;
Begin
DetectGraph(Driver,Mode);
if (Driver=Ega) or (Driver=Vga)
then begin
Driver:=Cga;
Mode:=0
end;
InitGraph(Driver,Mode,'c:\bin\tp\bgi');
Line(0,0,GetMaxX,GetMaxY)
End.
Функция GetDriverName:string определяет имя текущего графического драйвера.
Процедура GetModeRange(Driver, var LoMode,HiMode:integer)определяет минимальное и максимальное значение графического режима для данного устройства.
Пример.
Uses Graph;
Var LoMode,HiMode:integer;
Begin
writeln(' Адаптер минимальный максимальный ');
GetModeRange(Cga,LoMode,HiMode);
writeln(Cga:5,LoMode:10,HiMode:10);
End.
Функция GetGraphMode:integer определяет номер установленного графического режима.
Функция GetMaxMode:word определяет номер максимально возможного графического режима .
Функция GetModeName(ModeNumber:word):string определяет название графического режима, номер которого ModeNumber.
Пример.
Uses Graph;
Var Driver,Mode:integer;
i:integer;
Begin
Driver:=cga; Mode:=0;
InitGraph(Driver,Mode,'');
for i:=1 to GetMaxMode do
{ вывод названий всех графический режимов }
OutTextXY(10,10*Succ(i),GetModeName(i));
readln;
CloseGraph
End.
Процедура GraphDefaults помещает курсор в (0,0) и сбрасывает все графические параметры системы в установленные по умолчанию :
o окна ( весь экран )
o палитры ( установленная для текущего графического режима )
o цвета фона( черный ) и пикселя ( максимальный цвет в палитре)
o стиля и образца линии ( сплошная линия нормальной толщины)
o стиля, цвета и образца заполнения ( сплошной шаблон с максимальным цветом в палитре )
o стиля и выравнивания текста ( вывод текста по горизонтали от текущего указателя)
o шрифта и размера символов ( стандартные )
Вызов данной процедуры неявно происходит при инициализации графики процедурой InitGraph.