首页 > 学技术 > 技术网文 > IBM AS400应用论坛 > 正文

[精彩] 带“按钮”的DSPF及演示程序


来源 chinaunix.net 酷勤网整理

在AS400中,  点击确定、 单选、多选  等“按钮” 用得相对比较少。 但在适当的地方使用也挺方便的。

以下通过一个简单的演示例子,介绍下如何实现, 有兴趣的朋友可参考。 效果如附件图所示

1、建一 PF 用存放 演示 结果,  DDS如下

   SEU==>                                                                  TESTPF 
        *************** Beginning of data ************************************* 
0001.00      A          R RTEST                                                 
0002.00      A            SING           1  0       COLHDG(' 单选值 ')          
0003.00      A            DUB1           1  0       COLHDG(' 多选值 1')         
0004.00      A            DUB2           1  0       COLHDG(' 多选值 2')         
        ****************** End of data ***************************************

2、建 DSPF  ,  DDS如下:

 SEU==>                                                                TESTDSPF 
        *************** Beginning of data ************************************* 
0001.00      A                                      CA03(03 'exit')             
0002.00      A          R R1                                                    
0003.00      A            D2@            1Y 0H                                  
0004.00      A            D1@            1Y 0H                                  
0005.00      A            S1             1Y 0H                                  
0006.00      A            FLD001         2Y 0B  4 18SNGCHCFLD(*RSTCSR *SLTIND ( 
0007.00      A                                      3))                         
0008.00      A                                      CHOICE(1 ' 测试 1')         
0009.00      A                                      CHCCTL(1 &S1)               
0010.00      A                                      CHOICE(2 ' 测试 2')         
0011.00      A                                      CHCCTL(2 &S1)               
0012.00      A            FLD002         2Y 0B  8 18MLTCHCFLD((*NUMCOL 3))      
0013.00      A                                      CHOICE(1 ' 多选 1  ')       
0014.00      A                                      CHCCTL(1 &D1@)              
0015.00      A                                      CHOICE(2 ' 多选 2')         
0016.00      A                                      CHCCTL(2 &D2@)              
0017.00      A            ENT@           2Y 0B 12 18PSHBTNFLD                   
0018.00      A                                      PSHBTNCHC(1 ' 确定 ')       
0019.00      A            EXT@           2Y 0B 12 36PSHBTNFLD                   
0020.00      A                                       PSHBTNCHC(1 ' 返回 ')                                                                                           
3. 演示程序 , RPG 代码 如下:

 SEU==>                                                                 TESTRPG 
        *************** Beginning of data ************************************* 
0001.00 H*                                                                      
0002.00 FTESTPF    UF A E           K DISK                                      
0003.00 FTESTDSPF  CF   E             WORKSTN                                   
0004.00 C                   EXFMT     R1                                        
0005.00 C                   EVAL      SING=FLD001                               
0006.00 C                   EVAL      DUB1=D1@                                  
0007.00 C                   EVAL      DUB2=D2@                                  
0008.00 C                   IF        ENT@=1                                    
0009.00 C                   WRITE     RTEST                                     
0010.00 C                   ENDIF                                               
0011.00 C                   IF        EXT@=1                                    
0012.00 C                   RETURN                                              
0013.00 C                   ENDIF                                               
0014.00 C                   SETON                                        LR     
        ****************** End of data *************************************** 

4、运行完 RPG 后   用 QUERY 查看结果如下:
 Line   ....+....1....+....2....+....3      
         单选值    多选值 1   多选值 2      
 000001     1         1          1          
 000002     2         1          1          
 000003     1         1          1          
 000004     2         1          1          
 ****** ********  End of report  ********



画面效果图





 李海隽 回复于:2007-06-15 10:09:16

谢谢啦。不过,这样的命令我都用过,感觉上是得不偿失。


 桃子0330 回复于:2007-06-17 10:55:24

看到,^_^


 qingzhou 回复于:2007-06-17 11:25:48

不错~~~


 fairyboy 回复于:2007-06-18 09:33:01

用过,感觉不太好


 magic_007 回复于:2007-06-19 12:42:10

用过,不过感觉在项目中很少用到




原文链接:http://bbs.chinaunix.net/viewthread.php?tid=949476
转载请注明作者名及原文出处



收藏本页到: