Форум программистов, компьютерный форум, киберфорум
Turbo Pascal
Войти
Регистрация
Восстановить пароль
 
Рейтинг 5.00/5: Рейтинг темы: голосов - 5, средняя оценка - 5.00
0 / 0 / 0
Регистрация: 09.10.2011
Сообщений: 86
1

Определить была ли нажата клавиша стрелка вверх, а не Shift+P

10.01.2014, 14:57. Просмотров 1003. Ответов 5
Метки нет (Все метки)


В паскале код стрелки вверх и код комбинации shift+p совпадают. Как мне с помощью функции readkey определить, что была нажата именно стрелка вверх, а не shift+p?
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
10.01.2014, 14:57
Ответы с готовыми решениями:

Определить какая клавиша была нажата пользователем
Определить какая клавиша была нажата пользователем(цифровая, латинская строчная, латинская...

Определить, какая клавиша Shift нажата: левая или правая
Уважаемые программисты нужна ваша помощь в написании программы. Она должна выводить сообщение о том...

Можно ли определить нажата ли клавиша shift при событии onclick на <img> ?
Можно ли определить нажата ли клавиша shift при событии onclick на &lt;img&gt; ?

определить какая клавиша была нажата
Подскажите пожалуйста как можно определить на KeyUP то, что был отпущен пробел???

5
1642 / 1071 / 1081
Регистрация: 03.07.2013
Сообщений: 4,507
10.01.2014, 15:27 2
У них коды разные.
Вот прога для демонстрации:
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
Uses Crt;
Var
  Ch : Char;
Begin
  Repeat
    Ch:=ReadKey;
    If Ch=#0 then
    Begin
      Write('Нажата клавиша с расширенным кодом. ');
      Ch:=ReadKey;
    End;  
    Writeln(Ord(Ch));
  Until Ch=#27; {выход по нажатию на ESC}
End.
1
0 / 0 / 0
Регистрация: 09.10.2011
Сообщений: 86
10.01.2014, 15:32  [ТС] 3
При нажатии shift+p (анг) выводит 80. При нажатии стрелки вниз тоже выводит 80.
0
1642 / 1071 / 1081
Регистрация: 03.07.2013
Сообщений: 4,507
10.01.2014, 15:37 4
Цитата Сообщение от Endenwer Посмотреть сообщение
При нажатии shift+p (анг) выводит 80. При нажатии стрелки вниз тоже выводит 80.
Прога выдает другие данные.
Приведенную прогу вообще запускал? Или это просто Ваши догадки?

Добавлено через 1 минуту
Главное обратите внимание на наличие расширенного кода...
0
0 / 0 / 0
Регистрация: 09.10.2011
Сообщений: 86
10.01.2014, 15:37  [ТС] 5
При нажатии вниз выводит: 'Нажата клавиша с расширенным кодом: 80'. При нажатии shift+p выводит просто 80. Но коды у них одинаковые.
0
1642 / 1071 / 1081
Регистрация: 03.07.2013
Сообщений: 4,507
10.01.2014, 15:40 6
Еще раз:
Цитата Сообщение от APALoff Посмотреть сообщение
Добавлено через 1 минуту
Главное обратите внимание на наличие расширенного кода...
Добавлено через 1 минуту
Наличие этой разницы уже говорит о том, что можно отследить, что именно было нажато!
1
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
10.01.2014, 15:40

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь или здесь.

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

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

Как узнать, нажата ли в данный момент клавиша Shift?
Как узнать, нажата ли в данный момент клавиша Shift???

В цикле проверить нажата ли была клавиша 8
Необходимо в цикле проверить нажата ли была клавиша 8, и что бы вывод сообщения fwweg во время...


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

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Опции темы

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