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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 10, средняя оценка - 4.80
CoffeeSamurai
2 / 2 / 0
Регистрация: 04.04.2011
Сообщений: 19
#1

Работа с консолью в Windows. Перемещение фокуса ввода на начало. - C++

25.07.2011, 23:30. Просмотров 1267. Ответов 4
Метки нет (Все метки)

Хочу написать тетрис в текстовом режиме, а для этого надо каждый раз заново выводить заново поле с текстовым изображением предметов. Как перемещать фокус ввода (или как это называется), на начало.
К примеру я вывел текст: "Hello World!!!";
Как сделать так, чтобы можно было снова вводить с того места, где находится символ "H"?
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
25.07.2011, 23:30
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Работа с консолью в Windows. Перемещение фокуса ввода на начало. (C++):

Перемещение фокуса по нажатию на TAB - C++
Привет. У меня есть проект на с++ + MFC. Там есть диалог. В этом диалоге при нажатии на TAB, фокус идет не попрядку по контролам, а...

Работа с консолью - C++
Можно ли работать с бд в конлоси. Если да то подкажите как поочерёдно лоставать из таблицы например 123 по значению Показывать его...

Работа с консолью - C++
Добрый день. Нужно, чтобы при выполнении программы в консоли автоматически выполнялась вот такая строка. Подскажите как реализовать.

Работа с консолью - C++
Есть консоль которая вызывается в DLL таким кодом AllocConsole();; 1) Как можно писать ней разноцветным шрифтом отдельные...

Работа с консолью в Dev C++ - C++
можно ли на фон консоли поставить картинку?если да то какой фукцией это можно сделать??

Работа с консолью. Уменьшение нагрузки на ЦП - C++
Значит имеется следующий код: #include <conio.h> #include <iostream> int main() { bool bExit = false; while (!bExit) { ...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
iama
1250 / 975 / 49
Регистрация: 30.07.2010
Сообщений: 5,297
25.07.2011, 23:45 #2
Если не будете слишком часто обновлять экран, то и
C++
1
system("cls");
покатит
0
xAtom
915 / 740 / 60
Регистрация: 09.12.2010
Сообщений: 1,346
Записей в блоге: 1
26.07.2011, 06:20 #3
Вот привёл не большой пример, смотри. :cofee2:
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
#include <stdio.h>
#include <windows.h>
 
 
int main(void){
 
    HANDLE  hout = GetStdHandle(STD_OUTPUT_HANDLE);
 
    const char* chars[7] = {
        "Samsung\n",
        "Motorolla\n",
        "Sony Erricson\n",
        "Nokia\n",
        "Apple\n",
        "LG\n",
        "PHILIPS\n"
    };
 
    DWORD dw;
    for(int i  = 0; i < 7; i++) {
        SetConsoleTextAttribute(hout, 9 + i);
        WriteConsole(hout, chars[i], lstrlen(chars[i]), &dw, NULL);
    }
    Sleep(1000u);
 
    CONSOLE_SCREEN_BUFFER_INFO info;
    GetConsoleScreenBufferInfo(hout, &info);
    int cnt = 8;
    while(cnt--) {  // Поднимимся назад к самой первой строке
        COORD pos = { info.dwCursorPosition.X, info.dwCursorPosition.Y-- };
        SetConsoleCursorPosition(hout, pos);
        FillConsoleOutputCharacter(hout, ' ', info.dwSize.X,      pos, &dw);
        FillConsoleOutputAttribute(hout, 40 + cnt*20, info.dwSize.X, pos, &dw);
        Sleep(1000u);
    }
 
    getchar();
    return 0;
}
0
-=ЮрА=-
Заблокирован
Автор FAQ
26.07.2011, 09:28 #4
Посмотри этот пост там как раз по твоей теме и даже чуть больше
Несколько вопросов
0
nikkka
Мат в 32 хода
235 / 170 / 8
Регистрация: 10.09.2009
Сообщений: 1,096
26.07.2011, 10:07 #5
так тоже можно, и для тетриса по моему больше подойдёт. правда этот способ не стирает существующие символы а просто перемещяет каретку. а ещё вместо endl придётся использовать \n...
C++
1
2
3
4
5
6
7
#include <iostream>
int main()
{
    std::cout<<"Hello, world!";
    std::cout<<"\b\b\b\b\b\b\b\b\b\b\b\b\b";
    return 0;
}
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
26.07.2011, 10:07
Привет! Вот еще темы с ответами:

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

Перемещение максимального елемента в начало очереди - C++
#include &lt;stdio.h&gt; #include &lt;conio.h&gt; #define LEN 100 int g_count = 0; int* g_v = NULL; void queue(int val) ...

Используя динамический массив выполнить перемещение всех цифровых символов в начало заданной строки - C++
Требуется помощь в написании следующей задачи -&gt; Ввести символьную строку. Выполнить перемещение всех цифровых сим-волов в начало...

Переместить указатель потока ввода на начало файла - C++
Вот я воспользовался функцией feof по отношению к файлу и у меня указатель сместился на конец файла... Теперь при попытке прочитать из...


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

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
26.07.2011, 10:07
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru