Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.97/32: Рейтинг темы: голосов - 32, средняя оценка - 4.97
WEB-developer
898 / 729 / 80
Регистрация: 12.03.2009
Сообщений: 2,804
Записей в блоге: 2
1

Подключить графику (Borland С++ 3.01)

10.06.2009, 15:10. Показов 6052. Ответов 9
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Помогите, пожалуста, кото знает-> мне нужно подключить графику, в Borland С++ 3.01)))
Кто знает как ето сделать большая посьба помочь мне, так как нет никакой литературы под рукой, а в нети ничего не могу найти(((...
Я только помню, что нужно пользоватся библиотекой #include <graph.h>,
но и знаю, что когда-то, в главной функции писал какието рядки, для работы, точно какие не помню(((...
Большая просьба помочь)))
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
10.06.2009, 15:10
Ответы с готовыми решениями:

Как в borland c++ for dos включить графику?
Кто помнит как в borland c++ for dos включить графику? Вот что я написал чтобы включить и...

Как в С++ подключить графику?
Как в С++ подключить графику, кроме как так ?Или почему ругается на это?

Не могу правильно подключить графику
Всем привет! Я попытался подключить графику , после долгих часов мучений, компиляция прошла...

Как подключить у Dev C++ графику
Как подключить у Dev C++ графику ?

9
26 / 26 / 9
Регистрация: 25.05.2009
Сообщений: 98
10.06.2009, 15:21 2
В BC есть замечательный help (вызывается, если память мне не изменяет правой кнопкой мыши). Там можно посмотреть что и как. Так что спокойно смотрите информацию по функции initgraph. В моем Борланде в хелпе есть даже пример того, как все делается (он там, кстати, на каждую функцию имеется) Надеюсь, с английским у вас проблем нету?
1
WEB-developer
898 / 729 / 80
Регистрация: 12.03.2009
Сообщений: 2,804
Записей в блоге: 2
10.06.2009, 15:48  [ТС] 3
Щоб не создавати нової теми->
Кто может порекомендувать какую либо книгу, по графике на С++ : тоесть, где есть описаные приемы, стандартные функции, и т.д... где её можна знайти???
0
26 / 26 / 9
Регистрация: 25.05.2009
Сообщений: 98
10.06.2009, 19:13 4
Простите, а зачем вам книга? Я ведь сказал, в BC31 отличный help. Берете, открываете его и смотрите содержимое библиотеки graphics.h
там для каждой функции есть примеры. А названия функций там очень даже говорящие: circle, line, floodfill, fillpoly... Не подумайте, что я вредный, просто я пока не встретил ни одной книги, где бы хоть как-то описывалась работа с графическим режимом, т. е. я осваивал графику как раз по help'у. Возможно, кто-нибудь и знает книгу, где это дело было бы описано, но этот кто-то точно не я.
0
WEB-developer
898 / 729 / 80
Регистрация: 12.03.2009
Сообщений: 2,804
Записей в блоге: 2
10.06.2009, 21:11  [ТС] 5
Deiron, Вы, смотрю, знаете С++, так Вы не могли бы мне помоч еще и с таким вопросом : как работать в етом же С++ с клавиатурой и мышкой? Какие функции отвечают за ето? Какие директивы? Можно работать с встроеними функциями, или нужно подключать ассемблеровские вставки???
0
26 / 26 / 9
Регистрация: 25.05.2009
Сообщений: 98
10.06.2009, 22:27 6
ну... с клавой все просто. Есть такая замечательная функция getch();
делаете так:
C++
1
2
3
4
5
6
7
8
9
10
int key;
//...
key=getch();
if(!key){
   key=getch();
//здесь обработка дополнительных клавиш (например <- или ->)
}
else {
//здесь обработка обычных клавиш (например алфавитных клавиш)
}
А вот с мышой можно работать только через прерывания.
Вот моя старая прога, которая рисовала круг по 2 точкам. Точки брались по нажатию левой клавиши мышки.
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
#include <dos.h>
#include <graphics.h>
#include <conio.h>
#include <iostream.h>
#include <math.h>
REGS reg1;
void InitMouse(int *nbuttons, int *OK);
void ShowMouse();
void HideMouse();
void ReadMouse(int *x,int *y,int *buttons);
void GetMouse(int *button,long *number,int *x,int *y);
void main()
{
 int b,ok;
 int gmode,gdriver=DETECT;
 int x1,y1,x2,y2;
 double x,y,r;
 long num,n1;
 initgraph(&gdriver,&gmode,"C:\\TC\\BGI");
 cleardevice();
 InitMouse(&b,&ok);
 ShowMouse();
 do
  ReadMouse(&x1,&y1,&b);
 while (!(b&1));//пока не нажата левая клавиша мыши
 num=0;
 do
 {
  GetMouse(&b,&n1,&x2,&y2);
  num=num+n1;
 }
 while (num<2); // пока число нажатий на ЛКМ меньше 2х
 x=((x1+x2)/2);
 y=((y1+y2)/2);
 r=sqrt(pow((x1-x2),2)+pow((y1-y2),2));
 r/=2;
 HideMouse;
 cleardevice();
 setcolor(GREEN);
 circle((int)x,(int)y,(int)r);
 cout<<"press any key to end";
 getch();
 closegraph();
 clrscr();
}
//---------------------------------------------------------------------------
void InitMouse(int *nbuttons, int *OK)
{
 reg1.x.ax=0;
 int86(0x33,&reg1,&reg1);
 *OK=reg1.x.ax;
 *nbuttons=reg1.x.bx;
}
void ShowMouse()
{
 reg1.x.ax=1;
 int86(0x33,&reg1,&reg1);
}
void HideMouse()
{
 reg1.x.ax=2;
 int86(0x33,&reg1,&reg1);
}
void ReadMouse(int *x, int *y, int *buttons)
{
 reg1.x.ax=3;
 int86(0x33,&reg1,&reg1);
 *buttons=reg1.x.bx;
 *x=reg1.x.cx;
 *y=reg1.x.dx;
}
void GetMouse(int *button,long *number,int *x,int *y)
{
 reg1.x.ax=5;
 reg1.x.bx=*button;
 int86(0x33,&reg1,&reg1);
 *button=reg1.x.ax;
 *number=reg1.x.bx;
 *x=reg1.x.cx;
 *y=reg1.x.dx;
}
InitMouse - просто подключает мышу.
ShowMouse - отображает курсор.
HideMouse -убирает курсор (но временно. Если мышу после этого сдвинуть, курсор поялвляется снова. Возможно это недочет моей проги).
ReadMouse - считывает позицию курсора buttons отвечает за то, какая клавиша нажата.

На самом деле эту прогу я делал почти копипастом (все функции работы с мышой с3,14зженны), поэтому объяснить, что там и как мне было бы сложно. Попробуй их сам помучать, чтобы разобраться
1
WEB-developer
898 / 729 / 80
Регистрация: 12.03.2009
Сообщений: 2,804
Записей в блоге: 2
10.06.2009, 22:49  [ТС] 7
Цитата Сообщение от Deiron Посмотреть сообщение
ну... с клавой все просто. Есть такая замечательная функция getch();
делаете так:
C++
1
2
3
4
5
6
7
8
9
10
int key;
//...
key=getch();
if(!key){
   key=getch();
//здесь обработка дополнительных клавиш (например <- или ->)
}
else {
//здесь обработка обычных клавиш (например алфавитных клавиш)
}
а вот такой вопрос : просто я никогда не работал с клавой, и не имею ни малейшого представления как проводится обработка клавиш "->" или "a", Ви не могли бы мне показать пример для обработки каких либо клавиш, чтобы я знал что и как нужно правильно делать...? Буду Вам очень благодарен)))
0
26 / 26 / 9
Регистрация: 25.05.2009
Сообщений: 98
10.06.2009, 23:21 8
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
#include <graphics.h>
#include <conio.h>                          
#include <stdio.h>                          
void main()                                 
{
    enum keys {UP = 72, DOWN = 80, LEFT=75, RIGHT=77, ESC=27};
    int gdriver=DETECT,gmode;
    int x,y,r=20;
    int key=0;
    initgraph(&gdriver,&gmode,"");
    cleardevice();
    x=getmaxx()/2;
    y=getmaxy()/2;
    setcolor(GREEN);
    circle(x,y,r);
    do
    {
        if (kbhit()){
            if (!(key=getch())) key=getch();
            switch (key)
            {
            case UP:
                {
                    setcolor(getbkcolor());
                    circle(x,y,r);
                    y=y-5;
                    setcolor(GREEN);
                    circle(x,y,r);
                    break;
                }
            case DOWN:
                {
                    setcolor(getbkcolor());
                    circle(x,y,r);
                    y=y+5;
                    setcolor(GREEN);
                    circle(x,y,r);
                    break;
                }
            case LEFT:
                {
                    setcolor(getbkcolor());
                    circle(x,y,r);
                    x=x-5;
                    setcolor(GREEN);
                    circle(x,y,r);
                    break;
                }
            case RIGHT:
                {
                    setcolor(getbkcolor());
                    circle(x,y,r);
                    x=x+5;
                    setcolor(GREEN);
                    circle(x,y,r);
                    break;
                }
            }
        }
    } while (key!=ESC);
    closegraph();
    clrscr();
}
Вот эта программа реализует движение зеленого круга. Управление - клавиши вверх/вниз/влево/вправо. Выход - Esc.
Внимание: третьим параметром в initgraph должен быть путь к EGAVGA.BGI
Для корректной работы с параметром "" поместите EGAVGA.BGI в папку BIN.
Функция kbhit говорит нам о том, нажат ли хоть какая-то клавиша. После нее идет обработка. Надеюсь с ней вы сами разберетесь.
Коды клавиш я взял из имеющейся у меня под рукой таблицы ASCII. Но можно написать маленькую прогу, которая по нажатии клавиши будет выдавать ее код
1
1 / 1 / 2
Регистрация: 29.04.2009
Сообщений: 22
11.06.2009, 19:39 9
Я конечно не спец по С++
Но для работы элементарной графики нужно подключать директиву "initgraph" , иметь соответствующие дрова BGI, в частности EGAVGA.BGI и в настройках Options->Linker->Libraries поставить галочку в graphics library
0
23 / 20 / 3
Регистрация: 03.04.2009
Сообщений: 257
16.10.2009, 00:36 10
Друзья а што делать когда монитор жк на ноуте. И при запуске идет штота похожее на инициализацию режима и ничево.
0
16.10.2009, 00:36
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
16.10.2009, 00:36
Помогаю со студенческими работами здесь

Как подключить графику к написанной программе?
Здравствуйте. Я совсем новичок в программировании, попытался написать программу шахмат. У меня...

Как подключить графику PyPlot в Python
Скажите пожалуйста, что делать. Установил Python 2.7. Как теперь добавить pyplot, чтобы рисовать...

Подключить библиотеку boost в borland 6
Первый раз пытаюсь обратится к сторонней библиотеке и при попытке подключении выходит ошибка. Что...

Borland C++ 3.0 - Как подключить LIB файл к проекту?
Добрый день! Мне необходимо использовать стороннюю библиотеку функций. Имеется один LIB и один ...

Как в Borland C++ к проекту подключить lib библиотеку?
Как в Borland C++ к проекту подключить lib библиотеку?

Как подключить свой заголовочный файл в Borland 3.1
Друзья,у меня свой заголовочный файл с расширением .h ,который я буду вызывать в основном файле...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
10
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru