pascal readkey коды клавиш

Функция ReadKey.

В прошлом уроке мы познакомились с функцией KeyPressed, которая реагирует на нажатие клавиши. В этом уроке мы рассмотрим функцию ReadKey. Ее отличие от функции KeyPressed в том, что она не просто реагирует на нажатие клавиши, но и сообщает о том, какая именно клавиша была нажата.

Если данная функция встречается в программе, то программа останавливается и ждет нажатие клавиши, причем символ нажатой клавиши не высвечивается на экране. Функция ReadKey считывает код введенного символа из буфера клавиатуры и возвращает значение типа CHAR. Например, если вы введете с клавиатуры строчную латинскую букву «a», то функция ReadKey возвратит значение Chr(97). Рассмотрим программу, которая показывает отличие функции ReadKey от процедуры Readln.

В строке №6 вводим с клавиатуры символ.

В строке №7 выводим символ на экран.

pascal readkey коды клавиш. funkciya%20readkey. pascal readkey коды клавиш фото. pascal readkey коды клавиш-funkciya%20readkey. картинка pascal readkey коды клавиш. картинка funkciya%20readkey. В прошлом уроке мы познакомились с функцией KeyPressed, которая реагирует на нажатие клавиши. В этом уроке мы рассмотрим функцию ReadKey. Ее отличие от функции KeyPressed в том, что она не просто реагирует на нажатие клавиши, но и сообщает о том, какая именно клавиша была нажата.

pascal readkey коды клавиш. funkciya%20readkey.. pascal readkey коды клавиш фото. pascal readkey коды клавиш-funkciya%20readkey.. картинка pascal readkey коды клавиш. картинка funkciya%20readkey.. В прошлом уроке мы познакомились с функцией KeyPressed, которая реагирует на нажатие клавиши. В этом уроке мы рассмотрим функцию ReadKey. Ее отличие от функции KeyPressed в том, что она не просто реагирует на нажатие клавиши, но и сообщает о том, какая именно клавиша была нажата.

Как видите при вводе символа с клавиатуры, он сразу же отображается на экране, а после нажатия клавиши Enter на экран выводится сообщение.
Теперь заменим строку №6 на такую: klav:=readkey.

В строке №6 в переменную «klav» записываем значение функции ReadKey. На этом этапе программа останавливается и ждет нажатия клавиши (как и при использовании процедуры Readln). После нажатия клавиши код этой клавиши будет возвращен в качестве значения функции ReadKey (как и при использовании процедуры Readln) и записан в переменную «klav». На экран будет выведен символ соответствующий этому коду.

pascal readkey коды клавиш. funkciya%20readkey. pascal readkey коды клавиш фото. pascal readkey коды клавиш-funkciya%20readkey. картинка pascal readkey коды клавиш. картинка funkciya%20readkey. В прошлом уроке мы познакомились с функцией KeyPressed, которая реагирует на нажатие клавиши. В этом уроке мы рассмотрим функцию ReadKey. Ее отличие от функции KeyPressed в том, что она не просто реагирует на нажатие клавиши, но и сообщает о том, какая именно клавиша была нажата.

pascal readkey коды клавиш. funkciya%20readkey. pascal readkey коды клавиш фото. pascal readkey коды клавиш-funkciya%20readkey. картинка pascal readkey коды клавиш. картинка funkciya%20readkey. В прошлом уроке мы познакомились с функцией KeyPressed, которая реагирует на нажатие клавиши. В этом уроке мы рассмотрим функцию ReadKey. Ее отличие от функции KeyPressed в том, что она не просто реагирует на нажатие клавиши, но и сообщает о том, какая именно клавиша была нажата.

Как видите, при нажатии клавиши, у нас сразу вывелось сообщение.

Источник

Pascal readkey коды клавиш

Windows, Real, Protected

Замечания

Символ не отображается на экране.

