Включение  графического  драйвера в выполняемый файл — Pascal(Паскаль)

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.

Leave a Comment

2 + 2 =