
- •Void writechar(char ch)
- •Void far getarccoords(struct arccoordstype
- •Int far getbkcolor(void);
- •Itoa(bkcolor,bkname,10);
- •Int getc(file *stream);
- •Int main(void)
- •Int getchar(void);
- •Int main(void)
- •Int getche(void);
- •Itoa(color,colname,10);
- •Int getcurdir(int drive, char * direc);
- •Int da_year; /* текущий год */
- •Int main(void)
- •Void getdfree(unsigned char drive,
- •Int getdisk(void);
- •Int main(void)
- •If(!flag)
- •Void getfatd(struct fatinfo *dtable);
- •Void far getfillpattern(char far *pattern);
- •Int getftime(int handle, struct ftime * ftimep);
- •Int far getgraphmode(void)
- •Initgraph.
- •Void far getimage(int left, int top, int
- •0X3333 или 0x0f0f. Если же параметр linestyle в
- •Int far getmaxcolor(void);
- •Int far getmaxx(void);
- •Int far getmaxy(void);
- •Void far getmoderange(int graphdriver, int
- •Void far getpalette(struct palettetype far
- •Int far getpalettesize(void);
- •Int main(void)
- •Int main(void)
- •3.X можно использовать глобальную переменную
- •Void gettextinfo(struct text_info *r);
- •Int main(void)
- •Void var gettexsettings(struct
- •Void gettime(struct time * timep);
- •Int main(void)
- •Int far getx(void);
- •Int far gety(void);
- •Void far graphdefaults(void);
- •Void far _graphfreemem(void var
- •Void far _graphgetmem(unsigned size);
- •0 GrOk нет ошибок
- •0, Если необходимо игнорировать ошибку, 1, если
- •Void hardresume(int rescode);
- •0, Если необходимо игнорировать ошибку, 1, если
- •0, Если необходимо игнорировать ошибку, 1, если
- •Int heapcheck(void);
- •Int heapchecknode(void *node);
- •Int heapfillfree(unsigned int fillvalue);
- •Int heapwalk(struct heapinfo *hi);
- •Void highvideo(void);
- •Int main(void)
- •Initgraph загружает графический драйвер и
- •Initgraph как часть его драйвероопределяю-
Initgraph как часть его драйвероопределяю-
щей логики (вероятно, производитель SGA дал
вам эту функцию автодетектирования). Когда
вы добавите драйвер с помощью installuser-
driver, вы передадите адрес этой функции
вместе с именем файла драйвера устройства.
После того как вы добавили имя файла драй-
-251-
вера и SGA-функцию автодетектирования, вы
вызываете initgraph и позволяете ему выпол-
нять нормальный процесс автодетектирования.
Перед тем как initgraph вызовет встроенную
функцию автодетектирования(detectgraph),
он вызовет SGA-функцию автодетектирования.
Если эта SGA-функция не находит аппаратные
средства SGA, она возвращает значение -11
(grError), а initgraph продолжает нормаль-
ный процесс автодетектирования, который мо-
жет включать вызов других поставленных про-
изводителем функций автодетектирования в
том порядке в каком они были добавлены).
Если же, однако, функция определит, что SGA
присутствует, она возвращает неотрицатель-
ный номер режима; затем initgraph находит и
загружает SGA.BGI, переводит аппаратные
средства в графический режим, рекомендуемый
функцией автодетектирования, и, наконец,
передает управление вашей программе.
Одновременно может быть добавлено до десяти
драйверов.
Возвращаемое Значение возвращаемое installuserdriver -
значение это номер драйвера, который вы передадите
в initgraph для того, чтобы выбрать вручную
вновь добавленный драйвер.
Переносимость Функция уникальна для Turbo C++. Эта функция
пригодна только для компьютеров IBM PC и совмести-
мых с ними, оснащенных дисплейными адаптерами,
поддерживающими графический режим.
Смотри также initgraph, registerbgidriver
Пример:
#include<graphics.h>
#include<stdlib.h>
#include<stdio.h>
#include<conio.h>
/* прототипы функций */
int huge detectEGA(void);
void checkerrors(void);
int main(void)
{
int gdriver,gmode;
/* инсталлировать драйвер, написанный пользователем */
gdriver = installuserdriver("EGA",detectEGA);
/* инициировать автоопределение */
gdriver = DETECT;
/* проверить на ошибки инсталляции */
checkerrors();
/* инициализация графики и локальных переменных */
initgraph(&gdriver,&gmode,"");
/* проверить на ошибки иннициализации */
checkerrors();
/* нарисовать линию */
-252-
line(0,0,getmaxx(),getmaxy());
/* очистка */
getch();
closegraph();
return 0;
}
/* определение платы EGA или VGA */
int huge detectEGA(void)
{
int driver, mode, sugmode = 0;
detectgraph(&driver,&mode);
if((driver == EGA) || (driver == VGA))
/* вернуть предполачаемый номер режима */
return sugmode;
else
/* вернуть код ошибки */
return grError;
}
/* проверка и сообщение о появлении ошибок */
void checkerrors(void)
{
int errorcode;
errorcode = graphresult();
if(errorcode != grOk)
{
printf("Ошибка графики %s\n",grapherrormsg(errorcode));
printf("Для завершения нажмите любую клавишу... ");
getch();
exit(1);
}
}
installuserfont
Функция Загружает файл со шрифтом (.CHR), который не
встроен в BGI-систему.
Синтаксис #include <graphics.h>
int far installuserfont(char far *name);
Файл, содержащий graphics.h
прототип
Описание name - полное имя шрифтового файла, содер-
жащего штриховые шрифты. Одновременно может
быть добавлено до двадцати шрифтов.
Возвращаемое installuserfont возвращает ID-номер шриф-
значение та, который затем может передаваться в
settextstyle для выбора соответствующего
шрифта. Если внутренняя таблица шрифтов за-
полнена, то возвращаемое значение равно -11
(grError).
Переносимость Функция уникальна для Turbo C++. Эта функция
пригодна только для компьютеров IBM PC и совмести-
мых с ними, оснащенных дисплейными адаптерами,
поддерживающими графический режим.
Смотри также settextstyle