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

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

Войти
Регистрация
Восстановить пароль
 
Skywalker(cyb)
0 / 0 / 0
Регистрация: 14.01.2009
Сообщений: 5
#1

Коды нажатия клавишь. - C++

16.01.2009, 16:18. Просмотров 997. Ответов 6
Метки нет (Все метки)

Код
#include'stdio.h'
#include'conio.h'
main()
{ 
  int n;
  if(!(n=getch()))
  {
     n=getch();
  }
  printf('%d
',n);
}
Почему коды стрелок которые рассположены на клаве ниже delete, end получаются одинаковыми?
Подскажите какой всё-таки функцией отслеживать коды нажатия клавишь ?
я делаю для дос простенькое меню. мой компилятор vs6.0 и ещё есть досовский старый 3.0
Хелп плиз
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
16.01.2009, 16:18     Коды нажатия клавишь.
Посмотрите здесь:

Комбинация клавишь - C++
доброго времени суток, перелапатил интернет, уже 2 часа потерял не могу найти помощи, подскажите как сделать что б выполнялось событие при...

Имитация клавишь в другом окне - C++
Какая команда отвечает за вывод из буфера текста в окно другой программы (Блокнот) и имитирует нажатие клавиши "Enter" ?

Работа клавишь в режиме реального вемени - C++
#include <iostream> #include <windows.h> #include <math.h> #include <stdlib.h> #include <conio.h> #include <string> using...

Нажатие клавишь (точнее его фиксирование). - C++
Вопрос 1: Допустим есть какая-то игра, не важно какая, ну бегалка какая-нибудь. Я жму - персонаж идет, монстры тоже, я не жму ничего -...

Коды C++ - C++
Можете написать код Марио?:help: Добавлено через 53 секунды :beer:

Коды исключений - C++
Какие ещё, кроме std::bad_alloc, есть коды исключений? Содержит ли исключение информацию о месте своего возникновения? А о конкретной...

короткие коды с ******** - C++
всем привет я решил создать общую тему по сокращению кодов (если у кого есть по короче по желанию напишите на форум нужно писать так №...

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
palva
2592 / 1814 / 260
Регистрация: 08.06.2007
Сообщений: 6,958
Записей в блоге: 4
16.01.2009, 21:38     Коды нажатия клавишь. #2
На досовском компиляторе для этих целей нам приходилось пользоваться ассемблером:
Код
#include'stdio.h'
main(){

  char n1, n2;
_asm {
  mov AH,10h
  int 21h
  mov n1,al
  mov n2,ah
}
 printf('%02X %02X
',n1, n2);
}
К сожалению у меня нет сейчас возможности проверить этот код. Можете посмотреть также ссылку
http://www.c-for-dummies.com/lessons/bonus/07/
palva
2592 / 1814 / 260
Регистрация: 08.06.2007
Сообщений: 6,958
Записей в блоге: 4
16.01.2009, 21:51     Коды нажатия клавишь. #3
Кажется я всё-таки неправ. Для того чтобы правильно воспринимались дополнительные клавиши на серой (цифровой) клавиатуре нужно использовать ah=11h, вторая ошибка, что обращаться надо не к DOS-прерыванию (21h) а к BIOS (16h). Таким образом, правильно будет:
Код
mov ah,11h
asm int 16h
Некоторые компиляторы также требуют, чтобы применялось не слово asm, а _asm. Поэкспериментируйте. Давно это было, уже запамятовал.
Skywalker(cyb)
0 / 0 / 0
Регистрация: 14.01.2009
Сообщений: 5
17.01.2009, 14:06  [ТС]     Коды нажатия клавишь. #4
Спасибо за помощь.
ManiaK
Сообщений: n/a
20.01.2009, 16:04     Коды нажатия клавишь. #5
В vc6.0 всё таки _asm. Кстати, если написать строки асм кода:
Код
xor ax,ax
int 16h
то комп зависьнет. Зависание происходит потому, что эти строки заставляют комп ждать ввода символа(или нажатия клавиши) то в BIOS'е, то в DOS'е. А винда не ДОС и темболее не BIOS. Вот и висит прога. Естественно всё это работает только в Windows.
Это так, на заметку. Прикиньте сколько я допытывался, что происходит!
Skywalker(cyb)
0 / 0 / 0
Регистрация: 14.01.2009
Сообщений: 5
21.01.2009, 19:34  [ТС]     Коды нажатия клавишь. #6
Откуда бы мне скачатьт файл bios.h ????
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
21.01.2009, 20:24     Коды нажатия клавишь.
Еще ссылки по теме:

Коды символов - C++
Как выводить символы зная их 8ичный код

не разборчивые коды - C++
помогите пожалуйста ответить на вопросы? заранее спасибо. немного не понятны вопросы, особенно первые 1. (10%)Is next statement...

Коды Assembler в C/C++ - C++
Здравствуйте! Я столкнулся с проблемой при использовании кодов Assembler в C/C++. Я читал, что в C/C++ существует функция _asm, в которой...

Коды цифр - C++
Дайте пожалуйста мне коды цифр от 1-9. Вот по этой ссылке есть коды, но ни один из них не срабатывает! http://ru.wikipedia.org/wiki/ASCII...

Корректирующие коды - C++
а). преобразовать заданное информационное слово 10101101011 из 11 двоичных цифр в двоичное слово кода Хемминга (15,11); б). дано...


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

Или воспользуйтесь поиском по форуму:
palva
2592 / 1814 / 260
Регистрация: 08.06.2007
Сообщений: 6,958
Записей в блоге: 4
21.01.2009, 20:24     Коды нажатия клавишь. #7
Послал, от Borland C/C++ 3.1. Только что вы с ним будете делать?
Yandex
Объявления
21.01.2009, 20:24     Коды нажатия клавишь.
Ответ Создать тему
Опции темы

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