题
我正在IBM开发软件上开发RPG程序
发生的情况是我正在创建一个带有输入字段的显示文件
我正在努力完成一项任务。
如果他们已经输入了所有字段并且显示了其他记录,我想保护他们只是输入值的字段,直到他们按 Enter 键
但我很困惑如何使用 DSPATR(PR) 来保护该字段
解决方案 2
我找到了我的问题的答案。
为此,只需转到屏幕设计器上的属性>右键单击属性并查找关键字 protect
这将保护他们输入的字段的整个屏幕,直到 enter
被按下取消保护。
也可以通过添加来完成 DSPATR(PR)
带有指示器并将其添加到 RPG
打开所需字段的指示灯。
其他提示
在绿色屏幕上,RPG程序只知道屏幕上的<enter>
时屏幕上的内容。在用户在字段中输入数据后,它听起来您想要保护一个字段。除非每个字段都有每个字段,否则我不认为是可能的。这会根据程序函数而变得烦人。移民进入人们更喜欢继续打字,并且他们已经记住了他们需要多少个选项卡和空格来输入数据。
对于学习Purpouse,您可以设置显示属性,因为您的RPG“后端”代码,例如在您的情况下,保护的十六进制代码值为“A0”为“A0”,请查看代码:
在DDSSRC中:
.....AAN01N02N03T.Nombre++++RLon++TPdBLínPosFunciones+++++++++++++++++++++++++++
A* First declare the variable
A REV1 1A P
A*
A* then, after the display field in function limit you assign it
A*
A FIELD01 14Y 2B 17 42EDTCDE(1)
A DSPATR(&REV1)
.
在RPGSRC中,只需在需要时设置或清除:
CL0N01Factor1+++++++Operac&ExtFactor2+++++++Resultado+++++Lon++D+MaMeIg....Comentarios+++++++++
C*
C* Set the hex value in the QDDSSRC variable
C EVAL REV2 = x'A0'
C*
C* Clear the variable
C CLEAR REV1 1
.
许多紫色的六兆代码有很多紫色,只需要环顾四周:)。
sel 1a b 11 2
一个99 dspatr(PC)
A 99 DSPATR(RI)
当您在绿色屏幕上显示一个字段时,通常为I / O exfmt。 在这里,我首先清除SEL字段然后从显示器(DDS)文件中exfmt记录格式。一旦用户按Enter键,我会“打开”指示器99。 然后我会再次exfmt显示屏幕。在示例中,如果* IN99为*,则光标将定位到SEL字段并反向图像。您可以通过保护DSPATR(PR)来做同样的事情。在您的代码中,您将“已设置”指示灯,显示屏幕。用户命中输入您“打开”指示灯并重新录制屏幕。
在RPG中,您可以使用MOVE * ON * IN99。
或者您可以使用seton ........ 99。
或移动'1'* IN99。
在CLP中,可以CHGVAR VAR(&IN99)值('1')