Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
TCLR-3Ar.doc
Скачиваний:
17
Добавлен:
12.07.2019
Размер:
664.58 Кб
Скачать

If(!flag)

{

printf("Секторов на кластер: %5d\n",diskinfo.fi_sclus);

printf("Количество кластеров: %5d\n",diskinfo.fi_nclus);

printf("Байт на сектор: %5d\n",diskinfo.fi_bysec);

-184-

}

return 0;

}

getfatd

Функция Получает информацию из таблицы размещения файлов.

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

Void getfatd(struct fatinfo *dtable);

Файл, содержащий dos.h

прототип

Описание Функция getfatd возвращает информацию из таблицы

размещения файлов дисковода, используемого по

умолчанию. Указатель dtable является адресом

структуры fatinfo, которая заполняется информаци-

ей из таблицы.

Структура fatinfo, заполняемая функцией getfat,

описывается следующим образом:

struct fatinfo {

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

char fi_fatid; /* байт идентификации таблицы

FAT (таблицы размещения файлов)

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

int fi_busec; /* количество байтов в секто-

ре */

};

Возвращаемое Отсутствует.

значение

Переносимость Функция уникальна для DOS.

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

Пример:

#include<stdio.h>

#include<dos.h>

int main(void)

{

struct fatinfo diskoinfo;

getfatd(&diskinfo); /* получить информацию о дисководе */

printf("Дисковод по умолчанию:");

printf("Секторов на кластер: %5d\n",diskinfo.fi_sclus);

printf("байт FAT ID: %5X\n",diskinfo.fi_fatid & 0xFF);

printf("Количество кластеров: %5d\n",diskinfo.fi_nclus);

printf("Байт на сектор: %5d\n",diskinfo.fi_bysec);

return 0;

}

getfillpattern

Функция Копирует в память определенный пользователем

шаблон заполнения.

-185-

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

Void far getfillpattern(char far *pattern);

Файл, содержащий graphics.h

прототип

Описание getfillpattern копирует шаблон заполнеия,

определенный пользователем и установленный с по-

мощью setfillpattern, в 8-битную область, на ко-

торую указывает pattern. pattern - это указатель

на последовательность из 8 байт, где каждый байт

соответствует 8 пикселям шаблона. Всякий раз,

когда бит устанавливается в 1, соответствующий

пиксель отображается на экране. Например, следую-

щий определенный пользователем образец приведет к

поклеточному рисунку:

char checkboard[8] = {

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

0xAA, 0x55

};

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

значение

Переносимость Функция уникальна для Turbo C++. Она работает

только на компьютерах IBM PC и совместимых с ни-

ми, оснащенных дисплейными адаптерами, поддержи-

вающими графический режим.

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

Пример:

#include <graphics.h>

#include <stdlib.h>

#include <stdio.h>

#include <conio.h>

int main(void)

{

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

int graphdriver = DETECT, gmode, errorcode;

int maxx,maxy;

char pattern[8] = {0x00,0x70,0x20,0x27,0x25,0x27,0x04,0x04);

/* инициализация графики и локальных переменных */

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

/* получение результата инициализации */

errorcode = graphresult();

if(errorcode != grOk) /* если ошибка */

{

printf("Ошибка :%s\n",grapherrormessage(errorcode));

printf("Для останова нажмите любую клавишу\n");

getch();

exit(1); /* завершение с кодом ошибки */

}

maxx = getmaxx();

maxy = getmaxy();

setcolor(getmaxcolor());

-186-

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

setfillpattern(pattern,getmaxcolor());

/* заполнить экран с помощью этого шаблона */

bar (0,0,maxx,maxy);

getch();

/* получить текущий шаблон */

getfillpattern(pattern);

/* изменить его */

pattern[4] -= 1;

pattern[5] -= 2;

pattern[6] -= 3;

pattern[7] -= 4;

/* установить новый шаблон */

setfillpattern(pattern,getmaxcolor());

/* заполнить им экран */

bar(0,0,maxx,maxy);

/* очистка */

getch();

closegraph();

return 0;

}

getfillsettings

Функция Получает информацию о текущем шаблоне и

цвете заполнения.

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

void far getfillsettings(struct

fillsettingstype far *fillinfo);

Файл, содержащий graphics.h

прототип

Описание getfillsettings заполняет структуру

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

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

fillsettingstype определяется в graphics.h следу-

ющим образом:

struct fillsettingstype{

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

int color; /* текущий цвет заполнения */

};

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

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

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

твует 11 видов шаблонов заполнения (сплошное,

крестообразное, точечное и т. д.) Символические

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

речисляемым типом fill_patterns в graphics.h.

(смотри таблицу, приведенную ниже). Кроме этого,

вы можете определить свои собственные шаблоны.

Если pattern равен 12 (USER_FILL), то в данное

время используется шаблон, определяемый пользова-

телем; в противном случае pattern задает номер

встроенного шаблона. Перечисляемый тип

fill_patterns, заданный в graphics.h задает имя

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

-187-

шаблона, определяемого пользователем.

имя значение описание

EMPTY_FILL 0 заполнение цветом фона

SOLID_FILL 1 сплошное заполнение цветом

заполнения

LINE_FILL 2 заполнение ______

LSTLASH_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 использует текущий цвет

фона.

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

значение

Переносимость Функция уникальна для Turbo C++. Она работает

только на компьютерах IBM PC и совместимых с ни-

ми, оснащенных дисплейными адаптерами, поддержи-

вающими графический режим.

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

Пример:

#include <graphics.h>

#include <stdlib.h>

#include <stdio.h>

#include <conio.h>

/* имена поддерживаемых типов заполнения */

char *fname[] = {"EMPTY_FILL",

"SOLID_FILL",

"LINE_FILL",

"LSTLASH_FILL",

"SLASH_FILL",

"BKSLASH_FILL",

"LTBKSLASH_FILL",

"HATCH_FILL",

"XHATCH_FILL",

"INTERLEAVE_FILL",

"WIDE_DOT_FILL",

"CLOSE_DOT_FILL",

"USER_FILL"

};

int main(void)

{

-188-

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

int graphdriver = DETECT, gmode, errorcode;

struct fillsettingstype fillinfo;

int maxx,maxy;

char patstr[40],colstr[40];

/* инициализация графики и локальных переменных */

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

/* получение результата инициализации */

errorcode = graphresult();

if(errorcode != grOk) /* если ошибка */

{

printf("Ошибка :%s\n",grapherrormessage(errorcode));

printf("Для останова нажмите любую клавишу\n");

getch();

exit(1); /* завершение с кодом ошибки */

}

maxx = getmaxx()/2;

maxy = getmaxy()/2;

/* получить информацию о текущем шаблоне и цвете */

getfillsettings(*fillinfo);

/* преобразовать в строку */

sprintf(patstr,"Тип заполнения :%s.",fname[fillinfo.pattern]);

sprintf(colstr,"Цвет :%d",fillinfo.color);

/* вывести информацию */

settextjustify(CENTER_TEXT,CENTER_TEXT);

outtextxy(midx,midy,patstr);

outtextxy(midx,midy+2*textheight("W"),colstr);

/* очистка */

getch();

closegraph();

return 0;

}

getftime

Функция Получает дату и время создания или последней

модификации файла.

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

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]