Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1298493
  • 博文数量: 287
  • 博客积分: 11000
  • 博客等级: 上将
  • 技术积分: 3833
  • 用 户 组: 普通用户
  • 注册时间: 2007-08-16 08:43
文章分类
文章存档

2013年(15)

2012年(17)

2011年(17)

2010年(135)

2009年(85)

2008年(18)

分类: 系统运维

2009-07-17 08:16:15

RPGIV编程技巧(3)如何实现subfile的左右翻屏?
 
问题:
 
    如何使用RPG实现类似于WRKQRY中的左右翻屏功能?
 
回答:
 
    把用于subfile显示的记录内容,分成所需subfile的屏幕个数。
 
如果只需2个subfiles,
   /Free
       .......
       Dow *In03 = *off;
          If *In20 = *on and pCont =2;
             pCont = pCont - 1;
             *In20 = *off;
          ElseIf *In19 = *on and pCont = 1;
             pCont = pCont + 1;
             *In19 = *off;
          EndIf;
          If  pCont = 1;
             ExFmt SubCtlA;
          Elseif pCont = 2;
              ExFmt SubCtlB;
          Endif;
        .....
      EndDo;
      .....
/End-Free
 
有N屏,
     Dow *In03 = *off;
        If *In19 = *on and pCont                  pCont = pCont + 1;
                 *In19 = *off;
            ElseIf *In20 = *on and pCont > 1;
                 pCont = pCont - 1;
                *In20 = *off;
         EndIf;
         Select;
            When pCont = 1;
               ExFmt SubCtlA;        
            When pCont = 2;
               ExFmt SubCtlB;        
            ......
            When pCont = N;
               ExFmt SubCtlN;        
            Other;
               ExFmt SubCtlA;         
         EndSl;
         .....
      EndDo;
 
   我的经验用一个数字变量用做用户控制subfile的记录数,并以一个大维数的数组控制subfile的key,或组合key。上下翻屏并非系统控制,而是程序控制。

 
阅读(1508) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~