5 CLS:KEY OFF:SCREEN 0,0,0:WIDTH 80:CLEAR:FOR I=1 TO 10:KEY I,"":NEXT:KEY 2,"GOTO 60"+CHR$(13):KEY 10,"RUN"+CHR$(34)+"BLUEMENU"+CHR$(34)+CHR$(13):LIST 12-57 12 '***************** THIS IS A SIX NESTING BOX DISPLAY *********************** 16 '?????????????????????????????????????????????????????????????????????????? 18 '? FOUR-CORNER COORDINATE BOX ROUTINE ? 20 '? ? 22 '? This is another program showing the techniques for programming a ? 24 '? series of screen boxes. You may use any of the subroutines alone to ? 25 '? place a box anywhere on the screen. Note that INITIALIZATION statement ? 26 '? establishes the four corner coordinates for the box. You can easily ? 28 '? put a box where you wish by the simple and FAST insertion of only four ? 30 '? numbers. The technique for programming the SOFT keys for a particular ? 32 '? qualified response is also demonstrated. This uses the INKEY$ function ? 34 '? to to examine the character returned. All other returns (except that ? 36 '? from the key which would normally return the CHR$ character specified) ? 38 '? will be rejected by a tone and a return to the orininal prompt. ? 40 '? ** (c) G I N A C O 1983 ** Ver 5.2/160/320 ? 50 '?????????????????????????????????????????????????????????????????????????? 55 ' ***** < F2 > to RUN ******* < F10 > For BLUEMENU ***** 57 ' ====== To avoid DOCUMENTATION BOX each time, REM or DELETE line 5 ====== 60 CLS:SCREEN 0,0,0:WIDTH 80:CLEAR 100 REM ===== BOX PRINTOUT ===== 110 CLS 120 FOR I! = 1 TO 10 130 KEY I!,"" 140 NEXT 150 GOSUB 300 160 REM ===== TERMINATION AND KEY CALL ===== 170 KEY 6, CHR$(64) 180 KEY 2, CHR$(60) 190 LOCATE 12,25 200 PRINT "- AGAIN - QUIT" 210 LOCATE 13,32 220 PRINT "SIX BOXES IN COLOR" 230 LOCATE 25,40,0 240 IN$ = INKEY$ 250 IF IN$ = "" THEN 240 260 IF IN$ = CHR$(60) THEN 110 270 IF IN$ = CHR$(64) THEN CLS : END 280 SOUND 400,4 290 GOTO 240 300 REM ====== INITIALIZATION: CORNER COORDINATES ===== 310 TLC$ = CHR$(201) 320 TRC$ = CHR$(187) 330 HL$ = CHR$(205) 340 BLC$ = CHR$(200) 350 BRC$ = CHR$(188) 360 VL$ = CHR$(186) 370 FOR I! = 1 TO 10 380 KEY I!,"" 390 NEXT 400 REM ====== PRINT BOX 1 ===== 410 WW! = 76 420 TL! = 1 430 LL! = 24 440 LC! = 2 450 COLOR 2,0 460 LOCATE TL!,LC!,0 470 PRINT TLC$; STRING$(WW!,HL$);TRC$; 480 FOR I! = (TL! + 1) TO (LL! - 1) 490 LOCATE I!,LC!,0 500 PRINT VL$; 510 LOCATE I!, (LC! + WW! + 1),0 520 PRINT VL$; 530 NEXT 540 LOCATE LL!,LC!,0 550 PRINT BLC$; STRING$(WW!,HL$);BRC$; 560 REM ====== PRINT BOX 2 ===== 570 WW! = 68 580 TL! = 3 590 LL! = 22 600 LC! = 6 610 COLOR 3,0 620 LOCATE TL!,LC!,0 630 PRINT TLC$; STRING$(WW!,HL$);TRC$; 640 FOR I! = (TL! + 1) TO (LL! - 1) 650 LOCATE I!,LC!,0 660 PRINT VL$; 670 LOCATE I!, (LC! + WW! + 1),0 680 PRINT VL$; 690 NEXT 700 LOCATE LL!,LC!,0 710 PRINT BLC$; STRING$(WW!,HL$);BRC$; 720 REM ====== PRINT BOX 3 ===== 730 WW! = 60 740 TL! = 5 750 LL! = 20 760 LC! = 10 770 COLOR 4,0 780 LOCATE TL!,LC!,0 790 PRINT TLC$; STRING$(WW!,HL$);TRC$; 800 FOR I! = (TL! + 1) TO (LL! - 1) 810 LOCATE I!,LC!,0 820 PRINT VL$; 830 LOCATE I!, (LC! + WW! + 1),0 840 PRINT VL$; 850 NEXT 860 LOCATE LL!,LC!,0 870 PRINT BLC$; STRING$(WW!,HL$);BRC$; 880 REM ====== PRINT BOX 4 ===== 890 WW! = 52 900 TL! = 7 910 LL! = 18 920 LC! = 14 930 COLOR 5,0 940 LOCATE TL!,LC!,0 950 PRINT TLC$; STRING$(WW!,HL$);TRC$; 960 FOR I! = (TL! + 1) TO (LL! - 1) 970 LOCATE I!,LC!,0 980 PRINT VL$; 990 LOCATE I!, (LC! + WW! + 1),0 1000 PRINT VL$; 1010 NEXT 1020 LOCATE LL!,LC!,0 1030 PRINT BLC$; STRING$(WW!,HL$);BRC$; 1040 REM ====== PRINT BOX 5 ===== 1050 WW! = 44 1060 TL! = 9 1070 LL! = 16 1080 LC! = 18 1090 COLOR 6,0 1100 LOCATE TL!,LC!,0 1110 PRINT TLC$; STRING$(WW!,HL$);TRC$; 1120 FOR I! = (TL! + 1) TO (LL! - 1) 1130 LOCATE I!,LC!,0 1140 PRINT VL$; 1150 LOCATE I!, (LC! + WW! + 1),0 1160 PRINT VL$; 1170 NEXT 1180 LOCATE LL!,LC!,0 1190 PRINT BLC$; STRING$(WW!,HL$);BRC$; 1200 REM ====== PRINT BOX 6 ===== 1210 WW! = 36 1220 TL! = 11 1230 LL! = 14 1240 LC! = 22 1250 COLOR 7,0 1260 LOCATE TL!,LC!,0 1270 PRINT TLC$; STRING$(WW!,HL$);TRC$; 1280 FOR I! = (TL! + 1) TO (LL! - 1) 1290 LOCATE I!,LC!,0 1300 PRINT VL$; 1310 LOCATE I!, (LC! + WW! + 1),0 1320 PRINT VL$; 1330 NEXT 1340 LOCATE LL!,LC!,0 1350 PRINT BLC$; STRING$(WW!,HL$);BRC$; 1360 COLOR 7,0 1370 RETURN 65000 REM ===== SAVE ROUTINE ===== 65100 SAVE"B:SIXBOXES.BAS"