面板不执行 )PNTS 部分



我正在用"傻瓜式"元素编写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 时光标的位置。 根据示例,您可以看到傻瓜和拍摄不仅限于菜单。 希望这个例子有帮助。

马夫·奈特

相关内容

  • 没有找到相关文章

最新更新