返回表示键盘缓冲区中等待的第一个键的字符串
语法
用法
result = Inkey[$]
返回值
键盘缓冲区中找到的第一个字符,或空字符串(""))。
说明
进入键盘缓冲区,并返回一个
String表示的第一个字符,如果有的话。然后将密钥从缓冲区中删除,并且不会回显到屏幕。如果键盘缓冲区为空,则会立即返回一个空字符串(
""),而不必等待键。
如果键在ASCII字符集中,则返回由该字符组成的单字符
String.如果键是“扩展”(数字键盘,光标,功能),则返回一个双字符
String,其中第一个是扩展字符(
See dialect differences below )
Shift,Ctrl,Alt和AltGr键不能独立读取,因为它们不会进入键盘缓冲区(尽管显然,Shift-A将以与Control-A等不同的方式报告
Inkey; Alt-A是上述的扩展密钥)。
如果键盘缓冲区为空,请参阅
Input()或
GetKey或
Sleep??等待按键。
例子
Print "按q退出"
Do
Sleep 1, 1
Loop Until Inkey = "q"
#if __FB_LANG__ = "qb"
#define EXTCHAR Chr$(0)
#else
#define EXTCHAR Chr(255)
#endif
Dim k As String
Print "按一个键,或退出结束"
Do
k = Inkey$
Select Case k
Case "A" To "Z", "a" To "z": Print "信:" & k
Case "1" To "9": Print "数:" & k
Case Chr$(32): Print "空间"
Case Chr$(27): Print "逃逸"
Case Chr$(9): Print "标签"
Case Chr$(8): Print "退格"
Case Chr$(32) To Chr$(127)
Print "可打印字符:" & k
Case EXTCHAR & "G": Print "向左/回家"
Case EXTCHAR & "H": Print "Up"
Case EXTCHAR & "I": Print "向右/ PgUp"
Case EXTCHAR & "K": Print "剩下"
Case EXTCHAR & "L": Print "中央"
Case EXTCHAR & "M": Print "对"
Case EXTCHAR & "O": Print "向左/向下"
Case EXTCHAR & "P": Print "下"
Case EXTCHAR & "Q": Print "向右/ PgDn"
Case EXTCHAR & "R": Print "插"
Case EXTCHAR & "S": Print "删除"
Case EXTCHAR & "k": Print "关闭窗口/ Alt-F4"
Case EXTCHAR & Chr$(59) To EXTCHAR & Chr$(68)
Print "功能键:F" & Asc(k, 2) - 58
Case EXTCHAR & Chr$(133) To EXTCHAR & Chr$(134)
Print "功能键:F" & Asc(k, 2) - 122
Case Else
If Len(k) = 2 Then
Print Using "扩展字符:chr $(###,###)"; Asc(k, 1); Asc(k, 2)
ElseIf Len(k) = 1 Then
Print Using "字符chr $(###)"; Asc(k)
End If
End Select
If k = Chr$(27) Then Exit Do
Sleep 1, 1
Loop
方言差异
与QB差别
参考