Описание функций Си

Detectgr



     detectgraph

Функция Определяет графический драйвер и графический режим при проверке аппаратного обеспечения.

Синтаксис #include

void far detectgraph (int far*graphdriver, int far *graphmode);

Файл, содержащий graphics.h прототип

Описание detectgraph определяет ваш системный гра- фический адаптер и выбирает режим, который обеспе- чивает самое высокое разрешение для этого адапте- ра. Если графический адаптер не обнаружен, *graphdriver устанавливается в -2 и graphresult будет также возвращать -2(grNotDetected).

*graphdriver - целое, которое определяет исполь- зуемый графический драйвер. Вы можете задать его значение, используя константу перечисляемого типа graphics_drivers, определенную в graphics.h и при- веденную в следующей таблице.

__________________________________________ graphics_drivers константа численное значение __________________________________________ DETECT 0 (запрашивает автоопределе- ние драйвера) CGA 1 MCGA 2 EGA 3 EGA64 4 EGAMONO 5 IBM8514 6 HERCMONO 7 ATT400 8 VGA 9 PC3270 10 __________________________________________

*graphmode - целое, которое определяет на- чальный графический режим (если *graphdriver не равен DETECT, *graphmode устанавливается в наивыс- шее разрешение, допустимое для данного драйвера) Вы можете задать значение *graphmode, используя константу перечисляемого типа graphics_modes, оп- ределенную в graphics.h и показанную в следующей таблице: -------------------------------------------------------------- Графическ. graphics Знач. Колонок Палитра Страниц драйвер _modes * столбцов ------------------------------------------------------------- CGA CGAC0 0 320 x 200 C0 1 CGAC1 1 320 x 200 C1 1 CGAC2 2 320 x 200 C2 1 CGAC3 3 320 x 200 C3 1 CGAHI 4 640 x 200 2цвета 1

MCGA MCGAC0 0 320 x 200 C0 1 MCGAC1 1 320 x 200 C1 1 MCGAC2 2 320 x 200 C2 1 MCGAC3 3 320 x 200 C3 1 MCGAMED 4 640 x 200 2цвета 1 MCGAHI 5 640 x 480 2цвета 1

EGA EGALO 0 640 x 200 16цветов 4 EGAHI 1 640 x 350 16цветов 2

EGA64 EGA64LO 0 640 x 200 16цветов 1 EGA64HI 1 640 x 350 4 цвета 1




EGA- EGAMONOHI 3 640 x 350 2 цвета 1* MONO EGAMONOHI 3 640 x 350 2 цвета 2**

HERC HERCMONOHI 0 720 x 348 2 цвета 2

AT400 ATT400C0 0 320 x 200 C0 1 ATT400C1 1 320 x 200 C1 1 ATT400C2 2 320 x 200 C2 1 ATT400C3 3 320 x 200 C3 1 ATT400MED 4 640 x 200 2 цвета 1 ATT400HI 5 640 x 400 2 цвета 1

VGA VGALO 0 640 x 200 16 цветов 2 VGAMED 1 640 x 350 16 цветов 2 VGAHI 2 640 x 380 16 цветов 1

PC3270 PC3270HI 0 720 x 350 2 цвета 1

IBM8514 IBM8514HI 0 640 x 480 256 цветов IBM8514LO 0 1024 x 768 256 цветов

* 64К на карте EGAMONO ** 256К на карте EGAMONO -------------------------------------------------------------- Замечание. Основная причина вызова непосредствен- но detectgraph состоит в переопределении графи- ческого режима , который detectgraph рекомендовал initgraph.

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

Переносимость Функция уникальна для Turbo C++. Эта функция пригодна только для компьютеров IBM PC и совмес- тимых с ними, оснащенных дисплейными адаптерами, поддерживающими графический режим.

Смотрите также

Пример:

#include

#include

#include

#include

/* Имена различных графических адаптеров */ char *gname[] = { "требуется определение", "CGA", "EGA", "EGA с 64K", "монохромный EGA", "IBM 8514", "Hercules монохромный", "AT&T 6300 PC", "VGA", "IBM 3270" };

int main(void) { /* используется для определения графического адаптера */ int graphdriver, gmode, errorcode; /* определение адаптера */ detectgraph(&graphdriver,&gmode,""); /* получение результата инициализации */ errorcode = graphresult(); if(errorcode != grOk) /* если ошибка */ { printf("Ошибка :%s\n",grapherrormsg(errorcode)); printf("Для останова нажмите любую клавишу\n"); getch(); exit(1); /* завершение с кодом ошибки */ } /* вывести полученную информацию */ clrscr(); printf("Установлена плата: %s",gname[graphdriver]); printf("Для завершения нажмите любую клавишу..."); getch(); return 0; }


Содержание раздела