home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
CP/M
/
CPM_CDROM.iso
/
mbug
/
mbug104.arc
/
MENU.LBR
/
MENU.CMD
< prev
next >
Wrap
OS/2 REXX Batch file
|
1979-12-31
|
4KB
|
132 lines
*
* menu.cmd
*
* Glenn Story - 6/9/83
*
* This command will present menus on the screen
*
* It uses the menu data base
*
use menu index menu
set talk off
set intensity off
store 'MAIN ' to cur:name
*
* The following loop is executed once for each menu screen
*
do while 1=1
erase
store cur:name+'00' to search:key
find &search:key
if #=0
? "Invalid menu name"
? cur:name
wait
store "MAIN " to cur:name
loop
endif
store trim (desc) to tdescr
store len (tdescr) to x
store x/2 to x
store 40-x to x
@ 2,70 say cur:name
@ 3,x say desc
*
* the following loop is executed once for each menu item
*
skip
store 5 to line
do while (menu:name = cur:name) .and. (.not. eof)
if .not. *
@ line, 2 say seq
@ line, 5 say desc
store line + 1 to line
endif
skip
enddo
*
store '??' to cur:seq
@ line+1, 0 say 'Enter your choice ->' get cur:seq
read
if cur:seq = 'GO' .or. cur:seq = 'go'
erase
store ' ' to cur:name
@ 2,10 say "Enter menu name " get cur:name
read
store !(cur:name) to cur:name
loop
endif
store cur:name+cur:seq to search:key
find &search:key
if (*) .or. (#=0)
loop
endif
*
do case
case type='M'
store id to cur:name
loop
case type='B'
do bootscrn
quit to 'boot'
case type='E'
store "'"+id+"'" to xid
quit to &xid,'dbase redo'
case type='Q'
quit
case type='X'
set talk on
set intensity on
erase
use
return
case type='C'
store id to xid
use
do &xid
use menu index menu
set talk off
set intensity off
loop
case type='D'
do datascrn
use
wait
quit to 'dbase redo'
case type='I'
store id to xid
quit to 'mbasic &xid','dbase redo'
case type='A'
store id to maint:cmd
use
do maint
use menu index menu
set talk off
set intensity off
loop
endcase
enddo
(#=0)
loop
endif
*
do case
case type='M'
store id to cur:name
loop
case type='B'
do bootscrn
quit to 'boot'
case type='E'
store "'"+id+"'" to xid
quit to &xid,'dbase redo'
case type='Q'
quit
case type='X'
set talk on
set intensity on
erase
use
return
case type='C'
store