第三十四章 终端输入 输出
第三十四章 终端输入 输出
概述
ObjectScript 提供支持串行异步 ASCII 终端的命令。还可以将这些命令与控制台 I/O 结合使用。
使用终端 I/O,例程可以:
- 启用或禁用传入字符的回显。
- 发送和接收
ANSI标准转义序列。 - 控制键盘中断并编程特殊的用户交互,包括格式化屏幕、反向视频和用于跳过字段的特殊键。
- 启用和禁用
Ctrl-C中断的识别。 - 通过
XON(Ctrl-Q) 和XOFF(Ctrl-S) 控制传入和传出数据流。 - 指定
COM端口状态参数和调制解调器波特率。 - 当指定自己的终止字符集时,请遵循外部协议。
- 与非终端设备通信,例如自动化仪器。
在大多数平台上,打印机被视为终端 I/O 设备。 UNIX® 系统始终将打印机作为终端 I/O 设备来处理。在 Windows 上,通过串行通信端口连接的打印机被视为终端 I/O 设备。否则,Windows 系统将打印机作为顺序文件 I/O 设备处理。
登录终端或控制台是主要设备
登录 IRIS 的终端或控制台是主要设备。无需打开主要设备。如果尚未发出OPEN和USE ,则进程第一次发出READ或WRITE时,系统会自动打开主设备,并将其设置为当前设备,就像您已显式发出OPEN 0 USE 0一样。
在本页的其余部分中, “终端”一词用于指代终端和控制台。
特殊变量显示 I/O 条件
I/O 命令可以影响特殊变量的值。您可以测试这些变量以确定 I/O 条件:
$IO包含当前设备的名称。$TEST包含一个布尔值,显示最近的定时操作是否成功。$X和$Y显示光标的位置。$ZA、$ZB和$KEY显示有关READ操作的信息。$ZB和$KEY相似,但不相同。
$X 和 $Y 以及光标位置
$X包含光标或打印头的水平位置, $Y包含垂直位置。 $X=0,$Y=0表示CRT 屏幕或打印页的左上角。 IRIS 计算$X和$Y模 256;也就是说,它们的范围是从 0 到 255,然后又从 0 开始。
回显角色的效果
| Character 特点 | ASCII Code ASCII 码 | 对$X 的影响 | 对$Y 的影响 |
|---|---|---|---|
| Form Feed | 换页 | 12 | $X=0 |
| Return | 返回 | 13 | $X=0 |
| Line Feed | 换行 | 10 | $X=$X |
| Backspace | 退格键 | 8 | $X=$X-1 |
| Tab | 选项卡 | 9 | $X=$X+1 |
| 任何可打印的 ASCII 字符 | 32 through 126 32 至 126 | $X=$X+1 | $Y=$Y |
OPEN和USE的S协议关闭回显。该协议还禁止在输入期间更改$X和$Y ,以便它们真正指示光标的位置。