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

Текстовое окно или ТекстБокс - C++

Восстановить пароль Регистрация
 
Jekidollar
 Аватар для Jekidollar
3 / 3 / 0
Регистрация: 26.03.2009
Сообщений: 50
26.04.2010, 00:25     Текстовое окно или ТекстБокс #1
Ребят, есть проблема. Надо напиасть текст программы с правой стороны экрана. В Борланде есть для этого функция window из библиотеки conio.h. А я работаю не в борланде , а в Dev-C++ и эта библиотека не содержит данной функции. Вопрос какои функцией писать текст на правой стороне экрана? Как создать текстовое окно или тест бокс?

Табуляцию, и писать в Борланде не предлагать!

Заранее спасибо!
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Vorona
Peace 2 all shining faces
 Аватар для Vorona
660 / 522 / 44
Регистрация: 05.03.2010
Сообщений: 1,256
26.04.2010, 00:39     Текстовое окно или ТекстБокс #2
есть ф-ция gotoxy(x, y); и wherex();
к примеру
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
#include <conio.h>
 
int main(void)
{
    const int x = 40, size = 1024;
    int y = 1, i = 0;
    char c, buf[size];
 
    gotoxy(40, y);
    while(c!=27){
        if(wherex() == 80){
            y++;
            gotoxy(x, y);
        }
        if(c == 13){
            y++;
            gotoxy(x, y);
        }
        c = getch();
        buf[i] = c;
        cprintf("%c", buf[i]);
        i++;
    }
    return 0;
}
примерно так мы записываем символы в массив, пока не будет нажата клавиша Esc и курсор ввода текста всегда будет находиться на длине 40 символов(центр экрана по оси OX)
MikeSoft
Эксперт C++
 Аватар для MikeSoft
3782 / 1766 / 85
Регистрация: 21.11.2009
Сообщений: 2,540
26.04.2010, 00:47     Текстовое окно или ТекстБокс #3
Jekidollar, попробуйте использовать функцию setw(int):

C++
1
2
3
4
5
6
7
8
9
10
#include <iostream>
#include <iomanip>
using namespace std;
 
int main()
{
  cout << right << setw(80) << "Hello World" << endl;
  cin.get();
  return 0;
}
Vorona
Peace 2 all shining faces
 Аватар для Vorona
660 / 522 / 44
Регистрация: 05.03.2010
Сообщений: 1,256
26.04.2010, 01:01     Текстовое окно или ТекстБокс #4
узнал, что таких ф-ций нет в стандартной библиотеке conio.h в Dev-C++, потому вот поправочка:
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
#include <conio.h>
#include <stdio.h>
#include <windows.h>
 
void gotoxy(int &x, int y)
{
   COORD cur = {x, y};
   SetConsoleCursorPosition(GetStdHandle(STD_OUTPUT_HANDLE), cur);
 
}
 
int main(void)
{
    const int size = 1024, cursorx = 40;
    int y = 1, i = 0, x = cursorx;
    char c, buf[size];
    gotoxy(x, y);
    while(c!=27){
        if(x == 80){
            y++;
            x = cursorx;
            gotoxy(x, y);
        }
        if(c == 13){
            y++;
            x = cursorx;
            gotoxy(x, y);
        }
        x++;
        c = getch();
        buf[i] = c;
        printf("%c", buf[i]);
        i++;
    }
    return 0;
}
Jekidollar
 Аватар для Jekidollar
3 / 3 / 0
Регистрация: 26.03.2009
Сообщений: 50
26.04.2010, 17:45  [ТС]     Текстовое окно или ТекстБокс #5
Мне кажется что данная функция не подойдет(перевод курсора), так как мне необходимо на левой части экрана сделать меню, а на правой должна располагаться работа программы.
GAME
 Аватар для GAME
22 / 22 / 3
Регистрация: 31.10.2009
Сообщений: 199
26.04.2010, 20:10     Текстовое окно или ТекстБокс #6
Jekidollar, в консольке работаете ?
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
26.04.2010, 21:44     Текстовое окно или ТекстБокс
Еще ссылки по теме:

C++ составить текстовое меню с++
C++ Нужно что бы если в текстбокс не вводиться текст, то срабатывала исключительная ситуация, которая просила бы юзера заполнить его.
C++ Создать окно с кнопкой, закрывающей это окно

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

Или воспользуйтесь поиском по форуму:
Vorona
Peace 2 all shining faces
 Аватар для Vorona
660 / 522 / 44
Регистрация: 05.03.2010
Сообщений: 1,256
26.04.2010, 21:44     Текстовое окно или ТекстБокс #7
ну так воспользоваться ф-цией gotoxy(&x, y) и написать меню до того, как х = 30(к примеру)
а все результаты писать от x = 50(к примеру), а по всем х = 40 написать | и получится
1. Добавить элемент | Имя: Ваня
2. Изменить элемент | Возраст: 19
3. Удалить элемент.. | Работа: Программист
4. Показать элемент | Адрес: Москва
0. Выход................. |
только без лишних точек и красивее в консоли смотреться будет)
Yandex
Объявления
26.04.2010, 21:44     Текстовое окно или ТекстБокс
Ответ Создать тему
Опции темы

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