免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 2095 | 回复: 7
打印 上一主题 下一主题

在DSPF中双子文件的问题,向兄弟们请教!在线等待 ... ... [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2004-11-04 11:23 |只看该作者 |倒序浏览
我怎样在一个 DSPF中的一个 SFLCTL中添加第二个 SFL,我现在有一个 DSPF且里面有一个 SFLCTL和一个 SFL,我想再给这个SFLCTL加一个SFL,最终效果就像在SEU里用F15后显示出来的一个样(屏幕中有上下两个子文件而且都可以使用PAGEUP/PAGEDOWN)。

或者要实现在SEU里的F15功能键确定后那样的效果该如何做呢?!

请高手赐教!尽量能给个源代码或怎样在SDA(或DDS)里面添加/设置第二个“子文件”。

兄弟在线等待... ...

论坛徽章:
0
2 [报告]
发表于 2004-11-04 11:44 |只看该作者

在DSPF中双子文件的问题,向兄弟们请教!在线等待 ... ...

的写2个SUBFILE吧(2个SFL 2个SFLCTL)

以前MICHAEL9406发过一个这样的例程序的

  1. The DDS for the two-subfile program.
  2.      A                                      DSPSIZ(24 80 *DS3)                     
  3.      A                                      CHGINPDFT(HI UL)                        
  4.      A                                      ERRSFL                                 
  5.      A                                      CA03(03 'Exit')                        
  6.      A                                      CA12(12 'Exit')                        
  7.      A                                      MOUBTN(*ULD ENTER)                     
  8.      A          R HEADER                                                            
  9.      A                                  1 69DATE                                    
  10.      A                                      EDTCDE(Y)                              
  11.      A                                  2 69TIME                                    
  12.      A*                                 3 69SYSNAME                                 
  13.      A                                  3 69'SYSTEM X'                              
  14.      A                                  4 69USER                                    
  15.      A                                  2  7'   __                            _-   
  16.      A                                      _    ___ _  __          '               
  17.      A                                  3  7'  / /_ _    __ ___    ___ __ __ / -   
  18.      A                                      /   / _/(_)/ /___  ___  '               
  19.      A                                  4  7' / __/| |/|/ // _ \  (_- / // // _-   
  20.      A                                       \ / _// // // -_)(_-   '               
  21.      A                                  5  7' \__/ |__,__/ \___/ /___/\_,_//_._-   
  22.      A                                      _//_/ /_//_/ \__//___/  '               
  23.      A                                  6  7'                                  -  
  24.      A                                                              '            
  25.      A          R SFLA                      SFL                                   
  26.      A            STATES        10A  O  2  1                                      
  27.      A          R FMT01                     SFLCTL(SFLA)                          
  28.      A                                      TEXT('States subfile')               
  29.      A                                      OVERLAY                              
  30.      A                                      WINDOW(9 5 8 27 *NOMSGLIN)            
  31.      A                                      WDWTITLE((*TEXT ' States '))         
  32.      A  *DS3                                SFLLIN(2)                             
  33.      A                                      SFLPAG(0012)                          
  34.      A                                      SFLSIZ(&NBRREC)                       
  35.      A* (can not use this with SFLLIN)      SFLSNGCHC                             
  36.      A                                      RTNCSRLOC(&REC &FLD)                  
  37.      A                                      SFLCSRRRN(&RELRCD)                    
  38.      A  90                                  SFLDSP                                
  39.      A  90                                  SFLDSPCTL                             
  40.      A N90                                  SFLCLR                                
  41.      A  91                                  SFLEND(*SCRBAR *MORE)                 
  42.       * Use TopRecIn or RelRcd to set TopRec, which sets the position of SFLA:
  43.      A            TOPREC         4S 0H      SFLRCDNBR(*TOP)
  44.      A            TOPRECIN       5S 0H      SFLSCROLL                           
  45.      A            RELRCD         5S 0H                                            
  46.      A            NBRREC         5S 0P                                            
  47.      A            REC           10A  H                                            
  48.      A            FLD           10A  H                                   
  49.      A          R SFLB                      SFL                          
  50.      A            CITIES        20A  O  2  2                             
  51.      A          R FMT02                     SFLCTL(SFLB)                 
  52.      A                                      TEXT('Cities subfile')      
  53.      A                                      RTNCSRLOC(&RECB &FLDB)      
  54.      A                                      OVERLAY                     
  55.      A                                      SFLCSRRRN(&RELRCDB)         
  56.      A  80                                  SFLDSP                       
  57.      A  80                                  SFLDSPCTL                    
  58.      A N80                                  SFLCLR                       
  59.      A  81                                  SFLEND(*SCRBAR *MORE)        
  60.      A                                      SFLSIZ(&NBRRECB)            
  61.      A                                      SFLPAG(0006)                 
  62.      A                                      WINDOW(9 45 8 26 *NOMSGLIN)  
  63.      A                                      WDWTITLE((*TEXT &TITLE))     
  64.      A                                      SFLMLTCHC                    
  65.      A            RELRCDB        5S 0H                                   
  66.      A            NBRRECB        5S 0P                                   
  67.      A            RECB          10A  H                                   
  68.      A            FLDB          10A  H                                   
  69.      A            TITLE         12A  P                                   
  70.      A          R FOOTER                                                      
  71.      A                                      OVERLAY                              
  72.      A                                 23  3'F3=Exit  F12=Return'                 
  73.      A                                      COLOR(BLU)                           
  74.      A                                 20 46'Select as many cities as you like.'  
  75.      A                                      COLOR(BLU)                           
  76.      A                                 21 46'Use the space bar or mouse click'   
  77.      A                                      COLOR(BLU)                           
  78.      A                                 22 46'to make your selections.'            
  79.      A                                      COLOR(BLU)                           
  80.      A          R DUMMY                                                           
  81.      A                                      TEXT('PREVENTS PREVIOUS SCREEN FROM-  
  82.      A                                       BEING CLEARED')                     
  83.      A                                      ASSUME                                
  84.      A                                  5  9' '                                   

  85. --------------------------------------------------------------------------------




  86. This is the RPGIV for the two subfile program


  87.       *************************************************************
  88.       * A program to select from 2 different subfiles             *
  89.       *   11/03  Booth Martin                                     *
  90.       *                                                           *
  91.       *                                                           *
  92.       *************************************************************        
  93.      H option(*nodebugio)                                          
  94.      FTEST00D   CF   E             WORKSTN                          
  95.      F                                     SFILE(SFLA:RRN)         
  96.      F                                     SFILE(SFLB:RRNB)         
  97.      FTEST01P   IF   E           K DISK                             
  98.      FTEST02P   IF   E           K DISK                             
  99.                                                                     
  100.      D RRN             S              4S 0                          
  101.      D RRNB            S              4S 0                          
  102.      D TopRec          S              4s 0                          
  103.      D SavedStates     S                   Like(States)            
  104.       *  ..................................................         
  105.      C                   EXSR      FillSubfileASR                  
  106.      C                   EXSR      FillSubfileBSR                  
  107.                                                                     
  108.      C                   DoW       *INLR = *Off                     
  109.      C                   write (e) Header                           
  110.      C                   write (e) Footer           
  111.       * set the top of subfile A:
  112.       *    Here you may choose to have subfile A positioned to either:
  113.       *    1) The State chosen,                                       
  114.       *            (use RelRcd >; 0)                                    
  115.       *    2) or, the same way as SFLA was when the selection was made,
  116.       *            (use TopRecIn >; 0)                                 
  117.       *    3) or, always reposition to the beginning of SFLA.         
  118.       *            (comment or delete this section)                                      
  119.      C                   If        Relrcd >; 0        
  120.      C                   eval      TopRec = RelRcd   
  121.      C*                  If        TopRecIn >; 0      
  122.      C*                  eval      TopRec = TopRecIn
  123.      C                   else                       
  124.      C                   eval      TopRec = 1      
  125.      C                   endif                     
  126.                                                    
  127.      C                   if        FLD = *Blanks   
  128.      C                   write (e) FMT02            
  129.      C                   exfmt     FMT01            
  130.      C                   Read  (e) FMT02            
  131.      C                   Read  (e) Footer           
  132.      C                   else                       
  133.      C                   write (e) FMT01            
  134.      C                   exfmt     FMT02            
  135.      C                   Read  (e) FMT01            
  136.      C                   Read  (e) Footer           
  137.      C                   endif                     
  138.                                                    
  139.      C                   Select                     
  140.       * Footer Push button Choices:                 
  141.       * end the job                                 
  142.      C                   When      *INKC   or      
  143.      C                             *INKL                                   
  144.      C                   Eval      *INLR = *ON                             
  145.                                                                            
  146.       * Fill cities subfile:                                               
  147.      C                   When      FLD >; *Blanks                           
  148.      C     RELRCD        chain (e) SFLA                                    
  149.      C                   exsr      FillSubfileBSR                          
  150.                                                                            
  151.      C                   EndSL                                             
  152.      C                   END                                               
  153.       *  _________________________________________________________________         
  154.      C     FillSubfileAsrBegSR                                             
  155.       * fill SFLA                                                         
  156.      C                   eval      RRN  = 0                                
  157.       * Clear subfile & screen, prepare to re-fill or fill:               
  158.      C                   Eval      *IN90=*off                              
  159.      C                   Clear                   SFLA                     
  160.      C                   Write     FMT01                                   
  161.      C                   eval      *IN90 = *on                             
  162.                                                                            
  163.      C     *LoVal        Setll     Test01P                                 
  164.      C                   Read      Test01P                                 
  165.      C                   DoW       Not %EOF(Test01P)                       
  166.      C                   Eval      RRN = RRN + 1                           
  167.      C                   Write     SFLA                                    
  168.      C                   Read      Test01p                                 
  169.      C                   End                                               
  170.                                                                            
  171.      C                   Eval      NBRREC = RRN                           
  172.      C     RRN           IFLT      5                                       
  173.      C                   eval      *IN91 = *on                             
  174.      C                   END                                               
  175.                                                                            
  176.      C                   ENDSR                                             
  177.       *  _________________________________________________________________
  178.      C     FillSubfileBsrBegSR                                             
  179.       * fill SFLB                                                         
  180.      C                   eval      RRNB = 0                                
  181.                                                                            
  182.      C                   Eval      *IN80=*off                              
  183.      C                   Clear                   SFLB                     
  184.      C                   eval      Title = '  Cities  '                    
  185.      C                   Write     FMT02                                   
  186.      C                   eval      *IN80 = *on                             
  187.                                                                            
  188.      C                   if        RELRCD = *zeros                        
  189.      C                   Eval      CITIES = *Blanks                        
  190.      C                   Eval      RRNB = RRNB + 1                        
  191.      C                   Write     SFLB                        
  192.      C                   else                                 
  193.      C     RELRCD        Chain (e) SFLA                        
  194.      C                   eval      SavedStates = States        
  195.      C                   Eval      Title  = ' ' + STATES + ' '
  196.      C     STATES        Setll     Test02P                     
  197.      C                   Read (e)  Test02P                     
  198.      C                   If        States <>; SavedStates or   
  199.      C                             %EOF(Test02P)               
  200.      C                   eval      cities = 'No cities listed'
  201.      C                   Eval      RRNB = RRNB + 1            
  202.      C                   Write     SFLB                        
  203.      C                   else                                 
  204.      C                   DoW       Not %EOF(Test02P) and      
  205.      C                             States = SavedStates        
  206.      C                   Eval      RRNB = RRNB + 1            
  207.      C                   Write     SFLB                        
  208.      C                   Read      Test02P                     
  209.      C                   Enddo                                 
  210.      C                   endif                                 
  211.      C                   endif                                 
  212.                                                                
  213.      C                   Eval      NBRRECB = RRNB              
  214.      C     RRNB          IFLT      5                           
  215.      C                   eval      *IN81 = *on                  
  216.      C                   END                                    
  217.                                                                
  218.      C                   EndSR                                 
  219.       *  _____________________________________________________  




  220. --------------------------------------------------------------------------------




  221. The DDS for the two files used in this application
  222. Name of states file: TEST01P
  223.      A          R TEST01REC         
  224.      A            STATES        10                                                   
  225.      A          K STATES            

  226. Name of cities file: TEST02P
  227.      A          R TEST02REC         
  228.      A            STATES        10  
  229.      A            CITIES        20  
  230.      A          K STATES            
  231.      A          K CITIES         
复制代码

论坛徽章:
0
3 [报告]
发表于 2004-11-04 11:46 |只看该作者

在DSPF中双子文件的问题,向兄弟们请教!在线等待 ... ...

忘了是不是这个代码了,可以搜索一下MICHAEL9406的精华帖

这些代码只是说明要做2个SFL和2个SFLCTL

论坛徽章:
0
4 [报告]
发表于 2004-11-04 17:25 |只看该作者

在DSPF中双子文件的问题,向兄弟们请教!在线等待 ... ...

to xuguopeng : 这个程序源代码好像只能显示其中一个SFLCTL吧,那能不能同时将两个都显示不来呢?

我想要的结果是和SEU里用F15后显示出来的一个样(屏幕中有上下两个子文件而且都可以使用PAGEUP/PAGEDOWN)。

论坛徽章:
0
5 [报告]
发表于 2004-11-04 18:07 |只看该作者

在DSPF中双子文件的问题,向兄弟们请教!在线等待 ... ...

我只试过同时显示2个SUBFILE,但是同时只能激活一个SUBFILE

明天我再问问我们的开发人员吧

论坛徽章:
0
6 [报告]
发表于 2004-11-05 09:47 |只看该作者

在DSPF中双子文件的问题,向兄弟们请教!在线等待 ... ...

先谢了!

论坛徽章:
0
7 [报告]
发表于 2004-11-05 22:11 |只看该作者

在DSPF中双子文件的问题,向兄弟们请教!在线等待 ... ...

关注。

论坛徽章:
0
8 [报告]
发表于 2004-11-06 08:31 |只看该作者

在DSPF中双子文件的问题,向兄弟们请教!在线等待 ... ...

一个SUBCTL只能控制一个SUBFILE吧?
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP