HOME ПРИМЕРЫ THANKS НОВИЧКАМ ДОКИ LINKS JavaScript Mail | |||
| |||
|
Turbo Pascal Documentation |
Функция RegisterBGIdriverФункция: Регистрирует в графической системе загруженный пользователем или скомпонованный с программой драйвер форма- та BGI (формат фирмы Борланд). Описание: RegisterBGIdriver(драйвер : pointer) : in- teger; Примечания: В случае ошибок возвращаемое значение мень- ше нуля. В противном случае возвращается внутренний номер драйвера. Эта программа позволяет пользователю загрузить файл драйвера и зарегистрировать драйвер, передав его адрес в памяти функции RegisterBGIdriver. После этого драйвер мо- жет непосредственно использоваться процедурой InitGraph, а не загружаться с диска модулем Graph. Драйвер пользователя можно загрузить с диска в динамически распределяемую область памяти или преобразовать в файл .OBJ (с помощью утилиты BINOBJ.EXE), после чего скомпоновать с программой в файл .EXE. Возможной возвращаемой ошибкой является grInvalidDriver (недопустимый графический драйвер). При этом код ошибки ра- вен -4 и заголовок драйвера оказывается неопознанным. Следующая программа загружает в динаимчески распределя- емую область памяти драйвер CGA, регистрирует его в графи- ческой системе и вызывает процедуру InitGraph. program LoadDriv; uses Graph; var Driver, Mode : integer; DriverF : file; DriverP : pointer; begin { открыть файл драйвера, считать его в память и зарегистрировать } Assign(DriverF, 'CGA.BGI'); Reset(DriverF, 1); GetMem(DriverP, FileSize(DriverF)); if RegisterBGIdriver < 0 then begin Writeln('Ошибка регистрации драйвера: ', GraphErrorMSG(GraphResult)); Halt(1); end; { инициализация графики } Driver := CGA; Mode := CGAHi; InitGraph(Driver,Mode,''); if GraphResult <> grOk then Halt(1); OutText('Драйвер загружен программой пользователя'); Readln; CloseGraph; end. Эта программа начинает работу с загрузки драйвера CGA с диска и регистрации его с помощью модуля Graph. Затем для инициализации графической системы выполняется обращение к процедуре InitGraph. Вы можете захотеть разместить один или более файлов непосредственно в файле .EXE. При этом графи- ческие драйверы, которые требуются вашей программе, окажутся встроенными и для работы потребуется только файл .EXE. Про- цесс размещения драйвера в выполняемом файле довольно прост и состоит в следующем: 1. Выполнить для файла (или файлов) программу BINOBJ. 2. Скомпоновать результирующие файлы ,OBJ с вашей программой. 3. Перед вызовом процедуры Init зарегистрировать ском- понованные файлы (файл) драйвера. Более подробное описание этого процесса можно найти в комментариях, содержащихся в шапке программы-примера GRLINK.PAS на диске 3. Документация по утилите BINOBJ содер- жится в Приложении С "Руководства пользователя". Имеется также возможность регистрации в системе файлов шрифтов (см. описание функции RegisterBGIfont). Аналогичная функция имеется в версии 2.0 Турбо-Си. Ограничения: Заметим, что драйвер должен быть зарегист- рирован перед обращением к процедуре InitGraph. Если функция RegisterBGIdriver вызывается, когда средства графики уже ак- тивизированы, то возвращается значение -11 (grError). Прочее: См. также процедуры InitGraph и InstallUserDriver. |
HOME |