Возвращает число, соответствующее первому нажатию клавиши или кнопки мыши в буфере клавиатуры.
Синтаксис:
INKEY([nSeconds] [, cHideCursor])
Параметры:
nSeconds
Определяет, сколько секунд функция INKEY( ) будет ждать нажатия клавиши. Если аргумент nSeconds не задан, INKEY( ) немедленно возвращает значение, соответствующее нажатой клавише. Если в качестве nSeconds задать 0, INKEY( ) будет ждать нажатия клавиши неопределенно долго.
cHideCursor
Показывает или скрывает курсор или проверяет нажатие кнопки мыши. Чтобы показать курсор, включите в cHideCursor символ S. Чтобы скрыть курсор, включите в cHideCursor символ H. Если в составе cHideCursor указаны и S, и H, приоритет имеет последний символ в cHideCursor.
По умолчанию функция INKEY( ) не регистрирует щелканье мышью. Чтобы проверить нажатие кнопки мыши, включите M в cHideCursor. Если M задано, INKEY( ) возвратит значение 151 для одиночного щелчка мышью. Во втором примере применения данной функции вы можете увидеть, как проверяется двойной щелчок.
Чтобы проверить щелчок мышью и показать курсор, задайте M и S. Чтобы проверить щелчок мышью и скрыть курсор, задайте M и H.
Когда клавише или комбинации клавиш назначается макрокоманда клавиатуры, можно развернуть эту макрокоманду, включив в cHideCursor символ E. Когда E задано, INKEY( ) возвращает значение, которое соответствует первой нажатой клавише, закрепленной за макрокомандой. Повторно выдавая функцию INKEY( ) с включенной опцией E, можно последовательно получить значения для всех клавиш, входящих в макрокоманду. Если E опущено, INKEY( ) возвращает значение, соответствующее клавише или комбинации клавиш, инициировавших выполнение макрокоманды.
Включенные в cHideCursor символы, отличные от H, M, S и E, игнорируются.
В следующей таблице перечислены возвращаемые функцией INKEY( ) значения для одиночных клавиш и для комбинаций с участием клавиш Shift, Ctrl и Alt.
Клавиша Одна Shift Ctrl Alt F1 28 84 94 104 F2 -1 85 95 105 F3 -2 86 96 106 F4 -3 87 97 107 F5 -4 88 98 108 F6 -5 89 99 109 F7 -6 90 100 110 F8 -7 91 101 111 F9 -8 92 102 112 F10 -9 93 103 113 F11 133 135 137 139 F12 134 136 138 140 1 49 33 ѕ 120 2 50 64 33 121 3 51 35 ѕ 122 4 52 36 ѕ 123 5 53 37 ѕ 124 6 54 94 30 125 7 55 38 ѕ 126 8 56 42 ѕ 127 9 57 40 ѕ 128 0 48 41 ѕ 19 a 97 65 1 30 b 98 66 2 48 c 99 67 3 46 d 100 68 4 32 e 101 69 5 18 f 102 70 6 33 g 103 71 7 34 h 104 72 127 35 i 105 73 9 23 j 106 74 10 36 k 107 75 11 37 l 108 76 12 38 m 109 77 13 50 n 110 78 14 49 o 111 79 15 24 p 112 80 16 25 q 113 81 17 16 r 114 82 18 19 s 115 83 19 31 t 116 84 20 20 u 117 85 21 22 v 118 86 22 47 w 119 87 23 17 x 120 88 24 45 y 121 89 25 21 z 122 90 26 44 Ins 22 22 146 162 Home 1 55 29 151 Del 7 7 147 163 End 6 49 23 159 Page Up 18 18 31 153 Page Down 3 3 30 161 стрелка вверх 5 5 141 152 стрелка Вниз 24 24 145 160 стрелка вправо 4 4 2 157 стрелка влево 19 19 26 155 Esc 27 27 27 1 Enter 13 13 10 28 Backspace 127 127 127 14 Tab 9 15 148 165
Результат:
Числовой.
Комментарии:
Если никакая клавиша не была нажата, функция INKEY( ) возвращает 0. Если в буфере клавиатуры оказалось несколько клавиш, INKEY( ) возвращает значение для первой клавиши, попавшей в буфер.