Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 08.04.2009, 23:16   #1
Rus 47
Пользователь
 
Регистрация: 13.12.2008
Сообщений: 28
По умолчанию ASCII код спец клавиш

Всем привет.
Столкнулся с такой проблемой.
Пишу программу, в которой используются спец клавиши (стрелка влево, вправо, вверх, вниз).
функция ReadKey реагирует на нажатие и выполняет то или иное действие.
Я узнал коды спец. клавиш: 72, 75, 77, 80
но проблема в том что эти же коды привязаны к клавишам H, K, M, P (именно в верхнем регистре)
Выглядит это вот так:
72 - вверх, H
75 - влево, K
77 - вправо, M
80 - вниз, P
Можно ли программу заставить их отличать, тоесть если я нажал клавишу M, то это не должно значить, что я нажал клавишу "вправо" и т.д.
Спасибо.
Rus 47 вне форума Ответить с цитированием
Старый 08.04.2009, 23:26   #2
OCTAGRAM
Oldschool geek
Форумчанин
 
Аватар для OCTAGRAM
 
Регистрация: 09.03.2009
Сообщений: 611
По умолчанию

Можно. Легко. Перед кодом специальной клавиши считывается #0. По нулю и определять.

То если нажата спецклавиша, ReadKey сначала возвращает #0, а если потом вызвать, код клавиши. А обычные клавиши #0 не возвращают.
If you want to get to the top, you have to start at the bottom

http://pascal.net.ru/
OCTAGRAM вне форума Ответить с цитированием
Старый 08.04.2009, 23:31   #3
Rus 47
Пользователь
 
Регистрация: 13.12.2008
Сообщений: 28
По умолчанию

А можно чуть подробнее?
Спасибо.
Rus 47 вне форума Ответить с цитированием
Старый 08.04.2009, 23:37   #4
OCTAGRAM
Oldschool geek
Форумчанин
 
Аватар для OCTAGRAM
 
Регистрация: 09.03.2009
Сообщений: 611
По умолчанию

Код:
var S : String[2];

S := ReadKey;
if S = #0 then S := S + ReadKey;

{ теперь у S для каждой клавиши разное значение }
If you want to get to the top, you have to start at the bottom

http://pascal.net.ru/
OCTAGRAM вне форума Ответить с цитированием
Старый 08.04.2009, 23:52   #5
Rus 47
Пользователь
 
Регистрация: 13.12.2008
Сообщений: 28
По умолчанию

Большое спасибо, разобрался. )
Rus 47 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
ОЧЕНЬ ИНТЕРЕСНО! КОД ASCII / обработка массивов данных Jull Паскаль, Turbo Pascal, PascalABC.NET 7 01.04.2009 18:23
Виртуальный код клавиш lionman Общие вопросы Delphi 9 27.10.2008 22:33
Вывести ASCII и SCAN -коды клавиш... StudentBTI Помощь студентам 7 07.10.2008 22:01
спец символы в CSS SUZUKI HTML и CSS 6 18.07.2008 17:39
Код клавиш MAKEDON Общие вопросы Delphi 4 07.01.2008 13:42