- •Содержание
- •Библиотеки
- •Подпрограммы классификации
- •Подпрограммы преобразования
- •Подпрограммы управления каталогом
- •Подпрограммы диагностики
- •Подпрограммы поддержки графики
- •Подпрограммы ввода/вывода
- •Интерфейсные подпрограммы (dos, 8086, bios)
- •Подпрограммы манипулирования (строками, памятью)
- •Математические подпрограммы
- •Подпрограммы распределения памяти
- •Прочие подпрограммы
- •Подпрограммы управления процессами
- •Cтандартные подпрограммы
- •Подпрограммы отображения текста в окнах
- •Подпрограммы работы со временем и датой
- •Подпрограммы с переменным списком аргументов
- •Environ
- •Errno, _doserrno, sys_errlist, sys_nerr
- •_Heaplen
- •_Osmajor, _osminor
- •_Stklen
- •Timezone
- •_Version
- •Absread
- •Abswrite
- •Allocmem
- •Asctime
- •Bdosptr
- •Bioscom
- •Biosdisk
- •Biosequip
- •Bioskey
- •Biosmemory
- •Biosprint
- •Biostime
- •Bsearch
- •_Clear87
- •Cleardevice
- •Clearerr
- •Closegraph
- •_Control87
- •Coreleft
- •Country
- •Сprintf
- •Creatnew
- •Creattemp
- •Ctrlbrk
- •Delline
- •Detectgraph
- •Difftime
- •Disable
- •Dosexterr
- •Dostounix
- •Drawpoly
- •Ellipse
- •Exec...
- •Farcalloc
- •Farcoreleft
- •Farfree
- •Farmalloc
- •Farrealloc
- •Fcloseall
- •Fgetchar
- •Fgetpos
- •Filelength
- •Fillellipse
- •Fillpoly
- •Findfirst
- •Findnext
- •Floodfill
- •Flushall
- •Fnmerge
- •Fnsplit
- •_Fpreset
- •Fprintf
- •Fputchar
- •Freemem
- •Freopen
- •Fsetpos
- •Geninterrupt
- •Getarccoords
- •Getaspectratio
- •Getbkcolor
- •Getcbrk
- •Getchar
- •Getcolor
- •Getcurdir
- •Getdate
- •Getdefaultpalette
- •Getdfree
- •Getdisk
- •Getdrivername
- •Getfatd
- •Getfillpattern
- •Getfillsettings
- •Getftime
- •Getgraphmode
- •Getimage
- •Getlinesettings
- •Getmaxcolor
- •Getmaxmode
- •Getmaxx
- •Getmaxy
- •Getmodename
- •Getmoderange
- •Getpallete
- •Getpalettesize
- •Getpass
- •Getpixel
- •Gettext
- •Gettextinfo
- •Gettextsettings
- •Gettime
- •Getvect
- •Getverify
- •Getviewsettings
- •Graphdefaults
- •Grapherrormsg
- •_Graphfreemem
- •_Graphgetmem
- •Graphresult
- •Harderr
- •Hardresume
- •Hardretn
- •Highvideo
- •Imagesize
- •Initgraph
- •Inportb
- •Insline
- •Installuserdriver
- •Installuserfont
- •Intdosx
- •Isalnum
- •Isalpha
- •Isascii
- •Iscntrl
- •Isdigit
- •Isgraph
- •Islower
- •Isprint
- •Ispunch
- •Isspace
- •Isupper
- •Isxdigit
- •Linerel
- •Loсaltime
- •Longjmp
- •Lowvideo
- •Lsearch
- •_Matherr
- •Matherr
- •Memccpy
- •Memicmp
- •Memmove
- •Movedata
- •Moverel
- •Movetext
- •Normvideo
- •Nosound
- •Outport
- •Outportb
- •Outtext
- •Outtextxy
- •Parsfnm
- •Pieslice
- •Putchar
- •Putimage
- •Putpixel
- •Puttext
- •Randbrd
- •Randbwr
- •Randomize
- •Realloc
- •Rectangle
- •Registerbgidriver
- •Registerbgifont
- •Restorecrtmode
- •Searchpath
- •Segread
- •Setactivepage
- •Setallpalette
- •Setaspectratio
- •Setbkcolor
- •Setblock
- •Setcbrk
- •Setcolor
- •Setdate
- •Setdisk
- •Setfillpattern
- •Setfillstyle
- •Setftime
- •Setgraphbufsize
- •Setgraphmode
- •Setlinestyle
- •Setmode
- •Setpalette
- •Setrgbpalette
- •Settextjustify
- •Settextstyle
- •Settime
- •Setusercharsize
- •Setvbuf
- •Setvect
- •Setverify
- •Setviewport
- •Setvisualpage
- •Setwritemode
- •Spawn...
- •Sprintf
- •_Status87
- •Strcmpi
- •Strcspn
- •_Strerror
- •Strerror
- •Stricmp
- •Strncat
- •Strncmp
- •Strncmpi
- •Strncpy
- •Strnicmp
- •Strnset
- •Strpbrk
- •Strrchr
- •Strtoul
- •Textattr
- •Textbackground
- •Textcolor
- •Textheight
- •Textmode
- •Textwidht
- •Tmpfile
- •Toascii
- •_Tolower
- •Tolower
- •_Toupper
- •Toupper
- •Ungetch
- •Unixtodos
- •Vfprintf
- •Vfscanf
- •Vprintf
- •Vsprintf
- •Vsscanf
Imagesize
-----------------------------------------------------------------
НазначениеОпределяет количество байт для хранения части
изображения.
Синтаксис#include<graphics.h>
unsigned far imagesize(int left, int top, int
right, int bottom);
Прототип в graphics.h
Замечанияimagesize определяет число байт, необходимых
для того, чтобы getimage мог сохранить заданную
часть изображения. Возвращаемый размер образа
включает пространство для хранения ширины и вы-
соты прямоугольника.
Возвращаемоеimagesize возвращает размер требуемой области
значениепамяти в байтах. Если требуемый для выбранного
образа размер памяти превышает 64К-1, то
imagesize возвращает OxFFFF(-1).
ПереносимостьДанная функция работает только на IBM PC и сов-
местимых моделях при наличии соответствующих
графических адаптеров.
Смотри также getimage, putimage
-----------------------------------------------------------------
Initgraph
-----------------------------------------------------------------
НазначениеИнициализирует графическую систему.
Синтаксис#include<graphics.h>
void far initgraph(int far *graphdriver, int
far *graphmode, char far *pathtodriver);
Прототип вgraphics.h
Замечанияinitgraph инициализирует графическую систему,
загружая при этом с диска графический драйвер и
переводя систему в графический режим.
Для запуска графической системы вы, во-первых,
должны обратиться к функции initgraph, которая
загрузит графический драйвер и переведет систе-
му в графический режим. Вы можете указать
initgraph конкретные графические драйвер и ре-
жим, либо потребовать автоматического определе-
ния видеоадаптера и подбора соответствующего
драйвера в процессе работы.
Если вы требуете у initgraph самоопределения,
то для определения графического драйвера и ре-
жима она обращается к detectgraph. Кроме того
initgraph сбрасывает все графические параметры
в их значения по умолчанию (текущая позиция,
палитра, цвет, графическое окно и т.д.) и уста-
навливает graphresult в 0.
Обычно, для установки графического драйвера
initgraph выделяет (обращаясь к _graphgetmem)
требуемый объем памяти, а затем загружает с
диска соответствующий файл .BGI. В качестве
альтернативы такой динамической схемы загрузки,
вы можете скомпоновать графический драйвер (или
несколько из них) с вашим исполняемым файлом.
(Для большей информации смотри Приложение D.)
pathtodriver задает маршрут к каталогу, в кото-
ром initgraph будет искать графические драйве-
ры, initgraph вначале просматривает каталог,
заданный в pathtodriver, а затем, (если их там
нет) - текущий каталог. Таким образом, если
pathtodriver равен NULL, то драйверные файлы
(*.BGI) должны быть в текущем каталоге. Этот же
маршрут задает каталог, в котором функция
settextstyle будет искать файлы со шрифтами (*.
CHR).
*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 Значение Колонок Палитра Количество
драйвер X строк страниц
-----------------------------------------------------------------
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
CGACI 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
MCGAMHI 5 640 X 400 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
EGAMONO EGAMONOHI 3 640 X 350 2 ЦВЕТА 1*
EGAMONOHI 3 640 X 350 2 ЦВЕТА 2**
HERC HERCMONOHI 0 720 X 348 2 ЦВЕТА 2
ATT400 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
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 480 16 ЦВЕТОВ 1
PC3270 PC3270HI 0 720 X 350 2 ЦВЕТА 1
IBM8514 IBM8514HI 0 640 X 480 256 ЦВЕТОВ
IBM8514LO 1 1024X 768 256 ЦВЕТОВ
* 64 K на плате EGAMONO
** 256 K на плате EGAMONO
-----------------------------------------------------------------
В вышеприведенной таблице перечень палитр C0,
C1, C2, C3 соответствует четырем предопределен-
ным четырехцветным палитрам, доступным на сис-
темах CGA и совместимых с ними. В каждой из
этих палитр вы можете выбирать цвета фона (ну-
левой элемент), но остальные цвета зафиксирова-
ны. Подобные палитры более детально описаны в
Главе 8 настоящего приложения (раздел "Управле-
ние цветом"), а сведения о них сведены в следу-
ющую таблицу:
-----------------------------------------------------------------
Номер Цвет, соответствующий значению точки растра
палитры1 2 3
-----------------------------------------------------------------
0 яркозеленый яркокрасный желтый
1 светлоголубой светломалиновый белый
2 зеленый красный коричневый
3 голубой малиновый светлосерый
-----------------------------------------------------------------
После вызова initgraph *graphdriver и
*graphmode имеют значения текущего графического
драйвера и текущего графического режима соот-
ветственно.
Возвращаемоеinitgraph всегда устанавливает внутренний код
значениеошибки; причем в случает отсутствия ошибки дан-
ный код устанавливается в 0. В случае ошибки
*graphdriver устанавливается в -2, -3, -4 или
-5, а graphresult возвращает такое же значение,
означающее:
-2 Не могу определить графическую плату
-3 Не могу найти файл-драйвер
-4 Некорректный драйвер
-5 Для загрузки драйвера не хватает памяти
ПереносимостьДанная функция работает только на IBM PC и
совместимых моделях при наличии соответствующих
графических адаптеров.
Смотри также closegraph, detectgraph, getfaultpallete,
getdrivername, getmoderange, graphdefaults,
_graphgetmem, graphresult, installuserdriver,
registerbgidriver, restorecrtmode,
setgraphbufsize, setgraphmode.
Пример
#include<graphics.h>
#include<stdio.h>
#include<conio.h>
#include<process.h>
main()
{
int g_driver, g_mode, g_error;
detectgraph(&g_driver, &g_mode,);
if(g_driver < 0)
{
printf("Не определен графический адаптер"
"\n");, exit(1);
}
printf("Определен графический драйвер %d,"
"режим %d\n",g_driver, g_mode);
getch();
if(g_mode == EGAHI)
g_mode = EGALO; /* замена режима в случае
определения EGA */
initgraph(&g_driver, &g_mode, " ");
g_error = graphresult();
if (g_error < 0)
{
printf("Ошибка initgraph: %s\n",
grapherrormsg(g_error)); exit(1);
}
bar(0, 0, getmaxx()/2, getmaxy());
getch();
closegraph();
}
-----------------------------------------------------------------
inport
-----------------------------------------------------------------
НазначениеЧитает из аппаратного порта.
Синтаксис #include<dos.h>
int inport(int port);
Прототип вdos.h
Замечанияinport читает слово из входного порта,
указанного переменной port.
Возвращаемоеinport возвращает прочитанное значение.
значение
ПереносимостьУникальна для процессоров семейства 8086.
Смотри такжеinportb, outport, outportb
-----------------------------------------------------------------