【问题标题】:How to use the arrow keys in a custom TI program如何在自定义 TI 程序中使用箭头键
【发布时间】:2011-10-19 08:20:36
【问题描述】:

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

【问题讨论】:

  • 能否提供 TI 型号?你是用 Basic 还是 Assembly 编码?
  • 它是 83-silver,当你按下 prog 按钮时,我正在编程你使用的任何东西。

标签: calculator ti-basic


【解决方案1】:

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

更多信息请访问TI-Basic Developer,位于“阅读按键”标题下方。

【讨论】:

  • 感谢您的出色回答。我已经研究了一段时间,我很感激答案。
【解决方案2】:

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

如果您使用按键输入来移动字符或以某种方式移动值,则最好避免使用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

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

设置限制也相当简单:

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

因此,如果(X&lt;20) 将乘以 1,但当 X>=20 时,(X&lt;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&lt;=100) 代替(X&lt;100),因为如果X=99 则后者将为真,因此X 可以达到109。前者确保添加10 不会超过限制。

【讨论】:

    【解决方案3】:

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

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

    然后您可以在整个程序中调用变量 A。 每个键都有一个通过 getkey 命令调用的数字。 所以你可以使用这个变量,

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

    (25 是向上的箭头)

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-04-30
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-08-08
      • 2018-08-09
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多