home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Media Share 9
/
MEDIASHARE_09.ISO
/
clarion
/
tkmengen.zip
/
MAINMENU.CLA
< prev
next >
Wrap
Text File
|
1990-03-23
|
8KB
|
231 lines
!=========================================== PULLDOWN MENU ======
MEMBER('MAKEMENU')
MAINMENU PROCEDURE
!================= Screen for MainMenu
MAINMENU SCREEN WINDOW(25,80),AT(1,1),PRE(MAI),HUE(15,1)
ROW(1,1) PAINT(3,80),HUE(0,3)
ROW(9,17) STRING('╔═{35}╗')
ROW(10,17) REPEAT(6);STRING('║<0{35}>║') .
ROW(16,17) STRING('╚═{35}╝')
ROW(10,21) STRING('SAA Menu Maker')
ROW(11,21) STRING('ORIGINAL DESIGN By Foo Say How')
ROW(12,21) STRING('Based on Tony Kirk''s Menus')
ROW(13,21) STRING('Modified by David R Silver')
ROW(14,21) STRING('To use Tony Kirk''s New Format')
ROW(15,21) STRING('April 4,1990')
SCRTITLE ROW(1,1) STRING(80)
ROW(2,1) MENU(@S80),USE(S80MAINCH),HUE(14,4),SEL(14,4),IMM
ROW(3,2) STRING(' Design '),SEL(15,4) |
DESC(' Design Pulldown Menu ')
COL(12) STRING(' Build '),SEL(15,4) |
DESC(' Build Pulldown Menu ')
COL(21) STRING(' Print '),SEL(15,4) |
DESC(' Print Pulldown Menu ')
COL(30) STRING(' Quit '),SEL(15,4),DESC(' Quit to DOS ')
. .
!==================== Screen for Design =====
DesignMenu SCREEN WINDOW(06,80),AT(2,1),TRN
ROW(06,04) PAINT(1,08),HUE(7,0),TRN
ROW(3,12) PAINT(4 ,2),HUE(7,0),TRN
ROW(2,02) STRING('│ {08}│'),HUE(0,3)
ROW(3,02) STRING('├─{08}┤'),HUE(0,3)
ROW(4,02) REPEAT(01),EVERY(1);STRING('│ {08}│'),HUE(0,3) .
ROW(05,02) STRING('└─{08}┘'),HUE(0,3)
ROW(2,03) STRING(' Design '),HUE(15,4)
ROW(1,1) MENU(@S80),USE(s80DesiCh),HUE(14,1),SEL(14,1),IMM
ROW(04,03) STRING(' Design '), HUE(0,3), SEL(15,4) |
DESC(' Design Pulldown Menu ')
END
END
!==================== Screen for Build =====
BuildMenu SCREEN WINDOW(06,80),AT(2,1),TRN
ROW(06,14) PAINT(1,07),HUE(7,0),TRN
ROW(3,21) PAINT(4 ,2),HUE(7,0),TRN
ROW(2,12) STRING('│ {07}│'),HUE(0,3)
ROW(3,12) STRING('├─{07}┤'),HUE(0,3)
ROW(4,12) REPEAT(01),EVERY(1);STRING('│ {07}│'),HUE(0,3) .
ROW(05,12) STRING('└─{07}┘'),HUE(0,3)
ROW(2,13) STRING(' Build '),HUE(15,4)
ROW(1,1) MENU(@S80),USE(s80BuilCh),HUE(14,1),SEL(14,1),IMM
ROW(04,13) STRING(' Build '), HUE(0,3), SEL(15,4) |
DESC(' Build Pulldown Menu ')
END
END
!==================== Screen for Print =====
PrintMenu SCREEN WINDOW(06,80),AT(2,1),TRN
ROW(06,23) PAINT(1,07),HUE(7,0),TRN
ROW(3,30) PAINT(4 ,2),HUE(7,0),TRN
ROW(2,21) STRING('│ {07}│'),HUE(0,3)
ROW(3,21) STRING('├─{07}┤'),HUE(0,3)
ROW(4,21) REPEAT(01),EVERY(1);STRING('│ {07}│'),HUE(0,3) .
ROW(05,21) STRING('└─{07}┘'),HUE(0,3)
ROW(2,22) STRING(' Print '),HUE(15,4)
ROW(1,1) MENU(@S80),USE(s80PrinCh),HUE(14,1),SEL(14,1),IMM
ROW(04,22) STRING(' Print '), HUE(0,3), SEL(15,4) |
DESC(' Print Pulldown Menu Details ')
END
END
!==================== Screen for Quit =====
QuitMenu SCREEN WINDOW(06,80),AT(2,1),TRN
ROW(06,32) PAINT(1,06),HUE(7,0),TRN
ROW(3,38) PAINT(4 ,2),HUE(7,0),TRN
ROW(2,30) STRING('│ {06}│'),HUE(0,3)
ROW(3,30) STRING('├─{06}┤'),HUE(0,3)
ROW(4,30) REPEAT(01),EVERY(1);STRING('│ {06}│'),HUE(0,3) .
ROW(05,30) STRING('└─{06}┘'),HUE(0,3)
ROW(2,31) STRING(' Quit '),HUE(15,4)
ROW(1,1) MENU(@S80),USE(s80QuitCh),HUE(14,1),SEL(14,1),IMM
ROW(04,31) STRING(' Quit '), HUE(0,3), SEL(15,4) |
DESC(' Quit to DOS ')
END
END
s80SaveCh STRING(80)
s80DesiCh STRING(80)
s80BuilCh STRING(80)
s80PrinCh STRING(80)
s80QuitCh STRING(80)
s80LastCh STRING(80) ! Main menu choice for save
s80MainCh STRING(80) ! Current choice string
s25Date STRING(25)
ibSaveCh BYTE
MenuRight BYTE ! eTrue if right arrow pressed
MenuLeft BYTE ! eTrue if left arrow pressed
PullDown BYTE ! Which choice made by arrow
Quit BYTE ! Flag to halt program
!==================== Code for MainMenu =====
CODE
OPEN(MainMenu) ! Display Main Menu
s25Date = CLIP(FORMAT(TODAY(),@D4))
MAI:SCRTITLE=' Systran (S) Pte Ltd {34}'&RIGHT(S25DATE,25)&' '
ALERT ! Clear alerts
s80LastCh = '' ! Init main menu choice
LOOP ! Begin accept loop
ALERT(Esc_Key) ! Alert Esc Key
s80MainCh = s80LastCh ! Set to last menu selection
ACCEPT ! Get keyboard input
IF KEYCODE() = Esc_Key ! If Esc Key
PullDown = 04 ! Set choice to maximum (quit)
GOTO PullLoop ! Goto pull down section
END ! End Esc Key test
IF KEYCODE() <> Enter_Key
CYCLE
END
s80LastCh = s80MainCh ! Save menu choice string
PullDown = CHOICE() ! Make choice = choice()
PullLoop ! Just a GOTO Tag
DO SubMenu ! Do Sub Routine
IF Quit ! If Quit selected
CLOSE(MainMenu) ! Close main menu
RETURN ! Get outta here
END ! End IF quit test
IF NOT MenuLeft AND NOT MenuRight ! If not to move left/right
CYCLE ! Back to main menu
END ! End left/right test
IF MenuLeft ! If left pressed
PullDown -= 1 ! Decrement menu choice
IF PullDown = 0 ! If now below range
PullDown = 04 ! Set to 5
END ! End if zero test
ELSE ! Otherwise, must be right
PullDown += 1 ! Increment menu choice
IF PullDown = 05 ! If 6 (above # of items)
PullDown = 1 ! Set to 1
END ! End if 6 test
END ! End left/right test
MenuLeft = eFalse ! Re-init left flag
MenuRight= eFalse ! Re-init right flag
GOTO PullLoop ! Loop to menu selections
END ! End LOOP
RETURN !EXIT TO DOS
!======================= ROUTINE SubMenu =====
SubMenu ROUTINE
EXECUTE PullDown ! Test CHOICE()
OPEN(DesignMenu)
OPEN(BuildMenu)
OPEN(PrintMenu)
OPEN(QuitMenu)
END ! End LOOP
ALERT
s80SaveCh = ''
LOOP ! Begin accept loop
ALERT(Left_key)
ALERT(Right_Key)
ALERT(Esc_Key)
IF s80SaveCh <> ''
EXECUTE PullDown ! Test CHOICE()
s80DesiCh = s80SaveCh ! Set to last menu selection
s80BuilCh = s80SaveCh ! Set to last menu selection
s80PrinCh = s80SaveCh ! Set to last menu selection
s80QuitCh = s80SaveCh ! Set to last menu selection
END
END
ACCEPT
If CHOICE() <> 0
ibSaveCh = Choice()
END
IF KEYCODE() = Esc_Key ! If ESC, quit to main menu
EXECUTE PullDown ! Test CHOICE()
s80LastCh = ' Design '
s80LastCh = ' Build '
s80LastCh = ' Print '
s80LastCh = ' Quit '
END
BREAK
END
IF KEYCODE() = Left_key ! If left arrow
MenuLeft = eTrue ! Set on Left flag
BREAK ! Return to main menu
END ! End if left arrow test
IF KEYCODE() = Right_Key ! If right arrow
MenuRight = eTrue ! Set on Right flag
BREAK ! Return to main menu
END ! End if right arrow test
CASE PULLDOWN
OF 01
s80SaveCh = s80QuitCh ! Save menu choice
EXECUTE ibSaveCh ! Test CHOICE()
Design
END ! End EXECUTE
OF 02
s80SaveCh = s80QuitCh ! Save menu choice
EXECUTE ibSaveCh ! Test CHOICE()
Building
END ! End EXECUTE
OF 03
s80SaveCh = s80QuitCh ! Save menu choice
EXECUTE ibSaveCh ! Test CHOICE()
PRINTING
END ! End EXECUTE
OF 04
Quit = eTrue
BREAK
END ! End Case
END ! End LOOP
ALERT
EXECUTE PullDown ! Test CHOICE()
CLOSE(DesignMenu)
CLOSE(BuildMenu)
CLOSE(PrintMenu)
CLOSE(QuitMenu)
END ! End Execute