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

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


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

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



Программисты долго мучаются с кодом прогаммы, изучают С++, WinAPI функции, MSDN. Потом пишут банальную систему защиты или навешивают банальный протектор, а крэкеры и реверсеры справляются с такой защитой за 5 минут. В итоге, продажи программы почти нулевые. Чтобы такого не допустить, тут самому надо немного поднабрать опыта отладки, реверсинга, тот же отладчик Ollydbg изучить или дизассемблер IDA Pro. Но где искать по крохам эти знания? Нет, конечно можно годами "методом тыка" разбираться, но куда быстрее видеокурс специальный посмотреть. Вот тут он есть: ссылка. Автор курса с большим опытом и объясняет понятно, я из этого курса много узнал про то как работает компьютер, процессор, про инструменты специальные и как с ними работать. Мои коллеги программисты на работе ничего такого и не знают, теперь я им нос утру.

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

 
 
 
 Синтаксис          #include <graphics.h>
 
                    void var gettexsettings(struct
 
                         textsettingstype far *texttypeinfo);
 
 
 
 
 
 Файл, содержащий   graphics.h
 
 прототип
 
 
 
 Описание           gettextsettings заполняет                структуру
 
                    textsettingstype,  на  которую указывает textinfo,
 
                    информацией   о    текущем    текстовом    шрифте,
 
                    направлении, размере и выравнивании.
 
 
 
                    Структура textsettingstype,           используемая
 
                    gettextsettings, определена в graphics.h следующим
 
                    образом:
 
 
 
                    struct textsettingstype{
 
                     int font;
 
                     int direction;
 
                     int charsize;
 
                     int horiz;
 
                     int vert;
 
                     };
 
 
 
                    Смотрите settextstyle,   в   которой    содержится
 
                    описание этих полей.
 
 
 
 Возвращаемое       Нет.
 
 значение
 
 
 
 Переносимость      Функция уникальна  для  Borland C++.  Она работает
 
                    только на компьютерах IBM PC и совместимых с ними,
 
                    оснащенных дисплейными адаптерами, поддерживающими
 
                    графический   режим.   Функция   не  совместима  с
 
                    Windows.
 
 
 
 Смотрите также     outtext, outtextxy, registerbgifont,
 
                    settextjustify, settextstyle,
 
                    setusercharsize, textheight, textwidth.
 
 
 
 Пример:
 
 
 
 #include <graphics.h>
 
 #include <stdlib.h>
 
 #include <stdio.h>
 
 #include <conio.h>
 
 
 
 /* имена поддерживаемых шрифтов */
 
 char *font[] = {"DEFAULT_FONT",
 
                 "TRIPLEX_FONT",
 
                 "SMALL_FONT",
 
                 "SANS_SERIF_FONT",
 
                 "GOTHIC_FONT"
 
                 };
 
 /* имена направлений текста */
 
 char *dir[] = {"HORIS_DIR","VERT_DIR"};
 
 
 
 /* горизонтальное выравнивание текста */
 
 char *hjust[] = {"LEFT_TEXT","CENTER_TEXT","RIGTH_TEXT"};
 
 
 
 /* вертикальное выравнивание текста */
 
 char *vjust[] = {"BOTTOM_TEXT","CENTER_TEXT","TOP_TEXT"};
 
 
 
 int main(void)
 
 {
 
 /* Запрос автоопределения */
 
 int graphdriver = DETECT, gmode, errorcode;
 
 struct textsettingstype textinfo;
 
 int midx,midy,ht;
 
 char fontstr[80],dirstr[80],sizestr[80];
 
 char hjuststr[80],vjuststr[80];
 
 
 
 /* инициализация графики и локальных переменных */
 
 initgraph(&graphdriver,&gmode,"");
 
 
 
 /* получение результата инициализации */
 
 errorcode = graphresult();
 
 if(errorcode != grOk)  /* если ошибка */
 
 {
 
    printf("Ошибка :%s\n",grapherrormessage(errorcode));
 
    printf("Для останова нажмите любую клавишу\n");
 
    getch();
 
    exit(1);  /* завершение с кодом ошибки */
 
 }
 
 midx = getmaxx()/2;
 
 midy = getmaxy()/2;
 
 /* получить информацию о текущем шрифте */
 
 gettextsettings(&textinfo);
 
 /* преобразовать информацию в строки */
 
 sprintf(fontstr,"Шрифт: %s",font[textinfo.font]);
 
 sprintf(dirstr,"Напрвление: %s",dir[textinfo.direction]);
 
 sprintf(sizestr,"Размер: %d",textinfo.charsize);
 
 sprintf(hjuststr,"Горизонтальное выравнивание: %s",
 
          hjust[textinfo.horiz]);
 
 sprintf(hjuststr,"Вертикальное выравнивание: %s",
 
          hjust[textinfo.vert]);
 
 /* вывести информацию */
 
 ht = textheight("W");
 
 settextjustify(CENTER_TEXT,CENTER_TEXT);
 
 outtextxy(midx,midy,fontstr);
 
 outtextxy(midx,midy+2*ht,direstr);
 
 outtextxy(midx,midy+4*ht,sizestr);
 
 outtextxy(midx,midy+6*ht,hjuststr);
 
 outtextxy(midx,midy+8*ht,vjuststr);
 
 /* очистка */
 
 getch();
 
 closegraph();
 
 return 0;
 
 }


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

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




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



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


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