公告 Michael Lei · 一月 24
大家好,欢迎访问 2024 年度开发者社区简报。
一般统计信息:
✓ 2024 年发布了 312 篇帖子:
 242
 47份公告
 22个问题
  – 1次讨论

✓ 2024 年有 476 位成员加入开发者社区
✓ 总共发布了 2,342 篇帖子
✓ 总共有 17,544 位成员加入

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

第五章 C 开头的术语

客户端应用程序 (client application)

系统

一个独立于IRIS可执行文件的可执行文件,但依赖于IRIS,例如作为数据源。这样的应用程序可以在IRIS中注册,从而作为 安全模型的一部分进行管理。客户端应用程序的用户必须使用支持的认证机制之一进行IRIS认证。

代码方法 (code method)

对象(Objects)

执行 ObjectScript 的方法。

排序规则 (collation rule)

系统

确定IRIS检索全局节点顺序的算法。IRIS内置的排序规则包括 UNICODEANSI 和字符串。在 ANSI 排序中,标准数字下标首先按数字顺序排列,随后所有其他按字符串顺序排列;字符串顺序是字符集中的字符顺序。字符串规则将所有下标按字符集中的字符串排序,就像 ObjectScript"]" 运算符一样。

排序序列 (collation sequence)

系统

指定IRIS在必须按顺序检索节点时检索全局节点的顺序。字符集和排序规则共同构成排序序列。每个全局都与特定的排序序列相关联。

排序 (collation)

SQL

排序指定SQL在排序前如何转换数据。每种数据类型都有默认的排序类型。基于数据类型的属性使用其排序类型,除非明确定义了属性的排序类型。索引使用它们所索引的属性的排序类型,除非明确指定了索引的排序类型。

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

# 第四章 C 开头的术语

#### 循环引用 (circular reference)

**对象(Objects)**

在不同类中的两个属性相互引用对方的集合。只要循环引用中的两个属性都不是必需属性,`IRIS` 完全支持循环引用。如果循环引用中的两个属性都是必需属性,你将无法保存这两个类的对象。

#### 类编译器 (class compiler)

**对象(Objects)**

类编译器用于编译`IRIS` 类。你可以在 `IDE` 中使用类编译器,或者通过 ` IRIS` 对象实用库中的编译调用来使用。

#### 类定义语言 (Class Definition Language)

**对象(Objects)**

`IRIS` 的类定义语言(`CDL`)是一种基于关键字的语言,用于定义 `IRIS` 中的类。

#### 类描述符 (class descriptor)

**对象(Objects)**

包含运行时信息(方法和属性列表)的特殊类型例程,用于使用对象。

#### 类字典 (class dictionary)

**对象(Objects)**

类字典保存所有已编译类的当前类定义。`SQL` 也使用类字典来确定有效的表定义。

#### 类层次结构 (class hierarchy)

**对象(Objects)**

类层次结构显示从每个根类到其每个子类及其子类的类链。

0
0 0
文章 Nicky Zhu · 一月 22 2m read

近期有些小伙伴需要查询某张特定的表所占用的磁盘大小,可能其他小伙伴也有类似的需求。

给大家一个例子供参考。

应当考虑到IRIS的表底层使用global存储数据,包括表数据、索引数据和流数据(如果表中有流属性的话),因此一张表的完整占用应当包含至少上述三种global的求和,如下所示:

0
0 0
InterSystems 官方 Michael Lei · 一月 21

InterSystems 已更正导致在使用特定 $LIST 语法时引入无效数据库和日志记录的缺陷。 遇到此缺陷的可能性非常低,但它对操作的影响可能会很大。

受影响的产品

  • InterSystems IRIS® 数据平台:2023.3、2024.1.0、2024.1.1、2024.1.2、2024.2、2024.3 版
  • InterSystems IRIS® for Health:2023.3、2024.1.0、2024.1.1、2024.1.2、2024.2、2024.3 版
  • HealthShare® Health Connect:2023.3.0、2024.1、2024.1.1、2024.1.2、2024.2、2024.3 版
  • HealthShare® Unified Care Record and Suite:2024.2 版
  • 基于上述产品的所有产品组合

该问题仅影响 Unicode 安装。

使用以下语法在 global 中向列表附加新元素时,会出现此问题:

SET $LIST(<global reference>, *+1) = value.

0
0 0
公告 Anastasia Dyubaylo · 一月 16

🚨 计划维护公告 🚨  

由于计划中的维护,开发者社区网站可能会在2025年1月20日(星期一)期间出现短暂的停机现象。

对于由此可能带来的不便,我们深表歉意,并感谢您的理解。感谢您耐心等待,我们将努力提升我们的平台!  

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

第七十七章 设备特殊变量

^%IS 的更多功能

^%IS 还可用于执行以下任务:

  • 右边距抑制 — 可以设置终端线,以便每当选择该设备时,都会抑制右边距问题;默认值是自动假定的。
  • 自动设备选择 - 如果在调用 ^%IS 实用程序时存在变量 IOP,则实用程序会自动尝试打开该设备,而不是请求设备。如果 ^%IS 不成功,则将变量 POP 设置为 1
  • 预配置的终端 — 使用 Management Portal,可以配置不向用户请求任何设备信息的设备。

^%IS Global 的结构

^%IS 全局变量存储在 %SYS 命名空间中。它包含两个下标。第一个下标是在 Management Portal 中为设备配置的助记词名称。选择 System AdministrationConfiguration > Device SettingsIO Settings 以显示不同设备类型的默认助记词。第二个下标可以是 01

节点 0 的内容

节点 0 包含设备面板 Location 值:

^%IS(mnemonic,0) = Location

节点 1 的内容

节点 1 包含其他 Device panel 字段值,用插入符号 (^) 分隔:

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

第七十六章 使用 ^%IS - 示例

示例

调用 CURRENT^%IS 后,将 $X$Y 设置为 DXDY 以定位光标。

  DO CURRENT^%IS
  WRITE *27,*61,*DY+32,*DX+32 
  SET $X=DX,$Y=DY

IN^%IS 入场点

IN^%IS 中的一个内部入口点,可以由仅计划从设备进行 input 的例程调用。此入口点可用于确保您不选择仅输出设备,例如打印机。

%SYS> Do IN^%IS

Device: 3 
Right margin: 132= <RETURN>
[you can't read from this device] 
Device: <RETURN>  
Right margin: 80= <RETURN>
%SYS>

OUT^%IS 入口点

OUT^%IS 中的一个内部入口点,可以由仅计划向设备输出的例程调用。

Spooling

IRIS 假脱机独立于您的操作系统执行的假脱机。IRIS 中的假脱机是一种技术,可让自动将程序的输出保存在全局中,而不是立即打印。稍后可以通过将 global 的内容发送到打印机来打印输出。

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

第七十五章 使用 ^%IS - OPEN 参数

OPEN 参数

默认情况下,OPEN 命令使用 ^%IS 全局中定义的设备的规范。在使用 ^%IS 时,可以通过指定其他设置来覆盖这些设置。

发出 USE 命令

运行 ^%IS 后,应用程序必须向 ^%IS 打开的设备发出 USE 命令。你可以使用变量 IO,只要你明白每次调用 ^%IS 时它的值都会发生变化。然后,后续的IRIS I/O 命令,例如 READWRITE,将引用该设备。

发出 CLOSE 命令

用户或应用程序开发人员必须关闭使用 ^%IS 实用程序打开的设备。

^%IS 助记词

^%IS 有几个功能可以简化它的使用。例如,如果想将 I/O 发送到自己的终端,只需在“设备”提示符处按 Enter 键即可。还可以使用内置的默认助记词或您自己定义的新助记词。

设备助记词

为各种设备提供助记符很有用,在某些情况下,为单个设备提供多个助记符也很有用。多个助记符允许您为设备指定不同的设备特征,并根据设备的使用方式改变特征。例如,通常用于数据输入的终端,因此具有终端的特性,可能连接了辅助打印机。通过分配不同的助记词来打开具有不同特征的同一设备,当您需要硬拷贝时,您可以将终端/打印机组合视为打印机。

默认助记词

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

第七十四章 使用 ^%IS

^%IS 是一个通用的设备选择实用程序,用于基于字符的应用程序。可以使用内置的 ^%IS 实用程序来允许用户选择要将 I/O 操作定向到的设备。每当要选择设备时,应用程序都应该调用 ^%IS 实用程序。此实用程序允许用户指定要使用的设备和相应的 OPEN 命令参数,打开所选设备,然后将特定于设备的信息返回给调用程序。用户输入已在 ^%IS 全局中定义的助记词。^%IS 依赖于 Management Portal 中建立的 IO 配置默认值。

^%IS 如何运作

设备提示

当您调用 ^%IS 实用程序时,IRIS 会提示输入设备名称。可以通过以下方式之一进行响应:

  • 输入所需的设备名称或 ID 号。
  • 输入设备的助记词。
  • Enter 选择当前设备。

^%IS 响应如下:

  • 如果输入设备助记词,则 ^%IS 会在 ^%IS 全局变量中找到对应的设备并打开它。
  • 如果输入设备名称,则 ^%IS 会向该设备发出 OPEN 命令。
  • 如果设备是 IRIS 设备 ID,则 ^%IS 会检查设备表,查看该编号是否被重新映射到另一个实际的设备编号。然后 ^%IS 为设备发出 OPEN

其他问题

0
0 0
文章 姚 鑫 · 一月 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
InterSystems 官方 Michael Lei · 一月 9

2024 年 12 月 4 日,系统警报和监视 (SAM) 已从 InterSystems 下载网站、容器注册表和文档网站移除。

InterSystems 去年宣布停止进一步开发 SAM,并同时将其标记为已弃用。InterSystems 将继续按照与超出最低支持版本窗口的产品版本相同的方式为使用此技术的现有客户提供支持。

Intersystems 发现,大多数对 SAM 提供的可观察性类型感兴趣的客户已选择将 InterSystems IRIS 指标 API结构化日志记录连接到其组织现有的可观察性平台,以便更全面地了解其运行平台。

如果您对 SAM 当前的使用方式或今后的使用计划有任何疑问,请联系您的客户团队或 dbpprodmgrs@intersystems.com

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
InterSystems 官方 Michael Lei · 一月 7

我们已经有一段时间没有在开发者社区上发表关于嵌入式 Git 的文章了,我想借此机会更新一下今年我们完成的大量工作以及未来的工作计划。

背景信息

如果您要在 IRIS 上构建解决方案,并想要使用 Git,那就太棒了! 只需将 VSCode 与本地 Git 仓库结合使用,并将更改推送到服务器上即可,就是这么简单。

但在以下使用场景中该怎么办:

  • 您与其他开发者在共享的远程开发环境中合作,并想要避免因同时编辑同一文件而影响彼此的工作
  • 您使用位于管理门户中的编辑器来实现互操作性或业务智能,并希望对您的工作直接进行源代码控制,即使在本地容器中也希望如此
  • 您仍在使用 Studio 处理一些任务并且/或偶尔会再次从 VSCode 跳转回 Studio;或者您的团队还没有完全接受 VSCode,一些团队成员仍想使用 Studio,而其他人在使用 VSCode
  • 您同时在同一命名空间中处理多个独立的项目,例如使用 InterSystems Package Manager 定义的多个软件包,并想仅通过一个 isfs 编辑视图使用所有软件包(而不是在多个单独的项目中使用),同时在合适的本地 git 仓库中自动跟踪更改
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
InterSystems 官方 Michael Lei · 一月 5

2024.3 版  InterSystems IRIS® 数据平台、InterSystems IRIS® for Health 和 HealthShare® Health Connect 现已正式发布 (GA)。

版本亮点

在此版本中,您可以期待一系列激动人心的更新,包括:

  1. 数据库和 WIJ 文件的扩展速度大大提高
  2. 能够通过 Visual Trace 重新发送消息
  3. 增强的规则管理器功能
  4. 向量搜索增强功能
  5. 等等。

请通过开发者社区分享您的反馈,与我们共同打造更好的产品。

文档

请访问以下链接了解所有亮点功能的详细信息:

此外,请查看此版本的升级信息

抢先体验计划 (EAP)

目前提供多个 EAP。 请查看此页面并注册您感兴趣的计划。

如何获取软件?

像往常一样,持续交付 (CD) 版本包含适用于所有受支持平台的经典安装包,以及 Docker 容器格式的容器镜像。

经典安装包

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
InterSystems 官方 Michael Lei · 一月 3

InterSystems IRIS® 数据平台、InterSystems IRIS® for Health 和 HealthShare® Health Connect 2025.1  的首个开发者预览版已发布到 WRC 开发者预览网站。容器可在我们的容器注册表中找到,并已添加 latest-preview 标签。

这些开发者预览版包含用于迁移到 IBM Open XL C/C++ for AIX 17.x 编译器的功能,从而在旧版编译器接近支持终止时确保与未来的 AIX 版本兼容。 此迁移侧重于 aixopenssl30 目标,支持 AIX 7.2 和 7.3 上的 SSL3。

可以在以下链接中找到初始文档:

可用性和软件包信息

此版本提供适用于所有受支持平台的经典安装包。有关完整列表,请参阅“支持的平台”文档

安装包和预览版密钥可从 WRC 的预览版下载网站或通过评估服务网站(勾选“Show Preview Software”(显示预览软件)框)获取。

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
公告 Michael Lei · 一月 1
您好,欢迎阅读 十二月 2024 开发人员社区通讯。
统计信息
✓ 十二月发布了 32 篇新帖子:
 29篇新文章
 1 new announcement
 2个新问题

✓ 十二月有 29 位新成员加入
✓ 所有时间发布了 2,316 篇帖子
✓ 所有时间有 2,100 位成员加入

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