![]() |
|
Модераторы: Daevaorn |
![]()
|
|
| Dexx |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 292 Регистрация: 13.6.2005 Репутация: нет Всего: 7 |
Как обработать нажатие кнопок на клаве в цикле
for (;;) { //case там и все дела } И при нажатии кнопки вызвать нужную процедуру! Т.е. как узнать что нажата определенная кнопка не важно скан код или аски! хоть что нибудь! -------------------- |
|||
|
||||
| zkv |
|
|||
![]() ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 2133 Регистрация: 23.7.2006 Где: Санкт-Петербург Репутация: 26 Всего: 92 |
консоль?
вспоминается что-то типа kbhit() + getch() из conio.h - мануал поможет. |
|||
|
||||
| fullnull |
|
||||
|
Новичок Профиль Группа: Участник Сообщений: 10 Регистрация: 23.7.2007 Репутация: нет Всего: нет |
Или еще если неизвестно, нажата клавиша или нет:
|
||||
|
|||||
| georain |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 193 Регистрация: 28.11.2006 Где: Санкт-Петербург Репутация: нет Всего: нет |
А (как||можно) сделать чтобы в ожидании
поток засыпал? Это сообщение отредактировал(а) georain - 28.2.2008, 16:14 |
|||
|
||||
| georain |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 193 Регистрация: 28.11.2006 Где: Санкт-Петербург Репутация: нет Всего: нет |
Думал, создавать ли новую тему, всё-же решил тут написать.
Как написать кроссплатформенное консольное приложение которое одновременно выводит информацию на экран и считывает ввод с клавиатуры, можно в одном, можно в разных потоках, но ввод и вывод не связан. Т.е. информация на экран выводится по таймеру, но в любой момент можно ввести команду. Отображать введённые символы очень желательно. Я пока только додумался сделать в трёх потоках, один отображает блокируясь по таймеру, второй принимает буферизованный ввод блокируясь на cin, а третий всем этим управляет. Отображение сделал на cout'ах, поэтому введённые буквы затираются, да и честно говоря не уверен как на винде это будет выглядеть, пишу на линуксе. В общем товарищи, подскажите как это сделать правильно. Добавлено @ 16:59 А
это стандартный файл c++? Это вроде только под виндовс. Это сообщение отредактировал(а) georain - 28.2.2008, 17:07 |
|||
|
||||
| georain |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 193 Регистрация: 28.11.2006 Где: Санкт-Петербург Репутация: нет Всего: нет |
Есть вообще библиотеки по работе с вводом - выводом в консоль?
|
|||
|
||||
| Alek86 |
|
|||
|
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1299 Регистрация: 30.1.2007 Где: Киев Репутация: 21 Всего: 25 |
конечно С++ знать не знает ни о каких устройствах, тем более ввода-вывода кстати и правда, есть ли библиотеки типа boost::filesystem, только для обработки нажатий клавиш и т.п.? |
|||
|
||||
| Mayk |
|
|||
![]() ^аВаТаР^ сообщение>> ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 2616 Регистрация: 22.5.2005 Где: за границей разум а Репутация: 45 Всего: 134 |
curses есть и под юнихи и вроде под винду(например, pdcurses). SLang есть под юникс, про винду не знаю -- не интересовался. -------------------- Здесь был кролик. Но его убили. Человеки < кроликов, йа считаю. |
|||
|
||||
| georain |
|
||||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 193 Регистрация: 28.11.2006 Где: Санкт-Петербург Репутация: нет Всего: нет |
Чёт я у себя его не нашёл
Интересуют именно кросплатформенные библиотеки. |
||||
|
|||||
| Alek86 |
|
|||
|
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1299 Регистрация: 30.1.2007 Где: Киев Репутация: 21 Всего: 25 |
устройства ввода-вывода? ) клавиатура является одним из таких устройств... и С++ о ней знать не знает так что и стандартных файлов для ее порддержки быть не может |
|||
|
||||
| vinter |
|
|||
![]() Explorer ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2735 Регистрация: 1.4.2006 Где: Н.Новгород Репутация: 13 Всего: 56 |
это борландовский хидер, вроде в версиях старше 3.1 conio.h вообще нет.. |
|||
|
||||
| georain |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 193 Регистрация: 28.11.2006 Где: Санкт-Петербург Репутация: нет Всего: нет |
А есть кроссплатформ библиотека для перехвата нажатий на клавиши, что-то типа небуферизованного ввода?
|
|||
|
||||
| Mayk |
|
|||
![]() ^аВаТаР^ сообщение>> ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 2616 Регистрация: 22.5.2005 Где: за границей разум а Репутация: 45 Всего: 134 |
Read the fucking manual.
Это сообщение отредактировал(а) Mayk - 29.2.2008, 06:22 -------------------- Здесь был кролик. Но его убили. Человеки < кроликов, йа считаю. |
|||
|
||||
| georain |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 193 Регистрация: 28.11.2006 Где: Санкт-Петербург Репутация: нет Всего: нет |
||||
|
||||
| DIHOST |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 9 Регистрация: 13.6.2006 Репутация: нет Всего: нет |
Мегасофтина - консольный пробник клавы... хотя надо-бы наизусть знать таблицу.
Это сообщение отредактировал(а) DIHOST - 4.3.2008, 20:19 |
|||
|
||||
![]()
|
| Правила форума "С++:Общие вопросы" | |
|
|
Добро пожаловать!
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Earnest Daevaorn |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | C/C++: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |