home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
ftp.whtech.com
/
ftp.whtech.com.tar
/
ftp.whtech.com
/
club100
/
bus
/
month.ba
< prev
next >
Wrap
Text File
|
2006-10-19
|
3KB
|
73 lines
1 'MONTH.BA by Alex Jacobs 1983 as found in The Model 100 Program Book, modified by Robert Benson (06/30/92)
10 CLS:C$=CHR$(34):PRINT@82,C$"MONTH"C$" Monthly Calender 8/31/84"
20 PRINT:PRINT" <I>nstructions <M>onth"
30 PRINT:PRINT" Press SPACE-BAR for the main Menu":BEEP:LINE(5,5)-(234,58),1,B
40 K$=INKEY$
50 IF K$="I"OR K$="i"THEN620
60 IF K$="M"OR K$="m"THEN90
70 IF K$=CHR$(32)THEN MENU
80 GOTO40
90 CLEAR 300
100 BS$=CHR$(8)
110 RV$=CHR$(27)+"p":NV$=CHR$(27)+"q"
120 A$="Jan31Feb28Mar31Apr30May31Jun30Jul31Aug31Sep30Oct31Nov30Dec31"
130 MCUR=VAL(LEFT$(DATE$,2))
140 YCUR=VAL(RIGHT$(DATE$,2))+1900
150 DCUR=VAL(MID$(DATE$,4,2))
160 MDISP=MCUR:YDISP=YCUR:GOSUB 520
170 GOTO 260
180 CLS:PRINT:PRINT"Input Year(";RV$;YDISP;NV$;"): ";:INPUT YDISP
190 PRINT"Input Month (";RV$;MDISP;NV$;"): ";
200 FOR K=1TO 10:PRINT BS$;:NEXT K
210 INM=MDISP
220 INPUT INM
230 IF INM>0 AND INM<13THEN 250
240 BEEP:PRINT" The month must be between 1 and 12":PRINT@0,:GOTO 190
250 MDISP=INM:GOSUB 520
260 IF M$="Feb"THEN IF YDISP/4=INT(YDISP/4)THEN DINM=29
270 IF M$="Feb"THEN IF YDISP/100=INT(YDISP/100)THEN DINM=28
280 IF M$="Feb"THEN IF YDISP/400=INT(YDISP/400)THEN DIMN=29
290 HEAD$=M$+""+STR$(YDISP)
300 IF MDISP>2THEN YEQU=YDISP:GOTO 330
310 MEQU=MDISP+13
320 YEQU=YDISP-1:GOTO 340
330 MEQU=MDISP+1
340 D=INT(365.25*YEQU)-INT(YEQU/100)+INT(YEQU/400)+INT(30.6*MEQU)-478163!
350 W=INT(7.1*(D/7-INT(D/7)))
360 CLS:PRINT@1,"A=ANY";:PRINTTAB(20-INT((LEN(HEAD$))/2));HEAD$
370 PRINT" ";RV$;"Sun Mon Tue Wed Thu Fri Sat ";NV$
380 IF MDISP=MCUR AND YDISP=YCUR THEN TDAY=DCUR ELSE TDAY=0
390 FOR I=1TO DINM
400 IF I=TDAY THEN PRINTTAB(7+(W*4));RV$;I;NV$;:W=W+1:GOTO 420
410 PRINTTAB(7+(W*4));I;:W=W+1
420 IF W>6THEN W=0:PRINT
430 NEXT I
440 GOSUB 590
450 I$=INKEY$:IF I$=""THEN 450
460 IF I$="A" OR I$="a"THEN 180
470 IF ASC(I$)=29THEN 530
480 IF ASC(I$)=28THEN 550
490 IF ASC(I$)=30THEN 570
500 IF ASC(I$)=31THEN 580
510 IF ASC(I$)=32THEN MENU ELSE 450
520 M$=MID$(A$,(5*MDISP)-4,3):DIN M=VAL(MID$(A$,(5*MDISP)-1,2)):RETURN
530 IF MDISP=1THEN YDISP=YDISP-1:MDISP=12:ELSE MDISP=MDISP-1
540 GOSUB 520:GOTO 260
550 IF MDISP=12THEN YDISP=YDISP+1:MDISP=1:ELSE MDISP=MDISP+1
560 GOSUB 520:GOTO 260
570 YDISP=YDISP+1:GOSUB 520:GOTO 260
580 YDISP=YDISP-1:GOSUB 520:GOTO 260
590 PRINT@80," Month":PRINT" "CHR$(155)" "CHR$(154)
600 PRINT:PRINT" Year":PRINT" "CHR$(152)" "CHR$(153)
610 RETURN
620 BEEP:CLS:PRINT:PRINT" Press "CHR$(155)" or "CHR$(154)" to see previous/following"
630 PRINT" month. Press "CHR$(152)" or "CHR$(153)" for the same month"
640 PRINT" in previous/following year."
650 PRINT:PRINT" You can specify an individual month by"
660 PRINT" pressing "C$"A"C$". Enter a year in 4 digits":PRINT" and the month as 1 to 12."
670 X=5000:GOSUB 710
680 CLS:PRINT:PRINT" If you just press ENTER the year which":PRINT" appears in reverse video will be used,"
690 PRINT" the same is true for the month.":PRINT:PRINT" Press the SPACE-BAR for the main Menu.":PRINT
700 X=3000:GOSUB 710:CLS:GOTO 90
710 FOR Z=1 TO X:NEXT:RETURN