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 и совмес-
                     тимых с ними, оснащенных дисплейными адаптерами,
                     поддерживающими графический режим.

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

 Пример:

 #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;
 }