Функция INKEY( )

Возвращает число, соответствующее первому нажатию клавиши или кнопки мыши в буфере клавиатуры.

Синтаксис:

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( ) возвращает значение для первой клавиши, попавшей в буфер.


Предыдущий Шаг | Следующий Шаг | Оглавление
Автор Каев Артем - 12.02.2003