当前位置首页 > 科普 > 正文

[RPG学习笔记]让源代码行号自动排序

作者:  科技部 | 发布时间:  2009年5月24日

使用SEU进行RPG程式设计时,如果一行一行的书写代码,行号会自动增加的,但如果是修改程式或者向已经存在的程式中添加代码行后,行号就变得不连续了。

如下面的代码片断所示:

    *************** Beginning of data *************************************
0000.00     H*****************************************************************
0001.00     H** ARRAY EXAMPLE                                 *
0002.00     H* ARRAY MONTHS IS COMPILE-TIME ARRAY,                 *
0002.01     H* WITH 4 ELEMENTS PER RECORD                       *
0002.02     H*****************************************************************
0003.00     C** IT CONTAINS 12 ELEMENTS, EACH 4 CHARACTERS LONG          
0004.00     C**                                          
0005.00     DMONTHS       S         4   DIM(12) CTDATA PERRCD(4)  
0006.00     DCOUNT         S         2 0 INZ                
0007.00     **                                          
0008.00     **                                          
0009.00     C             DOU     COUNT=12                  
0010.00     C             EVAL     COUNT = COUNT + 1            
0011.00     C   MONTHS(COUNT) DSPLY                            
0012.00     C             ENDDO                            
0012.01     C   W#USER     DSPLY                            
0013.00     ***                                          
0014.00     C             EVAL     *INLR = *ON                
0015.00     C             RETURN                          
0016.00 **********                                        
0017.00 **CTDATA MONTHS                                      
0018.00 JAN.FEB.MAR.APR.                                    
0019.00 MAY.JUN.JUL.AUG.                                    
0020.00 SEP.OCT.NOV.DEC.                                    
    ****************** End of data ****************************************

感觉上很不舒服,有没有什么办法自动按顺序排列行号呢?

答案是肯定的,在退出程式编辑状态时(按F3),将选项“Resequence member”的缺省选择由“N”改为“Y”,然后保存程式。

缺省的界面:

                        Exit                          
                                                   
Type choices, press Enter.                                  
                                                   
  Change/create member . . . . . . .   N         Y=Yes, N=No          
  Member . . . . . . . . . . . . .   ARYDEMO2   Name, F4 for list      
  File . . . . . . . . . . . . . .   QRPGLESRC   Name, F4 for list      
    Library . . . . . . . . . . . .   DX001LIB   Name              
  Text . . . . . . . . . . . . . .                            
                                                   
  Resequence member . . . . . . . .   N         Y=Yes, N=No          
    Start . . . . . . . . . . . . .   0001.00     0000.01-9999.99      
    Increment . . . . . . . . . . .   01.00     00.01-99.99          
                                                   
  Print member . . . . . . . . . . .   N         Y=Yes, N=No          
                                                   
  Return to editing . . . . . . . . .   N         Y=Yes, N=No          
                                                   
  Go to member list . . . . . . . . .   N         Y=Yes, N=No          
                                                   
                                                   
                                                   
F3=Exit   F4=Prompt   F5=Refresh   F12=Cancel   F18=DBCS conversion        
Have you tried the modern alternative to SEU? Press F1 for more details.          

修改后的界面:

                        Exit                          
                                                   
Type choices, press Enter.                                  
                                                   
  Change/create member . . . . . . .   N         Y=Yes, N=No          
  Member . . . . . . . . . . . . .   ARYDEMO2   Name, F4 for list      
  File . . . . . . . . . . . . . .   QRPGLESRC   Name, F4 for list      
    Library . . . . . . . . . . . .   DX001LIB   Name              
  Text . . . . . . . . . . . . . .                            
                                                   
  Resequence member . . . . . . . .   Y         Y=Yes, N=No          
    Start . . . . . . . . . . . . .   0001.00     0000.01-9999.99      
    Increment . . . . . . . . . . .   01.00     00.01-99.99          
                                                   
  Print member . . . . . . . . . . .   N         Y=Yes, N=No          
                                                   
  Return to editing . . . . . . . . .   N         Y=Yes, N=No          
                                                   
  Go to member list . . . . . . . . .   N         Y=Yes, N=No          
                                                   
                                                   
                                                   
F3=Exit   F4=Prompt   F5=Refresh   F12=Cancel   F18=DBCS conversion        
Have you tried the modern alternative to SEU? Press F1 for more details.          

再次打开程式后,您就会看到行号已经重新自动排列了。

FMT H .....HKeywords+++++++++++++++++++++++++++++++++++++++++++++++++++++++++
    *************** Beginning of data *************************************
0001.00   H*****************************************************************
0002.00     H** ARRAY EXAMPLE                                 *
0003.00     H* ARRAY MONTHS IS COMPILE-TIME ARRAY,                 *
0004.00     H* WITH 4 ELEMENTS PER RECORD                       *
0005.00     H*****************************************************************
0006.00     C** IT CONTAINS 12 ELEMENTS, EACH 4 CHARACTERS LONG          
0007.00     C**                                          
0008.00     DMONTHS       S         4   DIM(12) CTDATA PERRCD(4)    
0009.00     DCOUNT         S         2 0 INZ                  
0010.00     **                                          
0011.00     **                                          
0012.00     C             DOU     COUNT=12                    
0013.00     C             EVAL     COUNT = COUNT + 1              
0014.00     C   MONTHS(COUNT) DSPLY                            
0015.00     C             ENDDO                            
0016.00     C   W#USER     DSPLY                            
0017.00     ***                                          
0018.00     C             EVAL     *INLR = *ON                  
0019.00     C             RETURN                            
0020.00 **********                                          
0021.00 **CTDATA MONTHS                                      
0022.00 JAN.FEB.MAR.APR.                                      
0023.00 MAY.JUN.JUL.AUG.                                      
0024.00 SEP.OCT.NOV.DEC.                                      
    ****************** End of data ****************************************
 


标签:科技  电子  网络  

最新文章

热门文章

推荐文章

合作伙伴

外包 薪酬管理 薪酬制度 劳务派遣