Язык:
Русский
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 }
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.


::
::
::