Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.85/34: Рейтинг темы: голосов - 34, средняя оценка - 4.85
2 / 2 / 0
Регистрация: 08.05.2013
Сообщений: 14
1

Как определить, нажата ли клавиша Enter

17.07.2013, 02:26. Показов 6837. Ответов 3
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
В общем, хочу сделать чат на WinSock. Как только дошел до отправки/приема сообщений - сразу появилась проблема - как сделать так, чтобы срабатывало условие, если нажата клавиша, но при этом не останавливая программу. На помощь пришла функция _kbhit(), которая по идеи считывает последнюю нажатую клавишу, а далее на основе полученных данных можно провести проверку... Написал условие, узнал код клавиши Enter (13) и пошел проверять... Компилятор ошибок не выдал, однако код внутри выполняется бесконечное количество раз, а программа вовсе останавливается (?), хотя я явно указал, что его следует исполнять только если нажата клавиша Enter.
Скорее всего, конечно же, _kbhit() будет выдавать как последнюю клавишу Enter, пока я не нажму другую...
Так вот, как же сделать условие, исполняемое только если нажата клавиша Enter, но при этом не останавливая ход выполнения программы? Не обязательно использовать вышеописанный способ, можно любой другой ( использую CLI )

Код:
C++
1
2
3
4
5
6
7
8
9
while(1){
     vk = _kbhit();
     if(vk == 13){
 
     //Код, исполняемый, если нажата клавиша Enter
         vk =0 //Обнуляем переменную, чтобы if не срабатывала бесконечное количество раз.
         }//if
 
     }//while
1
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
17.07.2013, 02:26
Ответы с готовыми решениями:

Как определить, что на текстовом поле нажата клавиша Enter и выполнить какое либо действие?
Как определить, что на текстовом поле нажата клавиша Enter и выполнить какое либо действие?

Составьте программу которая выводит символы нажатых клавиш до те пор, пока не нажата клавиша ENTER
Составьте программу которая выводит символы нажатых клавиш до те пор, пока не нажата клавиша ENTER....

Как определить, была ли вообще нажата символьная клавиша?
То есть гарантированно отсеять клавиши, у которых нет своих символов. Всякие там бекспейсы и тому...

Как глобально определить, какая клавиша была нажата?
хочу написать что то вроде клав. шпиона... но кроме tab esc up down итд... я ничего отловить не...

3
Неэпический
17870 / 10635 / 2054
Регистрация: 27.09.2012
Сообщений: 26,737
Записей в блоге: 1
17.07.2013, 06:07 2
GetAsyncKeyState
1
2 / 2 / 0
Регистрация: 08.05.2013
Сообщений: 14
17.07.2013, 21:53  [ТС] 3
Слышал о таком, но как правильно его использовать? На MSDN примера не нашел.
0
Неэпический
17870 / 10635 / 2054
Регистрация: 27.09.2012
Сообщений: 26,737
Записей в блоге: 1
17.07.2013, 21:56 4
Стрелки клавиатуры в консоли
С Enter аналогично
2
17.07.2013, 21:56
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
17.07.2013, 21:56
Помогаю со студенческими работами здесь

Как определить нажата ли клавиша capslock, numlock, ins в vb.net?
Как определить нажата ли клавиша capslock, numlock, ins в vb.net? Надо для текстового редактора,...

Как проверять, нажата ли клавиша Esc, в каждой итерации цикла, и если нажата, то прервать выполнение цикла?
OwenGlendower, это обращение прежде всего к вам. Вызов функции, в которой происходит проверка...

Определить, какая клавиша нажата
Написал процедуру по определению нажатия кнопки, но как определить какая именно кнопка была нажата?

Нужно определить нажата ли клавиша?
Надо определить какая из сист. кнопок была нажата . теF1-f7,shift,enter и т.д. Помогите плеазе!!!!


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

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