Форум программистов, компьютерный форум CyberForum.ru

Как переделать из консольного приложения в форму? - C++

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 14, средняя оценка - 4.64
dj_floyd
0 / 0 / 0
Регистрация: 18.10.2011
Сообщений: 6
18.10.2011, 14:25     Как переделать из консольного приложения в форму? #1
Всем привет!
Есть рабочее консольное приложение на с++. управляет видеосервером, коннектит, посылает комманды и тп. всё через консоль. задача - сделать управление через программку под винду, кнопки жать то есть.
можно ли как-то добавить прямо в рабочий проект (консольный) форму, натянуть нужных кнопок и привязать к ним выполнение консольных комманд?
или при создании приложения Windows Forms происходит совершенно иное построение проекта, нежели для консольного, и нельзя никак преобразовать?
спасибо.
Лучшие ответы (1)
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
ChristyA
0 / 0 / 1
Регистрация: 12.10.2011
Сообщений: 6
18.10.2011, 14:54     Как переделать из консольного приложения в форму? #2
Можно, через switch задать каждой кнопке определённое действие или через while и создать курсор
dj_floyd
0 / 0 / 0
Регистрация: 18.10.2011
Сообщений: 6
18.10.2011, 15:14  [ТС]     Как переделать из консольного приложения в форму? #3
а как форму-то добавить в консольноый проект?
ChristyA
0 / 0 / 1
Регистрация: 12.10.2011
Сообщений: 6
18.10.2011, 15:48     Как переделать из консольного приложения в форму? #4
Сообщение было отмечено автором темы, экспертом или модератором как ответ
Форму не получиться, но можешь символами их
нарисовать
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 0
49 1
50 2
51 3
52 4
53 5
54 6
55 7
56 8
57 9
58 :
59 ;
60 <
61 =
62 >
63 ?
64 @
65 A
66 B
67 C
68 D
69 E
70 F
71 G
72 H
73 I
74 J
75 K
76 L
77 M
78 N
79 O
80 P
81 Q
82 R
83 S
84 T
85 U
86 V
87 W
88 X
89 Y
90 Z
91 [
92 \
93 ]
94 ^
95 _
96 `
97 a
98 b
99 c
100 d
101 e
102 f
103 g
104 h
105 i
106 j
107 k
108 l
109 m
110 n
111 o
112 p
113 q
114 r
115 s
116 t
117 u
118 v
119 w
120 x
121 y
122 z
123 {
124 |
125 }
126 ~
127 ⌂
128 А
129 Б
130 В
131 Г
132 Д
133 Е
134 Ж
135 З
136 И
137 Й
138 К
139 Л
140 М
141 Н
142 О
143 П
144 Р
145 С
146 Т
147 У
148 Ф
149 Х
150 Ц
151 Ч
152 Ш
153 Щ
154 Ъ
155 Ы
156 Ь
157 Э
158 Ю
159 Я
160 а
161 б
162 в
163 г
164 д
165 е
166 ж
167 з
168 и
169 й
170 к
171 л
172 м
173 н
174 о
175 п
176 ░
177 ▒
178 ▓
179 │
180 ┤
181 ╡
182 ╢
183 ╖
184 ╕
185 ╣
186 ║
187 ╗
188 ╝
189 ╜
190 ╛
191 ┐
192 └
193 ┴
194 ┬
195 ├
196 ─
197 ┼
198 ╞
199 ╟
200 ╚
201 ╔
202 ╩
203 ╦
204 ╠
205 ═
206 ╬
207 ╧
208 ╨
209 ╤
210 ╥
211 ╙
212 ╘
213 ╒
214 ╓
215 ╫
216 ╪
217 ┘
218 ┌
219 █
220 ▄
221 ▌
222 ▐
223 ▀
224 р
225 с
226 т
227 у
228 ф
229 х
230 ц
231 ч
232 ш
233 щ
234 ъ
235 ы
236 ь
237 э
238 ю
239 я
240 Ё
241 ё
242 Є
243 є
244 Ї
245 ї
246 Ў
247 ў
248 °
249 ∙
250 ·
251 √
252 №
253 ¤
254 ■
255


Пример:
Функции для работы в консоли
Для того что бы производить какие либо действия в консоле, необходимо пллучить от операционорй системы текущий номер открытой консоле. Делается это с помощью функции:
GetStdHhandle(STD_OUTPUT_HANDLE);
Данная функция вернёт номер текущего окна, который должен храниться в специальном типе данных, под названием HANDLE

SetConsoleTitle("text");
SetConsoleTextAttribute(HANDLE, цвет(0-255)) - устанавливает комбинацию цвета для консоли
SetConsoleCursorPosition(HANDLE, COORD) - позиция курсрра, где COORD - это тип данных для хранения координат. Внутри данного типа хранится сразу 2 значения. Координата по x и координата по y
SetConsoleCursorInfo(HANDLE, CONSOLE_CURSOR_INFO); - CONSOLE_CURSOR_INFO - структура транящая информацию о курсоре

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
#include<iostream>
#include<windows.h>
#include<conio.h>//COORD
 
using namespace std;
void main ()
{
    setlocale(0,"");
HANDLE h=GetStdHandle(STD_OUTPUT_HANDLE);
COORD start;
start.X=10;
start.Y=15;
SetConsoleTitle(L"Test Console");
SetConsoleTextAttribute(h, 22);
CONSOLE_CURSOR_INFO ci;
ci.dwSize=100;
ci.bVisible=false;
SetConsoleCursorInfo(h, & ci);
SetConsoleCursorPosition(h, start);
cout << "Test Console";
}
C++
1
2
3
4
    for(int i=0; i<256; i++)
        {
            cout << i << "\t" << (char)i << "\n\n";
        }
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
#include<iostream>
#include<windows.h>
#include<conio.h>//COORD
 
using namespace std;
void main ()
{
int ramka[10][20];
HANDLE h=GetStdHandle(STD_OUTPUT_HANDLE);
//COORD start;
//start.X=10;
//start.Y=15;
//SetConsoleTitle(L"Test Console");
//SetConsoleTextAttribute(h, 22);
//CONSOLE_CURSOR_INFO ci;
//ci.dwSize=100;
//ci.bVisible=false;
//SetConsoleCursorInfo(h, & ci);
//SetConsoleCursorPosition(h, start);
//cout << "Test Console";
for(int i=0; i<10; i++)
{
    for(int j=0; j<20; j++)
    {
        if(i==0 && j==0)ramka[i][j]=201;
        else if(i==9 && j==0)ramka[i][j]=200;
        else if(i==0 && j==19)ramka[i][j]=187;
        else if(i==9 && j==19)ramka[i][j]=188;
        else if((i>0 && i<9) && (j==0 || j==19))ramka[i][j]=186;
        else if((j>0 && j<19) && (i==0 || i==9))ramka[i][j]=205;
        else ramka[i][j]=0;
    }
}
for(int i=0; i<10; i++)
{
    for(int j=0; j<20; j++)
    {
        cout << (char)ramka[i][j];
    }
    cout << "\n";
}
}
 Комментарий модератора 
1. Используйте теги форматирования кода!
2. В следующий раз такое сообщение удалю, чтобы вы новое оформили как полагается.
dj_floyd
0 / 0 / 0
Регистрация: 18.10.2011
Сообщений: 6
18.10.2011, 16:42  [ТС]     Как переделать из консольного приложения в форму? #5
О, .... всуе не буду упоминать, не стОит.
ЗАБУДЬТЕ о псевдографике в консоли.
90е кончились.
интерфейс пишется для обычных людей, не для тех. специалистов.

если форму вставить не получится (вставка имелась ввиду замена консоли формой вообще),
то придется создать новый проект с формой и вставлять куски кода из консольного проекта.
OstapBender
 Аватар для OstapBender
581 / 519 / 35
Регистрация: 22.03.2011
Сообщений: 1,585
18.10.2011, 16:52     Как переделать из консольного приложения в форму? #6
Цитата Сообщение от dj_floyd Посмотреть сообщение
можно ли как-то добавить прямо в рабочий проект (консольный) форму, натянуть нужных кнопок и привязать к ним выполнение консольных комманд?
без сомнений - нет

Добавлено через 1 минуту
ну вообще говоря создать простую форму на Forms или тех же Qt или Бильдере дело нехитрое
Yandex
Объявления
18.10.2011, 16:52     Как переделать из консольного приложения в форму?
Ответ Создать тему
Опции темы

Текущее время: 17:03. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru