星期四, 11月 02, 2023

2002-11-25 如何於 AS/400(iSeries) SEU 中的 comment line 加上顏色 ?


如何於 AS/400(iSeries) SEU 中的 comment line 加上顏色 ?

要於 AS/400(iSeries) SEU 中的 comment line 加上顏色, 可以利用 Client Access 的鍵盤設定鍵盤組合(可以從 http://www.geocities.com/vengoal/
中的 每週小錦囊 中取得), 但若連線程式不是 Client Access 時要如何做呢?系統提
供一個 exit point QIBM_QSU_LCMD 聯結處理程式即可達到 comment line 上色的目的.處理程式如下,但只限於 RPG 及 RPGLE 有效:

編譯完成後執行下述指令:

ADDEXITPGM EXITPNT(QIBM_QSU_LCMD) FORMAT(EXTP0100) PGMNBR(*LOW)
PGM(yourlib/SEUCOLOR)                                                  
SignOff 後, 從新SignOn 進入 SEU 編輯 RPG 或 RPGLE source, 將游標移至編輯區(游標要在程式碼編輯區), 
按 F7 或 F8,就可以變色了.


File  : QRPGLESRC
Member: SEUSOLOR
Type  : RPGLE
Usage : CRTBNDRPG yourlib/SEUCOLOR
Version: V3


      *
      * Header information
      *
     D HeaderInfo      DS                  BASED(Parm1)
     D  RecLength              1      4B 0
     D  CursorRRN              5      8B 0
     D  CursorPos              9     12B 0
     D  CCSID                 13     16B 0
     D  Records               17     20B 0
     D  MemberName            21     30
     D  FileName              31     40
     D  LibraryName           41     50
     D  MemberType            51     60
     D  CmdKey                61     61
     D  Mode                  62     62
     D  SplitSess             63     63
     D  Res                   64     64
      *
      * Return Codes
      *
     DReturnInfo       DS                  BASED(Parm2)
     D RetCode                 1      1
     D Res2                    2      4
     D OutRecs                 5      8B 0
     D InsertSequence          9     15
     D Res3                   16     37
      *
      * Line Command and Text
      *
     D LinInfomation   DS                  BASED(Parm3)
     D  Command1               1      7
     D  Return1                8     20
     D  Text1                 21    100
     D  Command2             101    107
     D  Reutrn2              108    120
     D  Text2                121    200
      *
      * Entry Parameters declarations
      *
     D Parm1           S               *
     D Parm2           S               *
     D Parm3           S               *
      *
     C     *Entry        Plist
     C                   Parm                    Parm1
     C                   Parm                    Parm2
     C                   Parm                    Parm3
      *
     C                   Exsr      DoProcess
     C                   Seton                                        LrRt
      **********************************************************************
     C     DoProcess     BEGSR
      *    ===================
     C                   Select
      *
      * When F7 is used
      *
     C                   When      CmdKey='7' and CurSorPos<>0
      * Get Line1 Text and change color to White
     C                   Eval      %Subst(Text1:6:2)=X'22'+'*'
      * Show that data was changed
     C                   Exsr      #UpInf
      *
      * When F8 is used
      *
     C                   When      Cmdkey='8' and CursorPos<>0
      * Change Color to Blue
     C                   Eval      %Subst(Text1:6:2)=X'3a'+'*'
      * Show that data was changed
     C                   Exsr      #UpInf
     C                   EndSl
      *
     C                   EndSr
      *=====================================================================
      * Return codes set to update
      *=====================================================================
     C     #UpInf        BegSr
      *    ===================
     C                   Eval      OutRecs=1
     C                   Eval      Retcode='0'
     C                   EndSr




沒有留言: