home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Nibble Magazine
/
nib40b.dsk
/
CALENDAR.MAKER.bas
< prev
next >
Wrap
BASIC Source File
|
2023-02-26
|
2KB
|
54 lines
10 REM *************************
20 REM * CALENDAR.MAKER *
30 REM * BY D.D. JOHANNESEN *
40 REM * COPYRIGHT (C) 1991 *
50 REM * MINDCRAFT PUBL. CORP. *
60 REM * CONCORD, MA 01742 *
70 REM *************************
80 TEXT : HOME
90 VTAB 3: HTAB 13: PRINT "CALENDAR MAKER"
100 HTAB 10: PRINT "BY D.D. JOHANNESEN"
110 HTAB 8: PRINT "(C) 1991 MINDCRAFT PUBL."
120 VTAB 12
130 DIM MN$(12),DM(12),ED(12),DY$(6)
140 C$ = " CALENDAR"
150 FOR I = 1 TO 12
160 READ MN$(I),DM(I)
170 NEXT I
180 DATA "JAN",31,"FEB",28,"MAR",31,"APR",30,"MAY",31,"JUN",30,"JUL",31,"AUG",31,"SEP",30,"OCT",31,"NOV",30,"DEC",31
190 FOR I = 1 TO 11:ED(I +1) = ED(I) +DM(I): NEXT I
200 FOR I = 0 TO 6: READ DY$(I): NEXT I
210 DATA "SUN","MON","TUES","WEDNES","THURS","FRI","SATUR"
220 D$ = CHR$(4)
230 ONERR GOTO 510
240 PRINT D$;"OPEN";C$
250 PRINT D$;"WRITE ";C$
260 FOR I = 1 TO 12
270 PRINT MN$(I)
280 PRINT DM(I)
290 PRINT ED(I)
300 NEXT I
310 FOR I = 0 TO 6: PRINT DY$(I): NEXT I
320 PRINT D$;"CLOSE ";C$:EC = PEEK(222): IF EC = 10 THEN PRINT : PRINT "FILE OR DISK LOCKED.": END
325 REM
330 PRINT D$;"LOCK ";C$
340 POKE 216,0
350 PRINT : PRINT "ENTER MONTH,DAY,YEAR"
360 INPUT " (0,0,0 TO QUIT)? ";M,D,Y
370 PRINT
380 IF M = 0 AND D = 0 AND Y = 0 THEN END
390 IF D <1 THEN PRINT D;" INVALID DAY!": GOTO 350
400 IF M <1 OR M >12 THEN PRINT M;" INVALID MONTH!": GOTO 350
410 SW = 0
420 IF Y <100 THEN Y = 1900 +Y
430 DT = (Y -1704) *365.25
440 IF DT = INT(DT) THEN SW = 1: PRINT Y;" IS A LEAP YEAR"
450 IF D < = DM(M) +(M = 2 AND SW) THEN 470
460 PRINT D;" INVALID DAY FOR ";MN$(M): GOTO 350
470 DT = INT(DT) +ED(M) -(M <3 AND SW) +D
480 DW = INT(7 *(DT/7 - INT(DT/7)) +.5)
490 PRINT MN$(M);" ";D;",";Y;" FALLS ON ";DY$(DW);"DAY"
500 GOTO 350
510 EC = PEEK(222): IF EC = 10 THEN PRINT : PRINT "FILE EXISTS AND IS LOCKED.": END
520 IF EC = 8 THEN PRINT "DISK I/O ERROR.": END
530 PRINT "ERROR NO. "EC". CHECK APPLESOFT MANUAL BEFORE CONTINUING.": END