文章 姚 鑫 · 一月 14 2m read

第七十三章 管理设备和助记词空间 - 设备的解释级别

^%ISOPEN 命令一起使用的设备标识符最多要经过三个级别的解释。因此,如果在 ^%ISDevice: 提示符处输入助记词 47,则使用的最终设备 ID 可能会有所不同。下面介绍了这三个级别。

级别 1:%IS 实用工具级别

如果使用 ^%IS 实用程序选择设备,则使用第一级。^%IS 全局中的助记词可以与设备编号相关联。然后,^%IS 实用程序向该设备编号发出 OPEN 命令。

级别 2:OPEN 命令级别

OPEN 命令中,IRIS 会检查此数字是否存在于 Device panel 表的 Alias 列中。如果是这样,它会将其转换为该设备的实际设备号或名称。

注:如果想通过 ^%IS 的助记词访问该设备,请确保不要定义与设备 ID 匹配但与其他设备关联的别名。

定义默认助记词

程序员可以通过在其应用程序中使用 WRITE /mnemonic 命令来控制设备。例如,当程序员使用以下命令使用 %X364 助记词时,他们可以将光标移动到终端设备上当前行中的特定列:

  WRITE /CHA(column)

由助记词的任何特定值引起的操作由 WRITE 命令使用的助记词空间决定。助记词空间是具有定义设备操作和属性的入口点 (助记词) 的例程。

0
0 0
文章 姚 鑫 · 一月 13 2m read

第七十二章 管理设备和助记词空间 - 定义设备

定义设备

可以在 Management PortalDevices (设备) 配置设置中定义、编辑和删除设备。您输入的信息存储在 ^%IS 全局变量中。有关此全局的更多信息,请参阅 ^%IS 全局的结构。

如果在 IRIS 运行时进行设备更改,系统会提示是否要在不重新启动 IRIS 的情况下激活更改。如果同意激活更改,则新定义将立即提供给用户。

访问设备

Windows 系统上,必须将设备编号用于作业间通信设备和常规联锁设备。对于终端和打印机,可以使用您分配的设备助记词或设备编号。

UNIX 系统上,可以使用 UNIX 文件规范来引用文件,也可以设置设备编号来引用文件。

可以通过以下两种方式之一访问设备:

  • ^%IS 实用程序的 Device: 提示符处输入设备助记词。
  • 发出 OPEN 命令并输入设备 ID 或别名。

允许用户使用 ^%IS 实用程序选择设备

如果希望基于字符的应用程序的用户以交互方式选择设备,请从应用程序中调用 ^%IS 实用程序。您可以在 允许用户指定设备 中了解有关 ^%IS 实用程序的更多信息。

要使用 ^%IS 实用程序选择设备:

  1. Device: 提示符处,输入设备助记词。

预定义的助记词空间

0
0 0
文章 姚 鑫 · 一月 12 2m read

第七十一章 管理设备和助记词空间 - 设备 ID

可以通过数字或操作系统名称来识别设备。可以在 OPEN 命令中使用此标识符。

设备别名

可以为定义的每个 IRIS 设备定义一个或多个别名值。当用户在 OPEN 命令中指定别名时,IRIS 会将其转换为设备 ID

IRIS 提供的默认设备 ID 适用于大多数用户。但是,某些用户可能希望覆盖这些默认值。可以通过在 Management Portal 中提供别名作为设备配置设置的一部分来实现此目的。

默认设备 ID 和助记词

当安装 IRIS 时,这些是每种设备类型的默认设备编号和助记符。

默认设备编号和助记词

Device 装置Device ID 设备 IDMnemonic 记忆Notes 笔记
Principal0TERM无法更改此设备的设备 ID
Spooler后台处理程序2 SPOOL

但是,IRIS 还可以识别可用于定义设备的其他设备编号。下表列出了已识别的默认设备编号。

IRIS 默认设备编号

0
0 0
文章 姚 鑫 · 一月 9 2m read

第六十九章 打印机 - 使用助记词空间控制设备

助记词是执行设备控制操作(如光标移动和设备属性)的 IRIS 例程。每个操作都与一个标签相关联。这些标签是 WRITE /mnemonic 命令中使用的助记词。有关 WRITE /mnemonic 语法的更多信息,请参阅本文档其他页面中每种设备类型的 WRITE 命令说明。

预定义的助记词空间

IRIS 提供下表中描述的预定义助记词空间。

预定义的助记词空间

Routine Name 例程名称Device Type Default 设备类型 默认Description 描述
^%X364终端、顺序文件、其他设备X3.64 (ANSI) 端子的助记词空间。有关信息,请参阅 X3.64 的助记词空间。
^%XDTMDTM PC ConsoleDTM PC 控制台的助记词空间。有关信息,请参阅 DTM PC Console 的助记词空间。

设置默认助记词

可以在 Management Portal 中更改以下设备类型的默认助记词空间。依次选择 System Administration、Configuration (配置)、Device Settings (设备设置)、 IO Settings (IO 设置)。这将显示以下内容的助记词:

0
0 0
文章 姚 鑫 · 一月 7 3m read

第六十八章 打印机 - 在 UNIX® 上指定打印机

要在 UNIX 设备名称为 /dev/tty06 的终端上打开 I/O 设备,请输入以下命令

   OPEN "/dev/tty06"

UNIX 系统上,打印机由 OPEN 命令上的名称标识,并在 tty 设备上作为“字符特殊”文件处理。因此,支持的 OPENUSE 命令参数与终端 I/O 相同, 而不是顺序文件 I/O 的参数。

UNIX 上,OPEN 支持大多数终端 I/O 关键字参数,如终端 I/O 中所述。

将输出定向到打印机

可以使用 %IS 实用程序将输出定向到打印机。可以使用命令 DO ^%IS 调用 %IS 实用程序。(也可以使用 DO OUT^%IS 来指定选择的是仅输出设备。无论哪种情况,IRIS 都会返回 Device: 提示符。要指定打印机,请使用默认助记符 “|PRN|“ 或其他已配置打印机的助记符。然后,%IS 实用程序会建议 OPEN 参数;对于打印机,默认值为 “W” (只写)。可以通过按 Enter 键来接受参数 default,如以下示例所示:

%SYS>DO ^%IS
Device: |PRN|
Parameters? "W" => <RETURN>
%SYS>

这将打开指定的打印机作为当前进程的输出设备。

%IS 实用程序设置各种变量。以下是 Windows 系统上的打印机默认值。

%IS 设置的变量

0
0 0
文章 姚 鑫 · 一月 5 2m read

第六十六章 打印机

打印机

本页讨论了如何在 IRIS 数据平台中配置和使用打印设备。打印机是仅物理输出设备。打印机可以是字符打印机,也可以是非字符设备,例如传真或绘图仪。

在大多数情况下,输出不会直接发送到打印机。通常,要打印的输出首先发送到逻辑假脱机设备(^SPOOL 全局)。然后,可以将 ^SPOOL 全局的内容发送到物理打印机。有关假脱机的更多详细信息,请参阅 假脱机设备。

打印机概述

请注意,WindowsUNIX 处理打印机 I/O 的方式不同。

  • Windows 系统将打印机作为顺序 I/O 设备处理,因此遵循与顺序文件 I/O 相同的语法。但是,通过串行通信端口连接的打印机将作为终端 I/O 设备处理。
  • UNIX 系统始终将打印机作为终端 I/O 设备进行处理。UNIX 将其视为 tty 设备上的 “字符特殊” 文件,因此遵循与终端 I/O 相同的语法。

Windows 系统上,您可以使用 %Library.Device.InstalledPrinters() 方法返回系统上当前打印机的计数。您可以使用 %Library.Device.GetPrinters() 方法返回系统上当前打印机的列表。

指定打印机

可以为打印机分配一个介于 2562047 之间(包括 2562047)的设备编号。此设备编号范围也用于终端和平面文件。

0
0 0
文章 姚 鑫 · 一月 4 2m read

第六十五章 假脱机设备 - 列出假脱机文档

列出假脱机文档

%SPOOL 实用程序菜单 List documents 的选项 2 显示当前为运行 %SPOOL 的目录假脱机的文档列表。如果没有 Despool start-end 值,则文档尚未解散(打印)。

每个假脱机文档的描述显示在有关该文档的其余信息之后的一个或多个单独行上。

在以下示例中,用户选择了选项 2。显示屏将显示存储在后台处理程序中的两个文档。第一份记录在 830 日下午 2:23 存储,并于当天下午 2:25 打印。第二份于 34 日上午 11:39 存储,并于当天上午 11:42 打印。

0
0 0
文章 姚 鑫 · 一月 4 3m read

第六十四章 假脱机设备 - 使用 %SPOOL 打印

使用 %SPOOL 打印

%SPOOL 实用程序菜单的选项 1 Print(打印)允许您在任何设备上打印 ^SPOOL 全局中的一个或多个文档,继续打印中断的文档,以及将单张纸张手动送入信纸质量打印机。通过将输出发送到后台处理程序,可以在输出设备打印文档时释放终端用于其他用途。

可以在完全创建后台打印文档之前或之后开始打印。如果打印机赶上新输出,则打印过程将暂停 5 秒钟,然后打印在此期间累积的所有输出。打印过程知道您何时关闭了后台打印文档,并在文档完成时完成。

%SPOOL 打印文档时,它会跟踪已打印的页面。它还会创建页面索引,以便可以按页码对文档进行排序,并从您选择的任何页面的顶部开始打印。

如果停止打印(例如,在终端输出期间按 Ctrl-c,或者打印机损坏),则可以稍后在最后一个部分打印的页面的顶部或文档中任何其他页面的顶部继续打印。请注意,IRIS 不会将文档开头的换页数计为页数中的页数。

%SPOOL 使用术语 despool 来表示打印。仅当文档已打印(depooled)时,Despool start-end 列和描述行中才会有值。

使用 Print 函数

0
0 0
文章 姚 鑫 · 一月 1 2m read

第六十二章 假脱机设备 - 查看 ^SPOOL 全局

查看 ^SPOOL 全局

与任何下标的全局变量一样,您可以通过发出 WRITE 命令来显示 spool 文件中的行,如下所示:

   WRITE "1st spool file node: ",^SPOOL(1,1),!

但是,要查看和编辑假脱机文件本身,请转到管理门户并选择 System ExplorerGlobals。选择您当前的命名空间,找到 SPOOL 全局变量,然后单击 data。这将显示类似于以下示例的假脱机文件数据。

在下面的假脱机文件中,() 终止字符结束假脱机文件中的每个节点行。这些终止字符是假脱机文件的一部分,作为 $CHAR(13,10) 连接到文本字符串(ReturnLine Feed)。

^SPOOL(1,1)=<<"First line of text"_$C(13,10)>>
^SPOOL(1,2)=<<"Second line of text"_$C(13,10)>>
^SPOOL(1,2147483647)={59605,43605{3{

在下面的假脱机文件中,没有行终止字符。两个 WRITE 命令写入一个 node 行,该行由关闭 spool 文件终止。

0
0 0
文章 姚 鑫 · 十二月 31, 2024 2m read

第六十一章 假脱机设备 - 假脱机和特殊变量

写入 ^SPOOL 时,IRIS 会不断更新 $X$Y特殊变量。$X 表示写入当前索引行的字符数,$Y 包含当前 OPEN 期间写入的行数。请注意,$Y 的值不一定与 node 索引相同。例如:

   /* Writing to the ^SPOOL global */
   OPEN 2:(2:3)
   USE 2
     WRITE "Hello " SET x1=$X,y1=$Y,z1=$ZA
     WRITE "world",! SET x2=$X,y2=$Y,z2=$ZA
     WRITE "Good to see you",! SET x3=$X,y3=$Y,z3=$ZA
   CLOSE 2

   /* Displaying the ^SPOOL global */
   WRITE ^SPOOL(2,3),^SPOOL(2,4)
   WRITE !,"$X=",x1," ",x2," ",x3
   WRITE !,"$Y=",y1," ",y2," ",y3
   WRITE !,"$ZA=",z1," ",z2," ",z3
0
0 0
文章 姚 鑫 · 十二月 29, 2024 2m read

第六十章 假脱机设备 - WRITE 命令

WRITE 命令

要将一行写入 ^SPOOL 全局变量,请发出 WRITE 命令,以行终止符字符结尾。例如

   /* Writing to the ^SPOOL global */
   OPEN 2 
   USE 2 
     WRITE "First line of text",!
     WRITE "Second line of text",!
   CLOSE 2

   /* Displaying the ^SPOOL global */
   WRITE ^SPOOL(1,1),^SPOOL(1,2)

每行都以行终止符(感叹号)结尾,并存储在单独的全局节点中。

但是,在生成单个打印行时,可能需要使用多个 WRITE 命令;如果 WRITE 不包含行终止符,则下一个 WRITE 命令将附加到同一打印行。两者都写入同一个全局节点。此行保存在缓冲区中,在发出行终止字符或关闭后台处理程序设备之前,不会写入后台处理程序全局。

以下示例在发出 CLOSE 时写入一个全局节点:

0
0 0
文章 姚 鑫 · 十二月 27, 2024 2m read

第五十九章 假脱机设备

介绍

IRIS数据平台使能够将打印输出直接发送到您的打印机或屏幕,或将其保留在后台打印中以供以后打印。IRIS 假脱机独立于您的操作系统执行的假脱机。

IRIS 中的假脱机是一种技术,可让自动将程序的输出保存在 ^SPOOL 下标全局中,而不是立即打印。可以通过将 ^SPOOL 全局的内容发送到打印机来稍后打印输出。本页介绍使用此假脱机工具的两种方法:使用 ObjectScript 命令(OPEN、USE、WRITE、CLOSE)或使用 %IS%SPOOL 实用程序。

打开和使用假脱机设备

要将输出发送到当前命名空间中的 spool 全局变量,请打开 spooler 并将其指定为输出设备。

假脱机程序是 IRIS 提供的预定义设备。它在设备表中被分配了设备编号 2。此设备号可用于在 OPENUSECLOSE 命令中标识后台处理程序设备。

您可以通过 Management Portal 访问后台处理程序设备信息。依次选择 System AdministrationConfiguration (配置)、Device Settings (设备设置)、Devices (设备)。在这里,将找到设备 2 和名为 SPOOL 的设备。默认情况下,它们都映射到同一物理设备(设备 2),并且具有相同的 option 值。

0
0 0
文章 姚 鑫 · 十二月 25, 2024 2m read

第五十八章 File 输入 输出 - WRITE 命令

WRITE 命令

在定位的 READWRITE 之后,后续的 READWRITE 操作将按顺序进行,直到下一个带有 position 参数的 USE 命令。

WRITE 命令将数据(一次一条记录)写入作为当前设备的顺序文件。

语法

WRITE x
  • x 变量 x 中的数据将作为一条记录写入顺序文件中。

CLOSE 命令

CLOSE 命令放弃对顺序文件的所有权。

如果指定的文件未打开或不存在,则 IRIS 将忽略 CLOSE 并返回而不发出错误。

语法

CLOSE file 
CLOSE file:"D" 
CLOSE file:("R":newname)
  • file 文件 任何有效的文件规范,用引号括起来。指定的文件必须已打开。在 UNIX 路径名中,可以使用波形符 (~) 扩展来指示当前用户的主目录。例如:~myfile~/myfile
  • "D" 关闭并删除具有参数中指定的名称的文件。
  • ("R":newname) 使用参数中指定的名称关闭文件,并将其重命名为 newname

CLOSE-Only 命令关键字

下表描述了仅使用 CLOSE 命令控制顺序文件的关键字。

顺序文件的 CLOSE-only 命令关键字

/DELETE[=n] /DEL[=n]

0,除非文件在打开时标记为删除。

0
0 0
文章 姚 鑫 · 十二月 24, 2024 2m read

第五十七章 File 输入 输出 - READ 命令

在定位的 READWRITE 之后,后续的 READWRITE 操作将按顺序进行,直到下一个带有 position 参数的 USE 命令。

READ 命令从当前设备读取数据,一次读取一条记录。读取超过文件末尾会导致错误。

语法

READ x#n:timeout
  • x 该变量将保存从文件中读取的记录。
  • n 可选 – 对于可变长度读取,为要读取的字符数,指定为整数。对于固定长度的读取,此参数将被忽略。
  • timeout 超时 可选 – 在超时之前等待读取操作完成的秒数。整数值或解析为整数的变量。

timeout 参数虽然是可选的,但强烈建议使用,因为如果指定了 timeout,则 READ 的成功或失败由 $TEST 特殊变量的值指示。如果读取尝试在超时到期之前成功,则 $TEST 设置为 1;如果超时到期,则 $TEST 设置为 0

以下示例显示了从 Windows 顺序文件中读取固定长度记录的 READ 操作。它创建一个顺序文件,将数据写入该文件,然后关闭该文件。然后,它会打开此文件以进行 4 个字符的固定长度读取 (“RF”:4)。它将 USE position 参数设置为第一条记录(记录 0);每个读取操作都会推进此位置。FOR 循环将每个四字符的记录读取到下标变量中。然后,ZWRITE 命令显示所有这些下标局部变量及其值。

0
0 0
文章 姚 鑫 · 十二月 23, 2024 2m read

第五十六章 File 输入 输出 - USE 命令

US 命令

USE 命令使打开的顺序文件成为当前设备。可以打开多个顺序文件,但一次只能使用一个顺序文件。

语法

USE file:position
  • file 文件

任何有效的文件规范,用引号括起来。指定的文件必须已打开。在 UNIX 路径名中,可以使用波形符 (~) 扩展来指示当前用户的主目录。例如:~myfile~/myfile

  • position 位置

可选 — 文件中下一个 READWRITE 的位置。position 值是一个数字表达式,其含义取决于文件的记录格式。对于固定长度的记录,position 是相对于零的绝对记录号,其中每条记录都包含在前面的 OPEN 命令中指定的字符数。对于流或可变长度记录,position 是相对于零的绝对字节位置。默认设置是从文件开头开始按顺序读取或写入记录。

可以使用 $ZSEEK 函数设置文件位置,该位置由字符数相对于顺序文件的开头、当前位置或结尾的偏移量指定。$ZPOS 特殊变量包含从顺序文件开头开始的当前字符计数位置。

USE-only 命令关键字

除了上面列出的与 OPEN 共享的命令关键字外,USE 命令还有自己的一组关键字:

顺序文件的 USE-only 命令关键字

/POSITION=n

0
0 0
文章 姚 鑫 · 十二月 22, 2024 2m read

第五十五章 File 输入 输出 - 与非 InterSystems IRIS 软件的交互

与非 InterSystems IRIS 软件的交互

Windows 系统上,在 IRIS 中打开顺序文件以进行 “WL” 写入访问通常会阻止非 IRIS 应用程序打开顺序文件进行写入访问。同样,非 IRIS 应用程序打开顺序文件进行写入访问通常会阻止 IRIS 进程并发 “WL” 写入访问。

但是,某些非 IRIS 应用程序,包括记事本和写字板应用程序,会打开一个文件,在共享模式下复制文件,然后立即关闭它。因此, IRIS 进程仍然可以以 “WL” 模式打开文件。当这些非 IRIS 应用程序之一尝试将其副本中的更改保存到原始文件,或尝试重新打开原始文件时,将发生错误。更严重的情况可能发生如下:如果这些非 IRIS 应用程序之一打开了一个文件,然后 IRIS 打开、修改和关闭文件,然后非 `` 应用程序保存对文件的更改,两个进程所做的更改都被保存,文件数据的完整性可能会受到损害。

UNIX 系统上,在 IRIS 中打开一个顺序文件以进行 “WL” 写访问通常不会影响非 IRIS 应用程序的行为。您必须使用锁来可靠地限制来自非 IRIS 应用程序的写入访问。

示例

0
0 0
文章 姚 鑫 · 十二月 20, 2024 2m read

第五十四章 File 输入 输出 - OPEN 参数关键字

OPEN 参数关键字

下表描述了顺序文件的 OPEN 命令参数关键字:

顺序文件的 OPEN关键字参数

/PARAMS=str /PAR=str

No defaul

对应于 parameters 位置参数。(它提供了一种以与位置无关的方式指定参数字母代码字符串的方法)。

/RECORDSIZE=int /REC=int

无默认值

对应于 reclen 位置参数,该参数为固定长度记录建立记录大小。(目前仅针对 READ 操作实现。

/TERMINATOR=str /TER=str

无默认值

对应于 terminators 位置参数,该参数建立用户定义的终止符。str 是一串用户定义的记录终止符,仅适用于 Stream 模式。它们允许覆盖默认终止符:回车符、换行符和换页符。用户定义的终止符仅适用于输入,它们不会影响数据写入文件的方式(终止符作为特殊字符写入文件)。如果有多个用户定义的终止符,则会将其视为终止符列表,而不是用作单个终止符的多字符序列。

OPEN 模式锁定

当两个进程尝试打开同一个顺序文件时,第二个 OPEN 会根据第一个OPEN 使用的模式成功或失败。下表显示了使用独占 (“L”) 和非独占读取和写入模式的两个打开之间的交互。请注意,这些交互的解释取决于平台。为 Windows 操作系统和 UNIX 操作系统提供了表。

0
0 0
文章 姚 鑫 · 十二月 19, 2024 4m read

第五十三章 File 输入 输出 - OPEN模式参数

A /APPEND /APP

Append:WRITE 操作将数据附加到现有文件的末尾。默认设置是覆盖现有数据,而不是 append

S /STREAM

流格式,回车符、换行符或换页符作为默认终止符。S、V、F 和 U 模式是互斥的。Stream record format 是默认格式。

V /VARIABLE

请勿尝试在可变长度顺序文件末尾以外的任何位置插入记录;WRITE 将使文件中的所有数据从 WRITE 之后的点开始无法访问。S、V、F 和 U 模式是互斥的。流记录 (S) 格式是默认格式。

使用转换表写入的可变长度记录(例如使用 UTF8 转换的 Unicode 数据)可能会导致存储的记录具有与输入数据不同的字符串长度。IRIS 在读取此记录时使用原始输入字符串长度。

F /FIXED /FIX

Fixed length:每条记录都是 reclen 参数中指定的长度。例如:OPEN “myfile”:(“RF”:4) USE “myfile”:0 READ x:5此示例将前 4 个字符的记录读入变量 x。这仅适用于 READ 操作(不适用于 WRITE 操作)。S、V、F 和 U 模式是互斥的。

U /UNDEFINED

0
0 0
文章 姚 鑫 · 十二月 18, 2024 3m read

第五十二章 File 输入 输出 - OPEN模式参数

OPEN 模式参数

可以通过以下两种方式之一指定 OPEN 模式参数

  • 用引号字符括起来的字母代码字符串,如 “VRWN”。每个字母都指定一个参数。字母代码可以按任何顺序指定;因为 IRIS 按照从左到右的顺序执行它们,所以在某些情况下,字母代码之间的交互可能会决定首选顺序。
  • 一系列 /keyword 参数,未加引号。这些参数用冒号分隔。关键字参数可以按任意顺序指定;因为 IRIS 以从左到右的顺序执行它们,所以在某些情况下,参数之间的交互可能会决定首选顺序。

指定字母代码参数和关键字参数的组合时,请先指定字母代码字符串,然后指定关键字参数,用冒号分隔。以下示例指定三个字母代码参数,后跟两个关键字参数,后跟 reclen 和 timeout 参数。

  OPEN "mytest":("WNS":/OBUFSIZE=65536:/GZIP=0:32767):10

N /NEW

新建文件。如果指定的文件不存在,则系统创建该文件。如果指定的文件已作为 ReadOnly 文件存在,则系统会删除旧文件并将其替换为同名的新文件(权限允许)。请注意,应使用文件锁定来防止使用此参数的并发进程覆盖同一文件。

0
0 0
文章 姚 鑫 · 十二月 15, 2024 4m read

第五十一章 File 输入 输出 - 文件路径名工具

文件路径名工具

如果当前设备是顺序文件,则$ZIO包含该文件的完整路径名。

可以使用$ZSEARCH返回指定文件或目录的完整文件规范(路径名和文件名)。文件名可能包含通配符, $ZSEARCH使用通配符返回一系列满足通配符的完全限定路径名。

%Library.File 类包含许多提供文件系统服务的方法。这些包括:

  • NormalizeDirectory(),返回指定文件或目录的完整路径名。
  • NormalizeFilenameWithSpaces(),根据主机平台的情况处理路径名中的空格。如果路径名包含空格字符,则路径名处理取决于平台。 WindowsUNIX® 允许路径名中包含空格字符,但包含空格的整个路径名必须用一组附加的双引号 (") 字符括起来。这与 Windows cmd/c语句一致。有关详细信息,请指定cmd / ?Windows 命令提示符下。

波形符 (~) 扩展

Windows 路径名中,波形符 (~) 表示长名称的 8.3 压缩。例如: c:\PROGRA~1\ 。要转换压缩目录名称,请使用 %Library.File 类的 NormalizeDirectory() 方法。

UNIX 路径名中,可以使用波形符 (~) 扩展来指示当前用户的主目录或指定用户的主目录:

0
0 0
文章 姚 鑫 · 十二月 14, 2024 4m read

第五十章 File 输入 输出

本页介绍在 IRIS 数据平台中使用顺序文件。

重要:在大多数情况下,可以使用 %Library.File 类提供的 API,而不需要此页面上的详细信息。请参阅使用 %Library.File

介绍

所有操作系统都将磁盘 I/O 文件视为顺序文件。 Windows 系统将打印机视为顺序文件 I/O 设备(除非打印机通过串行通信端口连接)。 UNIX® 系统将打印机视为终端 I/O` 设备。有关打印机的更多详细信息,请参阅打印机。

本节讨论 IRIS 如何处理顺序文件。它提供了顺序文件 I/O 的介绍以及相关命令的说明。

0
0 0
文章 姚 鑫 · 十二月 13, 2024 3m read

第四十九章 终端输入 输出 - 转义序列编程

转义序列编程

转义序列的 ANSI 标准使智能终端的编程变得实用。字符串中转义字符及其后面的所有字符不会显示在屏幕上,但会更新$X$Y 。使用WRITE *语句将转义序列发送到终端,并通过直接设置$X和$Y来保持它们最新。

ANSI 标准建立了转义序列的标准语法。特定转义序列的效果取决于使用的终端类型。

每次READ之后在$ZB中查找传入的转义序列。 IRISANSI 标准转义序列和任何其他使用 ANSI 形式的转义序列放入$ZB中。 IRIS 可识别两种形式的转义序列:

常规形式

  • An ESC.
  • 可选字符“O”(字母),十进制值 79
  • 零个或多个十进制值为 32–47 的字符。
  • 十进制值 48–126 的一个字符。

控制形式

  • ESC字符,十进制值 27
  • “[”字符,十进制值 91
  • 零个或多个十进制值为 48–63 的字符。
  • 零个或多个十进制值为 32–47 的字符。
  • 十进制值 64–126 的一个字符。

此外,序列不能超过 16 个字符。违反这些形式或规则的转义序列设置$ZA的位 8,其值为 256

示例

假设正在对一个终端进行编程,其帮助键发送两个字符序列Escape-? ( ?的十进制值为 63

0
0 0
文章 姚 鑫 · 十二月 12, 2024 2m read

第四十八章 终端输入 输出 - PRINT 和 ZPRINT 命令

PRINT 和 ZPRINT 命令

将当前加载的 IRIS 例程的一行或多行写入当前设备。

ZPRINT与PRINT`具有相同的效果和参数。

语法

PRINT 
ZPRINT 
PRINT x 
ZPRINT x 
PRINT x:y 
ZPRINT x:y
参数Definition 定义
(none) 不带参数的PRINTZPRINT命令打印整个例程。
x,y变量xy指示要打印的行范围。它们可以是 TAG+OFFSET 形式的行引用,也可以是 +7 形式的行号。引用不在例程中的行意味着例程最后一行后面有空行。 x = 要打印的第一行或唯一一行。 y = 要打印的最后一行。

示例

此示例打印当前例程的第一行、从 INIT 开始的四行以及从 FINI 到结尾的所有行:

INIT
  SET a=1
  SET b=2
  SET c=3
  SET d=4
FINI
  SET x=24
  SET y=25
  SET z=26
  PRINT +1,INIT:INIT+3,FINI:+9999

对终端进行编程

使用 IRIS 对格式化 CRT 屏幕进行编程

终端 I/O 的几个功能有助于对格式化屏幕进行编程:

0
0 0
文章 姚 鑫 · 十二月 11, 2024 2m read

第四十七章 终端输入 输出 - DTM PC 控制台的助记符空间

DTM PC 控制台的助记符空间

IRIS 提供 IRIS 例程 %XDTM 来匹配开发 DTM 应用程序时使用的助记符。该助记词空间可用,但未设置为终端默认助记词空间。如果您将为 DTM 创建的应用程序移植到 IRIS,可以:

  • 在管理门户中将 ^%XDTM 配置为终端( MnemonicTerminal )的默认助记词空间,或者
  • OPENUSE命令中引用 ^%XDTM 助记符空间。

DTM 示例

UNIX

  OPEN "/dev/tty04/"::"^%XDTM"

Windows

  OPEN "c:\sys\user"::"^%XDTM"

然后 IRIS 可以正确解释WRITE /mnemonic命令中的 DTM 控制助记符,如下表所示。

DTM PC 控制台的控制助记符

0
0 0
文章 姚 鑫 · 十二月 10, 2024 4m read

第四十六章 终端输入 输出 - CLOSE 命令

CLOSE 命令

释放设备的所有权,这是通过OPEN命令获得的。

语法

CLOSE device

终端预定义助记符空间

IRIS 提供了两个预定义的助记符空间供终端使用:

  • ^%X364 用于 ANSI X3.64 终端
  • ^%XDTM 用于 DTM PC 控制台

如果激活这些助记符空间之一,则可以在WRITE /mnemonic命令中使用与它们关联的控制助记符。还可以创建自己的助记符空间。有关助记符空间的更多信息,请参阅使用助记符空间控制设备。

以下部分描述了这些助记符空间的控制助记符。

X3.64的助记符空间

IRISANSI X3.64 定义提供内置助记符空间。该助记符空间是管理器命名空间中的 IRIS 例程 %X364。要使用例程 %X364,请执行以下任一操作:

  • IRIS 系统管理员在IO Settings配置设置中输入 %X364 作为默认助记符空间。从管理门户中,选择“系统管理” 、 “配置” 、 “设备设置” 、 “IO 设置” 。
  • 发出指定此助记符空间的OPEN命令:
 OPEN "terminal"::"^%X364"

下表列出了助记符。

0
0 0
文章 姚 鑫 · 十二月 8, 2024 3m read

第四十四章 终端输入 输出 - 特殊协议字符影响终端 I O

特殊协议字符影响终端 I O

每个操作系统都会拦截某些协议字符 (UNIX) 或组合键(例如 Windows 平台上的CTR-ALT-DEL ),以防止这些字符影响 IRISWindows 控制台不会尝试覆盖这些操作系统特征。

其他特殊字符可以改变例程的执行方式,但不会出现在READ命令变量中。在图像模式下操作终端会取消这些效果,并使 IRIS 像对待任何其他字符一样对待这些字符。

READ受输出和输入控制字符的影响。 READ只是读取除终止字符之外的所有其他控制字符。它不回应他们。

输出控制字符影响例程的流程和输出。下表对此进行了描述:

输出控制字符

输出控制字符十进制值定义
Ctrl-C3如果启用了中断,则Ctrl-C会中断例程的执行。该例程的行为就像发生错误。如果禁用中断,则Ctrl-C会导致 IRIS 丢弃当前READ中迄今为止输入的任何内容。可以使用Ctrl-C中断需要网络操作的全局模块请求。要捕获Ctrl-C ,请设置特殊变量$ZTRAP 。有关其他信息,请参阅有关启用中断的部分。
Ctrl-S19Ctrl-S暂停到终端的输出。当 IRIS 遇到Ctrl-Q时,终端输出将恢复。
Ctrl-Q17Ctrl-Q恢复由Ctrl-S暂停的输出。
0
0 0
文章 姚 鑫 · 十二月 7, 2024 2m read

第四十三章 终端输入 输出 - READ 命令

Read 命令

从键盘读取 032 KB 的内容到指定变量中。超时参数是可选的。该命令不能以井号 (#) 或冒号 (:) 结尾

语法

READ variable:timeout                                             ; Variable-length read
READ variable#length:timeout  ; Fixed-length read
READ *variable:timeout                                           ; Single-character read

示例

下表提供了如何使用这些参数的几个示例。

READ 命令参数:示例

0
0 0
文章 姚 鑫 · 十二月 6, 2024 2m read

第四十二章 终端输入 输出 - 显式终止符

显式终止符

OPENUSE命令中的终止符参数允许您将特定字符定义为READWRITE命令的终止符。这些显式终止符可用于补充指定协议提供的终止符字符。终止符参数还可用于覆盖协议对字符的指定,并将其指定为终止符。将字符重新定义为终止符的能力的例外情况是:ASCII 0 (NULL)ASCII 3 ( Ctrl-C ) 以及两个输出控制字符Ctrl-Q (XON)Ctrl-S (XOFF)。它们保留其功能,并且不能重新定义为终止符。

示例

此示例将 ZBackspaceTab定义为主设备的终止符。下划线是连接运算符。

  USE 0:("":"":"Z"_$CHAR(8,9))

通过对无主终端发出OPEN命令,您可以隐式清除 IRIS 内部显式终止符列表。当出现协议字符串时, IRIS 会执行以下操作:

  1. 清除其显式终止符列表。
  2. 根据协议字符串设置协议。
  3. 将终止符字符串(如果有)复制到显式终止符的内部列表中。

下表给出了显式终止符字符串的示例。

0
0 0