编程 HP 计算器/命令/图形命令
外观
语法
DISPLAY→ <name>:
详情
- 将显示存储在 GROB <name> 中。(请注意,箭头是 **从** DISPLAY **出去**。)
- 通常用于生成 GROB,以对其执行其他图形命令。
示例
DISPLAY→ G1: ERASE:WAIT 2: →DISPLAY G1: FREEZE:
将显示存储在 GROB G1 中,清除屏幕,等待两秒钟,然后将显示重新加载到屏幕上并暂停。(在没有其他图形命令的情况下,实际上毫无用处)。
语法
→DISPLAY <name>:
详情
- 将 GROB <name> 发送到显示器。(请注意,箭头是 **进入** DISPLAY。)
- 通常用于使用其他图形命令更改 GROB 后,将 GROB 输出到显示器。
示例
参见 DISPLAY→ 的示例。
语法
GROBNOT <name>:
详情
- 反转 GROB <name> 中的颜色,即,将所有 ON 像素设置为 OFF,反之亦然。
- 可用于选择按钮,例如,但通常对于此目的速度太慢。
示例
ERASE: DISPLAY→ G0: GROBNOT G0: →DISPLAY G0: FREEZE:
此程序将擦除屏幕(即,将所有像素设置为 OFF),然后反转颜色(即,将所有像素设置为 ON),给您一个黑色屏幕。
语法
MAKEGROB <name>; <width> <height> <hex-data>:
详情
- 允许您使用十六进制逐像素创建自定义 grob。
- 比常规绘图命令快得多,因此,如果您有时间手动编写您的 GROB,强烈建议您这样做。但是,它通常比仅使用其他绘图命令更能增加程序的大小,尽管这不会影响编译时间 - 所以您需要决定哪个更重要,程序大小还是程序速度。
- 每个 十六进制 数字(一个介于 0-9 之间的数字,或一个介于 A-F 之间的字母)代表一个四位 二进制 数字,它反过来代表屏幕上的四个像素(其中 1 为开,0 为关)。下表说明了每个十六进制数字产生的像素开/关序列
0: 0000 或 □□□□ | 1: 1000 或 ■□□□ | 2: 0100 或 □■□□ | 3: 1100 或 ■■□□ |
4: 0010 或 □□■□ | 5: 1010 或 ■□■□ | 6: 0110 或 □■■□ | 7: 1110 或 ■■■□ |
8: 0001 或 □□□■ | 9: 1001 或 ■□□■ | A: 0101 或 □■□■ | B: 1101 或 ■■□■ |
C: 0011 或 □□■■ | D: 1011 或 ■□■■ | E: 0111 或 □■■■ | F: 1111 或 ■■■■ |
- 语法非常反直觉;grob 名称(例如 G0)位于首位,后面跟着一个分号和一个空格,然后是 grob 的宽度和高度测量值,用空格(而不是通常的分号)隔开。之后,**必须**创建一个新行,然后十六进制数据开始,最后以常规 :. 结束。在键入十六进制数据时,不得创建新行,尽管计算器自然会将数据包装到下一行。
- 有用提示:要为整个屏幕生成 MAKEGROB 代码,请使用其他方法绘制所需的图像(例如 SKETCH 模式),然后按 ON+PLOT 将屏幕截图保存到 G0。现在,进入 HOME 视图并输入 G0,然后按 ENTER。最后,选择刚刚出现的以 MAKEGROB 开头的文本,然后按 F5(复制),然后再次按 ENTER。代码现在存储在 _Editline_ 程序中,您可以通过按 VARS、向下滚动到 Programs、选择 Editline、按 F4(VALUE)和按 F6(OK)将其插入到任何其他程序中。
- 另一个想法是使用 SUB 剪切此 grob 以创建子 GROB,然后在 HOME 视图中键入剪切的 GROB 的变量名(例如 G1)。使用上述程序将此 MAKEGROB 代码复制到您的程序中,您将能够在程序中节省大量空间,否则这些空间将被 0 或其他错误数据占用。如果计算器有一些形式的 RLE..
示例
MAKEGROB G1; 12 12 FFF10810899999910850A999168108FFF:
■■■■■■■■■■■■ ■□□□□□□□□□□■ ■□□□□□□□□□□■ ■□□■■□□■■□□■ ■□□■■□□■■□□■ ■□□□□□□□□□□■ ■□■□□□□□□■□■ ■□□■■□□■■□□■ ■□□□□■■□□□□■ ■□□□□□□□□□□■ ■■■■■■■■■■■■
以上 MAKEGROB 代码翻译成对上面 ASCII 草图粗略近似的 GROB 的创建。