我写了QB64代码来尝试BASIC函数INPUT$
和INKEY$
。
运行时运行良好,但如果我们将 SW 设置为在 Linux 控制台模式下运行,则此 SW 无法正常运行。它挂了。
我认为问题是由于 Linux 控制台行为造成的。你有解决方法吗?
下面是简单的代码:
$CONSOLE:ONLY
_DEST _CONSOLE
PRINT "Hit a key"
A$ = INPUT$(1)
PRINT A$
PRINT "Hit a key"
B$ = ""
WHILE B$ = "": B$ = INKEY$: WEND
PRINT B$
PRINT "Hit a key"
C$ = INPUT$(1)
PRINT C$
存在从控制台获取信息的方法。我们可以使用命令 INPUT
,但这不允许我们避免按<输入>键来输入数据。我的问题是关于使用INKEY$
和INPUT$
,这将使我们能够不按<输入键>。输入键>输入>
以下代码在 Linux 控制台上正常运行,但不是此问题的解决方案。
$CONSOLE:ONLY
_DEST _CONSOLE
INPUT A
PRINT A
这个按键函数实际上可以在 Linux 中工作:
PRINT "Hit a key:"
DO UNTIL _KEYHIT
_LIMIT 20
LOOP
PRINT "Key pressed."
或测试密钥:
PRINT "Hit <escape>:"
DO
_LIMIT 20
x = _KEYHIT
IF x = 27 THEN EXIT DO
LOOP
PRINT "Escape pressed."
刚刚运行了这段代码:它拒绝将Win10中的任何键盘活动捕获为Linux。
也许控制台模式仅用于输出!?
$CONSOLE
_DEST _CONSOLE
$SCREENHIDE
FOR L = 1 TO 10
PRINT L;
NEXT
DO
x = _KEYHIT
IF x THEN END
LOOP
END