Процедура InitGraph
Модуль Graph
Инициализирует графическую систему и переводит видеокарту в графический режим.
Объявление:
Procedure InitGraph (Var GraphDriver : Integer; Var GraphMode : Integer; PathToDriver : String);
Режим:
Замечания:
Если значение параметра GraphDriver равно Detect, то производится обращение
к любым определяемым пользователем подпрограммам автоматического
определения, а затем вызывается функция DetectGraph.
Если графическое
аппаратное обеспечение обнаружено, то инициализируется соответствующий
графический драйвер, и включается графический режим.
Если значение GraphDriver не равно нулю, то в качестве номера драйвера
принимается значение параметра GraphDriver. Видеосистема переходит в режим,
определенный параметром GraphMode. Если вы отменяете автоопределение, то вы
должны задать допустимый номер видеорежима для выбранного драйвера.
Параметр PathToDriver определяет путь к каталога, где находится нужный
графический драйвер. Если строка PathToDriver равна пустой строке, то поиск файла драйвера производится в текущем каталоге.
Обычно, InitGraph загружает графический драйвер, рапределяя память для него
через обращение к GraphGetMem, а затем загружает соответствующий *.BGI файл
с диска. Как вариант такой динамической схемы загрузки, вы можете встроить
файл драйвера (или несколько файлов) непосредственно в исполняемый файл
вашей програмы.
Это можно сделать так:
- Преобразуйте *.BGI файл в *.OBJ файл (используя утилиты BINOBJ или BGIOBJ)
- В тексте программы поместите обращение к функции RegisterBGIDriver перед вызовом InitGraph для того, чтобы зарегистрировать графический драйвер.
Когда вы формируете вашу программу, вы должны скомпоновать с ней *.OBJ файлы
для зарегистрированных драйверов. Вы можете также загрузить BGI драйвер в
кучу, а затем зарегистрировать его вызвав функцию RegisterBGIDriver.
Если в куче была распределена память для графического драйвера с
использованием процедуры GraphGetMem, то при вызове процедуры CloseGraph она
будет освобождена.
После вызова InitGraph, значение переменной GraphDriver устанавливается к
значению текущего графического драйвера, а значение GraphMode
устанавливается к значению текущего графического режима.
Если происходит ошибка, то в переменной GraphDriver и в функции GraphResult будет возвращена одна из следующих grXXXX констант: grNotDetected,
grFileNotFound, grInvalidDriver, grNoLoadMem или grInvalidMode.
Пример:
Uses Graph;
Var grDriver : Integer;
grMode : Integer;
ErrCode : Integer;
Begin
grDriver:=Detect;
InitGraph(grDriver, grMode, '');
ErrCode:=GraphResult;
If ErrCode = grOk Then
Begin
{ Графика }
Line(0, 0, GetMaxX, GetMaxY);
ReadLn;
CloseGraph;
End
Else WriteLn('Ошибка инициализации графики:', GraphErrorMsg(ErrCode));
End.
Пример программы: initgrf.pas
См. также: