DIM ch$(15) CLS : SCREEN 0, , 0, 0 COLOR 4: OPEN "I", 1, "bs.txt" WHILE NOT EOF(1): LINE INPUT #1, line$ PRINT line$: WEND: CLOSE : COLOR 7 LOCATE 13, 24: PRINT "Loading Flow Rate Sensor Software" LOCATE 14, 26: PRINT " Please wait...": LOCATE 16, 30: PRINT TIME$; " "; DATE$ LOCATE 18, 26: PRINT " (C)1995." LOCATE 19, 26: PRINT " By John Finney" LOCATE 20, 26: PRINT " Stephen Penney" LOCATE 21, 26: PRINT " Simon Graves" LOCATE 22, 26: PRINT " David Edgar" PCOPY 0, 1: SCREEN 0, , 1, 1 2 text$(0) = " SECURITY CHECK" text$(1) = " Enter Access Password in box" text$(2) = " below." p = 0: GOSUB 11000 test$ = "ype" IF reply$ <> test$ AND t < 5 THEN PLAY "L60a": t = t + 1: GOTO 2 IF reply$ <> test$ AND t = 5 THEN PLAY "l60a": SYSTEM IF reply$ = test$ THEN 3 GOTO 2 3 text$(1) = " PASSWORD CORRECT": text$(2) = "": p = 1: GOSUB 11000 REM ** INITIALISE SYSTEM ** 6 SCREEN 0, , 0, 0 REM ** Load up files routine goes here ** REM ** Until here.. ** SCREEN 0, , 1, 0 COLOR 1: CLS FOR a = 1 TO 25: FOR b = 1 TO 40: PRINT CHR$(206) + CHR$(206); : NEXT b: NEXT a: REM 249,250 10 LOCATE 1, 1: COLOR 7, 1: PRINT "Young Project Engineers- Beaumont School Ver 1.0 (C)JF" 20 ch$(0) = " MAIN MENU " ch$(1) = " Collect Data " ch$(2) = " Produce graphs " ch$(3) = " About this software": ch$(4) = "" ch$(5) = " -- END SESSION -- " SCREEN 0, , 1, 1 22 op = 5: x = 30: y = 8: GOSUB menu ON ch GOTO 1000, 2000, 4000, 22, 9000 BEEP: GOTO 22 1000 text$(0) = " COLLECT DATA " text$(1) = " Do you really want to run the" text$(2) = " data collecting program?" p = 2: GOSUB 11000 'IF b = 0 THEN SHELL "A:\flow3" IF b = 1 THEN GOTO 20 GOTO 20 2000 text$(0) = " PRODUCE GRAPHS " text$(1) = "You chose the 'Produce graphs'" text$(2) = "option. Run this program?" p = 2: GOSUB 11000 GOTO 22 4000 x = 15: y = 5: w = 50: h = 15: COLOR 7, 1: GOSUB 10000 LOCATE 7, 15: PRINT CHR$(199); STRING$(50, 196); CHR$(182) LOCATE 6, 16: PRINT "YOUNG PROJECT ENGINEERS- FLOW RATE SENSOR SOFTWARE" IF FISOPEN <> 1 THEN OPEN "i", 1, "a:\ype\softdata.txt": FISOPEN = 1 l = 0 WHILE NOT EOF(1) LINE INPUT #1, line$ LOCATE l + 8, 16: PRINT line$ l = l + 1 IF l = 12 THEN GOSUB 4050 WEND LOCATE 20, 16: PRINT " OK, that's it. Press any key..." 4010 i$ = INKEY$: IF i$ = "" THEN 4010 GOTO 22 4050 LOCATE 20, 16: COLOR 16: PRINT " Press any key..." 4060 i$ = INKEY$: IF i$ = "" THEN 4060 LOCATE 20, 16: COLOR 7: PRINT " " FOR a = 8 TO 20: LOCATE a, 16: PRINT STRING$(50, 32): NEXT a l = 0: RETURN 9000 CLOSE : SCREEN 0, , 0, 0: CLS : END 10000 REM *** box subroutine** LOCATE y, x: PRINT CHR$(201); STRING$(w, 205); CHR$(187) FOR a = 1 TO h LOCATE y + a, x: PRINT CHR$(186); STRING$(w, " "); CHR$(186): NEXT a LOCATE y + h + 1, x: PRINT CHR$(200); STRING$(w, 205); CHR$(188) RETURN 11000 REM *** Dialog box subroutine *** COLOR 7, 1: x = 25: y = 8: w = 30: h = 7: GOSUB 10000 LOCATE 10, 25: PRINT CHR$(199); STRING$(30, 196); CHR$(182) LOCATE 9, 26: PRINT text$(0) LOCATE 11, 26: PRINT text$(1) LOCATE 12, 26: PRINT text$(2) IF p > 0 THEN 11100 LOCATE 13, 30: PRINT CHR$(218); STRING$(20, 196); CHR$(191) LOCATE 14, 30: PRINT CHR$(179); STRING$(20, 32); CHR$(179) LOCATE 15, 30: PRINT CHR$(192); STRING$(20, 196); CHR$(217) LOCATE 14, 31: COLOR 15, 0: INPUT "", reply$: COLOR 7, 1 RETURN 11100 REM ** buttons ** IF p = 1 GOTO 11110 IF p = 2 GOTO 11120 11110 x = 36: y = 13: w = 8: h = 1: GOSUB 10000 LOCATE 14, 38: COLOR 7, 0: PRINT " OK ": COLOR 7, 1 11111 i$ = INKEY$: IF i$ <> CHR$(13) THEN 11111 RETURN 11120 x = 30: y = 13: w = 8: h = 1: GOSUB 10000: x = 42: GOSUB 10000 LOCATE 14, 32: COLOR 7, 0: PRINT " OK ": b$(0) = " OK " LOCATE 14, 44: COLOR 7, 1: PRINT "CANCEL": b$(1) = "CANCEL": b = 0 11121 i$ = INKEY$: IF i$ = "" THEN 11121 IF i$ = CHR$(13) THEN button$ = b$(b): RETURN IF LEN(i$) <> 2 THEN 11121 i = ASC(RIGHT$(i$, 1)) IF i = 75 AND b = 1 THEN b = 0: GOTO 11122 IF i = 77 AND b = 0 THEN b = 1: GOTO 11123 GOTO 11121 11122 LOCATE 14, 32: COLOR 7, 0: PRINT b$(0): LOCATE 14, 44: COLOR 7, 1: PRINT b$(1) GOTO 11121 11123 LOCATE 14, 32: COLOR 7, 1: PRINT b$(0): LOCATE 14, 44: COLOR 7, 0: PRINT b$(1) GOTO 11121 menu: COLOR 7, 1: REM ** Menu subroutine ** w = LEN(ch$(0)): h = op + 2: GOSUB 10000 LOCATE (y + 1), (x + 1): PRINT ch$(0) LOCATE y + 2, x: PRINT CHR$(204); STRING$(w, 205); CHR$(185) FOR a = 1 TO op LOCATE y + 2 + a, x + 1: PRINT ch$(a) NEXT a ch = 1: COLOR 7, 0: LOCATE y + 3, x + 1: PRINT ch$(1) 12000 i$ = INKEY$: IF i$ = "" THEN 12000 IF i$ = CHR$(13) THEN RETURN IF LEN(i$) <> 2 THEN 12000 i = ASC(RIGHT$(i$, 1)) IF i = 72 AND ch > 1 THEN och = ch: ch = ch - 1: GOTO 12010 IF i = 80 AND ch < op THEN och = ch: ch = ch + 1: GOTO 12010 GOTO 12000 12010 COLOR 7, 1: LOCATE y + 2 + och, x + 1: PRINT ch$(och) COLOR 7, 0: LOCATE y + 2 + ch, x + 1: PRINT ch$(ch) GOTO 12000 Time: LOCATE 23, 70: PRINT TIME$: RETURN: REM ** Real-time subroutine ** Loaderror: SCREEN 0, , 0, 0: text$(0) = " LOAD ERROR" text$(1) = "The file AC.ID is corrupted." text$(2) = " Aborting Loading": p = 1: GOSUB 11000: END Keys: 12020 i$ = INKEY$: IF i$ = "" THEN 12020: REM ** control keys ** PRINT i$; " "; ASC(i$); " "; LEN(i$); " "; ASC(RIGHT$(i$, 1)) GOTO 12020