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

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

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

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

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

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

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

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
palva
2614 / 1836 / 263
Регистрация: 08.06.2007
Сообщений: 6,995
Записей в блоге: 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/
0
palva
2614 / 1836 / 263
Регистрация: 08.06.2007
Сообщений: 6,995
Записей в блоге: 4
16.01.2009, 21:51 #3
Кажется я всё-таки неправ. Для того чтобы правильно воспринимались дополнительные клавиши на серой (цифровой) клавиатуре нужно использовать ah=11h, вторая ошибка, что обращаться надо не к DOS-прерыванию (21h) а к BIOS (16h). Таким образом, правильно будет:
Код
mov ah,11h
asm int 16h
Некоторые компиляторы также требуют, чтобы применялось не слово asm, а _asm. Поэкспериментируйте. Давно это было, уже запамятовал.
0
Skywalker(cyb)
0 / 0 / 0
Регистрация: 14.01.2009
Сообщений: 5
17.01.2009, 14:06  [ТС] #4
Спасибо за помощь.
0
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 ????
0
palva
2614 / 1836 / 263
Регистрация: 08.06.2007
Сообщений: 6,995
Записей в блоге: 4
21.01.2009, 20:24 #7
Послал, от Borland C/C++ 3.1. Только что вы с ним будете делать?
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
21.01.2009, 20:24
Привет! Вот еще темы с ответами:

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

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

Коды Хэмминга С++ - C++
Коды Хэмминга С++

Циклические коды - C++
Для построение циклического кода (CRC) нужен образующий полином, который мы должны найти по таблице неприводимых многочленов(см....


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

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

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