java如何使用IRIS sdk这个方法创建MIRROR
.png)
java如何使用IRIS sdk这个方法创建MIRROR
.png)
WRITE 命令在定位的 READ 或 WRITE 之后,后续的 READ 或 操作将按顺序进行,直到下一个带有 参数的 命令。
命令将数据(一次一条记录)写入作为当前设备的顺序文件。
x 变量 x 中的数据将作为一条记录写入顺序文件中。CLOSE 命令命令放弃对顺序文件的所有权。
如果指定的文件未打开或不存在,则 将忽略 并返回而不发出错误。
file 文件 任何有效的文件规范,用引号括起来。指定的文件必须已打开。在 路径名中,可以使用波形符 (~) 扩展来指示当前用户的主目录。例如: 或 。下表描述了仅使用 命令控制顺序文件的关键字。
顺序文件的 命令关键字
,除非文件在打开时标记为删除。
对应于 参数代码,该代码指定应删除该文件。对于非零值 , 或 将启用参数代码,对于零值 , 将禁用参数代码。
请勿重命名文件。
对应于 参数 和文件名 参数。 参数代码指定应重命名文件,文件名 参数提供文件的新名称。
许多使用InterSystems IRIS的用户在调试代码的时候习惯使用命令行的方式,比如运行一个函数查看输出或者查看代码运行过程中保存在global中的数据等等。
对于将 InterSystems IRIS 安装在 Windows 操作系统的用户,只需要点击右下角图标选择Terminal 就可以很方便的使用。
但是对于将其安装到 Linux 或者Docker 容器中的用户,要使用命令行却不那么方便,下面我将会介绍在我们 Openexchange 中的一个应用 -- Web Terminal。
也就是说可以在网页中直接执行Terminal中的命令。

