ReadKey (функция) (модуль Crt)

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

 ReadKey (функция)    (модуль Crt)


Читает символ из буфера клавиатуры.

Объявление

 Function ReadKey : Char;

Режим

Windows, Real, Protected

Замечания

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

Выполнение программы прерывается до тех пор, пока не будет нажата клавиша. Если в буфере клавиатуры уже есть необработанные нажатия, сразу возвращает результат. Проверить, была ли нажата клавиша, можно вызовом функции KeyPressed.

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

Обычные символы перечислены в таблице кодов символов 866.

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

КлавишаЧто возвращает 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 51#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+C2#3
Ctrl+D#4
Ctrl+E#5
Ctrl+F#6
Ctrl+G#7
Ctrl+H3#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

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

См. также

Лекция №14.1: Методы создания пользовательского интерфейса
KeyPressed
Delay
Таблица символов 866 (ASCII, OEM, DOS)

Пример

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


 { Пример программы для функции ReadKey }

uses Crt;

var
  C : String[2];
  C2, TempS : String;

begin
 WriteLn('Нажмите любую клавишу:');
  C := ReadKey;
 Str(Ord(C[1]), TempS);
  C2 := '#' + TempS;
 if C = #0 then
 begin
    C := C + ReadKey;
   Str(Ord(C[2]), TempS);
    C2 := C2 + ', #' + TempS;
 end;
 WriteLn('Вы нажали ', C, ', с кодом ASCII, равным ', C2);
end.

Замечания

  1. ^ При выключенном NumLock
  2. ^ Перехватить эту комбинацию клавиш может не получиться, так как это комбинация экстренного выхода из программы
  3. ^ Комбинация Ctrl+H эквивалентна Backspace. Некоторые из комбинаций клавиш ниже будут эквивалентны Tab, Escape, Enter и т. д.
Тэги: ReadKey
| G+
Код для вставки: :: :: :: ::
Поделиться: // //