文章
· 十二月 29, 2024 阅读大约需 2 分钟
第六十章 假脱机设备 - WRITE 命令

第六十章 假脱机设备 - 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 命令将附加到同一打印行。两者都写入同一个全局节点。此行保存在缓冲区中,在发出行终止字符或关闭后台处理程序设备之前,不会写入后台处理程序全局。

0 0
0 55
文章
· 十二月 27, 2024 阅读大约需 2 分钟
第五十九章 假脱机设备

第五十九章 假脱机设备

介绍

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

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

打开和使用假脱机设备

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

0 0
0 61
文章
· 十二月 25, 2024 阅读大约需 2 分钟
第五十八章 File 输入 输出 - WRITE 命令

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

WRITE 命令

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

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

语法

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

CLOSE 命令

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

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

0 0
0 47

许多使用InterSystems IRIS的用户在调试代码的时候习惯使用命令行的方式,比如运行一个函数查看输出或者查看代码运行过程中保存在global中的数据等等。

对于将 InterSystems IRIS 安装在 Windows 操作系统的用户,只需要点击右下角图标选择Terminal 就可以很方便的使用。

但是对于将其安装到 Linux 或者Docker 容器中的用户,要使用命令行却不那么方便,下面我将会介绍在我们 Openexchange 中的一个应用 -- Web Terminal。

也就是说可以在网页中直接执行Terminal中的命令。

2016-09-18_212035

或者查看SQL执行结果:

0 3
0 341
文章
· 十二月 24, 2024 阅读大约需 2 分钟
第五十七章 File 输入 输出 - READ 命令

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

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

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

0 0
0 44
文章
· 十二月 23, 2024 阅读大约需 2 分钟
第五十六章 File 输入 输出 - USE 命令

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

US 命令

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

语法

USE file:position
  • file 文件

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

0 0
0 29
文章
· 十二月 22, 2024 阅读大约需 2 分钟
第五十五章 File 输入 输出 - 与非 InterSystems IRIS 软件的交互

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

与非 InterSystems IRIS 软件的交互

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

0 0
0 39
文章
· 十二月 20, 2024 阅读大约需 2 分钟
第五十四章 File 输入 输出 - OPEN 参数关键字

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

OPEN 参数关键字

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

顺序文件的 OPEN关键字参数

/PARAMS=str /PAR=str

No defaul

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

/RECORDSIZE=int /REC=int

无默认值

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

/TERMINATOR=str /TER=str

无默认值

0 0
0 29
文章
· 十二月 19, 2024 阅读大约需 4 分钟
第五十三章 File 输入 输出 - OPEN模式参数

第五十三章 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 在读取此记录时使用原始输入字符串长度。

0 0
0 43
文章
· 十二月 18, 2024 阅读大约需 3 分钟
第五十二章 File 输入 输出 - OPEN模式参数

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

OPEN 模式参数

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

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

0 0
0 70
文章
· 十二月 15, 2024 阅读大约需 4 分钟
第五十一章 File 输入 输出 - 文件路径名工具

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

文件路径名工具

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

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

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

0 0
0 52
文章
· 十二月 14, 2024 阅读大约需 4 分钟
第五十章 File 输入 输出

第五十章 File 输入 输出

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

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

介绍

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

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

0 0
0 42
文章
· 十二月 13, 2024 阅读大约需 3 分钟
第四十九章 终端输入 输出 - 转义序列编程

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

转义序列编程

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

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

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

0 0
0 67
文章
· 十二月 11, 2024 阅读大约需 2 分钟
第四十七章 终端输入 输出 - DTM PC 控制台的助记符空间

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

DTM PC 控制台的助记符空间

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

0 0
0 38
文章
· 十二月 10, 2024 阅读大约需 4 分钟
第四十六章 终端输入 输出 - CLOSE 命令

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

CLOSE 命令

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

语法

CLOSE device

终端预定义助记符空间

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

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

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

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

0 0
0 38
文章
· 十二月 8, 2024 阅读大约需 3 分钟
第四十四章 终端输入 输出 - 特殊协议字符影响终端 I O

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

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

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

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

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

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

0 0
0 47
文章
· 十二月 7, 2024 阅读大约需 2 分钟
第四十三章 终端输入 输出 - READ 命令

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

Read 命令

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

语法

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

示例

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

0 0
0 43
文章
· 十二月 6, 2024 阅读大约需 2 分钟
第四十二章 终端输入 输出 - 显式终止符

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

显式终止符

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

示例

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

0 0
0 40
文章
· 十二月 5, 2024 阅读大约需 3 分钟
第四十一章 终端输入 输出 - 协议终止符

第四十一章 终端输入 输出 - 协议终止符

协议终止符

OPENUSE 协议定义了哪些 READ 输入字符、控制序列和击键被视为隐式终止符。这四种协议是 I(图像模式)、N(正常模式(默认))、R(读取行调用模式)和 T(终止符模式):

0 0
0 52
文章
· 十二月 4, 2024 阅读大约需 5 分钟
第四十章 终端输入 输出 - 用于OPEN和USE的字母代码协议

第四十章 终端输入 输出 - 用于OPEN和USE的字母代码协议

用于OPEN和USE的字母代码协议

特殊情况或终端可能需要不同的协议。使用协议字母代码参数(或相应的关键字参数),可以更改 IRIS 与终端通信的规则。协议对正常读取和单字符读取的影响是一样的。

