我是rpgle编程的新手。我想通过按Enter键(不按tab键(将光标从一个整数输入字段移动到下一个整数输出字段,而不清除rpgle显示文件中先前输入的数据。Plz,救命。提前谢谢。
你真的做不到。
5250协议是一种面向块/屏幕的协议。这意味着,一旦屏幕被发送到设备,服务器就不在画面中,直到设备返回控制权。Enter
是一个特殊的密钥,它的唯一任务是将控制权返回给服务器。
早在5250模拟器首次问世时,PCEnter
默认映射到Field-Exit
键,右下角的Ctrl
键映射到Enter
,因为物理5250键盘上的相应键就在那里。现在,IBM的ACS模拟器将Enter
用于Enter
,将Ctrl+Enter
用于Field-exit
。
Field-exit
是您要查找的行为。
正如@nfgl在评论中暗示的那样,您可以模拟您希望用户的行为。您可以使用RTNCRLOC,这样您的程序就可以知道按下回车键时用户的光标在哪里,然后您的程序使用DSP(PC(或CSRLOC将光标放在下一个字段上,然后再将屏幕发送回设备。您的程序还需要保留以前输入的数据。例如,您的字段需要是输入-输出的,而不是只输入字段。在将显示记录发送回之前,您需要确保不清除该记录。