我用"指向和拍摄"编写ISPF面板。元素。元素说"是"和"不"并且默认光标必须指向"是"。
第一案:
字段声明: + TYPE(INPUT) PAS(ON)
当我使用此声明时,按[enter]并生成rc = 0关闭面板。但是,PNTS部分不会运行。
第二案例:
字段声明: + TYPE (PS)
按)[输入]运行PNTS部分。但是,我无法将.cursor
设置为字段"是"。
我尝试了不同的字段名称(例如ZPS00001
)。我试着用Rexx模拟Point and Shoot,但没有什么工作得很好。
答案 0 :(得分:1)
按Enter键将导致处理点和射击场。但是,光标必须位于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的值。如果光标位于field1,field2,field3或field4上,您将获得1,2,3或4。如果它在IN1或IN2上,那么你会打开或关闭。这一切都取决于点击ENTER时光标所在的位置。根据示例,您可以看到瞄准和射击不仅限于菜单。希望这个例子有帮助。
Marv Knight