При нажатии некоторых специальных клавиш (стрелки и функциональные клавиши) ReadKey возвращает нулевой символ (#0), а повторный вызов ReadKey возвратит сканкод нажатой клавиши.

Коды специальных клавиш

КлавишаЧто возвращает ReadKey?
Escape#27
Enter#13
Ctrl+Enter#10
Backspace#8
Ctrl+Backspace#127
Tab#9
Shift+Tab#15
F1#0, #59
F2#0, #60
F3#0, #61
F4#0, #62
F5#0, #63
F6#0, #64
F7#0, #65
F8#0, #66
F9#0, #67
F10#0, #68
#0, #75
#0, #72
#0, #77
#0, #80
Delete#0, #83
Insert#0, #82
Home#0, #71
End#0, #79
Page Up#0, #73
Page Down#0, #81
NumPad 5 1#0, #76
Shift+F1#0, #84
Shift+F2#0, #85
Shift+F3#0, #86
Shift+F4#0, #87
Shift+F5#0, #88
Shift+F6#0, #89
Shift+F7#0, #90
Shift+F8#0, #91
Shift+F9#0, #92
Shift+F10#0, #93
Ctrl+F1#0, #94
Ctrl+F2#0, #95
Ctrl+F3#0, #96
Ctrl+F4#0, #97
Ctrl+F5#0, #98
Ctrl+F6#0, #99
Ctrl+F7#0, #100
Ctrl+F8#0, #101
Ctrl+F9#0, #102
Ctrl+F10#0, #103
Alt+F1#0, #104
Alt+F2#0, #105
Alt+F3#0, #106
Alt+F4#0, #107
Alt+F5#0, #108
Alt+F6#0, #109
Alt+F7#0, #110
Alt+F8#0, #111
Alt+F9#0, #112
Alt+F10#0, #113
Ctrl+#0, #115
Ctrl+#0, #116
Ctrl+Home#0, #119
Ctrl+End#0, #117
Ctrl+Page Up#0, #132
Ctrl+Page Down#0, #118
Ctrl+2#0, #3
Ctrl+A#1
Ctrl+B#2
Ctrl+C 2#3
Ctrl+D#4
Ctrl+E#5
Ctrl+F#6
Ctrl+G#7
Ctrl+H 3#8
Ctrl+I#9
Ctrl+J#10
Ctrl+K#11
Ctrl+L#12
Ctrl+M#13
Ctrl+N#14
Ctrl+O#15
Ctrl+P#16
Ctrl+Q#17
Ctrl+R#18
Ctrl+S#19
Ctrl+T#20
Ctrl+U#21
Ctrl+V#22
Ctrl+W#23
Ctrl+X#24
Ctrl+Y#25
Ctrl+Z#26
Ctrl+[#27
Ctrl+\#28
Ctrl+]#29
Ctrl+6#30
Ctrl+#31
Alt+Q#0, #16
Alt+W#0, #17
Alt+E#0, #18
Alt+R#0, #19
Alt+T#0, #20
Alt+Y#0, #21
Alt+U#0, #22
Alt+I#0, #23
Alt+O#0, #24
Alt+P#0, #25
Alt+A#0, #30
Alt+S#0, #31
Alt+D#0, #32
Alt+F#0, #33
Alt+G#0, #34
Alt+H#0, #35
Alt+J#0, #36
Alt+K#0, #37
Alt+L#0, #38
Alt+Z#0, #44
Alt+X#0, #45
Alt+C#0, #46
Alt+V#0, #47
Alt+B#0, #48
Alt+N#0, #49
Alt+M#0, #50
Alt+1#0, #120
Alt+2#0, #121
Alt+3#0, #122
Alt+4#0, #123
Alt+5#0, #124
Alt+6#0, #125
Alt+7#0, #126
Alt+8#0, #127
Alt+9#0, #128
Alt+0#0, #129
Alt+#0, #130
Alt+=#0, #131

Приведённая таблица не претендует на полноту

См. также

Пример

Язык:
Русский
English

Источник

самоучитель Паскаль он-лайн

Он-лайн самоучитель Паскаль

Программирование клавиатуры

Дополнительные возможности управления клавиатурой реализуются двумя функциями: KeyPressed и ReadKey.

В MS-DOS реализуется так называемый асинхронный буферизованный ввод с клавиатуры. По мере нажатия на клавиши соответствующие коды помещаются в особый буфер, откуда они могут быть затем прочитаны программой. Стандартная длина буфера рассчитана на хранение до 16 кодов символов. Если программа достаточно долго не обращается к клавиатуре, а пользователь нажимает клавиши, буфер может оказаться переполненным. В этот момент раздается звуковой сигнал и «лишние» коды теряются. Чтение из буфера обеспечивается процедурами Read/ReadLn и функцией ReadKey. Замечу, что обращение к функции KeyPressed не задерживает исполнения программы: функция немедленно анализирует буфер и возвращает то или иное значение, не дожидаясь нажатия клавиши.

Возвращает значение типа Char. При обращении к этой функции анализируется буфер клавиатуры: если в нем есть хотя бы один не прочитанный символ, код этого символа берется из буфера и возвращается в качестве значения функции, в противном случае функция будет ожидать нажатия на любую клавишу. Ввод символа с помощью этой функции не сопровождается эхо-повтором и содержимое экрана не меняется.

Пусть, например, в какой-то точке программы необходимо игнорировать все ранее нажатые клавиши, коды которых еще не прочитаны из буфера, т.е. необходимо очистить буфер. Этого можно достичь следующим способом:

while KeyPressed do

Т.е. код сканирования клавиши. Этот код определяется порядком, в соответствии с которым микропроцессор клавиатуры Intel 8042 периодически опрашивает (сканирует) состояние клавиш.

Следующая простая программа позволит Вам определить расширенный код любой клавиши. Для завершения работы программы нажмите клавишу Esc.

В табл. 13.1 приводятся расширенные коды клавиш, возвращаемые функцией ord(ReadKey). Для режима ввода кириллицы приводятся коды, соответствующие альтернативному варианту кодировки.

Таблица 13.1 Расширенные коды клавиш

Источник

Pascal readkey коды клавиш

Windows, Real, Protected

Замечания

Символ не отображается на экране.

При нажатии некоторых специальных клавиш (стрелки и функциональные клавиши) ReadKey возвращает нулевой символ (#0), а повторный вызов ReadKey возвратит сканкод нажатой клавиши.

Коды специальных клавиш

КлавишаЧто возвращает ReadKey?
Escape#27
Enter#13
Ctrl+Enter#10
Backspace#8
Ctrl+Backspace#127
Tab#9
Shift+Tab#15
F1#0, #59
F2#0, #60
F3#0, #61
F4#0, #62
F5#0, #63
F6#0, #64
F7#0, #65
F8#0, #66
F9#0, #67
F10#0, #68
#0, #75
#0, #72
#0, #77
#0, #80
Delete#0, #83
Insert#0, #82
Home#0, #71
End#0, #79
Page Up#0, #73
Page Down#0, #81
NumPad 5 1#0, #76
Shift+F1#0, #84
Shift+F2#0, #85
Shift+F3#0, #86
Shift+F4#0, #87
Shift+F5#0, #88
Shift+F6#0, #89
Shift+F7#0, #90
Shift+F8#0, #91
Shift+F9#0, #92
Shift+F10#0, #93
Ctrl+F1#0, #94
Ctrl+F2#0, #95
Ctrl+F3#0, #96
Ctrl+F4#0, #97
Ctrl+F5#0, #98
Ctrl+F6#0, #99
Ctrl+F7#0, #100
Ctrl+F8#0, #101
Ctrl+F9#0, #102
Ctrl+F10#0, #103
Alt+F1#0, #104
Alt+F2#0, #105
Alt+F3#0, #106
Alt+F4#0, #107
Alt+F5#0, #108
Alt+F6#0, #109
Alt+F7#0, #110
Alt+F8#0, #111
Alt+F9#0, #112
Alt+F10#0, #113
Ctrl+#0, #115
Ctrl+#0, #116
Ctrl+Home#0, #119
Ctrl+End#0, #117
Ctrl+Page Up#0, #132
Ctrl+Page Down#0, #118
Ctrl+2#0, #3
Ctrl+A#1
Ctrl+B#2
Ctrl+C 2#3
Ctrl+D#4
Ctrl+E#5
Ctrl+F#6
Ctrl+G#7
Ctrl+H 3#8
Ctrl+I#9
Ctrl+J#10
Ctrl+K#11
Ctrl+L#12
Ctrl+M#13
Ctrl+N#14
Ctrl+O#15
Ctrl+P#16
Ctrl+Q#17
Ctrl+R#18
Ctrl+S#19
Ctrl+T#20
Ctrl+U#21
Ctrl+V#22
Ctrl+W#23
Ctrl+X#24
Ctrl+Y#25
Ctrl+Z#26
Ctrl+[#27
Ctrl+\#28
Ctrl+]#29
Ctrl+6#30
Ctrl+#31
Alt+Q#0, #16
Alt+W#0, #17
Alt+E#0, #18
Alt+R#0, #19
Alt+T#0, #20
Alt+Y#0, #21
Alt+U#0, #22
Alt+I#0, #23
Alt+O#0, #24
Alt+P#0, #25
Alt+A#0, #30
Alt+S#0, #31
Alt+D#0, #32
Alt+F#0, #33
Alt+G#0, #34
Alt+H#0, #35
Alt+J#0, #36
Alt+K#0, #37
Alt+L#0, #38
Alt+Z#0, #44
Alt+X#0, #45
Alt+C#0, #46
Alt+V#0, #47
Alt+B#0, #48
Alt+N#0, #49
Alt+M#0, #50
Alt+1#0, #120
Alt+2#0, #121
Alt+3#0, #122
Alt+4#0, #123
Alt+5#0, #124
Alt+6#0, #125
Alt+7#0, #126
Alt+8#0, #127
Alt+9#0, #128
Alt+0#0, #129
Alt+#0, #130
Alt+=#0, #131

Приведённая таблица не претендует на полноту

См. также

Пример

Язык:
Русский
English

Источник

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *