Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Справочник по функциям С++.doc
Скачиваний:
168
Добавлен:
02.05.2014
Размер:
3.57 Mб
Скачать

Inportb

-----------------------------------------------------------------

НазначениеЧитает из аппаратного порта

Синтаксис unsigned char inportb(int port);

Прототип вdos.h

Замечанияinportb - макрос, который считывает байт из

входного порта, указанного в port.

Если inportb вызывается, когда включено dos.h,

он трактуется как макрос и включается во внут-

ренний код.

Если dos.h не включен или если определен #undef

для макросов inportb, вы будете использовать

функции.

Возвращаемоеinport возвращает прочитанное значение.

значение

ПереносимостьУникальна для процессоров семейства 8086.

Смотри также inport, outport, outportb

-----------------------------------------------------------------

Insline

-----------------------------------------------------------------

НазначениеВставляет в текстовое окно пустую строку.

Синтаксисvoid insline(void);

Прототип вconio.h

Замечанияinsline - вставляет пустую строку в позиции

курсора текстового окна, используя при этом те-

кущий цвет фона. Все строки под пустой сдвига-

ются на одну строку вниз, а последняя строка в

текстовом окне пропадает.

ВозвращаемоеНет

значение

Совместимость Данная функция работает только на ЭВМ семейства

IBM PC и совместимых с ними; соответствующая

функция есть в Турбо Паскале.

Смотри также delline, window

-----------------------------------------------------------------

Installuserdriver

-----------------------------------------------------------------

НазначениеУстановка нового драйвера устройства.

Синтаксис #include<graphics.h>

int far installuserdriver( char far *name,

int huge (*detect)(void));

Прототип в graphics.h

Замечанияinstalluserdriver позволяет вам добавить новый

драйвер устройства во внутреннюю таблицу BGI.

Параметр name определяет имя файла (.BGI), со-

держащего новый драйвер, а параметр detect ука-

зывает на необязательную функцию автоопределе-

ния драйвера (функция автоопределения не имеет

параметров и возвращает целое число).

Если вам необходимо использовать новую видео

форму SGA, и организация-разработчик снабдила

вас соответствующим драйвером BGI (SGA.BGI), то

простейший способ использования нового драйвера

- это установить его в таблицу с помощью

installuserdriver и затем передать возвращенное

данной функцией значение (назначенный номер

драйвера) непосредственно функции инициализации

графического режима (initgraph).

Другой более общий способ установки нового

драйвера состоит в соединении функции автоопре-

деления, вызываемой initgraph, c функцией конт-

роля наличия SGA (поставщик SGA должен вас

снабдить данной функцией автоопределения). Ког-

да вы устанавливаете драйвер (через вызов

installuserdriver), вам необходимо передать в

качестве параметров адрес данной функции и имя

файла драйвера устройства. После того, как вы

инсталлировали необходимые файл драйвера и

функцию автоопределения, вам достаточно вызвать

initgraph c обычным процессом автоопределения.

Прежде чем initgraph вызовет функцию автоопре-

деления (detectgraph), осуществляется вызов

функции определения SGA. Если функция определе-

ния SGA не найдет соответствующего SGA устройс-

тва, она вернет значение -11 (grError) и

initgraph продолжится в общем режиме определе-

ния устройств (который может содержать вызовы

других новых функций автоопределения в том по-

рядке, в котором они были инсталлированы вызо-

вами функции installuserdriver). Если, однако,

функция автоопределения обнаружит SGA, то она

вернет значение номера режима и initgraph заг-

рузит SGA.BGI и установит устройство в соот-

ветствующий режим рекомендованный функцией ав-

тоопределения, затем вернет управление в вашу

программу.

Одновременно может быть установленно до десяти

драйверов.

Возвращаемоеinstalluserdriver возвращает номер драйвера,

значениеданное значение используется в качестве пара-

метра функции initgraph.

ПереносимостьДанная функция работает только на IBM PC и сов-

местимых моделях при наличии соответствующих

графических адаптеров.

Смотри также initgraph, registerbgidriver

Пример

#include<stdio.h>

#include<stdlib.h>

#include<graphics.h>

int Driver, Mode;

int huge detectSGA(void)

{

int found, defaultmode;

/* Определение устройства ....

found = .....

*/

if (!found) return(grError);

/* Определение текущего графического режима....

defoultmode = ....... */

return(defoultmode);

}

main()

{

Driver = installuserdriver("SGA", detectSGA);

if ( gr0k != graphresult() )

{ /* Переполнение таблицы */

printf( "Ошибка инсталлирования"

" драйвера SGA.\n");

exit(1);

}

Driver = DETECT; /* автоопределение */

initgraph( &Driver, &Mode, "");

if ( gr0k != graphresult() ) exit(1);

outtext( " Драйвер установлен");

getchar();

closegraph();

}

-----------------------------------------------------------------