home *** CD-ROM | disk | FTP | other *** search
/ 8bitfiles.net/archives / archives.tar / archives / genie-commodore-file-library / C64Software / CALENDER-2 (.txt) < prev    next >
Encoding:
Commodore BASIC  |  2019-04-13  |  1.9 KB  |  85 lines

  1. 10 DIMDW$(7),MO$(12),LD(12)
  2. 15 RESTORE:ZX=0
  3. 20 BL$=""
  4. 30 FORI=1TO7
  5. 40 READDW$(I)
  6. 50 BL$=BL$+CHR$(32)+CHR$(32)
  7. 60 NEXTI
  8. 70 FORI=1TO12
  9. 80 READMO$(I),LD(I)
  10. 90 NEXTI
  11. 100 POKE53280,1
  12. 110 POKE53281,1
  13. 120 DY$=" 1 2 3 4 5 6 7 8 910111213141516171819202122232425262728293031"
  14. 125 IFZX=1THENGOTO230
  15. 130 PRINTCHR$(147);CHR$(31);
  16. 140 PRINTTAB(12);"PERPETUAL CALENDER"
  17. 150 PRINT
  18. 160 PRINT"TYPE IN A DATE IN ANY YEAR AFTER 1800"
  19. 170 PRINT"AND BEFORE 2300;THEN PRESS <RETURN>."
  20. 180 PRINT"USE THIS FORMAT:"
  21. 190 PRINT
  22. 200 PRINT"1,13,1985"
  23. 205 PRINT
  24. 206 PRINT"IF YOU DO NOT WISH A SPECIFIC DAY,"
  25. 207 PRINT"PLACE A '0' FOR THE DAY."
  26. 210 PRINT
  27. 220 INPUT"DATE";M,D,Y:GOTO230
  28. 230 LD(2)=28-((Y=INT(Y/4)*4ANDY<>INT(Y/100)*100)ORY=2000)
  29. 240 IFM<1ORM>12THEN180
  30. 250 IFD=0THEN260:IFD<1ORDD>LD(M)ORY<1801ORY>2399THEN180
  31. 260 IFM<3THENY=Y-1:M=M+12
  32. 270 FOM=INT(Y*1.25)-(Y<1900)-(Y>2000)*INT((Y-2000)/100)+INT((M-2)*2.59)
  33. 280 DOW=FOM+D-INT((FOM+D-1)/7)*7
  34. 290 FOM=FOM-INT(FOM/7)*7+1
  35. 300 IFM>12THENM=M-12:Y=Y+1
  36. 305 IFD=0ORD=61THENPRINT"รด":GOTO340
  37. 310 PRINTCHR$(147);
  38. 320 PRINTMO$(M);STR$(D);",";
  39. 330 PRINTSTR$(Y);", IS A "DW$(DOW);"."
  40. 340 PRINTTAB((194-LEN(MO$(M)))/2);MO$(M);Y
  41. 350 PRINT
  42. 360 FORI=1TO7
  43. 370 PRINTLEFT$(DW$(I),3);SPC(3);
  44. 380 NEXTI
  45. 390 PRINT
  46. 400 DY$=BL$+LEFT$(DY$,2*LD(M))+BL$+BL$
  47. 410 FORI=1TO6
  48. 420 FORJ=1TO7
  49. 430 PT=I*7+J-FOM-6
  50. 440 IFPT=DANDD<10THENPRINTCHR$(32);
  51. 450 IFPT=DANDD>0THENPRINTCHR$(18);MID$(STR$(D),2);CHR$(14    
  52. 460 PRINTMID$(DY$,2*PT+13,2);
  53. 470 IFD=0THENPRINTSPC(4):D=61:GOTO480
  54. 475 PRINTSPC(4)
  55. 480 NEXTJ
  56. 490 PRINT
  57. 500 NEXTI
  58. 510 PRINT
  59. 515 IFZX=1THENGOTO580
  60. 520 PRINT"PRESS <Q> TO QUIT,<P>TO PRINT,OR ANY"
  61. 525 PRINT"OTHER KEY TO TRY ANOTHER DATE."
  62. 540 GETK$
  63. 550 IFK$=""THEN540
  64. 555 IFK$="P"THENGOTO2100
  65. 560 IFK$<>"Q"ANDK$<>CHR$(113)THEN15
  66. 570 END
  67. 580 PRINT#3
  68. 585 CLOSE3
  69. 590 PRINT
  70. 592 PRINTCHR$(147)
  71. 595 GOTO520
  72. 1000 DATA SUNDAY,MONDAY,TUESDAY,WEDNESDAY
  73. 1010 DATA THURSDAY,FRIDAY,SATURDAY
  74. 2000 DATA JANUARY,31,FEBUARY,28,MARCH,31
  75. 2010 DATA APRIL,30,MAY,31,JUNE,30
  76. 2020 DATA JULY,31,AUGUST,31,SEPTEMBER,30
  77. 2030 DATA OCTOBER,31,NOVEMBER,30,DECEMBE    
  78. 2100 PRINT"MAKE SURE YOUR PRINTER IS ON AND READY."
  79. 2110 PRINT:PRINT"HIT ANY KEY WHEN READY."
  80. 2120 GETP$:IFP$=""THENGOTO2120
  81. 2130 OPEN3,4
  82. 2135 CMD3
  83. 2140 ZX=1
  84. 2200 RESTORE:BL$="":GOTO20
  85.