文章 姚 鑫 · 十二月 24, 2024 阅读大约需 2 分钟 第五十七章 File 输入 输出 - READ 命令 第五十七章 File 输入 输出 - READ 命令 在定位的 READ 或 WRITE 之后,后续的 READ 或 WRITE 操作将按顺序进行,直到下一个带有 position 参数的 USE 命令。 READ 命令从当前设备读取数据,一次读取一条记录。读取超过文件末尾会导致错误。 #InterSystems IRIS for Health 0 0 0 17
文章 姚 鑫 · 十二月 23, 2024 阅读大约需 2 分钟 第五十六章 File 输入 输出 - USE 命令 第五十六章 File 输入 输出 - USE 命令 US 命令 USE 命令使打开的顺序文件成为当前设备。可以打开多个顺序文件,但一次只能使用一个顺序文件。 语法 USE file:position file 文件 任何有效的文件规范,用引号括起来。指定的文件必须已打开。在 UNIX 路径名中,可以使用波形符 (~) 扩展来指示当前用户的主目录。例如:~myfile 或 ~/myfile。 #InterSystems IRIS for Health 0 0 0 16
文章 姚 鑫 · 十二月 22, 2024 阅读大约需 2 分钟 第五十五章 File 输入 输出 - 与非 InterSystems IRIS 软件的交互 第五十五章 File 输入 输出 - 与非 InterSystems IRIS 软件的交互 与非 InterSystems IRIS 软件的交互 在 Windows 系统上,在 IRIS 中打开顺序文件以进行 “WL” 写入访问通常会阻止非 IRIS 应用程序打开顺序文件进行写入访问。同样,非 IRIS 应用程序打开顺序文件进行写入访问通常会阻止 IRIS 进程并发 “WL” 写入访问。 #InterSystems IRIS for Health 0 0 0 19
文章 姚 鑫 · 十二月 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 无默认值 #InterSystems IRIS for Health 0 0 0 14
文章 姚 鑫 · 十二月 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 在读取此记录时使用原始输入字符串长度。 #InterSystems IRIS for Health 0 0 0 17
文章 姚 鑫 · 十二月 18, 2024 阅读大约需 3 分钟 第五十二章 File 输入 输出 - OPEN模式参数 第五十二章 File 输入 输出 - OPEN模式参数 OPEN 模式参数 可以通过以下两种方式之一指定 OPEN 模式参数 - 用引号字符括起来的字母代码字符串,如 “VRWN”。每个字母都指定一个参数。字母代码可以按任何顺序指定;因为 IRIS 按照从左到右的顺序执行它们,所以在某些情况下,字母代码之间的交互可能会决定首选顺序。 - 一系列 /keyword 参数,未加引号。这些参数用冒号分隔。关键字参数可以按任意顺序指定;因为 IRIS 以从左到右的顺序执行它们,所以在某些情况下,参数之间的交互可能会决定首选顺序。 指定字母代码参数和关键字参数的组合时,请先指定字母代码字符串,然后指定关键字参数,用冒号分隔。以下示例指定三个字母代码参数,后跟两个关键字参数,后跟 reclen 和 timeout 参数。 #InterSystems IRIS for Health 0 0 0 23
文章 姚 鑫 · 十二月 15, 2024 阅读大约需 4 分钟 第五十一章 File 输入 输出 - 文件路径名工具 第五十一章 File 输入 输出 - 文件路径名工具 文件路径名工具 如果当前设备是顺序文件,则$ZIO包含该文件的完整路径名。 可以使用$ZSEARCH返回指定文件或目录的完整文件规范(路径名和文件名)。文件名可能包含通配符, $ZSEARCH使用通配符返回一系列满足通配符的完全限定路径名。 %Library.File 类包含许多提供文件系统服务的方法。这些包括: #InterSystems IRIS for Health 0 0 0 19
文章 姚 鑫 · 十二月 14, 2024 阅读大约需 4 分钟 第五十章 File 输入 输出 第五十章 File 输入 输出 本页介绍在 IRIS 数据平台中使用顺序文件。 重要:在大多数情况下,可以使用 %Library.File 类提供的 API,而不需要此页面上的详细信息。请参阅使用 %Library.File 。 介绍 所有操作系统都将磁盘 I/O 文件视为顺序文件。 Windows 系统将打印机视为顺序文件 I/O 设备(除非打印机通过串行通信端口连接)。 UNIX® 系统将打印机视为终端 I/O` 设备。有关打印机的更多详细信息,请参阅打印机。 本节讨论 IRIS 如何处理顺序文件。它提供了顺序文件 I/O 的介绍以及相关命令的说明。 #InterSystems IRIS for Health 0 0 0 16
文章 姚 鑫 · 十二月 13, 2024 阅读大约需 3 分钟 第四十九章 终端输入 输出 - 转义序列编程 第四十九章 终端输入 输出 - 转义序列编程 转义序列编程 转义序列的 ANSI 标准使智能终端的编程变得实用。字符串中转义字符及其后面的所有字符不会显示在屏幕上,但会更新$X和$Y 。使用WRITE *语句将转义序列发送到终端,并通过直接设置$X和$Y来保持它们最新。 ANSI 标准建立了转义序列的标准语法。特定转义序列的效果取决于使用的终端类型。 每次READ之后在$ZB中查找传入的转义序列。 IRIS 将 ANSI 标准转义序列和任何其他使用 ANSI 形式的转义序列放入$ZB中。 IRIS 可识别两种形式的转义序列: #InterSystems IRIS for Health 0 0 0 15
文章 姚 鑫 · 十二月 11, 2024 阅读大约需 2 分钟 第四十七章 终端输入 输出 - DTM PC 控制台的助记符空间 第四十七章 终端输入 输出 - DTM PC 控制台的助记符空间 DTM PC 控制台的助记符空间 IRIS 提供 IRIS 例程 %XDTM 来匹配开发 DTM 应用程序时使用的助记符。该助记词空间可用,但未设置为终端默认助记词空间。如果您将为 DTM 创建的应用程序移植到 IRIS,可以: #InterSystems IRIS for Health 0 0 0 17
文章 姚 鑫 · 十二月 10, 2024 阅读大约需 4 分钟 第四十六章 终端输入 输出 - CLOSE 命令 第四十六章 终端输入 输出 - CLOSE 命令 CLOSE 命令 释放设备的所有权,这是通过OPEN命令获得的。 语法 CLOSE device 终端预定义助记符空间 IRIS 提供了两个预定义的助记符空间供终端使用: ^%X364 用于 ANSI X3.64 终端 ^%XDTM 用于 DTM PC 控制台 如果激活这些助记符空间之一,则可以在WRITE /mnemonic命令中使用与它们关联的控制助记符。还可以创建自己的助记符空间。有关助记符空间的更多信息,请参阅使用助记符空间控制设备。 以下部分描述了这些助记符空间的控制助记符。 #InterSystems IRIS for Health 0 0 0 14
文章 姚 鑫 · 十二月 9, 2024 阅读大约需 3 分钟 第四十五章 终端输入 输出 - WRITE 命令 第四十五章 终端输入 输出 - WRITE 命令 WRITE 命令 将零个或多个字符写入终端 #InterSystems IRIS for Health 0 0 0 6
文章 姚 鑫 · 十二月 8, 2024 阅读大约需 3 分钟 第四十四章 终端输入 输出 - 特殊协议字符影响终端 I O 第四十四章 终端输入 输出 - 特殊协议字符影响终端 I O 特殊协议字符影响终端 I O 每个操作系统都会拦截某些协议字符 (UNIX) 或组合键(例如 Windows 平台上的CTR-ALT-DEL ),以防止这些字符影响 IRIS。 Windows 控制台不会尝试覆盖这些操作系统特征。 其他特殊字符可以改变例程的执行方式,但不会出现在READ命令变量中。在图像模式下操作终端会取消这些效果,并使 IRIS 像对待任何其他字符一样对待这些字符。 READ受输出和输入控制字符的影响。 READ只是读取除终止字符之外的所有其他控制字符。它不回应他们。 输出控制字符影响例程的流程和输出。下表对此进行了描述: #InterSystems IRIS for Health 0 0 0 13
文章 姚 鑫 · 十二月 7, 2024 阅读大约需 2 分钟 第四十三章 终端输入 输出 - READ 命令 第四十三章 终端输入 输出 - READ 命令 Read 命令 从键盘读取 0 到 32 KB 的内容到指定变量中。超时参数是可选的。该命令不能以井号 (#) 或冒号 (:) 结尾 语法 READ variable:timeout ; Variable-length read READ variable#length:timeout ; Fixed-length read READ *variable:timeout ; Single-character read 示例 下表提供了如何使用这些参数的几个示例。 #InterSystems IRIS for Health 0 0 0 21
文章 姚 鑫 · 十二月 6, 2024 阅读大约需 2 分钟 第四十二章 终端输入 输出 - 显式终止符 第四十二章 终端输入 输出 - 显式终止符 显式终止符 OPEN或USE命令中的终止符参数允许您将特定字符定义为READ或WRITE命令的终止符。这些显式终止符可用于补充指定协议提供的终止符字符。终止符参数还可用于覆盖协议对字符的指定,并将其指定为终止符。将字符重新定义为终止符的能力的例外情况是:ASCII 0 (NULL)、ASCII 3 ( Ctrl-C ) 以及两个输出控制字符Ctrl-Q (XON) 和Ctrl-S (XOFF)。它们保留其功能,并且不能重新定义为终止符。 示例 此示例将 Z、 Backspace和Tab定义为主设备的终止符。下划线是连接运算符。 #InterSystems IRIS for Health 0 0 0 12
文章 姚 鑫 · 十二月 5, 2024 阅读大约需 3 分钟 第四十一章 终端输入 输出 - 协议终止符 第四十一章 终端输入 输出 - 协议终止符 协议终止符 OPEN 和 USE 协议定义了哪些 READ 输入字符、控制序列和击键被视为隐式终止符。这四种协议是 I(图像模式)、N(正常模式(默认))、R(读取行调用模式)和 T(终止符模式): #InterSystems IRIS for Health 0 0 0 12
文章 姚 鑫 · 十二月 4, 2024 阅读大约需 5 分钟 第四十章 终端输入 输出 - 用于OPEN和USE的字母代码协议 第四十章 终端输入 输出 - 用于OPEN和USE的字母代码协议 用于OPEN和USE的字母代码协议 特殊情况或终端可能需要不同的协议。使用协议字母代码参数(或相应的关键字参数),可以更改 IRIS 与终端通信的规则。协议对正常读取和单字符读取的影响是一样的。 禁用所有特殊协议的正常模式足以满足大多数终端 I/O 的需要。在正常模式下,IRIS 会回显每个传入的 ASCII 字符,并将其发送回以显示在终端上。 Return或有效的转义序列结束READ命令。 对终端发出OPEN会关闭所有先前的协议,除非您使用 + 和 - 选项。 下表描述了有效的协议字符及其效果。 #InterSystems IRIS for Health 0 0 0 15
文章 姚 鑫 · 十二月 3, 2024 阅读大约需 4 分钟 第四十章 终端输入 输出 - OPEN 和 USE 命令的关键字参数 第四十章 终端输入 输出 - OPEN 和 USE 命令的关键字参数 OPEN 和 USE 命令的关键字参数 下表描述了使用OPEN和USE命令控制终端设备的关键字参数。对于每个关键字,该表列出了OPEN和USE相应的字母代码协议。有关使用这些协议的其他信息可以在字母代码协议表中找到。 #InterSystems IRIS for Health 0 0 0 12
文章 姚 鑫 · 十二月 2, 2024 阅读大约需 4 分钟 第三十九章 终端输入 输出 - terminator 第三十九章 终端输入 输出 - terminator terminator 第三个位置参数:最多八个字符的字符串,其中任何一个都将终止READ 。这些终止符是协议中内置终止符的补充。请参阅使用终止符结束 I/O 操作。 portstate 第 4 个位置参数:按位置顺序最多包含 8 个字节的字符串,用于控制 COM 端口状态。端口状态字节如下(字节从1开始按从左到右的顺序编号): #InterSystems IRIS for Health 0 0 0 17
文章 姚 鑫 · 十二月 1, 2024 阅读大约需 3 分钟 第三十八章 终端输入 输出 - USER命令 第三十八章 终端输入 输出 - USER命令 USER命令 使指定终端成为当前设备。在编程器模式下,同一行代码上的所有后续 I/O 命令都引用该设备。在应用程序模式下,您在USE命令中命名的设备将一直保留为当前设备,直到下一个USE命令为止。 USE 语法 USE命令采用以下参数: USE terminal:(margin:protocols:terminator):"mnespace" 终端参数可以是一个表达式,其值为终端设备的名称。零 (0) 是该进程的主要设备。 $IO是当前设备。终端的最大长度为 256 个字符。 参数由冒号 (:) 分隔。如果省略参数,则必须指定冒号。命令或其参数列表不得以冒号结束。 #InterSystems IRIS for Health 0 0 0 14
文章 姚 鑫 · 十一月 30, 2024 阅读大约需 3 分钟 第三十七章 终端输入 输出 - $ZB 显示结束读取的内容 第三十七章 终端输入 输出 - $ZB 显示结束读取的内容 $ZB 显示结束读取的内容 $ZB显示当前设备上最后一次READ操作结束的字符序列或事件。不能设置$ZB ;每次执行READ时,IRIS 都会设置$ZB的值。可以使用此值来作用于不可打印的字符,例如向上箭头键或功能键。 $ZB可以包含以下任意内容: - 终止符,例如回车符 - 转义序列 - 固定长度READ x#y的字符数y - READ *x的单个字符 - 定时读取过期后出现空字符串 $ZB永远不会包含超过 64 个字符。较长的转义序列无效。 #InterSystems IRIS for Health 0 0 0 16
文章 姚 鑫 · 十一月 29, 2024 阅读大约需 2 分钟 第三十六章 终端输入 输出 - 开关控制 $X 的转义序列更新 第三十六章 终端输入 输出 - 开关控制 $X 的转义序列更新 开关控制 $X 的转义序列更新 要选择非默认行为来更新进程的$X ,请发出%SYSTEM.Process类的 DX( n )方法。 系统管理员可以通过类中设置 Config.Miscellaneous 的DX属性来更改系统范围的默认行为。 在这两种情况下, n 的值都在 0 到 4 之间,如下所示: #InterSystems IRIS for Health 0 0 0 17
文章 姚 鑫 · 十一月 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 。 #InterSystems IRIS for Health 1 0 0 20
文章 姚 鑫 · 十一月 27, 2024 阅读大约需 2 分钟 第三十四章 终端输入 输出 第三十四章 终端输入 输出 概述 ObjectScript 提供支持串行异步 ASCII 终端的命令。还可以将这些命令与控制台 I/O 结合使用。 使用终端 I/O,例程可以: #InterSystems IRIS for Health 0 0 0 20
文章 姚 鑫 · 十一月 26, 2024 阅读大约需 2 分钟 第三十三章 UDP 客户端 服务器通信 - IPv4 和 IPv6 第三十三章 UDP 客户端 服务器通信 - IPv4 和 IPv6 UDP 支持 IPv4 和 IPv6 互联网协议。由于这些协议不兼容,服务器和客户端都必须使用相同的Internet协议,否则传输将失败。 IPv4 地址具有以下格式。 n是 0 到 255 范围内的十进制整数: n.n.n.n 可以将 IPv4 协议指定为"0.0.0.0" 。 IPv6 地址具有以下完整格式。 h是一个具有四个十六进制数字的十六进制数: #InterSystems IRIS for Health 0 0 0 15
文章 姚 鑫 · 十一月 25, 2024 阅读大约需 3 分钟 第三十二章 UDP 客户端 服务器通信 第三十二章 UDP 客户端 服务器通信 本页介绍如何使用 UDP 在进程之间建立远程通信。 介绍 通过%Net.UDP来支持 UDP。此类提供以下方法: Send()数据包到指定的目的地和端口、 Recv()来自套接字的数据包以及Reply()发送器最后收到的数据包。 目标被标识为本地主机名或者 IPv4 或 IPv6 主机地址。该端口可以是指定的端口号或动态端口分配。 建立UDP套接字 要使用 UDP,必须使用%New()方法来创建 UDP 套接字对象。然后,该对象实例用于发送、接收和回复数据包传输。 创建 UDP 套接字对象时,可以指定端口号和主机地址,如下例所示: #InterSystems IRIS for Health 0 0 0 25
文章 姚 鑫 · 十一月 24, 2024 阅读大约需 5 分钟 第三十一章 TCP 高级主题 第三十一章 TCP 高级主题 本页讨论使用 TCP/IP 在 IRIS 数据平台进程之间进行通信的几个高级主题。 连接管理 服务器一次仅维护一个连接。如果在另一个连接打开时第二个客户端尝试连接,TCP/IP 会将该客户端放入队列中。在队列中时,第二个客户端可以向端口写入数据,就像已连接一样。第二个客户端写入的数据保留在缓冲区中,直到第一个连接关闭并且第二个客户端连接为止。 如果第二个客户端在连接存在之前发出READ,则会挂起。当第二个客户端在队列中时,第三个客户端的任何连接尝试都会失败。 如果已经打开 TCP 设备的客户端在第一个连接仍然存在时尝试第二次连接,则第二个OPEN命令会导致错误。将这种情况视为错误而不是USE命令可以防止出现意外的结果。如果错误的程序认为它已打开新连接,而实际上它正在重用可能具有不同目标或不同参数的现有连接,则可能会出现此类意外结果。 #InterSystems IRIS for Health 1 0 0 15
文章 姚 鑫 · 十一月 23, 2024 阅读大约需 2 分钟 第三十章 TCP 客户端 服务器通信 - 作业服务器资源 第三十章 TCP 客户端 服务器通信 - 作业服务器资源 作业服务器资源 如果正在编写一个IRIS服务器来与无法控制的客户端连接,则服务器进程必须发出CLOSE命令来关闭TCP连接。就 IRIS而言,CLOSE命令确实会关闭连接,但是在内部TCP/IP会在服务器上为这个连接保留最长两分钟的资源。 当jobserver用于为TCP/IP作业提供服务时,可能会产生意想不到的结果。当一个JOBSERVER进程执行暂停时,该进程立即返回到可用的JOBSERVER进程池,但其资源在内部保留最多两分钟。由于JOBSERVER进程是在第一个可用的基础上分配的,因此来自数量相对较少的客户机的重载可能会耗尽JOBSERVER进程的资源。 #InterSystems IRIS for Health 0 0 0 14
文章 姚 鑫 · 十一月 22, 2024 阅读大约需 2 分钟 第二十九章 TCP 客户端 服务器通信 - 记录的拼接 第二十九章 TCP 客户端 服务器通信 - 记录的拼接 记录的拼接 在某些情况下,TCP会将不同的记录连接在一起形成单个记录。如果客户端或服务器进程向一个由WRITE分隔的TCP端口发出一系列WRITE命令,则可能会发生串接!或用于刷新缓冲区的WRITE#命令,而不管读命令是否在连接的另一端等待。 #InterSystems IRIS for Health 0 0 0 19
文章 姚 鑫 · 十一月 21, 2024 阅读大约需 2 分钟 第二十八章 TCP 客户端 服务器通信 - JOB命令示例 第二十八章 TCP 客户端 服务器通信 - JOB命令示例 JOB命令示例 以下示例显示了一个非常简单的并发服务器,只要它检测到来自客户端的连接,就会产生一个子作业。 JOB指定一个并发服务器位开关值(值16)并通过符号表(值1):16+1=17。 #InterSystems IRIS for Health 1 0 0 17