禁用所有特殊协议的正常模式足以满足大多数终端 I/O 的需要。在正常模式下,IRIS 会回显每个传入的 ASCII 字符,并将其发送回以显示在终端上。 Return或有效的转义序列结束READ命令。

对终端发出OPEN会关闭所有先前的协议,除非您使用 +- 选项。

下表描述了有效的协议字符及其效果。

0 0
0 45
文章
· 十二月 3, 2024 阅读大约需 4 分钟
第四十章 终端输入 输出 - OPEN 和 USE 命令的关键字参数

第四十章 终端输入 输出 - OPEN 和 USE 命令的关键字参数

OPENUSE 命令的关键字参数

下表描述了使用OPENUSE命令控制终端设备的关键字参数。对于每个关键字,该表列出了OPENUSE相应的字母代码协议。有关使用这些协议的其他信息可以在字母代码协议表中找到。

0 0
0 44
文章
· 十二月 2, 2024 阅读大约需 4 分钟
第三十九章 终端输入 输出 - terminator

第三十九章 终端输入 输出 - terminator

terminator

第三个位置参数:最多八个字符的字符串,其中任何一个都将终止READ 。这些终止符是协议中内置终止符的补充。请参阅使用终止符结束 I/O 操作。

portstate

4 个位置参数:按位置顺序最多包含 8 个字节的字符串,用于控制 COM 端口状态。端口状态字节如下(字节从1开始按从左到右的顺序编号):

0 0
0 52
文章
· 十二月 1, 2024 阅读大约需 3 分钟
第三十八章 终端输入 输出 - USER命令

第三十八章 终端输入 输出 - USER命令

USER命令

使指定终端成为当前设备。在编程器模式下,同一行代码上的所有后续 I/O 命令都引用该设备。在应用程序模式下,您在USE命令中命名的设备将一直保留为当前设备,直到下一个USE命令为止。

USE 语法

USE命令采用以下参数:

USE terminal:(margin:protocols:terminator):"mnespace"

终端参数可以是一个表达式,其值为终端设备的名称。零 (0) 是该进程的主要设备。 $IO是当前设备。终端的最大长度为 256 个字符。

参数由冒号 (:) 分隔。如果省略参数,则必须指定冒号。命令或其参数列表不得以冒号结束。

0 0
0 43
文章
· 十一月 30, 2024 阅读大约需 3 分钟
第三十七章 终端输入 输出 - $ZB 显示结束读取的内容

第三十七章 终端输入 输出 - $ZB 显示结束读取的内容

$ZB 显示结束读取的内容

$ZB显示当前设备上最后一次READ操作结束的字符序列或事件。不能设置$ZB ;每次执行READ时,IRIS 都会设置$ZB的值。可以使用此值来作用于不可打印的字符,例如向上箭头键或功能键。

$ZB可以包含以下任意内容:
- 终止符,例如回车符
- 转义序列
- 固定长度READ x#y的字符数y
- READ *x的单个字符
- 定时读取过期后出现空字符串

$ZB永远不会包含超过 64 个字符。较长的转义序列无效。

0 0
0 36
文章
· 十一月 29, 2024 阅读大约需 2 分钟
第三十六章 终端输入 输出 - 开关控制 $X 的转义序列更新

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

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

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

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

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

0 0
0 41
文章
· 十一月 28, 2024 阅读大约需 2 分钟
第三十五章 终端输入 输出 - 特殊变量显示 I O 条件

第三十五章 终端输入 输出 - 特殊变量显示 I O 条件

WRITE * and $X and $Y

WRITE *不会更改$X$Y。因此,可以将控制序列发送到终端, $X$Y仍将反映真实的光标位置。某些控制序列确实会移动光标,因此可以在需要时直接设置$X$Y

$X$Y 示例

在以下示例中,控制序列将 VT100 终端中的光标移动到第 10 行、第 20 列,并相应地设置$X$Y

1 0
0 42
文章
· 十一月 26, 2024 阅读大约需 2 分钟
第三十三章 UDP 客户端 服务器通信 - IPv4 和 IPv6

第三十三章 UDP 客户端 服务器通信 - IPv4 和 IPv6

UDP 支持 IPv4IPv6 互联网协议。由于这些协议不兼容,服务器和客户端都必须使用相同的Internet协议,否则传输将失败。

IPv4 地址具有以下格式。 n0255 范围内的十进制整数:

n.n.n.n

可以将 IPv4 协议指定为"0.0.0.0" 。

IPv6 地址具有以下完整格式。 h是一个具有四个十六进制数字的十六进制数:

0 0
0 47
文章
· 十一月 25, 2024 阅读大约需 3 分钟
第三十二章 UDP 客户端 服务器通信

第三十二章 UDP 客户端 服务器通信

本页介绍如何使用 UDP 在进程之间建立远程通信。

介绍

通过%Net.UDP来支持 UDP。此类提供以下方法: Send()数据包到指定的目的地和端口、 Recv()来自套接字的数据包以及Reply()发送器最后收到的数据包。

目标被标识为本地主机名或者 IPv4IPv6 主机地址。该端口可以是指定的端口号或动态端口分配。

建立UDP套接字

要使用 UDP,必须使用%New()方法来创建 UDP 套接字对象。然后,该对象实例用于发送、接收和回复数据包传输。

创建 UDP 套接字对象时,可以指定端口号和主机地址,如下例所示:

0 0
0 47