在 RPGLE 显示文件中按 Enter 键移动到下一个输入字段

Move to next input field by pressing Enter key in RPGLE display file

我是 rpgle 编程的新手。我想通过按 Enter 键(不按 tab 键)将光标从一个整数输入字段移动到下一个整数输入字段,而不清除 rpgle display [=12 中先前输入的数据=]文件。 请帮助。提前致谢。

你真的不能那样做。

5250 协议是面向block/screen 的协议。这意味着一旦屏幕被发送到设备,在设备 return 控制之前,服务器不在画面中。 Enter是一个特殊的键,它的唯一作用是return控制服务器。

回到 5250 模拟器刚出来的时候,PC Enter 默认映射到 Field-Exit 键,右下 Ctrl 键映射到 Enter 作为这就是物理 5250 键盘上相应键所在的位置。 Now-a-days,IBM 的 ACS 仿真器对 Enter 使用 Enter,对 Field-exit 使用 Ctrl+Enter

Field-exit 是您正在寻找的行为。

您可以像@nfgl 在评论中提到的那样,为用户模拟您期望的行为。您可以使用 RTNCSRLOC 以便您的程序知道按下回车键时用户光标的位置,然后您的程序使用 DSPATR(PC) 或 CSRLOC 将光标放在下一个字段上,然后再将屏幕发送回设备.您的程序还需要保留以前输入的数据。因此,例如,您的字段需要 input-output 而不是 input-only 字段。并且您需要确保在发送回显示记录之前不要清除显示记录。