文章 姚 鑫 · 十一月 29, 2024 2m read

第三十六章 终端输入 输出 - 开关控制 $X 的转义序列更新

第三十六章 终端输入 输出 - 开关控制 $X 的转义序列更新

开关控制 $X 的转义序列更新

要选择非默认行为来更新进程的$X ,请发出%SYSTEM.Process类的 DX( n ) 方法。

系统管理员可以通过类中设置 Config.Miscellaneous 的DX属性来更改系统范围的默认行为。

在这两种情况下, n 的值都在 04 之间,如下所示:

ValueDefault Behavior for Updating $X
0Default for InterSystems IRIS
1DSM behavior
2DTM/MSM behavior

$TEST 显示定时操作结果

$TEST特殊变量由采用超时值的命令设置。这些命令包括OPENREAD$TEST的值可以设置为 10

  • 如果定时命令在超时到期之前成功,则$TEST设置为 1
  • 如果定时命令超时, $TEST将设置为 0

注:没有超时的OPENREAD命令对$TEST没有影响。

$ZA 显示读取状态

$ZA特殊变量包含许多位标志,显示当前设备上最后一次READ的状态。不能设置$ZAIRIS 控制其价值。 $ZA在下一次READ之前保持有效。 $ZA包含表中列出的值的总和,这显示了程序如何测试此变量。 ( $ZA还包含调制解调器连接状态的位标志,此处未列出。)

$ZA 读取状态值

ValueTestMeaning
1$ZA#2无论是否启用了中断,都会出现Ctrl-C
2$ZA\2#2读取超时。
256$ZA\256#2检测到无效的转义序列。
512$ZA\512#2硬件检测到奇偶校验或帧错误。

虽然$ZA显示的许多条件都是错误,但它们不会通过捕获$ZTRAP特殊变量来中断程序流程。与这些错误有关的程序必须在每次READ之后检查$ZA 。当然,启用中断的Ctrl-C将捕获到$ZTRAP