我正在用"傻瓜式"元素编写ISPF面板。元素显示"是"和"否",默认光标必须指向"是"。
第一种情况:
字段声明: + TYPE(INPUT) PAS(ON)
当我使用此声明时,面板通过按 [enter] 并生成 rc = 0 关闭。但是,PNTS 部分不会运行。
第二种情况:
字段声明: + TYPE (PS)
PNTS 部分通过按 [回车] 运行。但是,我无法将.cursor
设置为字段"是"。
我尝试了使用不同字段名称的不同方式(例如 ZPS00001
)。我试图用Rexx模拟傻瓜射击,但没有任何效果。
按回车键将处理点和射击字段。 但是,光标必须位于 )PNTS 部分的其中一个字段上,才能设置与字段关联的值。 听起来面板可能没有正确编码。 PAS 应用于输入或输出字段,PS 应用于文本字段。 例如,如果您有以下面板:
)ATTR
$ TYPE(PS)
! TYPE(OUTPUT) PAS(ON)
)BODY
+ --------------------- +
+ ===>_ZCMD +
+
$Field1 : _FLD +
$Field2 : _ABC +
$Field3 : !IN1 +
$Field4 : !IN2 +
)INIT
&INV1 = 111
&INV2 = 222
&INV3 = 333
)REINIT
REFRESH(*)
)PROC
)PNTS
FIELD(IN1) VAR(INV1) VAL(ON)
FIELD(IN2) VAR(INV2) VAL(OFF)
FIELD(ZPS00001) VAR(INV3) VAL(1)
FIELD(ZPS00002) VAR(INV3) VAL(2)
FIELD(ZPS00003) VAR(INV3) VAL(3)
FIELD(ZPS00004) VAR(INV3) VAL(4)
)END
与以下 REXX 执行官:
/* REXX */
RCC = 0
INV1 = 0
INV2 = 1
DO WHILE RCC = 0
ADDRESS ISPEXEC 'DISPLAY PANEL(PAS)'
RCC = RC
SAY INV1 '-' INV2 '-' INV3
END
您可以根据按回车键时放置光标的位置测试 inv1、inv2 和 inv3 的值。 如果光标位于字段 1、字段 2、字段 3 或字段 4 上,您将获得 1、2、3 或 4。 如果它在 IN1 或 IN2 上,那么您可以打开或关闭。 这完全取决于点击 ENTER 时光标的位置。 根据示例,您可以看到傻瓜和拍摄不仅限于菜单。 希望这个例子有帮助。
马夫·奈特