我已经查看了尽可能多的功能,但我仍然找不到一个可以让您拦截 TI 箭头键单击的单击。
3 回答
对于使用“Prog”按钮运行的基本程序,您需要调用getKey
,它返回最后按下按钮的键代码。箭头按钮映射到代码24
、25
、26
和34
。
更多信息可在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
我们不是通过语句处理逻辑,而是利用具有“布尔”(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 不会超过限制。
您应该可以使用 getkey 命令完成此操作。
getkey (Store as) (Variable) A
while A=0
getkey (Store as) A
然后,您可以在整个程序中调用变量 A。每个键都有一个通过 getkey 命令调用的数字。因此,您可以通过以下方式使用该变量,
If A = 25
...
If A != 25
...
(25 是向上的箭头)