如何在自定义TI程序中使用箭头键



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

对于使用"Prog"按钮运行的Basic程序,您需要调用getKey,它返回最后按下的按钮的键代码。箭头键对应代码24252634

更多信息可在TI-Basic Developer中获得,在标题"读取按键"下面。

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

如果你正在使用键输入来移动一个字符,或者以某种方式移动一个值,你几乎总是最好避免使用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

我们没有通过if语句处理逻辑,而是利用(A=24)具有"布尔"(0或1)值这一事实。因此,如果它是某个值,则加1或减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=99,则后者为真,因此X可以达到109。

您应该可以使用getkey命令来完成。

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

则可以在整个程序中调用变量A。每个键都有一个通过getkey命令调用的号码。你可以使用

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

(25为向上箭头)

最新更新