在“加载所有”子文件中检测向下翻页和向上翻页按键

时间:2017-10-26 07:17:34

标签: ibm-midrange rpgle

我创建了一个加载所有子文件的附加要求。子文件控制记录格式具有很少的输入字段,当用户按Enter键时,这些字段将被验证。然后,如果发现输入参数有效,则满足输入参数值的数据库文件中的记录将显示为子文件记录。

新要求是,如果用户在更改输入字段值后按下向下翻页或向上翻页但未按Enter键,则应重新验证输入字段值,并根据提供的新参数刷新子文件记录。

技术上可行吗?由于子文件是一个加载全部,因此页面向上或向下翻页按键不会将控制权传递回程序,因为操作系统处理了分页。因此我无法看到如何重新验证参数的方式。有没有办法在按下Page up或Page down时将控制权传递给RPG,同时又让操作系统控制分页?

有什么建议吗?

1 个答案:

答案 0 :(得分:2)

你是对的,程序将无法获得控制权,直到用户在可扩展子文件(SFLSIZE<> SFLPAGE)中一直分页到子文件的开头或结尾。但是如果你在一个时间子文件(SFLSIZE = SFLPAGE)中使用了一个页面,那么你可以按每个PAGEUP / PAGEDOWN按键将控制权返回给程序。这会稍微改变程序的结构,但你应该能够毫不费力地使它运行。