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

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


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

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



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

registerbgifont

 
 Функция            Регистрирует встроенный код векторных символов.
 
 
 
 Синтаксис          #include <graphics.h>
 
                    int registerbgifont(void(*font)(void));
 
 
 
 Файл, содержащий   graphics.h
 
 прототип
 
 
 
 Описание           Вызов registerbgifont   информирует    графическую
 
                    систему о том, что шрифт font был включен во время
 
                    компоновки.  Эта программа проверяет связанный код
 
                    для указанного шрифта. Если код правильный, то она
 
                    регистрирует код во встроенной таблице. Встроенные
 
                    шрифты описываются подробно в разделе BGIOBJ файла
 
                    UTIL.DOC.
 
 
 
                    Используя имя    встроенного   шрифта   в   вызове
 
                    registerbgifont, вы просите компилятор (и редактор
 
                    связей   (linker))   встроить   объектный  файл  с
 
                    открытым именем.
 
 
 
                    Если вы    регистрируете     шрифт     загруженный
 
                    пользователем,   вы   обязаны  передать  результат
 
                    выполнения  registerbgifont  в  initgraph  в  виде
 
                    номера шрифта, который будет использоваться.
 
 
 
 Возвращаемое       registerbgifont возвращает отрицательный
 
 значение           код графической ошибки, если указанный
 
                    шрифт являются   неверными.   В  противном  случае
 
                    registerbgifont          возвращает          номер
 
                    зарегистрированного шрифта.
 
 
 
 Переносимость      Эта функция  уникальна  для   Borland   C++.   Она
 
                    работает   только   на   компьютерах   IBM   PC  и
 
                    совместимых   с   ними,   оснащенных   дисплейными
 
                    адаптерами, поддерживающими   графический   режим.
 
                    Функция не совместима с Windows.
 
 
 
 Смотрите также     graphresult, initgraph, installuserdriver,
 
                    registerbgidriver, settextstyle.
 
 
 
 Пример:
 
 
 
 #include <graphics.h>
 
 #include <stdlib.h>
 
 #include <stdio.h>
 
 #include <conio.h>
 
 
 
 int main(void)
 
 {
 
 /* Запрос автоопределения */
 
 int graphdriver = DETECT, gmode, errorcode;
 
 int midx,midy;
 
 
 
 /* зарегистрировать шрифт, добавленный в graphics.lib */
 
 errorcode = registerbgifont(triplex_font);
 
 if(errorcode < 0)  /* если ошибка */
 
 {
 
    printf("Ошибка :%s\n",grapherrormessage(errorcode));
 
    printf("Для останова нажмите любую клавишу\n");
 
    getch();
 
    exit(1);  /* завершение с кодом ошибки */
 
 }
 
 
 
 /* инициализация графики и локальных переменных */
 
 initgraph(&graphdriver,&gmode,"");
 
 
 
 /* получение результата инициализации */
 
 errorcode = graphresult();
 
 if(errorcode != grOk)  /* если ошибка */
 
 {
 
    printf("Ошибка :%s\n",grapherrormessage(errorcode));
 
    printf("Для останова нажмите любую клавишу\n");
 
    getch();
 
    exit(1);  /* завершение с кодом ошибки */
 
 }
 
 midx = getmaxx()/2;
 
 midy = getmaxy()/2;
 
 /* выбрать шрифт */
 
 settextstyle(TRIPLEX_FONT,HORIZ_DIR,4);
 
 /* вывести текст */
 
 settextjustify(CENTER_TEXT,CENTER_TEXT);
 
 outtextxy(midx,midy, "The TRIPLEX FONT");
 
 
 
 /* очистка */
 
 getch();
 
 closegraph();
 
 return 0;
 
 }


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

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




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



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


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