CodeNet / Языки программирования / C / C++ / Руководства и справочные материалы по C/C++ / Справочники по функциям / Справочник по функциям C/C++
registerbgidriver
registerbgidriver
Функция Регистрирует загруженный пользователем или встроенный код графического драйвера в графической системе. Синтаксис #include <graphics.h> int registerbgidriver(void (*driver)(void)); Файл, содержащий graphics.h прототип Описание registerbgidriver позволяет пользователю загрузить файл драйвера и "зарегистрировать" драйвер. Когда его расположение в памяти будет сообщено registerbgidriver, initgraph сможет использовать зарегистрированный драйвер. Драйвер, зарегистрированный пользователем, может быть загружен с диска в динамическую область памяти, либо преобразован в .OBJ-файл (с помощью BINOBJ.EXE) и подключен к .EXE . Вызов registerbgidriver информирует графическую систему о том, что драйвер driver был включен во время компоновки. Эта программа проверяет связанный код для указанного драйвера. Если код правильный, то она регистрирует код во встроенной таблице. Связанные драйверы описываются подробно в файле UTIL.DOC. Используя имя встроенного драйвера в вызове registerbgidriver, вы просите компилятор (и редактор связей (linker)) встроить объектный файл с общим именем. Возвращаемое registerbgidriver возвращает отрицательный значение код графической ошибки, если указанный драй- вер или шрифт являются неверными. В противном случае registerbgidriver возвращает номер драйвера. Если вы регистрируете драйвер созданный пользователем, вы обязаны передать результат выполнения registerbgidriver в initgraph в виде номера драйвера, который будет использоваться. Переносимость Эта функция уникальна для Borland C++. Она работает только на компьютерах IBM PC и совместимых с ними, оснащенных дисплейными адаптерами, поддерживающими графический режим. Функция не совместима с Windows. Смотрите также graphresult, initgrsph, installuserdriver, registerbgifont. Пример: #include <graphics.h> #include <stdlib.h> #include <stdio.h> #include <conio.h> int main(void) { /* Запрос автоопределения */ int graphdriver = DETECT, gmode, errorcode; /* зарегистрировать драйвер, добавленный в graphics.lib */ errorcode = registerbgidriver(EGAVGA_driver); if(errorcode < 0) /* если ошибка */ { printf("Ошибка :%s\n",grapherrormessage(errorcode)); printf("Для останова нажмите любую клавишу\n"); getch(); exit(1); /* завершение с кодом ошибки */ } /* инициализация графики и локальных переменных */ initgraph(&graphdriver,&gmode,""); /* получение результата инициализации */ errorcode = graphresult(); if(errorcode != grOk) /* если ошибка */ { printf("Ошибка :%s\n",grapherrormessage(errorcode)); printf("Для останова нажмите любую клавишу\n"); getch(); exit(1); /* завершение с кодом ошибки */ } /* нарисовать линию */ line(0,0,getmaxx(),getmaxy()); /* очистка */ getch(); closegraph(); return 0; }