ibmi-brunch-learn

Announcement

Collapse
No announcement yet.

Menu Bar and pull down subfiles

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • Menu Bar and pull down subfiles

    Hi All,

    Can some body please give me an example code for menu bar and pull down subfiles.
    I was finding about this thing because i've never done that before. That would be easy if i had a sample code to go through.

    Thanks for all ur help

  • #2
    Re: Menu Bar and pull down subfiles

    found this out on the web
    looks to be written in the late 1800's

    PHP Code:
            *=============================================================== 
            * 
    To compile
            * 
            *      
    CRTRPGPGM  PGM(XXX/GUI004RGSRCFILE(XXX/QRPGSRC
            * 
            *=============================================================== 
            *. 
    ...+... ...+... ...+... ...+... ...+... ...+... 
           FGUI004DFCF  E                    WORKSTN 
           I              
    'Enable WRKACTJOB in -C         ENATXT 
           I              '
    User menu
           I              '
    Disable WRKACTJOB -  C         DISTXT 
           I              
    'in User menu' 
           
    C
           
    C           *ON       DOWEQ*ON 
           C                     EXSR MNUBAR 
           C                     ENDDO 
           C

           
    C***************************************************** 
           
    C*  Initialize programset choices in menu formats 
           C
    ***************************************************** 
           
    C
           
    C           *INZSR    BEGSR 
           C                     Z
    -ADD2         CTL92            *Disable Reset 
           C                     WRITEMENU                       
    *Initialize fmt 
           C

           
    C                     MOVEL*OFF      *IN31            *Disable WRKACT 
           C                     WRITEUSER                       
    *Initialize fmt 
           C

           
    C                     MOVELENATXT    OPTNTX           *Set OPTN text 
           C                     WRITEOPTN                       
    *Initialize fmt 
           C                     ENDSR 
           C

           
    C***************************************************** 
           
    C*  Display/process menu bar 
           C
    ***************************************************** 
           
    C
           
    C           MNUBAR    BEGSR 
           C                     EXFMTMENUBAR 
           C                     SELEC 
           C

           
    C***************************************************** 
           
    C*  Process Valid Command Key across all menus 
           C
    ***************************************************** 
           
    C
           
    C           *IN91     WHEQ *ON                        *VLDCMDKEY 
           C                     EXSR CMDKEY 
           C

           
    C***************************************************** 
           
    C*  Process MENU format must read for MLTCHCFLD 
           C
    ***************************************************** 
           
    C
           
    C           MNUFLD    WHEQ 1                          *MENU format 
           C                     READ MENU                   9999
    *99 ERR/EOF 
           C

           
    C           CTL99     IFEQ 1                          *EXIT 
           
    C                     MOVEL*ON       *INLR 
           C                     RETRN 
           C                     
    ENDIF 
           
    C
           
    C                     SELEC 
           C           CTL91     WHEQ 1                          
    *Enable all 
           C                     Z
    -ADD1         CTL01            *Selected 
           C                     Z
    -ADD1         CTL02            *Selected 
           C                     Z
    -ADD2         CTL91            *Unavailable 
           C

           
    C           CTL92     WHEQ 1                          *Reset all 
           C           MSEL      OREQ 0                          
    *No selections 
           C                     Z
    -ADD0         CTL01            *Available 
           C                     Z
    -ADD0         CTL02            *Available 
           C                     Z
    -ADD0         CTL91            *Available 
           C                     Z
    -ADD2         CTL92            *Unavailable 
           C                     ENDSL 
           C

           
    C                     SETOF                     2223  *Do not display 
           C

           
    C           CTL01     IFEQ 1                          *USER menu 
           C                     SETON                     22    
    *Display 
           C                     Z
    -ADD0         CTL92            *Enable Reset 
           C                     
    ENDIF 
           
    C
           
    C           CTL02     IFEQ 1                          *OPTN menu 
           C                     SETON                     23    
    *Display 
           C                     Z
    -ADD0         CTL92            *Enable Reset 
           C                     
    ENDIF 
           
    C
           
    C                     WRITEMENU                       *Update menu 
           C

           
    C***************************************************** 
           
    C*  Process USER menu 
           C
    ***************************************************** 
           
    C
           
    C           MNUFLD    WHEQ 2                          *USER menu 
           C

           
    C***************************************************** 
           
    C*  Process OPTN menu 
           C
    ***************************************************** 
           
    C
           
    C           MNUFLD    WHEQ 3                          *OPTN menu 
           C                     SELEC 
           C           OPTION    WHEQ 1                          
    *Selected Opt 1 
           C                     EXSR SETOPT 
           C                     ENDSL 
           C

           
    C***************************************************** 
           
    C*  Process EXIT menu 
           C
    ***************************************************** 
           
    C
           
    C           EXITRF    WHEQ 99                         *EXIT menu 
           C                     MOVEL
    *ON       *INLR 
           C                     RETRN 
           C                     ENDSL 
           C

           
    C                     ENDSR 
           C

           
    C***************************************************** 
           
    C*  Process valid command keys 
           C
    ***************************************************** 
           
    C
           
    C           CMDKEY    BEGSR 
           C           
    *INKK     IFEQ *ON                        *CF11 
           C                     EXSR SETOPT 
           C                     
    ENDIF 
           
    C                     ENDSR 
           C

           
    C***************************************************** 
           
    C*  Set options for USER and OPTN menu 
           C
    ***************************************************** 
           
    C
           
    C           SETOPT    BEGSR 
           C                     CLEAROPTNTX                     
    *OPTN text 
           C

           
    C           *IN31     IFEQ *OFF                       *WRKACT disabld 
           C                     MOVEL
    *ON       *IN31            *Enable WRKACT 
           C                     MOVELDISTXT    OPTNTX           
    *Set text 
           C                     
    ELSE                            *WRKACT enabled 
           C                     MOVEL
    *OFF      *IN31            *Disable WRKACT 
           C                     MOVELENATXT    OPTNTX           
    *Set text 
           C                     
    ENDIF 
           
    C
           
    C                     WRITEUSER                       *Update menu 
           C                     WRITEOPTN                       
    *Update menu 
           C

           
    C                     ENDSR 
            
    *. ...+... ...+... ...+... ...+... ...+... ...+... 
    PHP Code:
           A*=============================================================== 
           
    ATo compile
           
    A
           
    A*      CRTDSPF    FILE(XXX/GUI004DFSRCFILE(XXX/QDDSSRC
           
    A
           
    A*=============================================================== 
           
    A                                      CA11 
           A                                      WDWBORDER
    ((*CHAR '   ||---')) 
           
    A                                      VLDCMDKEY(91 'VLDCMDKEY'
           
    A**************************************************************** 
           
    A*  Record format ASSUME define ASSUME keyword for file 
           A
    **************************************************************** 
           
    A          R ASSUME                    TEXT('ASSUME record'
           
    A                                      ASSUME 
           A                                  1  2
    ' ' 
           
    A**************************************************************** 
           
    A*  Record format MENUBAR Menu bar definition 
           A
    **************************************************************** 
           
    A          R MENUBAR                   TEXT('Menu Bar record'
           
    A                                      INDTXT(22 'Enable USER format'
           
    A                                      INDTXT(23 'Enable OPTN format'
           
    A                                      OVERLAY 
           A                                      MNUBAR 
           A                                      MNUBARDSP
    (&OPTION
           
    A            MNUFLD         2Y 0B  1  2TEXT('Menu choice field'
           
    A                                      MNUBARSEP((*DSPATR UL)   + 
           
    A                                                (*CHAR  ' ')) 
           
    A  22                                  MNUBARCHC2 USER '>User'
           
    A  23                                  MNUBARCHC3 OPTN '>Options'
           
    A                                      MNUBARCHC(99 EXIT 'E>xit!' &EXITRF
           
    A                                      MNUBARCHC1 MENU '>Menu'
           
    A            OPTION         2S 0H      TEXT('Selection in PULLDOWN'
           
    A            EXITRF         2Y 0H      TEXT('Return field from Exit'
           
    A**************************************************************** 
           
    A*  Record format MENU Menu pulldown 
           A
    **************************************************************** 
           
    A          R MENU                      TEXT('MENU pulldown'
           
    A                                      PULLDOWN 
           A            MSEL           2Y 0B  1  1TEXT
    ('MENU selection field'
           
    A                                      MLTCHCFLD 
           A                                      CHOICE
    '>User tasks'
           
    A                                      CHOICE'Set >Options'
           
    A                                      CHOICE(91 '>Enable all'
           
    A                                      CHOICE(92 '>Reset all'
           
    A                                      CHOICE(99 'E>xit'
           
    A                                      CHCCTL&CTL01
           
    A                                      CHCCTL&CTL02
           
    A                                      CHCCTL(91 &CTL91
           
    A                                      CHCCTL(92 &CTL92
           
    A                                      CHCCTL(99 &CTL99
           
    A            CTL01          1Y 0H      TEXT('CHCCTL for User tasks'
           
    A            CTL02          1Y 0H      TEXT('CHCCTL for Options'
           
    A            CTL91          1Y 0H      TEXT('CHCCTL for Enable all'
           
    A            CTL92          1Y 0H      TEXT('CHCCTL for Reset all'
           
    A            CTL99          1Y 0H      TEXT('CHCCTL for Exit'
           
    A**************************************************************** 
           
    A*  Record format USER User pulldown 
           A
    **************************************************************** 
           
    A          R USER                      TEXT('USER pulldown'
           
    A                                      PULLDOWN 
           A                                      INDTXT
    (31 'Condition WRKACTJOB'
           
    A            USESEL         2Y 0B  1  1TEXT('USER menu selection'
           
    A                                      SNGCHCFLD 
           A                                      CHOICE
    ('Work with >Job queues'
           
    A                                      CHOICE('Work with >Output queues'
           
    A  31                                  CHOICE('WRK>ACTJOB'
           
    A                                      CHOICE('WRK>SYSSTS' *SPACEB
           
    A                                      CHCCTL(&CTL04
           
    A            CTL04          1Y 0H      TEXT('CHCCTL for WRKSYSSTS'
           
    A**************************************************************** 
           
    A*  Record format OPTN Set Options pulldown 
           A
    **************************************************************** 
           
    A          R OPTN                      TEXT('OPTN pulldown'
           
    A                                      PULLDOWN 
           A            OPTSEL         2Y 0B  1  1TEXT
    ('OPTN menu selection'
           
    A                                      SNGCHCFLD 
           A                                      CHOICE
    (&OPTNTX
           
    A                                      CHCACCEL('F11'
           
    A            OPTNTX        35   P      TEXT('Option text field'
           
    A**************************************************************** 
           
    A*  Record format EXIT - Exit menu pulldown 
           A
    **************************************************************** 
           
    A          R EXIT                      TEXT('EXIT'
           
    A                                      PULLDOWN 
    All my answers were extracted from the "Big Dummy's Guide to the As400"
    and I take no responsibility for any of them.

    www.code400.com

    Comment


    • #3
      Re: Menu Bar and pull down subfiles

      Thanks a lot jamie

      Comment

      Working...
      X