Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.73/179: Рейтинг темы: голосов - 179, средняя оценка - 4.73
19 / 16 / 1
Регистрация: 10.01.2010
Сообщений: 252

Определить код нажатой клавиши

28.02.2011, 17:38. Показов 34821. Ответов 11
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Есть ли альтернатива для команды getch() в Visual C++ 2008??? А то нигде найти не могу

Добавлено через 38 секунд
А то getch() в 2008-ом не канает((

Добавлено через 22 секунды
для консоли
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
28.02.2011, 17:38
Ответы с готовыми решениями:

прога, которая по нажатой клавише выводит ascii - код символа это клавиши или scan - код самой клавиши.
написать программу, которая по нажатой клавише выводит ascii - код символа этой клавиши или scan - код самой клавиши. осуществите вывод в...

функция выдает код нажатой клавиши
привет всем) подскажите пожалуйста есть ли такой оператор, который выдаст код нажатой клавиши,без нажатия клавиши ввода,т.е. нажали...

Получить код нажатой клавиши без ожидания ввода в консоли
Задание сделать консольный арканоид. Естественно, что нужно получить управление и при этом игра должна продолжать идти, если игрок ничего...

11
59 / 59 / 2
Регистрация: 22.01.2011
Сообщений: 187
28.02.2011, 17:39
C
1
#include <conio.h>
и проканает.
0
19 / 16 / 1
Регистрация: 10.01.2010
Сообщений: 252
28.02.2011, 17:43  [ТС]
в том и дело что он подключен, а ошибку кидает... типо он не знает что за оператор
0
 Аватар для MILAN
899 / 793 / 186
Регистрация: 21.02.2009
Сообщений: 1,722
28.02.2011, 17:44
PodOnoK, а чем вас getch не устраивает?

C
1
2
3
4
5
6
7
8
9
10
#include <stdio.h>
      #include <conio.h>
       int main()
      {
        printf("Press any key\n");
        while(!kbhit());
        printf("\n Key kod - %d\n", getch());
        getch();
        return 0;
      }
0
375 / 322 / 32
Регистрация: 24.02.2011
Сообщений: 1,512
Записей в блоге: 1
28.02.2011, 17:46
А так _getch(). Вобще то у меня 2008 и работает getch().
Есть еще _getche()
1
 Аватар для sbhx
32 / 26 / 4
Регистрация: 02.02.2011
Сообщений: 96
28.02.2011, 20:17
извините может я не в тему но может кто знает как узнать нажатие не клавиши к буквой а клавиши типа Tab или start
вот мой код:
C++
1
2
3
4
5
char a = getch();
if(a == ' '){ // тут вместо пробела надо бы как-то задать чтобы если нажали, например, shift или start (что мне как рас и нужно и еще нужно бы что-то чтобы распознать стрелки.).
cout << "Здравствуйте" << endl;
getch();
}
заранее спасибо

Добавлено через 41 минуту
никто не знается таких вещей? я думал что это просто, но я просто не могу додуматься
0
375 / 322 / 32
Регистрация: 24.02.2011
Сообщений: 1,512
Записей в блоге: 1
28.02.2011, 20:29
Посмотри, что она возвращает. Конечно инидивидуальные нажатия клавиш shift, alt, ctrl, start она не обрабатывает. Но клавиши курсора и т.д. Только в некоторых случаях (F1-F12, клавиши курсора) эта функция вызывается дважды.
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#include<iostream>
#include<conio.h>
 
int main()
{
    using namespace std;
    int ch;
    do
    {
        ch = getch();
 
        cout << ch << endl;
 
    }
    while (ch != 'y');
 
    system("PAUSE");
    return 0;
}
0
 Аватар для sbhx
32 / 26 / 4
Регистрация: 02.02.2011
Сообщений: 96
28.02.2011, 21:25
а тогда как сделать чтобы можно было использовать клавиши ф1-ф12?
да и конечно как сделать чтобы реагировало в консольной программе на щелчки мыши, это меня тоже очень интересует

Добавлено через 29 минут
что никто не знается уже то что точно можно сделать с кнопками ф1-ф12?
не знаю как кнопки мыши в консоли но с ф1-ф12 точно можно.
0
19 / 16 / 1
Регистрация: 10.01.2010
Сообщений: 252
28.02.2011, 23:39  [ТС]
Цитата Сообщение от MILAN Посмотреть сообщение
PodOnoK, а чем вас getch не устраивает?

C
1
2
3
4
5
6
7
8
9
10
#include <stdio.h>
      #include <conio.h>
       int main()
      {
        printf("Press any key\n");
        while(!kbhit());
        printf("\n Key kod - %d\n", getch());
        getch();
        return 0;
      }
меня он всем устраивает, но его С++ 2008 не признает... Он его то признает то нет. не пойму в чем дело((

Добавлено через 7 минут
он getch() в главном файле программы признает, а в файлах класа нет(((

Добавлено через 23 секунды
хотя и там и там conio.h подключен

Добавлено через 8 минут
и gotoxy(1,1); вообще нигде не признает...
0
 Аватар для GAME
23 / 23 / 5
Регистрация: 31.10.2009
Сообщений: 199
28.02.2011, 23:43
Цитата Сообщение от PodOnoK Посмотреть сообщение
и gotoxy(1,1); вообще нигде не признает...

а вот gotoxy нету по моему. её самому писать надо.
0
 Аватар для MILAN
899 / 793 / 186
Регистрация: 21.02.2009
Сообщений: 1,722
28.02.2011, 23:45
Цитата Сообщение от GAME Посмотреть сообщение
а вот gotoxy нету по моему.
Мне тоже почему то кажется что ето борландовская штука, хотя могу ошыбатся.
0
19 / 16 / 1
Регистрация: 10.01.2010
Сообщений: 252
01.03.2011, 00:44  [ТС]
да в борланде была)

Добавлено через 20 минут
Цитата Сообщение от GAME Посмотреть сообщение
а вот gotoxy нету по моему. её самому писать надо.
а на у кого ее нет?? А та я в инете нашел, но она какая-то кривая((

Добавлено через 32 секунды
C++
1
2
3
4
5
6
7
8
9
10
void gotoxy(int x,int y)
{
  HANDLE hConsole;
  COORD cursorLoc;
  cout.flush();
  cursorLoc.X = x;
  cursorLoc.Y = y;
  hConsole = GetStdHandle(STD_OUTPUT_HANDLE);
  SetConsoleCursorPosition(hConsole, cursorLoc);
}
Добавлено через 2 минуты
А все норм)) Прост не въхал сразу что тут окно начинается с 0

Добавлено через 32 минуты
А как сделать так, чтоб содержимое консоли сдвинулось на одну позицию вниз?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
01.03.2011, 00:44
Помогаю со студенческими работами здесь

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

Возврат значения нажатой клавиши
Подскажите ассемблеровскую вставку для С++. Чтобы возвращалось значение нажатой клавиши

Определение нажатой клавиши,консольное приложение.
Здравствуйте,есть программка которая при нажатии на одну из стрелок клавиатуры должна написать какая стрелка нажата: #include...

Как получить имя нажатой клавиши
Может кто занет, есть ли какая-нибудь функция которая возвращает по коду нажатой клавиши ее название? Например, была нажат ESC - мы...

Прерывание бесконечного цикла с возвратом значения нажатой клавиши в main()
Вкратце, в функции main() есть некий объект класса - scene, также есть бесконечно работающий цикл while(1), в котором вызывается...


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

Или воспользуйтесь поиском по форуму:
12
Ответ Создать тему
Новые блоги и статьи
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Access
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
Создание Single Page Application на фреймах
krapotkin 16.11.2025
Статья исключительно для начинающих. Подходы оригинальностью не блещут. В век Веб все очень привыкли к дизайну Single-Page-Application . Быстренько разберем подход "на фреймах". Мы делаем одну. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru