detectgraph()

#include <graphics.h>

void far  detectgraph()

Параметры

int far *graphdriver определяет графический драйвер
int far *graphmode определяет начальный графический режим

Описание

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

Ф. определяет ваш системный графический адаптер и выбирает режим, который обеспечивает самое высокое разрешение для этого адаптера. Если графический адаптер не обнаружен, *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_
modules   
Значение    Разрешение    Палитра    Количество страниц
CGA CGAC0 0 320 x 200 C0 1
CGAC1 1 320 x 200 С1 1
CGAC2 2 320 x 200 С2 1
CGAC3 3 320 x 200 С3 1
CGAHI 4 640 x 200 2 цвета 1
 
MCGA MCGAC0 0 320 x 200 С0 1
MCGAC1 1 320 x 200 С1 1
MCGAC2 2 320 x 200 С2 1
MCGAC3 3 320 x 200 С3 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-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
ATT400CMED 4 640 x 200 2 цвета 1
ATT400CHI 5 640 x 200 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 цветов

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

Копировать
#include <graphics.h>
#include <stdlib.h>
#include <stdio.h>
#include <conio.h>

/* Имена различных графических адаптеров */
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;
}

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

detectgraph() — определяет графический драйвер и графический режим при проверке аппаратного обеспечения
initgraph() — установка видеорежима
restorecrtmode() — востановление текстового режима
graphresult() — возвращает код ошибки выполнения последней графической операции
grapherrormsg() — возвращает указатель на строку сообщения об ошибке
closegraph() — выход из графического режима