8-Bit Software Online Conversion
:0.M.SCHOPR - Listing
10ONERROR PROCerror : END
20*FX4,2
30*FX200,1
40MODE1:VDU23,1,0;0;0;0;:VDU19,1,4,0;
0:PROCmenu
50MODE7:*FX200,0
55*FX4,0
60END
70DEFPROCdouble(A$,xpos%,ypos%)
80FORI%=1 TO LENA$:A%=&A:X%=&70:Y%=&0
0:?&70=ASC(MID$(A$,I%,1)):CALL &FFF1:VDU
23,254,?&71,?&71,?&72,?&72,?&73,?&73,?&7
4,?&74:
90:VDU23,255,?&75,?&75,?&76,?&76,?&77
,?&77,?&78,?&78:PRINTTAB(xpos%+I%,ypos%)
" ":PRINTTAB(xpos%+I%,ypos%+1)CHR$254:PR
INTTAB(xpos%+I%,ypos%+2)CHR$255:PRINTTAB
(xpos%+I%,ypos%+3)" ":NEXT:ENDPROC
100DEFPROCmenu:COLOUR129:CLS:COLOUR 2
110CLS:PROCdouble("School Time Table P
rinter",7,2)
120PRINTTAB(4,5);"By Andrew York in 19
96 For Model B"
130PROCdouble("1. Start a new file.",7
,9)
140PROCdouble("2. Print a saved file."
,7,12)
150PROCdouble("3. Leave this program."
,7,15)
160PROCdouble("Please enter 1,2 or 3 "
,7,21)
165PRINTTAB(1,29);"This program uses P
rint Master and will":PRINTTAB(10,30);"n
ot work without it."
170REPEAT
180A$=GET$
190IF A$="1" THEN VDU22,0:PROCnew
200IF A$="2" THEN PROCprint
210IF A$="3" THEN ENDPROC
220UNTIL FALSE
230DEFPROCdisplay
250PRINTTAB(0,0);"********************
****************************************
*******************"
260A=0:REPEAT
270A=A+1
280PRINTTAB(0);"*
*"
290UNTIL A=29
300PRINTTAB(0,4);"********************
****************************************
*******************"
310PRINTTAB(0,29);"*******************
****************************************
********************"
320A=0:PRINTTAB(0,3)
330REPEAT:A=A+1
340PRINTTAB(10,A);"*"
350UNTIL A=29
360PRINTTAB(2,2);"Days"
370PRINTTAB(0,9);"********************
****************************************
*******************"
380PRINTTAB(0,14);"*******************
****************************************
********************"
390PRINTTAB(0,19);"*******************
****************************************
********************"
400PRINTTAB(0,24);"*******************
****************************************
********************"
410PRINTTAB(2,6);"Monday"
420PRINTTAB(2,11);"Tuesday"
430PRINTTAB(2,16);"Wednes"
440PRINTTAB(2,21);"Thurs"
450PRINTTAB(2,26);"Fri"
460A=4:REPEAT
470PRINTTAB(23,A);"*"
480A=A+1
490UNTIL A=29
500A=4:REPEAT
510PRINTTAB(35,A);"*"
520A=A+1
530UNTIL A=29
540A=4:REPEAT
550PRINTTAB(47,A);"*"
560A=A+1
570UNTIL A=29
580A=4:REPEAT:PRINTTAB(61,A);"*":A=A+1
:UNTIL A=29
590ENDPROC
600DEFPROCnew
610PROCdisplay
620INPUTTAB(15,2);"School :"school$
630INPUTTAB(50,2);"Date :"date$
640INPUTTAB(11,6);""one$
650INPUTTAB(26,6);""two$
660INPUTTAB(37,6);""three$
670INPUTTAB(48,6);""four$
680INPUTTAB(62,6);""ELLO$
690INPUTTAB(11,12);""five$
700INPUTTAB(26,12);""six$
710INPUTTAB(37,12);""seven$
720INPUTTAB(48,12);""eight$
730INPUTTAB(62,12);""B$
740INPUTTAB(11,17);""nine$
750INPUTTAB(26,17);""ten$
760INPUTTAB(37,17);""eleven$
770INPUTTAB(48,17);""twelve$
780INPUTTAB(62,17);""C$
790INPUTTAB(11,21);""thirt$
800INPUTTAB(26,21);""fourit$
810INPUTTAB(37,21);""fift$
820INPUTTAB(48,21);""sixt$
830INPUTTAB(62,21);""D$
840INPUTTAB(11,26);""sevent$
850INPUTTAB(26,26);""eighty$
860INPUTTAB(37,26);""ninty$
870INPUTTAB(48,26);""end$
880INPUTTAB(62,26);""E$
890INPUTTAB(15,30);"File to save as:"f
ile$
900IF LEN(file$) > 9 THEN PRINTTAB(15,
30);"File name to long press any key to
try again ";:A$=GET$:PRINTTAB(1
5,30);"
":GOTO890
910PRINT"Saving ...";
920F=OPENOUT(file$)
930PRINT#F,school$,date$,one$,two$,thr
ee$
940PRINT#F,four$,five$,six$,seven$
950PRINT#F,eight$,nine$,ten$,eleven$
960PRINT#F,twelve$,thirt$,fourit$,fift
$
970PRINT#F,sixt$,sevent$,eighty$,ninty
$
980PRINT#F,end$,ELLO$,B$,C$,D$,E$
990CLOSE#F:RUN:ENDPROC
1000DEFPROCprint
1010 VDU22,0
1020INPUT"File to print ?"file$
1030IF LEN(file$) >9 THEN CLS:GOTO1020
1040F=OPENIN(file$)
1041IF F=0 THEN PRINT:PRINT"File not fo
und press space";:REPEAT:A$=GET$:UNTIL A
$=" ":PRINT:PRINT:GOTO 1020
1050INPUT#F,school$,date$,one$,two$,thr
ee$
1060INPUT#F,four$,five$,six$,seven$
1070INPUT#F,eight$,nine$,ten$,eleven$
1080INPUT#F,twelve$,thirt$,fourit$,fift
$
1090INPUT#F,sixt$,sevent$,eighty$,ninty
$
1100INPUT#F,end$,ELLO$,B$,C$,D$,E$
1110CLOSE#F
1120PRINT
1130PRINT"File loaded. How many print o
uts do you want";:INPUT B
1140PRINT:PRINT"Press any key to start
printing";:a$=GET$:FOR C = 1 TO B
1150PROCdisplay
1160PRINTTAB(15,2);"School :"school$
1170PRINTTAB(50,2);"Date :"date$
1180PRINTTAB(11,6);""one$
1190PRINTTAB(26,6);"";two$
1200PRINTTAB(37,6);""three$
1210PRINTTAB(48,6);""four$
1220PRINTTAB(62,6)""ELLO$
1230PRINTTAB(11,12);""five$
1240PRINTTAB(26,12);""six$
1250PRINTTAB(37,12);""seven$
1260PRINTTAB(48,12);""eight$:PRINTTAB(6
2,12)""B$
1270PRINTTAB(11,17);""nine$
1280PRINTTAB(26,17);""ten$
1290PRINTTAB(37,17);""eleven$
1300PRINTTAB(48,17);""twelve$
1310PRINTTAB(62,17);""C$
1320PRINTTAB(11,21);""thirt$
1330PRINTTAB(26,21);""fourit$
1340PRINTTAB(37,21);""fift$
1350PRINTTAB(48,21);""sixt$
1360PRINTTAB(62,21);""D$
1370PRINTTAB(11,26);""sevent$
1380PRINTTAB(26,26);""eighty$
1390PRINTTAB(37,26);""ninty$
1400PRINTTAB(48,26);""end$
1410PRINTTAB(62,26);"";E$:*TDUMP
1420NEXT C
1430VDU3:RUN
1440ENDPROC
1450DEFPROCerror:VDU7
1460ON ERROR OFF
1470ON ERROR PROCerror
1480IF ERL = 920 THEN PRINT:PRINT:REPOR
T:PRINT" press space.":REPEAT:A$=GET$:UN
TIL A$=" ":PRINT:PRINT:GOTO 890
1490IF ERL = 1040 THEN PRINT:PRINT:REPO
RT:PRINT" press space.":REPEAT:A$=GET$:U
NTIL A$=" ":PRINT:PRINT:GOTO 1020
1500CLS:PRINT:REPORT:PRINT" press space
.";:REPEAT:A$=GET$:UNTIL A$=" ":RUN:ENDP
ROC