Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Программирование на C / C++ / Справка функциям С++.doc
Скачиваний:
61
Добавлен:
02.05.2014
Размер:
3.57 Mб
Скачать

Getfatd

-----------------------------------------------------------------

НазначениеПолучает информацию из таблицы размещения фай-

лов.

Синтаксис #include<dos.h>

void getfatd(struct fatinfo *fatblkp);

Прототип вdos.h

Замечанияgetfatd заполняет fatinfo структуру информацией

из таблицы размещения файлов текущего драйвера.

структура fatinfo, заполняемая getfatd, имеет

следующий вид:

struct fatinfo {

char fi_sclus; /* секторов в кластере */

char fi_fatid; /* байт идентификатора ФАТ */

int fi_nclus; /* число кластеров */

int fi_bysec; /* байт в секторе */

};

ВозвращаемоеНет.

значение

ПереносимостьУникальна для MS-DOS.

Смотри также getdfree, getfat

-----------------------------------------------------------------

Getfillpattern

-----------------------------------------------------------------

НазначениеКопирует описанный пользователем шаблон запол-

нения.

Синтаксис #include<graphics.h>

void far getfillpattern(char far *upattern);

Прототип вgraphics.h

Замечанияgetfillpattern копирует описанный пользователем

шаблон заполнения в 8-байтовую область, на ко-

торую указывает upattern.

upattern указывает на последовательность из 8

байт, причем каждый байт соответствует 8 точкам

растра шаблона. Каждый бит байта шаблона, уста-

новленный в 1, соответствует вычерченной точке

растра. Например, нижеследующий определенный

пользователем шаблон заполнения соответствует

"шахматной доске":

char chackerboard[8] = {

0xAA, 0x55, 0xAA, 0x55, 0xAA, 0x55, 0xAA, 0x55

};

ВозвращаемоеНет.

значение

ПереносимостьДанная функция работает только на IBM PC и сов-

местимых моделях при наличии соответствующих

графических адаптеров.

Смотри также getfillsettings, setfillpattern

-----------------------------------------------------------------

Getfillsettings

-----------------------------------------------------------------

НазначениеВозвращает информацию о текущих шаблоне и цвете

заполнения.

Синтаксис#include<graphics.h>

void far getfillsettings(struct

fillsettingstype far *fillinfo);

Прототип вgraphics.h

Замечанияgetfillsettings заносит в структуру

filsettingstype, на которую указывает fillinfo,

информацию о текущих шаблоне и цвете заполне-

ния. Структура fillsettingstype описана в

grafics.h следующим образом:

struct getfillsettingstype {

int pattern; /* текущий шаблон

заполнения */

int color; /* текущий цвет

}; заполнения */

Функции bar, bar3d, fillpoly, floadfill и

pieslice заполняют область текущим цветом за-

полнения. Всего имеется 11 предопределенных

шаблонов заполнения (такие как сплошной, точеч-

ный и др.). Символические имена предопределен-

ных шаблонов заданы перечисленным типом данных

fillpatterns в файле GRAPHICS.H (см. таблицу

ниже). Кроме того, вы можете описать свой собс-

твенный шаблон заполнения.

Если pattern = 12 (USER_FILL), то используется

определенный пользователем шаблон заполнения;

во всех других случаях pattern задает номер

предопределенного шаблона.

Перечисление fill_patterns, описанное в

graphics.h, задает имена предопределенных шаб-

лонов заполнения и индикатор для определенного

пользователем шаблона:

-----------------------------------------------

Имя Значение Описание

-----------------------------------------------

EMPTY_FILL 0 Заполняет цветом фона

SOLID_FILL 1 Сплошное заполнение

LINE_FILL 2 Заполняет ---

LTSLASH_FILL 3 Заполняет ///

SLASH_FILL 4 Заполняет толстыми ///

BKSLASH_FILL 5 Заполняет толстыми \\\

LTBKSLASH_FILL 6 Заполняет \\\

HATCH_FILL 7 Заполняет редкой

решеткой

XHATCH_FILL 8 Заполняет частой

решеткой

INTERLEAVE_FILL 9 Заполняет

чередующимися линиями

WIDE_DOT_FILL 10 Заполняет редкими

точками

CLOSE_DOT_FILL 11 Заполняет частыми

точками

USER_FILL 12 Заполняет шаблоном

пользователя

-----------------------------------------------

Все шаблоны, кроме EMPTY_FILL, заполняются те-

кущим цветом заполнения. EMPTY_FILL использует

текущий цвет фона.

ВозвращаемоеНет.

значение

ПереносимостьДанная функция работает только на IBM PC и сов-

местимых моделях при наличии соответствующих

графических адаптеров.

Смотри такжеgetfillpattern, setfillpattern, setfillstyle

Пример

#include<graphics.h>

#include<conio.h>

main()

{

/* требование автоопределения */

int graphdriver=DETECT, graphmode;

struct fillsettingstype save;

char savepattern[8];

char gray50[] = {0xAA, 0x55, 0xAA, 0x55,

0xAA, 0x55, 0xAA, 0x55};

/* инициализация графики */

initgraph(&graphdriver, &graphmod, "");

/* получить текущую установку */

getfillsettings (&save);

/* если шаблон пользователя */

if (save.pattern == USER_FILL)

/* то сохранить его */

getfillpattern(savepattern);

/* изменить стиль заполнения */

setfillstyle(SLASH_FILL, BLUE);

/* заштриховать голубой полоской */

bar( 0, 0, 100, 100);

/* собственный шаблон заполнения */

setfillpattern(gray50, YELLOW);

/* вычертить новую желтую полоску */

bar(100, 100, 200, 200);

/* если шаблон пользователя */

if (save.pattern == USER_FILL)

setfillpattern(savepattern, save.color);

/* то восстановить его */

else

/* иначе восстановить старый стиль */

setfillstyle(save.pattern, save.color);

getche();

closegraph();

}

-----------------------------------------------------------------