До сих пор во время нашей работы за компьютером экран всегда находился в текстовом режиме (поэтому на экране можно было видеть только лишь символы).
Для рисования прямых, окружностей и пр. необходимо перевести экран в графический режим. Для включения графического режима используется процедура InitGraph.
Процедура инициализации графического режима имеет три аргумента:
InitGraph(<драйвер>,<режим>,’путь к драйверу’);
И может быть выполнена так:
Program Ex_1;
Uses Graph;
Var Gd, Gm: integer;{переменные Gd, Gm определяют драйве и режим}
Begin
Gd:=VGA;{ графический адаптер VGA }
Gm:=VGAhi;{ графический режим VGAhi (640x480)x16 }
Initgraph(Gd,Gm,'');{Включить графический режим}
{Драйвер в текущем каталоге}
if GraphResult = grOk then {Если режим включился успешно}
begin
line(0,0,639,479); {нарисовать отрезок прямой}
Readln;
Halt;
CloseGraph;{выключений графического режима }
end;
End.
InitGraph(Gd,Gm:integer; Path:string);
В первых двух параметров должны стоять имена целых (integer) переменных. Первый параметр Gd является кодом графического адаптера (т.е. электронной схемы, управляющей выводом информации на экран). Дело в том, что на IBM-совместимых компьютерах применяется ряд стандартных графических адаптеров, носящих названия CGA, EGA, VGA.
По нашей программе можно догадаться, что в используемых нами компьютерах используется адаптер VGA (и компилятор сам "узнаёт" слово VGA и заменит его на нужное целое число).
Каждый графический адаптер позволяет использовать несколько графических режимов, отличающихся количеством цветов и разрешающей способностью. Второй из параметров Gm как раз предназначен для того, чтобы указать, какой из режимов следует включить.
Третий параметр Path является строкой (string), содержащей путь к файлу, который называется egavga.bgi. В этом файле содержится драйвер (такая специальная программа), необходимый для работы мониторов EGA и VGA в графическом режиме. И, как видно из нашего примера, файл этот находится в текущем каталоге.
Процедура Halt – останавливает выполнение программы и возвращает управление ОС.
GraphResult: integer; Эта функция, при обращении к ней, возвращает специальный код (целое число), в зависимости от того, как прошло выполнение любой графической процедуры или функции. Код 0 (grOk) - успешное выполнение. В приведённом выше примере программы Ex_1, данная функция применяется для проверки того, как прошла инициализация графического режима. Дальнейшая работа этой программы возможна лишь тогда, когда код функции GraphResult равен grOk.
Процедура CloseGraph освобождает память от драйвера и устанавливает режим работы экрана, которые был до инициализации программы.