3

我已经查看了尽可能多的功能,但我仍然找不到一个可以让您拦截 TI 箭头键单击的单击。

4

3 回答 3

5

对于使用“Prog”按钮运行的基本程序,您需要调用getKey,它返回最后按下按钮的键代码。箭头按钮映射到代码24252634

更多信息可在TI-Basic Developer的“阅读按键”标题下获得。

于 2011-08-08T15:54:29.133 回答
3

我知道这是一个老问题,但我认为这一点可能仍然相关。

如果您使用键输入来移动字符或以某种方式移动值,那么您几乎总是最好避免使用if-then-else语句。

最快的方法通常是这样做:

:getkey -> A
:X+(A=24) -> X
:X-(A=26) -> X
:Y+(A=25) -> Y
:Y-(A=34) -> Y

可以进一步简化为:

:getkey -> A
:X+(A=24)-(A=26) -> X
:Y+(A=25)-(A=34) -> Y

我们不是通过语句处理逻辑,而是利用具有“布尔”(0 或 1)值if的事实。(A=24)因此,如果它是某个值,我们就加或减 1。

设置限制也相当容易:

:getkey -> A
:X+(A=26)(X<=20)-(A=24)(X>0) -> X
:Y+(A=25)(Y<=15)-(A=34)(Y>=3) -> Y

因此,如果(X<20)它将乘以 1,但当 X>=20 时,(X<20)将乘以 0,否定增量。

在我的一些程序中,我使用另一种技术来帮助选择值:左键和右键以与上键和下键不同的值递增和递减变量。但是,它需要更多的逻辑。

:getkey -> A
:X+10(A=26)(X+10<=100)-10(A=24)(X-10>=0) -> X
:Y+(A=25)(Y<15)-(A=34)(Y>3) -> B

在这种情况下,左右箭头按十位,上下箭头按个位。(X+10<=100)使用而不是,(X<100)因为如果 X 可以达到 109,则后者将为真X=99。前者确保添加 10 不会超过限制。

于 2013-09-13T18:04:25.980 回答
2

您应该可以使用 getkey 命令完成此操作。

getkey (Store as) (Variable) A
while A=0
getkey (Store as) A

然后,您可以在整个程序中调用变量 A。每个键都有一个通过 getkey 命令调用的数字。因此,您可以通过以下方式使用该变量,

If A = 25
...
If A != 25
...

(25 是向上的箭头)

于 2012-08-22T05:17:39.770 回答