- •Содержание
- •Библиотеки
- •Подпрограммы классификации
- •Подпрограммы преобразования
- •Подпрограммы управления каталогом
- •Подпрограммы диагностики
- •Подпрограммы поддержки графики
- •Подпрограммы ввода/вывода
- •Интерфейсные подпрограммы (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
Allocmem
----------------------------------------------------------------
НазначениеВыделяет сегмент памяти DOS.
Синтаксис int allocmem(unsigned size, unsigned *segp);
Прототип вdos.h
Замечанияallocmem, используя системный вызов MS-DOS
0x48, выделяет блок свободной памяти и возвра-
щает адрес сегмента этого блока.
size - требуемый размер в параграфах (размер
параграфа равен 16 байтам). segp - указатель на
слово, в которое занесется адрес сегмента выде-
ляемого блока. По адресу segp не будет присвое-
но кокое-либо значение в случае недостатка сво-
бодной памяти.
Все выделяемые блоки выравнены по параграфам.
ВозвращаемоеПри успешном завершении allocmem возвращает -1.
значениеВ случае ошибки возвращается число (размер
максимально доступного блока памяти). При этом
значения переменной _doserrno и глобальной
переменной errno устанавливаются в
ENOMEM Недостаточно памяти.
ПереносимостьУникальна для МS-DOS.
Смотри также coreleft, freemem, malloc, setblock
-----------------------------------------------------------------
arc
-----------------------------------------------------------------
НазначениеРисует круговую дугу.
Синтаксис #include<graphiсs>
void far arc (int x, int y, int stangle,
int endangle, int radius);
Прототип в graphics.h
Замечанияarc чертит круговую дугу текущего цвета рисова-
ния с центром в (x,y) и радиусом, заданным в
radius. arc чертит от stangle до endangle. Если
stangle=0, а endangle =360, то вызов arc приво-
дит к вычерчиванию полной окружности.
Угол для arc формируются против часовой стрел-
ки. При этом 0 градусов соответствует 3 часам,
90 градусов соответствуют 12 часам и т.д.
Замечание: при вычерчивании дуги, окружности,
эллипса и сектора для определения типа линии
используется параметр thickness а не linestyle.
Замечание: при использовании графического адап-
тера CGA или монохромного адаптера приведенные
в данном материале примеры могут не привести к
ожидаемому результату. Это объясняется тем, что
вам необходимо передать значение 1 графическим
функциям (например, setcolor, setfillstyle,
setlinestyle), которые изменяют цвет наполнения
(закрашивания) и рисования, вместо соответству-
ющей символьной константы цвета (определена в
grafics.h). Второй пример в данном разделе ил-
люстрирует построение графиков в случае исполь-
зования адаптеров CGA или монохромного адапте-
ра.
ВозвращаемоеНет.
значение
ПереносимостьДанная функция работает только на IBM PC и
совместимых моделях при наличии соответствующих
графических адаптеров.
Смотри также circle, ellipse, fillellipse, getarccoords,
sector
Пример 1 Синтаксис графических функций для адаптеров
EGA и VGA.
#inсlude<graphics.h>
#inсlude<conio.h>
main ()
{
int graphdriver = DETECT, graphmode; /* требование
автоопределения */
struct arccoordstype arcinfo;
int xasp, yasp;
long xlong;
initgraph(&graphdriver, &graphmode, " "); /* инициали-
зация графики */
/* Начертить дугу в 90 градусов с радиусом 50 */
arc(150, 150,0,89,50);
/* Получить координаты дуги и соединить концы */
getarccoords (&arcinfo);
line(arcinfo.xstart, arcinfo.ystart, arcinfo.xend,
arcinfo.yend);
/* Нарисовать окружность */
circle(150,150,100);
/* Нарисовать эллипс внутри окружности */
ellips(150,150,0,359,100,50);
/* Нарисовать и заполнить круговой сектор */
setcolor(WHITE); /* белый рисунок */
setfillstyle(SOLID_FILL, LIGHTRED);
pieslice(100,100,0,134,49);
setfillstyle(SOLID_FILL, LIGHTBLUE);
pieslice(100,100,135,225,49);
setfillstyle(SOLID_FILL, WHITE);
pieslice(100,100,225,360,49);
/* Начертить "квадратный" прямоугольник */
getaspectratio(&xasp, &yasp);
xlong = (100L*(long)yasp)/(long)xasp;
rectangle(0,0, (int)xlong, 100);
getch();
closegraph();
}
Пример 2 Синтаксис графических функций для адаптеров
CGA и монохромного адаптера.
#inсlude<graphics.h>
#inсlude<conio.h>
main ()
{
int graphdriver = DETECT, graphmode; /* требование
автоопределения */
struct arccoordstype arcinfo;
int xasp, yasp;
long xlong;
initgraph(&graphdriver, &graphmode, " "); /* инициали-
зация графики */
/* Начертить углы в 90 градусов с радиусом 50 */
arc(150, 150,0,89,50);
/* Получить координаты дуги и соединить концы */
getarccoords (&arcinfo);
line(arcinfo.xstart, arcinfo.ystart, arcinfo.xend,
arcinfo.yend);
/* Нарисовать окружность */
circle(150,150,100);
/* Нарисовать эллипс внутри окружности */
ellips(150,150,0,359.100,50);
/* Нарисовать и заполнить круговой сектор */
setfillstyle(HATCH_FILL, 1);
pieslice(100,100,0,134,49);
setfillstyle(SLASH_FILL, 1);
pieslice(100,100,135,225,49);
setfillstyle(WIDE_DOT, 1);
pieslice(100,100,225,360,49);
/* Начертить "квадратный" прямоугольник */
getaspectratio(&xasp, &yasp);
xlong = (100L*(long)yasp)/(long)xasp;
rectangle(0,0, (int)xlong, 100);
getch();
closegraph();
}
-----------------------------------------------------------------