Оригинальный DVD-ROM: eXeL@B DVD !
eXeL@B ВИДЕОКУРС !

ВИДЕОКУРС ВЗЛОМ
выпущен 1 марта!


УЗНАТЬ БОЛЬШЕ >>
Домой | Статьи | RAR-cтатьи | FAQ | Форум | Скачать | Видеокурс
Новичку | Ссылки | Программирование | Интервью | Архив | Связь

ПРОГРАММИРОВАНИЕ НА C и С++



Возможности языков семейства Си по истине безграничны, однако, в этой свободе кроются и недостатки: всегда нужно программисту держать ухо востро и контроллировать "переполнение буфера", чтобы потом программа не вылетала в "синий экран" на массе разнообразных версий Windows и железа у пользователей. Те же крэкеры и реверсеры специально ищут в коде программ на Си уязвимости, куда можно подсадить любой вирусный код, об этом более подробно автор рассказывал в своём видеокурсе здесь. Я там многое узнал и теперь мой код стал значительно более безопасный.

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

 
 Синтаксис          #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   задает   имя   встроенного    шаблона
 
                    заполнения и индикатор для шаблона,  определяемого
 
                    пользователем.
 
 
 
 

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

--------------------------------------------------------------------- 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 использует текущий цвет фона. Возвращаемое Нет. значение Переносимость Функция уникальна для Borland C++. Она работает только на компьютерах IBM PC и совместимых с ними, оснащенных дисплейными адаптерами, поддерживающими графический режим. Функция не совместима с Windows. Смотрите также 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) { /* Запрос автоопределения */ 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; }

<< ВЕРНУТЬСЯ В ПОДРАЗДЕЛ

<< ВЕРНУТЬСЯ В ОГЛАВЛЕНИЕ




Материалы находятся на сайте https://exelab.ru/pro/



Оригинальный DVD-ROM: eXeL@B DVD !


Вы находитесь на EXELAB.rU
Проект ReactOS