或者查看SQL执行结果:
可以在其中输入 /help ,获取更多帮助信息
1. 点击进入项目下载页面,选择下载最新的版本。
2. 在任意的命名空间下导入下载的xml文件。
注意在这里选择导入文件的同时也要勾选上 “编译导入的项”
3. 之后会出现下面提示导入成功的提示
请将下载的 WebTerminal-v4.9.3.xml 文件编辑做下面修改
1 . 第1611行:修改为
set requiredRole = "%DB_IRISSYS"2. 第1730行:修改为
set dbPrefix = "IRIS"重新导入就可以了。
Web Terminal 已经存在相当长一段时间了,但它存在诸多限制,并非所有功能都能正常使用。它不支持 shell,也没有诸如嵌入式 Python 支持这样的最新功能。对于那些需要编程模式的工具来说,存在一些问题。基本身份验证也不如简单的登录页面便捷,使用登录页面的话,倘若你想要改变登录应用程序的方式(比如使用单点登录,即 SSO),你还可以自行添加登录页面。
通过将最初的iris terminal 封装到一个网页表单中,利用在网络领域应用极为广泛且同样被像 Visual Studio Code(VSCode)这类工具所使用的 xterm.js,并借助 Python 施展的一些 “魔法”(这些 “魔法” 有助于实现进程间的终端交互),我们就能在网络上完整地实现终端功能了。
安装方法
在
zn"%SYS""install iterm"
为了测试它是如何在web中工作的,可以执行 term routine,如下
现有一个数据表的数据像这样:
.png)
我们的需求是基于表中的Item列新增一个status字段,如果item的内容是第一次出现,那么status列就是New,反之显示Old,
比如,应该是下面的显示内容
在原文章的回复中, Robert Cemper给出了下面的建议
新建一个存储过程,并在SELECT查询语句中生效:
/// Return NEW for first occurance of item /// otherwise return OLDClass使用下面SELECT语句使之生效:
Status结果如下:
ID date item Status
File 输入 输出 - READ 命令在定位的 READ 或 之后,后续的 READ 或 操作将按顺序进行,直到下一个带有 参数的 命令。
命令从当前设备读取数据,一次读取一条记录。读取超过文件末尾会导致错误。
x 该变量将保存从文件中读取的记录。n 可选 – 对于可变长度读取,为要读取的字符数,指定为整数。对于固定长度的读取,此参数将被忽略。timeout 超时 可选 – 在超时之前等待读取操作完成的秒数。整数值或解析为整数的变量。参数虽然是可选的,但强烈建议使用,因为如果指定了 ,则 的成功或失败由 特殊变量的值指示。如果读取尝试在超时到期之前成功,则 设置为 ;如果超时到期,则 设置为 。
以下示例显示了从 顺序文件中读取固定长度记录的 操作。它创建一个顺序文件,将数据写入该文件,然后关闭该文件。然后,它会打开此文件以进行 4 个字符的固定长度读取 ()。它将 参数设置为第一条记录(记录 );每个读取操作都会推进此位置。 循环将每个四字符的记录读取到下标变量中。然后, 命令显示所有这些下标局部变量及其值。
以下示例读取固定长度文件的第三、第四和第五条记录:
SET myfile="FIXED.LEN"
OPEN myfile:("FR":100)
USE myfile:2
READ var1(3),var1(4),var1(5)
US 命令USE 命令使打开的顺序文件成为当前设备。可以打开多个顺序文件,但一次只能使用一个顺序文件。
USE file:position
file 文件任何有效的文件规范,用引号括起来。指定的文件必须已打开。在 UNIX 路径名中,可以使用波形符 () 扩展来指示当前用户的主目录。例如: 或 。
position 位置可选 — 文件中下一个 或 WRITE 的位置。position 值是一个数字表达式,其含义取决于文件的记录格式。对于固定长度的记录 是相对于零的绝对记录号,其中每条记录都包含在前面的 命令中指定的字符数。对于流或可变长度记录, 是相对于零的绝对字节位置。默认设置是从文件开头开始按顺序读取或写入记录。
可以使用 函数设置文件位置,该位置由字符数相对于顺序文件的开头、当前位置或结尾的偏移量指定。 特殊变量包含从顺序文件开头开始的当前字符计数位置。
除了上面列出的与 共享的命令关键字外, 命令还有自己的一组关键字:
顺序文件的 命令关键字
当前文件位置。(文件指针位置在首次打开文件时位于文件的开头,除非文件是在追加模式下打开的。在这种情况下,文件指针位置位于文件的末尾。
对应于 参数,该参数设置文件中下一个 或
技术支持团队在不同的项目中发现了类似中间人攻击的情况, 和各位分享一下。
我们的系统一般是安装在内网里,没有恶意的中间人攻击的风险。但是在有些医院发现了这样的情况:IT在网络中安装了某种网络监控或者嗅探的设备, 它会在通信通道中模拟其中一方,或者双方的通信节点, 以截获通信双方的网络流量。通常它不影响双方的通信,但偶尔,它会中断双方的连接, 造成业务的中断。实质上这也是一种中间人攻击的情况,只不过这是用户允许的行为,偶然出现了故障。
我们看看以下的例子:
以下的wireshark抓包截图中, 172.18.1.131和172.18.1.145在正常的通信过程中, 忽然收到了RST消息,造成了TCP连接上的复位。
.png)
其中172.18.1.131是intersystems的health connect系统, 它在序号50134的包里面首先发送了RST,因此客户怀疑是不是Health Connect出错,中断了连接,也就把问题提交了InterSystems的技术支持。
我们的技术支持检查了各种内部日志,没有发现任何错误,咨询了InterSystems的网络专家,才发现这是个网络层的错误,也就是说: 这个RST不是Health Connect发送的, 同样, 序号50135的RST消息, 也不一定是172.18.1.145发送的,这是中间网络层的行为。
在 Windows 系统上,在 IRIS 中打开顺序文件以进行 “WL” 写入访问通常会阻止非 应用程序打开顺序文件进行写入访问。同样,非 应用程序打开顺序文件进行写入访问通常会阻止 进程并发 写入访问。
但是,某些非 应用程序,包括记事本和写字板应用程序,会打开一个文件,在共享模式下复制文件,然后立即关闭它。因此, 进程仍然可以以 “WL” 模式打开文件。当这些非 应用程序之一尝试将其副本中的更改保存到原始文件,或尝试重新打开原始文件时,将发生错误。更严重的情况可能发生如下:如果这些非 应用程序之一打开了一个文件,然后 打开、修改和关闭文件,然后非 `` 应用程序保存对文件的更改,两个进程所做的更改都被保存,文件数据的完整性可能会受到损害。
在 系统上,在 中打开一个顺序文件以进行 “WL” 写访问通常不会影响非 应用程序的行为。您必须使用锁来可靠地限制来自非 应用程序的写入访问。
以下示例打开文件 的 文件。因为它没有指定 参数,所以默认情况下,它以读取访问权限和 模式打开文件:
OPEN "LUDWIG.B"
下表描述了顺序文件的 OPEN 命令参数关键字:
顺序文件的 OPEN关键字参数
No defaul
对应于 parameters 位置参数。(它提供了一种以与位置无关的方式指定参数字母代码字符串的方法)。
无默认值
对应于 reclen 位置参数,该参数为固定长度记录建立记录大小。(目前仅针对 操作实现。
无默认值
对应于 terminators 位置参数,该参数建立用户定义的终止符。 是一串用户定义的记录终止符,仅适用于 Stream 模式。它们允许覆盖默认终止符:回车符、换行符和换页符。用户定义的终止符仅适用于输入,它们不会影响数据写入文件的方式(终止符作为特殊字符写入文件)。如果有多个用户定义的终止符,则会将其视为终止符列表,而不是用作单个终止符的多字符序列。
当两个进程尝试打开同一个顺序文件时,第二个 会根据第一个 使用的模式成功或失败。下表显示了使用独占 () 和非独占读取和写入模式的两个打开之间的交互。请注意,这些交互的解释取决于平台。为 操作系统和 操作系统提供了表。
在下表中,横轴表示第一个 的打开模式,纵轴表示第二个
Append:WRITE 操作将数据附加到现有文件的末尾。默认设置是覆盖现有数据,而不是 append。
流格式,回车符、换行符或换页符作为默认终止符。S、V、F 和 U 模式是互斥的。 是默认格式。
请勿尝试在可变长度顺序文件末尾以外的任何位置插入记录;WRITE 将使文件中的所有数据从 WRITE 之后的点开始无法访问。 模式是互斥的。流记录 () 格式是默认格式。
使用转换表写入的可变长度记录(例如使用 转换的 数据)可能会导致存储的记录具有与输入数据不同的字符串长度。IRIS 在读取此记录时使用原始输入字符串长度。
:每条记录都是 参数中指定的长度。例如:OPEN “myfile”:(“RF”:4) USE “myfile”:0 READ x:5此示例将前 个字符的记录读入变量 。这仅适用于 D 操作(不适用于 操作)。 模式是互斥的。
未定义的长度:指定文件记录具有未定义的长度,因此 操作必须指定要读取的字符数。最大记录长度在 参数中指定。输出时无翻译。默认值为最大字符串长度 模式是互斥的。
1.Caché数据库有没有办法配置然后用sql读取数据库实时变化的数据,类似于mssql那样?我看了可以写类去读取global获取journal的值,但是怎么用sql读呢?
2.不行的话,那用什么方式可以读取到journal日志文件,并输出日志文件的内容?
先谢谢大家了!!!
可以通过以下两种方式之一指定 OPEN 模式参数
“VRWN”。每个字母都指定一个参数。字母代码可以按任何顺序指定;因为 IRIS 按照从左到右的顺序执行它们,所以在某些情况下,字母代码之间的交互可能会决定首选顺序。/keyword 参数,未加引号。这些参数用冒号分隔。关键字参数可以按任意顺序指定;因为 IRIS 以从左到右的顺序执行它们,所以在某些情况下,参数之间的交互可能会决定首选顺序。指定字母代码参数和关键字参数的组合时,请先指定字母代码字符串,然后指定关键字参数,用冒号分隔。以下示例指定三个字母代码参数,后跟两个关键字参数,后跟 reclen 和 timeout 参数。
OPEN "mytest":("WNS":/OBUFSIZE=65536:/GZIP=0:32767):10
新建文件。如果指定的文件不存在,则系统创建该文件。如果指定的文件已作为 文件存在,则系统会删除旧文件并将其替换为同名的新文件(权限允许)。请注意,应使用文件锁定来防止使用此参数的并发进程覆盖同一文件。
如果未指定 “N” 模式(或 模式),并且在 OPEN 中指定的文件不存在,则 和 默认为不创建新文件。此行为可使用 的 方法进行配置。 类。
为支持医疗信息行业人才发展,InterSystems 为中国市场量身定制了贴近需求、灵活、实操性强的技术认证培训计划,由 InterSystems 资深技术专家亲自授课,帮助用户快速掌握 InterSystems 技术,确保用户从快速发展的 InterSystems 技术中获益,以更好地服务于医院信息化建设。点击此处查看课程详情:InterSystems中国技术培训认证
如果当前设备是顺序文件,则$ZIO包含该文件的完整路径名。
可以使用$ZSEARCH返回指定文件或目录的完整文件规范(路径名和文件名)。文件名可能包含通配符, $ZSEARCH使用通配符返回一系列满足通配符的完全限定路径名。
%Library.File 类包含许多提供文件系统服务的方法。这些包括:
NormalizeDirectory(),返回指定文件或目录的完整路径名。NormalizeFilenameWithSpaces(),根据主机平台的情况处理路径名中的空格。如果路径名包含空格字符,则路径名处理取决于平台。 Windows 和 允许路径名中包含空格字符,但包含空格的整个路径名必须用一组附加的双引号 字符括起来。这与 语句一致。有关详细信息,请指定在 命令提示符下。~) 扩展在 路径名中,波形符 () 表示长名称的 压缩。例如: 。要转换压缩目录名称,请使用 类的 方法。
在 路径名中,可以使用波形符 () 扩展来指示当前用户的主目录或指定用户的主目录:
/Users/techwriter/和 。本页介绍在 IRIS 数据平台中使用顺序文件。
重要:在大多数情况下,可以使用 %Library.File 类提供的 API,而不需要此页面上的详细信息。请参阅使用 %Library.File 。
所有操作系统都将磁盘 文件视为顺序文件。 系统将打印机视为顺序文件 I/O 设备(除非打印机通过串行通信端口连接)。 ® 系统将打印机视为终端 I/O` 设备。有关打印机的更多详细信息,请参阅打印机。
本节讨论 如何处理顺序文件。它提供了顺序文件 的介绍以及相关命令的说明。
OPEN命令打开该文件,并提供文件名作为参数。还可以选择指定OPEN模式参数。如果N指定的文件不存在,则模式参数指定是否创建新文件。您可以同时打开多个文件。转义序列的 ANSI 标准使智能终端的编程变得实用。字符串中转义字符及其后面的所有字符不会显示在屏幕上,但会更新$X和$Y 。使用语句将转义序列发送到终端,并通过直接设置$X和$Y来保持它们最新。
标准建立了转义序列的标准语法。特定转义序列的效果取决于使用的终端类型。
每次之后在$ZB中查找传入的转义序列。 IRIS 将 标准转义序列和任何其他使用 形式的转义序列放入中。 可识别两种形式的转义序列:
An ESC.“O”(字母),十进制值 79。此外,序列不能超过 个字符。违反这些形式或规则的转义序列设置的位 8,其值为 。
假设正在对一个终端进行编程,其帮助键发送两个字符序列 ( ?的十进制值为 )
例程可以检测非标准转义序列,如下所示:
Secret 协议禁用 echo 以防止修改 $X/$Y。echo。在下图中,要求用户输入 。如果用户按
PRINT 和 ZPRINT 命令将当前加载的 IRIS 例程的一行或多行写入当前设备。
PRINT`具有相同的效果和参数。
PRINT
ZPRINT
PRINT x
ZPRINT x
PRINT x:y
ZPRINT x:y
| 参数 | Definition 定义 |
|---|---|
(none) |
不带参数的PRINT或ZPRINT命令打印整个例程。 |
x,y |
变量和指示要打印的行范围。它们可以是 TAG+OFFSET 形式的行引用,也可以是 形式的行号。引用不在例程中的行意味着例程最后一行后面有空行。 要打印的第一行或唯一一行。 要打印的最后一行。 |
此示例打印当前例程的第一行、从 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
CRT 屏幕进行编程终端 的几个功能有助于对格式化屏幕进行编程:
WRITE *轻松发送控制序列。READ接收转义序列响应。DTM PC 控制台的助记符空间IRIS 提供 IRIS 例程 %XDTM 来匹配开发 应用程序时使用的助记符。该助记词空间可用,但未设置为终端默认助记词空间。如果您将为 创建的应用程序移植到 ,可以:
^%XDTM 配置为终端( MnemonicTerminal )的默认助记词空间,或者DTM 示例 OPEN "/dev/tty04/"::"^%XDTM"
Windows OPEN "c:\sys\user"::"^%XDTM"
然后 可以正确解释WRITE /mnemonic命令中的 控制助记符,如下表所示。
| Mnemonic |
|---|
释放设备的所有权,这是通过OPEN命令获得的。
CLOSE device
IRIS 提供了两个预定义的助记符空间供终端使用:
^%X364 用于 ANSI X3.64 终端^%XDTM 用于 控制台如果激活这些助记符空间之一,则可以在WRITE /mnemonic命令中使用与它们关联的控制助记符。还可以创建自己的助记符空间。有关助记符空间的更多信息,请参阅使用助记符空间控制设备。
以下部分描述了这些助记符空间的控制助记符。
为 ANSI X3.64 定义提供内置助记符空间。该助记符空间是管理器命名空间中的 IRIS 例程 。要使用例程 ,请执行以下任一操作:
IRIS 系统管理员在配置设置中输入 作为默认助记符空间。从管理门户中,选择“系统管理” 、 “配置” 、 “设备设置” 、 “IO 设置” 。下表列出了助记符。
| Calling Sequence 调用顺序 | Name | System Variable Affected 受影响的系统变量 |
|---|
将零个或多个字符写入终端
WRITE *variable
WRITE *-n
WRITE #
WRITE /mnemonic
| 参数 | 定义 |
|---|---|
(none) |
不带参数的WRITE将写入当前设备上的所有局部变量。 |
*variable |
WRITE *变量写入一个字符,其十进制值等于x 。对于 字符,变量的值应为 到 范围内的整数;对于 字符,变量的值应为 。按照约定,从 到 的值表示 位 字符,而 到 表示扩展 字符集,与应用程序本身相关。如果硬件和软件设置正确, 可以处理 位数据。示例:您可以使用第八位来表示国际字符集。 例程通常使用来发送设备相关功能的控制字符。示例: 清除终端屏幕。 不会更改或 ;假设输出高度特定于输出设备。 |
| 会清除输入缓冲区。它清除等待下一个命令的所有字符。因此,所有预先输入的字符都被清除。 输入缓冲区保存从键盘到达的字符,甚至是您在例程执行命令之前键入的字符。因此,甚至可以在问题出现在屏幕上之前就回答问题。当READ命令从缓冲区获取字符时, IRIS 将它们回显到终端,以便问题和答案一起出现。当例程检测到错误时,它可能会发出来取消这些答案。 |
|
立即清除输入缓冲区。它不会等待下一个READ命令。因此,它会清除 |
I O每个操作系统都会拦截某些协议字符 (UNIX) 或组合键(例如 Windows 平台上的CTR-ALT-DEL ),以防止这些字符影响 。 控制台不会尝试覆盖这些操作系统特征。
其他特殊字符可以改变例程的执行方式,但不会出现在命令变量中。在图像模式下操作终端会取消这些效果,并使 像对待任何其他字符一样对待这些字符。
READ受输出和输入控制字符的影响。 只是读取除终止字符之外的所有其他控制字符。它不回应他们。
输出控制字符影响例程的流程和输出。下表对此进行了描述:
| 输出控制字符 | 十进制值 | 定义 |
|---|---|---|
| Ctrl-C | 3 | 如果启用了中断,则Ctrl-C会中断例程的执行。该例程的行为就像发生错误。如果禁用中断,则Ctrl-C会导致 IRIS 丢弃当前中迄今为止输入的任何内容。可以使用中断需要网络操作的全局模块请求。要捕获 ,请设置特殊变量 。有关其他信息,请参阅有关启用中断的部分。 |
| Ctrl-S | 19 | 暂停到终端的输出。当 遇到Ctrl-Q时,终端输出将恢复。 |
| Ctrl-Q | 17 | 恢复由暂停的输出。 |
输入控制字符影响输入。图像模式( 协议)将这些字符视为数据,但在正常模式下它们会影响当前READ命令的输入。这些字符的描述如下表所示:
从键盘读取 0 到 32 KB 的内容到指定变量中。超时参数是可选的。该命令不能以井号 (#) 或冒号 () 结尾
READ variable:timeout ; Variable-length read
READ variable#length:timeout ; Fixed-length read
READ *variable:timeout ; Single-character read
下表提供了如何使用这些参数的几个示例。
| 例子 | 影响 |
|---|---|
READ ^GLO |
从当前设备读取字符,直到找到终止符,并将结果字符串放入全局^GLO中。 |
READ X:60 |
从当前设备读取,直到找到终止符,并将读取的字符串放入变量X中。在超时之前最多等待 秒输入结束。敲击按键不会重置超时值。 |
READ *X |
从当前设备读取单个字符并将其十进制值放入局部变量X中。 |
| 从当前设备读取单个字符并将其字符串值放入局部变量X中。 | |
OPEN或USE命令中的终止符参数允许您将特定字符定义为READ或命令的终止符。这些显式终止符可用于补充指定协议提供的终止符字符。终止符参数还可用于覆盖协议对字符的指定,并将其指定为终止符。将字符重新定义为终止符的能力的例外情况是:、 以及两个输出控制字符 和。它们保留其功能,并且不能重新定义为终止符。
此示例将 、 和Tab定义为主设备的终止符。下划线是连接运算符。
USE 0:("":"":"Z"_$CHAR(8,9))
通过对无主终端发出命令,您可以隐式清除 内部显式终止符列表。当出现协议字符串时, 会执行以下操作:
下表给出了显式终止符字符串的示例。
| Terminator String 终止符字符串 | Definition 定义 |
|---|---|
USE 0:(80:"C":$CHAR(27)) |
转义字符终止READ,而不是开始转义序列。 |
USE 0:(80:"C":"") |
空字符串清除所有终止符。 |
USE 0:(80:"C") |
指定协议时省略终止符参数将清除所有终止符。 |
| 省略协议和终止符会使终止符保持不变。 |
OPEN 和 USE 协议定义了哪些 READ 输入字符、控制序列和击键被视为隐式终止符。这四种协议是 (图像模式)、(正常模式(默认))、(读取行调用模式)和 (终止符模式):
I(图像模式)接受所有 256 个八位字符作为数据,不将任何字符视为 READ 输入终止符或命令行编辑字符。因此,您应该在图像模式下仅使用单个字符或固定长度的操作。如果没有定义终止字符,普通的会导致错误。1 ^A = beginning of line
2 ^B = back word
3 ^C = interrupt
4 ^D = delete current character
5 ^E = end of line
6 ^F = forward word
7 ^G = delete to beginning of word ("wipe word backward")
8 ^H = BS = destructive backspace
9 ^I = HT = horizontal tab (echoed as a SPACE)
10 ^J = LF = end of input
11 ^K = VT = forward character
12 ^L = FF = erase to end of line
13 ^M = CR = end of input (same as LF)
14 ^N = recall next input line
16 ^P = recall previous input line
18 ^R = back char (reverse)
21 ^U = erase to start of line
23 ^W = delete to end of word "gobble word forward")
24 ^X = erase entire line
27 ESC lead character for arrow and function keys
127 DEL = destructive backspace (same as BS)
特殊情况或终端可能需要不同的协议。使用协议字母代码参数(或相应的关键字参数),可以更改 IRIS 与终端通信的规则。协议对正常读取和单字符读取的影响是一样的。
禁用所有特殊协议的正常模式足以满足大多数终端 I/O 的需要。在正常模式下,IRIS 会回显每个传入的 ASCII 字符,并将其发送回以显示在终端上。 或有效的转义序列结束READ命令。
对终端发出会关闭所有先前的协议,除非您使用 和 - 选项。
下表描述了有效的协议字符及其效果。
| 协议字符 | 姓名 | 定义 |
|---|---|---|
| B | BREAK | 如果启用了中断 (+B),则Ctrl-C将中断正在运行的例程并使用错误。如果禁用中断 (-B),则Ctrl-C不会引起中断,并且不会显示“^C”。该协议的使用取决于登录模式默认建立的BREAK命令,如下:如果以程序员模式登录,则始终启用中断 ( )。 OPEN或命令中指定的 (或 )协议无效。如果以应用程序模式登录,则默认为 ,并且可以通过或命令中指定的 (或 )协议来启用或禁用中断。 |
| C | CRT terminal | C 模式接受所有八位字符作为数据,但以下六位字符除外:。 |
OPEN 和 USE 命令的关键字参数下表描述了使用OPEN和命令控制终端设备的关键字参数。对于每个关键字,该表列出了OPEN和相应的字母代码协议。有关使用这些协议的其他信息可以在字母代码协议表中找到。
| 关键词 | 默认 | 字母代码协议 | 描述 |
|---|---|---|---|
/BAUD=n |
/BAUD= n设置端口的调制解调器波特率。支持的值取决于操作系统支持。 /SPEED 是 的别名。 |
||
| /BREAK[= n ] | 0 | B | /BREAK 或 /BREAK= n (对于n的非零值)启用协议。 /BREAK= n如果值为零,则会禁用协议。 |
| /COMPARAMS=str | 对应于portstate位置参数。 (此关键字提供了一种以与位置无关的方式指定 COM 端口状态字节代码字符串的方法。)可以包含在str中的端口状态字节代码列在本页前面的表中。 |
||
| /COMPRESS=str | "" | 指定流数据压缩类型。可以启用 或 ZSTD 压缩类型。可以指定来禁用压缩。 相当于 。要压缩字符串,请使用 . |
|
| /CRT[=n] | 取决于操作系统终端设置 | C和P | 与 和 协议相关。 /CRT 或 /CRT= n ( n为非零值)启用 C 协议并禁用 协议。 如果值为零,则会禁用 |
第三个位置参数:最多八个字符的字符串,其中任何一个都将终止READ 。这些终止符是协议中内置终止符的补充。请参阅使用终止符结束 I/O 操作。
portstate 第 个位置参数:按位置顺序最多包含 8 个字节的字符串,用于控制 COM 端口状态。端口状态字节如下(字节从开始按从左到右的顺序编号):
| Byte 字节 | 意义 | Values |
|---|---|---|
| 1 | Disconnect 断开 |
D=断开(挂断)端口。空白=不断开端口。 |
| 2 | Modem Control 调制解调器控制 | 1=使用调制解调器控制。0=不使用调制解调器控制。空白=调制解调器控制没有变化。 |
| 3 | Data Bits 数据位 | 5=五个数据位。 =六个数据位。 7=七个数据位。 =八个数据位。空白=数据位设置没有变化。 |
| 4 | Parity 平价 | =无奇偶校验。 =奇校验。 2=偶校验。 =标记奇偶校验。 =空间奇偶校验。空白=奇偶校验设置没有更改。 |
| 5 | 停止位 | =一个停止位。 =1.5 个停止位。=两个停止位。空白=停止位设置没有变化。 |
| 6 | 流量控制 | =使用Xon/Xoff流量控制。 C=使用CTS/RTS流量控制。 =使用DSR/DTR流量控制。 N=禁用流量控制。空白=不改变流量控制。 |
| 7 | 数据传输设置 | =禁用 |
使指定终端成为当前设备。在编程器模式下,同一行代码上的所有后续 I/O 命令都引用该设备。在应用程序模式下,您在USE命令中命名的设备将一直保留为当前设备,直到下一个USE命令为止。
USE 语法命令采用以下参数:
USE terminal:(margin:protocols:terminator):"mnespace"
终端参数可以是一个表达式,其值为终端设备的名称。零 (0) 是该进程的主要设备。 $IO是当前设备。终端的最大长度为 个字符。
参数由冒号 () 分隔。如果省略参数,则必须指定冒号。命令或其参数列表不得以冒号结束。
可选参数列表包含在括号中,可以包含、 和参数。可以将可选的 、 和参数指定为位置参数(按所示顺序),或使用语法 指定为关键字参数。关键字参数可以按任意顺序指定;由于 按从左到右的顺序执行参数,因此在某些情况下,参数之间的交互可能决定首选顺序。可以在同一参数列表中混合位置参数和关键字参数。如果指定多个参数,则需要使用括号。
要使用USE命令指定 端口状态和波特率,请使用适当的关键字参数。
在参数列表(或占位符冒号,如果未指定参数列表)后面,可以指定一个可选的参数,该参数标识一个 ObjectScript 例程,其中定义了与
✓ 十一月有 32 位新成员加入
✓ 所有时间发布了 2,284 篇帖子
✓ 所有时间有 2,071 位成员加入