uses Graph;
var
GraphDriver, GraphMode, Error : integer;
{
Драйвер объявляется в программе как процедура, имя которой используется
функцией регистрации драйвера.
Непосредственное встраивание драйвера выполняет директива $L.
Перед компиляцийе программы надо, используя утилиту binobj,
выполнить преобразование файла драйвера в obj-файл.
Для рассматриваемого примера команда преобразования может быть
такой:
c:\tp\bin\binobj.exe c:\tp\bgi\egavga.bgi egavga.obj EGAVGADriverProc
где: binobj.exe -
c:\tp\bin -
c:\tp\bgi -
egavga.obj -
EGAVGADriverProc -
Команду следует набрать в командной строке DOS, для доступа к которой
во время работы в Turbo Pascal нужно из меню File выбрать команду
DOS Shell. В результате выполнения команды в текущем каталоге будет
создан файл egavga.obj. Именно на этот файл ссылается директива $L.
}
procedure EGAVGADriverProc; external;
{$L EGAVGA.OBJ}
begin
if RegisterBGIdriver(@EGAVGADriverProc) < 0 then
begin
writeln('EGA/VGA: ',GraphErrorMsg(GraphResult));
halt(1);
end;
GraphDriver := Detect;
InitGraph(GraphDriver, GraphMode, '');
if GraphResult <> grOk then
begin
Writeln('Ошибка инициализации графического режима: ',
GraphErrorMsg(GraphDriver));
Halt(1);
end;
writeln('Привет, от встроенного в программу Драйвера!');
Readln;
CloseGraph;
end.