我是 rpgle 编程新手。我想通过按 Enter 键(不按 Tab 键)将光标从一个整数输入字段移动到下一个整数输入字段,而不清除 rpgle display file中先前输入的数据强>。 请帮忙。提前致谢。
最佳答案
你真的不能这么做。
5250 协议(protocol)是面向 block /屏幕的协议(protocol)。这意味着一旦屏幕被发送到设备,服务器就会脱离画面,直到设备返回控制权。 Enter
是一个特殊的键,它的唯一作用是将控制权返回给服务器。
早在 5250 模拟器首次问世时,PC Enter
默认映射到 Field-Exit
键和右下角的 Ctrl
键映射到 Enter
,因为这就是物理 5250 键盘上相应键的位置。现在,IBM 的 ACS 模拟器使用 Enter
来表示 Enter
,使用 Ctrl+Enter
来表示 Field-exit
。
Field-exit
是您正在寻找的行为。
您可以像 @nfgl 在评论中提到的那样,模拟您希望用户实现的行为。您可以使用RTNCSRLOC这样您的程序就知道按下 Enter 键时用户光标所在的位置,然后您的程序使用 DSPATR(PC) 或 CSRLOC 将光标放在下一个字段上,然后再将屏幕发送回设备。您的程序还需要保留先前输入的数据。例如,您的字段需要是输入输出,而不是仅输入字段。并且您需要确保在将其发送回之前没有清除显示记录。
关于ibm-midrange - 在 RPGLE 显示文件中按 Enter 键移动到下一个输入字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/71552749/