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

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


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

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



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

setfillstyle

 
 Функция            Устанавливает шаблон и цвет заполнения.
 
 
 
 Синтаксис          #include <graphics.h>
 
                    void far setfillstyle(int pattern,int color);
 
 
 
 Файл, содержащий   graphics.h
 
 прототип
 
 
 
 Описание           setfillstyle устанавливает текущие цвет  и  шаблон
 
                    заполнения.  Для установки шаблона,  определенного
 
                    пользователем не устанавливайте pattern равным  12
 
                    (USER_FILL)  в  setfillfile,  а  лучше используйте
 
                    функцию setfillpattern.
 
 
 
                    Перечисляемый тип  fill_patterns,  определенный  в
 
                    graphics.h,  задает  имена   встроенных   шаблонов
 
                    заполнения и индикатор для шаблона,  определяемого
 
                    пользователем.
 
 
 
  --------------------------------------------------------------
 
   имя             значение            описание
 
  --------------------------------------------------------------
 
   EMPTY_FILL          0        заполнеие цветом фона
 
   SOLD_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.
 
 
 
 Смотрите также     bar, bar3d, fillpoly, floodfill,
 
                    getfillsettings, graphresult, pieslice,
 
                    sector, setfillpattern.
 
 
 
 Пример:
 
 
 
 #include <graphics.h>
 
 #include <stdlib.h>
 
 #include <string.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,style;
 
 char stylestr[40];
 
 
 
 /* инициализация графики и локальных переменных */
 
 initgraph(&graphdriver,&gmode,"");
 
 
 
 /* получение результата инициализации */
 
 errorcode = graphresult();
 
 if(errorcode != grOk)  /* если ошибка */
 
 {
 
    printf("Ошибка :%s\n",grapherrormessage(errorcode));
 
    printf("Для останова нажмите любую клавишу\n");
 
    getch();
 
    exit(1);  /* завершение с кодом ошибки */
 
 }
 
 midx = getmaxx()/2;
 
 midy = getmaxy()/2;
 
 for(style=EMPTY_FILL;style<USER_FILL;style++)
 
 {
 
    /* установить тип заполнения */
 
    setfillstyle(style,getmaxcolor());
 
    /* преобразовать в строку */
 
    strcpy(stylestr,fname[style]);
 
    /* заполнить экран с помощью этого шаблона */
 
    bar (0,0,maxx,maxy);
 
    /* вывести сообщение */
 
    outtextxy(midx,midy,stylestr);
 
    /* ждать нажатия клавиши */
 
    getch();
 
    cleardevice();
 
 }
 
 
 
 /* очистка */
 
 getch();
 
 closegraph();
 
 return 0;
 
 }
 
 


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

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




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



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


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