Problem solve Get help with specific problems with your technologies, process and projects.

Emphasizing source code

Did you ever have some particular comment or section of code that you would like to have stand out so that when the next person comes along he would be sure to see it? Maybe it's instructions to compile a program or display file in a certain way or to note that someone should be notified if a certain piece of logic changes. Maybe you have a specific way that a certain program needs to be implemented whenever it's changed. Wouldn't it be nice to be able to highlight, reverse image, draw boxes, change the color of the source code, etc. for the source code you want to emphasize? Although it's not provided in SEU, you can do this by inserting the proper hexadecimal code(s) into your source file.

I've found that the hex values to add emphasis begin at about hex 22 and end somewhere before hex 40. I find it easier to create a master source member with the desired emphasis and then copy those lines into the programs where I want to emphasize the source code. The sample program will demonstrate a couple ways to emphasize source as well as use them in combination to draw a box. If you have access to a dumb terminal that allows entry of hex characters, you can skip the sample program and enter the hex codes directly into your source member. While the highlighting codes are not visible in the edited source, their value must remain in the source code and be displayed in the viewable part of the screen for them to have their desired effect.

Here is a short list of hex values that you may find more interesting than others:
21 - Reverse Image
22 � Highlight
23 � Highlight and Reverse Image
24 � Underline
28 - Color Red

Program source � BLDSRC � Builds a source member with sample highlighting

FOUTFIL1 O   F      92            DISK                      
IOUTREC      DS                                             
I                                       13  13 FLD1         
I                                       15  15 FLD2         
I                                       20  31 TEXT1        
I                                       81  81 FLD3         
I                                       83  83 FLD4         
I                                        1  92 SRC          
I              'SAMPLE TEXT'         C         TEXT         
C                     CLEARSRC                              
C                     MOVELTEXT      TEXT1                  
C                     MOVELX'21'     FLD1             RI    
C                     WRITEOUTFIL1   OUTREC                 
C                     MOVELX'22'     FLD1             HI    
C                     WRITEOUTFIL1   OUTREC                 
C                     MOVELX'23'     FLD1             HI RI 
C                     WRITEOUTFIL1   OUTREC              
C                     MOVELX'24'     FLD1             UL 
C                     WRITEOUTFIL1   OUTREC              
C                     MOVELX'28'     FLD1             RED
C                     WRITEOUTFIL1   OUTREC              
C* DRAW BOX                                              
C                     Z-ADD0         COUNT   10          
C           COUNT     DOUEQ3                             
C                     ADD  1         COUNT               
C                     CLEARSRC                           
C                     MOVELX'23'     FLD1                
C                     MOVELX'22'     FLD4                
C           COUNT     IFEQ 2                             
C                     MOVELX'22'     FLD2                
C                     MOVELX'23'     FLD3                
C                     END                                
C                     WRITEOUTFIL1   OUTREC
C                     END                          
C                     SETON                     LR

Commands to run


Granatir is vice president of Technical Services for Interlink Technologies in Maumee, Ohio, and he has 17 years experience working primarily on the IBM midrange platforms.

Dig Deeper on RPG iSeries programming

Start the conversation

Send me notifications when other members comment.

Please create a username to comment.