我正在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')

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top