|
|
|
|
MEMBER('ANT')
MBO PROCEDURE
SCREEN SCREEN PRE(SCR),WINDOW(6,32),AT(8,22),HUE(15,1)
ROW(2,10) PAINT(1,17),HUE(14,1)
ROW(1,1) STRING('+-{30}+')
ROW(2,1) REPEAT(4);STRING('│<0{30}>│') .
ROW(6,1) STRING('+-{30}+')
ROW(2,10)STRING('<143>iieo?aiea<0>aaiiuo')ENTRY,USE(?FIRST_FIELD)
ENTRY,USE(?PRE_MENU) MENU,USE(MENU_FIELD"),REQ
ROW(4,5) STRING('1. <143>ii <144>?inneeneie <148>Oaaa?aoee')
ROW(5,5) STRING('2. <143>ii ?aaeiio')
. .
EJECT
CODE
OPEN(SCREEN) !OPEN THE MENU SCREEN
SETCURSOR !TURN OFF ANY CURSOR
MENU_FIELD" = '' !START MENU WITH FIRST ITEM
LOOP !LOOP UNTIL USER EXITS
ALERT !TURN OFF ALL ALERTED KEYS
ALERT(REJECT_KEY) !ALERT SCREEN REJECT KEY
ALERT(ACCEPT_KEY) !ALERT SCREEN ACCEPT KEY
ACCEPT !READ A FIELD OR MENU CHOICE
IF KEYCODE() = REJECT_KEY THEN RETURN. !RETURN ON SCREEN REJECT
IF KEYCODE() = ACCEPT_KEY !ON SCREEN ACCEPT KEY
UPDATE ! MOVE ALL FIELDS FROM SCREEN
SELECT(?) ! START WITH CURRENT FIELD
SELECT ! EDIT ALL FIELDS
CYCLE ! GO TO TOP OF LOOP
. !
CASE FIELD() !JUMP TO FIELD EDIT ROUTINE
OF ?FIRST_FIELD !FROM THE FIRST FIELD
IF KEYCODE() = ESC_KEY THEN RETURN. ! RETURN ON ESC KEY
OF ?PRE_MENU !PRE MENU FIELD CONDITION
IF KEYCODE() = ESC_KEY ! BACKING UP?
SELECT(?-1) ! SELECT PREVIOUS FIELD
ELSE ! GOING FORWARD
SELECT(?+1) ! SELECT MENU FIELD
.
OF ?MENU_FIELD" !FROM THE MENU FIELD
EXECUTE CHOICE() ! CALL THE SELECTED PROCEDURE
MEN2 !
R !
. . .