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

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


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

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



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

setrgbpalette

 
 Функция            Позволяет пользователю определять цвета для
 
                    IBM 8514.
 
 
 
 Синтаксис          #include <graphics.h>
 
                    void far setgbpalette(int colornum,int red,
 
                                           int green, int blue);
 
 
 
 Файл, содержащий   graphics.h
 
 прототип
 
 
 
 Описание           setgbpalette может  использоваться  с   драйверами
 
                    IBM8514 и VGA.
 
 
 
                    colornum определяет   элемент   палитры,   который
 
                    должен   быть   загружен,  а  red,  green  и  blue
 
                    определяют цветовые составляющие элемента палитры.
 
 
 
                    Для дисплея IBM8514 (и VGA в цветном режиме  256К)
 
                    colornum  изменяется в интервале от 0 до 255.  Для
 
                    остальных  режимов  VGA  colornum   изменяется   в
 
                    интервале от 0 до 15.  Используется только младшие
 
                    байты red,  green  и  blue,  и  из  байта  лишь  6
 
                    наиболее значащих бит загружаются в палитру.
 
 
 
                    Замечание. Для     совместимости     с     другими
 
                    графическими   адаптерами   IBM,    драйвер    BGI
 
                    устанавливает  первые 16 элементов палитры IBM8514
 
                    в цвета EGA/VGA,  используемые по  умолчанию.  Эти
 
                    значения  могут  использоваться  без изменений,  а
 
                    могут изменяться с помощью setrgbpalette.
 
 
 
 Возвращаемое       Нет.
 
 значение
 
 
 
 Переносимость      Функция уникальна для Borland  C++.  Она  работает
 
                    только на компьютерах IBM PC и совместимых с ними,
 
                    оснащенных дисплейными адаптерами, поддерживающими
 
                    графический   режим.   Функция   не  совместима  с
 
                    Windows.
 
 
 
 Смотрите также     setpalette.
 
 
 
 Пример:
 
 
 
 #include <graphics.h>
 
 #include <stdlib.h>
 
 #include <stdio.h>
 
 #include <conio.h>
 
 
 
 int main(void)
 
 {
 
 /* выбор драйвера и режима, поддерживающих функцию setrgbpalette */
 
 int graphdriver = VGA, gmode = VGAHI, errorcode;
 
 /* указатель на структуру описания политры */
 
 struct palettetype pal;
 
 int i,ht,y,xmax;
 
 
 
 /* инициализация графики и локальных переменных */
 
 initgraph(&graphdriver,&gmode,"");
 
 
 
 /* получение результата инициализации */
 
 errorcode = graphresult();
 
 if(errorcode != grOk)  /* если ошибка */
 
 {
 
    printf("Ошибка :%s\n",grapherrormessage(errorcode));
 
    printf("Для останова нажмите любую клавишу\n");
 
    getch();
 
    exit(1);  /* завершение с кодом ошибки */
 
 }
 
 /* получить копию палитры */
 
 getpalette(&pal);
 
 for(i=0;i<pal.size;i++);
 
 {
 
    setrgbpalette(pal.colors[i],i*4,i*4,i*4);
 
 /* вывести сообщение */
 
 ht = getmaxy()/16;
 
 xmax = getmaxx();
 
 y=0;
 
 for(i=0;i<pal.size;i++);
 
 {
 
    setfillstyle(SOLID_FILL,i);
 
    bar(0,y,xmax,y+ht);
 
    y += ht;
 
 }
 
 /* очистка */
 
 getch();
 
 closegraph();
 
 return 0;
 
 }


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

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




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



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


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