GETKEY
- 来源: https://www.freebasic.net/wiki/wikka.php?wakka=KeyPgGetkey
- 最后更新: 2022-06-07
返回键盘缓冲区中第一个按键的ASCII码
语法
declare function Getkey ( ) as long用法
result = Getkey返回值
返回的ASCII码值。
说明
返回键盘缓冲区中第一个按键的ASCII码。该按键从缓冲区中移除。若没有按键,Getkey 将等待。
对于扩展键(返回两个字符),扩展码在第一个字节(255)中返回,键盘扫描码在第二个字节中返回(至少在控制台模式下,第三和第四字节始终为null)。
关于FreeBASIC内置键盘输入功能,请参阅 键盘输入(基础)。
警告:在图形模式下,根据按下的键,Getkey 返回的值可能并不总是与控制台模式相同(对于非扩展键,ASCII码字节的最高有效位可能会传播到返回值的高3个字节,如符号位)。
有关2种屏幕模式的兼容代码,请参阅下面的示例。
读取的按键不会回显到屏幕上。
如果需要在缓冲区无按键时不停止程序的关键字,请参阅 Inkey 或 Multikey。
示例
start GeSHi
vb
Dim As Long foo
Do
foo = GetKey
Print "total return: " & foo
If( foo > 255 ) Then
Print "extended code: " & (foo And &hff)
Print "regular code: " & (foo Shr 8)
Else
Print "regular code: " & (foo And &hff)
End If
Print
Loop Until foo = 27end GeSHi
方言差异
- 在 -lang qb 方言中不可用,除非使用别名
__Getkey引用。
与 QB 的差异
- FreeBASIC 新增
另请参阅
返回 目录