第四十九章 终端输入 输出 - 转义序列编程
转义序列编程
转义序列的 ANSI 标准使智能终端的编程变得实用。字符串中转义字符及其后面的所有字符不会显示在屏幕上,但会更新$X和$Y 。使用语句将转义序列发送到终端,并通过直接设置$X和$Y来保持它们最新。
标准建立了转义序列的标准语法。特定转义序列的效果取决于使用的终端类型。
每次之后在$ZB中查找传入的转义序列。 IRIS 将 标准转义序列和任何其他使用 形式的转义序列放入中。 可识别两种形式的转义序列:
常规形式
An ESC.- 可选字符
“O”(字母),十进制值79。 - 零个或多个十进制值为 的字符。
- 十进制值 的一个字符。
控制形式
- 字符,十进制值 。
- 字符,十进制值 。
- 零个或多个十进制值为 的字符。
- 零个或多个十进制值为 的字符。
- 十进制值 的一个字符。
此外,序列不能超过 个字符。违反这些形式或规则的转义序列设置的位 8,其值为 。
示例
假设正在对一个终端进行编程,其帮助键发送两个字符序列 ( ?的十进制值为 )
例程可以检测非标准转义序列,如下所示:
- 让成为。
- 当ESC出现在中时:
- 使用
Secret协议禁用echo以防止修改$X/$Y。 - 使用读取序列的其余部分;
- 关闭 以重新启用
echo。
- 使用
在下图中,要求用户输入 。如果用户按
.png)