8-Bit Software Online Conversion

Calendar printer - Listing

10REM" 20REM"     40REM"     60REM" This program will print a year ly 70REM" calendar one page for one mont h, 80REM" with a large box for each day . 90REM" Hang it on the wall and scribb le 100REM" reminders on it. To use the 110REM" program answer three simple 120REM" questions: 130REM" Enter the quantity required . 140REM" Enter the year to be printe d. 150REM" Enter the first day of the ye ar. 160REM" The program is for EPSON FX 170REM" compatible printers. 180REM" ---------------------------- -- 190REM" This program is Public domai n. 200REM" Please do not alter it in a ny 210REM" way. If you use any of t he 220REM" routines, please mention me 230REM" in the titles. Thanks, CJ R. 240REM" ---------------------------- -- 250DEFFNS:="Monthpl" 260ONERROR VDU3:REPORT:PRINTERL:END 270PROCDES 280DAY$=" MON TUE WED THU FRI SAT SUN" 290MODE128:PRINT"CALENDAR PRINTER"'"By C.J.Richardson"' 300INPUT"Number of calendars required? "numberwanted% 310INPUT"ENTER YEAR ";YEAR$:A%=VALYEAR $:IFA%MOD4=0leapyear%=1:ELSEleapyear%=0 320PRINT'"ENTER FIRST DAY OF YEAR?"'"1 . Monday"'"2. Tuesday"'"3. Wednesday"'"4 . Thursday"'"5. Friday"'"6. Saturday"'"7 . Sunday":REPEAT:A%=VALGET$:UNTILA%>0AND A%<8 330FORcalendars%=1TOnumberwanted% 340VDU2 350leaveblank%=-(A%-2) 360RESTORE 370VDU1,27,104 380FORyearloop%=1TO12:PRINT'''''''''': READMONTH$,Daysinmonth%:VDU1,27,1,104:PR INT"! ";MONTH$;" ";YEAR$;'':IFyearloop%= 2:IFleapyear% Daysinmonth%=29 390daymonth%=leaveblank% 400VDU1,27,1,117 410PRINTDAY$ 420PRINT" " 430FORmonthloop%=1TO6 440FORweekloop%=1TO7 450IF daymonth%<1 OR daymonth%>Daysinm onth% PRINT" "; 460IF daymonth%>0 IF daymonth%<10 PRIN T" ";STR$daymonth%; 470IF daymonth%>9 IF daymonth%<=Daysin month% PRINT" ";STR$daymonth%; 480PRINT" "; 490daymonth%=daymonth%+1:IFdaymonth%=D aysinmonth%:leaveblank%=-weekloop%:IFlea veblank%=-7leaveblank%=0ELSEIFleaveblank %=-6leaveblank%=1 500NEXT weekloop%:PRINT" ":PROCDOTS:I Fdaymonth%>Daysinmonth%:monthloop%=6 510IFmonthloop%<6:PROCLINE ELSE PRINT" ":VDU1,12 520NEXTmonthloop% 530NEXTyearloop% 540NEXTcalendars%:VDU3:END 550DEFPROCDOTS 560FORL=1TO11 570PRINT" " 580NEXT 590ENDPROC 600DEFPROCLINE 610PRINT" " 620ENDPROC 630DEFPROCDES 640OSCLI"FX225,128":OSCLI"FX226,138":V DU23,128,24,24,24,255,24,24,24,24,23,129 ,24,24,24,255,0,0,0,0,23,130,0,0,0,255,2 4,24,24,24,23,131,24,24,24,248,24,24,24, 24 650VDU23,132,24,24,24,31,24,24,24,24,2 3,133,0,0,0,255,0,0,0,0,23,134,24,24,24, 24,24,24,24,24,23,135,0,0,0,31,24,24,24, 24,23,136,0,0,0,248,24,24,24,24,23,137,2 4,24,24,31,0,0,0,0,23,138,24,24,24,248,0 ,0,0,0 660FORL%=0TO9:OSCLI"K."+STR$L%+CHR$(12 8+L%):NEXT:REM FOR EDIT. USE CURSOR EDIT ING MODE ALL CODES BUT BOTTOM RIGHT CORN ER WORK. IF TO BE USED A LOT RE-DEFINE A KEY 670VDU2 680VDU1,27,1,64:REM CLEAR 690VDU1,27,1,58,1,0,1,0,1,0,1,27,1,37, 1,1,1,0,1,27,1,38,1,0,1,33,1,33,1,128,1, 248,1,6,1,136,1,2,1,0,1,126,1,0,1,63,1,0 ,1,36,1,27:REM LOGO=! 700VDU1,27,1,109,1,4:REM GRAPHICS ON 710REM VDU1,27,1,71:REMDOUBLE STRIKE 720VDU1,27,1,69:REM EMPH 730VDU1,27,1,49:REM 1/8 LINESPACE 740VDU1,27,1,85,1,1:REM UNIDIRECTIONAL 750VDU1,27,108,1,2:REM LEFT MARGIN 760VDU1,27,1,87,1,1:REM EXPANDED 770VDU1,27,1,77:REM ELITE 780REM REST OF PRINTER OPTIONS HERE 790VDU3 800ENDPROC 810DATAJANUARY,31,FEBRUARY,28,MARCH,31 ,APRIL,30,MAY,31,JUNE,30,JULY,31,AUGUST, 31,SEPTEMBER,30,OCTOBER,31,NOVEMBER,30,D ECEMBER,31