• 15 апреля стартует «Курс «SQL-injection Master» ©» от команды The Codeby

    За 3 месяца вы пройдете путь от начальных навыков работы с SQL-запросами к базам данных до продвинутых техник. Научитесь находить уязвимости связанные с базами данных, и внедрять произвольный SQL-код в уязвимые приложения.

    На последнюю неделю приходится экзамен, где нужно будет показать свои навыки, взломав ряд уязвимых учебных сайтов, и добыть флаги. Успешно сдавшие экзамен получат сертификат.

    Запись на курс до 25 апреля. Получить промодоступ ...

Работа с графикой (ДОС)

  • Автор темы BattleMage
  • Дата начала
B

BattleMage

Здравствуйте, товарищи. Доброго времени суток!
У меня возникла такая проблема: как вообще пользоваться графикой в Си под ДОСом (Borland C++ 3.1)
библиотеку graphics.h включать умею :)

Скопировал прогу из хелпа стандартного, но она не пашет.
Ошибки такие:
undefined symbol _closegraph() in module ...\BAR.cpp
undefined symbol _bar() in module ...\BAR.cpp
undefined symbol _grapherrormsg() in module ...\BAR.cpp
и так далее...

Текст проги такой:
Код:
#include <graphics.h>
#include <stdlib.h>
#include <stdio.h>
#include <conio.h>

void main()
{
/* request auto detection */
int gdriver = DETECT, gmode, errorcode;
int midx, midy, i;

/* initialize graphics and local variables */
initgraph(&gdriver, &gmode, "");

/* read result of initialization */
errorcode = graphresult();
/* an error occurred */
if (errorcode != grOk)
{
printf("Graphics error: %s\n", grapherrormsg(errorcode));
printf("Press any key to halt:");
getch();
return;
/* terminate with an error code */
}

midx=320;
midy=240;
// midx = getmaxx() / 2;
// midy = getmaxy() / 2;

/* loop through the fill patterns */
for (i=SOLID_FILL; i<USER_FILL; i++)
{
/* set the fill style */
//  setfillstyle(i, getmaxcolor());
/* draw the bar */
bar(midx-50, midy-50, midx+50, midy+50);
getch();
}

/* clean up */
closegraph();
return;
}

Папку BGI скопировал в папку с прогой (bar.cpp)
 
P

Pasha

Для: BattleMage
Где-то в опциях линкера есть галочка для подключения графических библиотек.
З.Ы. BC++ 3.1...Некрофил :(
 
B

BattleMage

А как рисовать прямоугольники разными цветами?

Код:
#include <graphics.h>
#include <stdlib.h>
#include <stdio.h>
#include <conio.h>

void main()
{
int gdriver = DETECT, gmode, errorcode;
initgraph(&gdriver, &gmode, "d:\\BC\\BGI");
errorcode = graphresult();
if (errorcode != grOk)
{
printf("Graphics error: %s\nPress any key to halt:", grapherrormsg(errorcode));
getch();
return;
}
bar(0,0,160,480);
bar(320,0,480,480);
getch();
return;
}
 
T

TeD

кстати, я юзаю Dev-C++. там нет библиотеки graphics.h. Или я просто чего то незнаю? Если несложно подскажите
 
P

Pasha

Для: TeD
Это библиотека от борланда. Та же самая, которая шла с Turbo Pascal.
Для: BattleMage
Поищи в graphics.h функции вроде setcolor/setfillcolor.
 
M

magnatix

Помогите плз.;) У меня turbo C под MS-DOS , у меня не получаеться подклучить модуль <graphics.h>, программа правилиная точно так как с книги пробовал переписывать, но проблема в том что после того как компилирую программу выбивает ошибку связаную с initgraph и line, уверен в том что просто не могу подключить графику!!! <_<
 
G

gamecreator

может в турбо си этого хедера нет?
 
Мы в соцсетях:

Обучение наступательной кибербезопасности в игровой форме. Начать игру!