主题:键盘控制语句的问题
以前的帖子上曾经发过一个表:
quick basic 的键盘控制很简单
下面我给你一个列表:
Key Code Key Code Key Code
Esc 1 A 30 F1 59
! or 1 2 S 31 F2 60
@ or 2 3 D 32 F3 61
# or 3 4 F 33 F4 62
$ or 4 5 G 34 F5 63
% or 5 6 H 35 F6 64
^ or 6 7 J 36 F7 65
& or 7 8 K 37 F8 66
* or 8 9 L 38 F9 67
( or 9 10 : or ; 39 F10 68
) or 0 11 " or ' 40 F11 133
+ or = 13 Left Shift 42 NumLock 69
Bksp 14 | or \ 43 Scroll Lock 70
Tab 15 Z 44 Home or 7 71 (数字指的是小键盘)上数字)
Q 16 X 45 Up or 8 72
W 17 C 46 PgUp or 9 73
E 18 V 47 Gray - 74
R 19 B 48 Left or 4 75
T 20 N 49 Center or 5 76
Y 21 M 50 Right or 6 77
U 22 < or , 51 Gray + 78
I 23 > or . 52 End or 1 79
O 24 ? or / 53 Down or 2 80
P 25 Right Shift 54 PgDn or 3 81
{ or [ 26 Prt Sc or * 55 Ins or 0 82
} or ] 27 Alt 56 Del or . 83
Enter 28 Spacebar 57
Ctrl 29 Caps Lock 58
举个例子:
Ctrl 值是 chr$(0)+chr$(29) del 值是 chr$(0)+chr$(83)
你在前面加上 Chr$(0) 就可以了
但是我看到qb45发的一个程序:
cls
locate , ,0
DO
DO: k$ = INKEY$: LOOP UNTIL k$ <> ""
LOCATE 10, 1: PRINT SPACE$(80)
SELECT CASE k$
CASE CHR$(27)
LOCATE 10, 1:PRINT "你按了ESC建"
CASE CHR$(0) + chr$(75)
LOCATE 10, 1:PRINT "你按了左建"
CASE CHR$(0) + chr$(77)
LOCATE 10, 1:PRINT "你按了右建"
CASE CHR$(0) + chr$(72)
LOCATE 10, 1:PRINT "你按了上建"
CASE CHR$(0) + chr$(80)
LOCATE 10, 1:PRINT "你按了下建"
CASE chr$(8)
LOCATE 10, 1:PRINT "你按了BACK建"
CASE CHR$(0) + chr$(83)
LOCATE 10, 1:PRINT "你按了DEL建"
END SELECT
LOOP
这个程序上的ESC键是怎么搞的?没有用CHR$(0)+..... 还有,我发现好像CHR$(0)+CHR$(1--10)都没有作用,怎么回事?请帮我解答一下!
quick basic 的键盘控制很简单
下面我给你一个列表:
Key Code Key Code Key Code
Esc 1 A 30 F1 59
! or 1 2 S 31 F2 60
@ or 2 3 D 32 F3 61
# or 3 4 F 33 F4 62
$ or 4 5 G 34 F5 63
% or 5 6 H 35 F6 64
^ or 6 7 J 36 F7 65
& or 7 8 K 37 F8 66
* or 8 9 L 38 F9 67
( or 9 10 : or ; 39 F10 68
) or 0 11 " or ' 40 F11 133
+ or = 13 Left Shift 42 NumLock 69
Bksp 14 | or \ 43 Scroll Lock 70
Tab 15 Z 44 Home or 7 71 (数字指的是小键盘)上数字)
Q 16 X 45 Up or 8 72
W 17 C 46 PgUp or 9 73
E 18 V 47 Gray - 74
R 19 B 48 Left or 4 75
T 20 N 49 Center or 5 76
Y 21 M 50 Right or 6 77
U 22 < or , 51 Gray + 78
I 23 > or . 52 End or 1 79
O 24 ? or / 53 Down or 2 80
P 25 Right Shift 54 PgDn or 3 81
{ or [ 26 Prt Sc or * 55 Ins or 0 82
} or ] 27 Alt 56 Del or . 83
Enter 28 Spacebar 57
Ctrl 29 Caps Lock 58
举个例子:
Ctrl 值是 chr$(0)+chr$(29) del 值是 chr$(0)+chr$(83)
你在前面加上 Chr$(0) 就可以了
但是我看到qb45发的一个程序:
cls
locate , ,0
DO
DO: k$ = INKEY$: LOOP UNTIL k$ <> ""
LOCATE 10, 1: PRINT SPACE$(80)
SELECT CASE k$
CASE CHR$(27)
LOCATE 10, 1:PRINT "你按了ESC建"
CASE CHR$(0) + chr$(75)
LOCATE 10, 1:PRINT "你按了左建"
CASE CHR$(0) + chr$(77)
LOCATE 10, 1:PRINT "你按了右建"
CASE CHR$(0) + chr$(72)
LOCATE 10, 1:PRINT "你按了上建"
CASE CHR$(0) + chr$(80)
LOCATE 10, 1:PRINT "你按了下建"
CASE chr$(8)
LOCATE 10, 1:PRINT "你按了BACK建"
CASE CHR$(0) + chr$(83)
LOCATE 10, 1:PRINT "你按了DEL建"
END SELECT
LOOP
这个程序上的ESC键是怎么搞的?没有用CHR$(0)+..... 还有,我发现好像CHR$(0)+CHR$(1--10)都没有作用,怎么回事?请帮我解答一下!