我有一个运行交互式DSPF的程序。现在,我在RPG程序中用字符填充字段。前两个字符“ ab”。但是我想要的是,当我在跳至该字段时通过DSPF时,光标位于“ a”下方,因为这是该字段的第一个位置。我想跳到该字段的第3个位置,以便光标位于输入之后,因此我可以轻松地继续输入而不是按箭头键。只是想知道是否有办法做到这一点。我已经知道DSPATR(PC),但是要确保它到达我想要的第三位置的第一位置。 CURLOC是记录级别,对我无济于事,我只希望这一个文本字符串位于第3个字符处,而不是首先在其上制表符。我也希望可以更改前两个字符,这就是为什么我不只是简单地将它们设置为变量并将其连接起来,或者只是在幕后合并而已。我只想跳至文本字符串,光标位于第3个字符的位置。
答案 0 :(得分:0)
我认为CSRLOC
是您的答案。
来自fit_levy()
关键字的格式为:
CSRLOC(field-name-1 field-name-2)
关键字指定内容为行的两个字段的名称 编号(对于字段名称1)和位置编号(对于字段名称2) 光标位置。字段名称1和字段名称2为3字节, 分区的十进制隐藏字段。您的程序使用这些字段来告诉 光标所在的IBM®i操作系统。
A R RECORD1 CSRLOC(LINNBR POSNBR)
A TITLE 40 B 1 2
A PAGE 5Y OB 1 60
A TEXT 1760 B 2 1
A LINNBR 3 OH
A POSNBR 3 OH
它的记录级别这一事实并不重要,因为I / O是通过记录而不是字段来完成的。当记录为EXFMT
时,光标将定位在您请求的位置。
如果这不起作用,您唯一的其他可能选择是摆脱显示文件,并使用docs直接与屏幕连接。