0 'TODO.BA by Phil Pearsall Modified by Michael Connick to MYDO.BA Club 100 Library - 415/939-1246 BBS, 937-5039 NEWSLETTER, 932-8856 VOICE 1 MAXFILES=2:CLEAR1000:DEFSTRA-M:B="note.do":OPENBFORAPPENDAS1:CLOSE:E=LEFT$(DATE$,5):H=CHR$(27)+"p":I=CHR$(27)+"q":P=42:Z=0:CLS:GOSUB22:PRINT@280,"view entr phon appt calc caln reln menu";:PRINT@1,H;" Appointments & To-Dos ";I 2 LINE(6,7)-(155,56),1,B:KEYON:ONKEYGOSUB23,33,46,53,55,78,95,21 3 IFEOF(1)THEN5ELSEIFP>242THEN5ELSELINEINPUT#1,L:IFINSTR(L,E)<>0THEN4ELSEIFINSTR(L,"TO-DO")<>0THEN4ELSE3 4 PRINT@P,MID$(L,7,23):P=P+40:GOTO3 5 LINE(161,0)-(233,56),1,B:PRINT@27,H;" Today is ":PRINT@147,"The Time is ";:PRINT@227," Alarm ";I:PRINT@109,DATE$:IFDAY$="Sun"THENC="Sunday"ELSEIFDAY$="Mon"THENC="Monday"ELSEIFDAY$="Fri"THENC="Friday" 6 PRINT@70,C:IFDAY$="Tue"THENF="Tuesday"ELSEIFDAY$="Wed"THENF="Wednesday" 7 IFDAY$="Thu"THENF="Thursday"ELSEIFDAY$="Sat"THENF="Saturday" 8 PRINT@69,F 9 M=TIME$:K=LEFT$(TIME$,5):E=LEFT$(DATE$,5):IFEOF(1)THENCLOSE:OPENBFORINPUTAS1:Z=0 10 LINEINPUT#1,L:IFINSTR(L,E)=0THEN14ELSEIFINSTR(L,K)=0THEN14 11 CLS:PRINT@40,L:PRINT@257,H;" Alarm ";I 12 FORY=2000TO1000STEP-50:SOUNDY,1:NEXTY:SOUND9999,25:N=N+1:IFN<>3THEN12ELSEFORR=1TO25000:NEXT:PRINT@247,H;" Press Any Key To Continue ";I 13 J=INKEY$:IFJ=""THEN13ELSERUN 14 IFM=TIME$THEN14 15 IFINSTR(L,E)<>0THENPRINT@270,MID$(L,7,5):Z=1:GOTO 17 16 IFZ=1THENPRINT@270," ":GOSUB22 17 S=VAL(LEFT$(TIME$,2)):IFS>12THENPRINT@187,STR$(S-12);RIGHT$(M,6)ELSEIFS<10THENPRINT@187,STR$(S);RIGHT$(M,6)ELSEPRINT@188,M; 18 IFS>11THENPRINT@196,"PM";ELSEIFS<12THENPRINT@196,"AM"; 19 IFINSTR(M,"00:00")THENBEEP 20 IFTIME$="00:00:01"THENRUNELSE9 21 MENU 22 CLOSE:OPENBFORINPUTAS1:Z=0:RETURN 23 GOSUB22:OPEN"t.do"FORAPPENDAS2:PRINT@87,H;" 1-Scan ":PRINT@127," 2-MM/DD ":PRINT@167," 3-Today ":PRINT@207," 4-To-Do ";I:PRINT@260,"";:LINE(42,15)-(95,15) 24 J=INKEY$:N=VAL(J):IFN<1ORN>4THEN24ELSEN=N:ONNGOSUB25,26,27,28 25 K="S":GOTO30 26 GOTO29 27 K=E:GOTO30 28 K="TO-DO":GOTO30 29 LINEINPUT"";K 30 IFEOF(1)THENCLOSE:KILLB:NAME"t.do"ASB:RUNELSELINEINPUT#1,L:IFINSTR(L,K)<>0ORK="S"THEN31ELSEPRINT#2,L:GOTO30 31 CLS:N=LEN(L):IFN<40THENPRINT@80+(40-N)/2,LELSEPRINT@80,L 32 PRINT@253,H;" Delete (Y/N) "I;:J=INPUT$(1):IFINSTR("Yy",J)>0THEN30ELSEPRINT#2,L:CLS:GOTO30 33 PRINT@171,"ppointment":PRINT@211,"o-Do "::LINE(64,30)-(144,48),1,B:CLOSE:OPENBFORAPPENDAS1 34 J=INKEY$:IFJ="a"ORJ="A"THEN35ELSEIFJ="t"ORJ="T"THEN36ELSE34 35 CLS:PRINT@12,"Today is "E:PRINT@52,"Time is "K:PRINT@131,"Date: Time: Appointment:":PRINT@171,;:LINEINPUT"";M:PRINT#1,M:CLS:PRINT@129,H" Another Appointment? "I;:J=INPUT$(1):IFINSTR("Yy",J)>0THEN35ELSE37 36 CLS:PRINT@131,;:LINEINPUT"To-Do:";M:PRINT#1,"TO-DO "M:CLS:PRINT@132,H" Another To-Do? "I;:J=INPUT$(1):IFINSTR("Yy",J)>0THEN36 37 GOSUB22:DIMA(100):CLS:PRINT@169,H" Reorganizing File "I:N=1:O=11:P=0 38 P=P+1:LINEINPUT#1,A(P):IFEOF(1)THEN39ELSE38 39 CLOSE1:GOSUB40:KILLB:OPENBFOROUTPUTAS1:FORQ=1TOP:PRINT#1,A(Q):NEXT:RUN 40 U=P 41 U=INT(U/2):IFU=0THENRETURNELSER=1:S=P-U 42 Q=R 43 T=Q+U:IF(MID$(A(Q),N,(O-N)+1))<(MID$(A(T),N,(O-N)+1))THEN45 44 G=A(Q):A(Q)=A(T):A(T)=G:Q=Q-U:IFQ<1THEN45ELSE43 45 R=R+1:IFR>STHEN41ELSE42 46 CLOSE:OPEN"ADRS.DO"FORINPUTAS1:PRINT@171,H;" Name "I:PRINT@211,STRING$(15,32):PRINT@251,STRING$(15,32) 47 LINE(66,39)-(155,56),1,B:PRINT@212,"";:LINEINPUT"";J:IFJ=""THEN47 48 FORP=1TOLEN(J):Q=ASC(MID$(J,P,1)):IFQ>96ANDQ<123THENMID$(J,P,1)=CHR$(Q-32) 49 NEXTP:CLS:PRINT@60,"Home Work" 50 IFEOF(1)THEN52ELSELINEINPUT#1,L:IFINSTR(L,J)<>0THEN51ELSE50 51 PRINTL:GOTO50 52 PRINT@252,H;" Another No.? "I;:J=INPUT$(1):IFINSTR("Yy",J)>0THEN46ELSECLOSE:RUN 53 C=STRING$(13,32):PRINT@52,C:PRINT@92,C:PRINT@132,C:PRINT@172,C:PRINT@212,C:PRINT@252,C:LINE(72,9)-(148,54),1,B:PRINT@173,"Date: ";:CLOSE:OPENBFORAPPENDAS1:OPEN"appt.do"FORINPUTAS2:LINEINPUT"";D 54 IFEOF(2)THEN37ELSELINEINPUT#2,L:PRINT#1,D" "L:GOTO54 55 CLS:N=0:A=" TOTAL =":M=" memory=":ONERRORGOTO77 56 PRINTH;" ABACUS "I;" to Printer:Y/N?";:C=INPUT$(1):GOSUB69:IFC="Y"ORC="y"THENR=1:PRINT"(PRINTER ON-LINE)":GOSUB76 57 LINEINPUT" Enter # ";G:IFG="M"ORG="m"THENP=NELSEP=VAL(G) 58 F=" ":X=P:T=P:GOSUB69:GOSUB75 59 PRINT"Function:":PRINT" <+><-> <^><%> ew nd":PRINTH;" memory

lus inus ancel "I:PRINT@240,"Select:<>" 60 F=INKEY$:IFF=""THEN60 61 IFF="P"ORF="p"THENN=N+T:GOTO68ELSEIFF="M"ORF="m"THENN=N-T:GOTO68 62 IFF="C"ORF="c"THENN=0:GOTO68ELSEIFF="N"ORF="n"THEN70:ELSEIFF="E"ORF="e"THENRUN 63 IFF="%"ORF="5"THEN71ELSEIFF="S"ORF="s"THEN73ELSEIFF="^"ORF="6"THEN74 64 IFF="X"ORF="x"ORF="*"ORF="8"THENF="x":GOTO66ELSEIFF="/"ORF="-"THEN66ELSEIFF="+"ORF="="ORF=CHR$(13)THENF="+" 65 GOTO66ELSEGOSUB69:GOTO59 66 GOSUB69:PRINT@248,"Enter # or M ("H;F;" memory "I;")":PRINT@88,F;:LINEINPUTG:IFG="M"ORG="m"THENP=NELSEP=VAL(G):GOSUB75 67 IFF="x"THENT=X*PELSEIFF="/"THENIFP=0THEN68ELSEIFX=PTHENT=1ELSET=X/PELSEIFF="-"THENT=X-PELSEIFF="+"THENT=X+P 68 GOSUB69:GOSUB76:GOTO59 69 CLS:X=T:PRINTH;M;I;N:PRINTA;T:RETURN 70 GOSUB69:GOSUB76:PRINT" Save ";H" memory"I":Y/N?";:K=INPUT$(1):PRINTK:T=0:IFK="N"ORK="n"THEN55ELSE56 71 CLS:X=T:P=0:GOSUB69:PRINTT"%";:INPUT" of what #";P:Q=T:T=(T/100)*P:IFP=0THENT=X 72 IFR=1THENLPRINTQ"% OF";P;"=";T:GOSUB69:GOTO59ELSE68 73 P=T:T=SQR(T):GOSUB69:PRINT@87,"(SQ. ROOT OF";P;")":IFR=1THENLPRINTT;"= SQ. ROOT OF";P:GOSUB76:GOTO59ELSE59 74 P=T:T=T*T:GOSUB69:PRINT@87,"(SQUARE OF";P;")":IFR=1THENLPRINTT;"= SQUARE OF";P:GOSUB76:GOTO59ELSE59 75 IFR=1THENLPRINT" ";F;P:RETURN 76 IFR=1THENLPRINT"TOT=";T;" MEM=";N:RETURNELSERETURN 77 CLS:PRINT@137,"OVERFLOW":SOUND1500,100:GOTO55 78 KEYOFF:D="":GOSUB82 79 Y=-INT((14-W)/12):Z=X-32074+INT(1461*(V+4800+Y)/4):Z=Z+INT(367*(W-2-12*Y)/12):N=Z-INT(3*INT((V+4900+Y)/100)/4):RETURN 80 DATAJanuary,31,February,28,March,31,April,30,May,31,June,30,July,31,August,31:DATASeptember,30,October,31,November,30,December,31,EOF,-1 81 LINE(6,47)-(137,56),1,B:PRINT@241,H;" Month/Year "I" ";:PRINT@253,"";:INPUT"";D 82 GOSUB79:RESTORE80:IFD=""THEND=DATE$:O%=VAL(MID$(D,4,2)):D=LEFT$(D,3)+RIGHT$(D,2) 83 P%=INSTR(D,"/"):IFP%<2ORP%>3ORP%=LEN(D)THENBEEP 84 W=VAL(LEFT$(D,P%-1)):V=VAL(RIGHT$(D,LEN(D)-P%)):X=1:IFW<1ORW>12ORV<0THENBEEP:GOTO81ELSEIFV<100THENV=V+1900 85 GOSUB79:FORP%=1TOW:READA,Q%:NEXTP%:IFW=2THENQ%=Q%-(0=VMOD4)+(0=VMOD100)-(0=VMOD400) 86 CLS:PRINT@280," next prev any tody retn";:KEYON:ONKEYGOSUB,,,93,91,81,78,95:LINE(6,0)-(137,7),1,BF:PRINT@2,H;A;:PRINT@17,V;I;:PRINT@42,"Su Mo Tu We Th Fr Sa":R%=N-7*INT(N/7):PRINTTAB(1);SPACE$(3*R%); 87 FORP%=1TOQ%:IFP%=O%THENPRINT" ";:PRINTH;ELSEPRINT" "; 88 PRINTUSING"##";P%;:IFP%=O%THENPRINTI; 89 R%=R%+1:IFR%>6ANDP%<>Q%THENPRINT:PRINTTAB(1);:R%=0 90 NEXTP%:LINE(6,7)-(137,56),1,B:GOSUB5 91 C=STR$(VAL(LEFT$(D,2))-1):C=RIGHT$(C,2)+"/"+RIGHT$(D,2):D=C:O%=0:IFVAL(LEFT$(D,2))=0THENC=STR$(12)+"/"+RIGHT$(STR$(VAL(RIGHT$(D,2))-1),2):D=RIGHT$(C,5) 92 GOTO82 93 C=STR$(VAL(LEFT$(D,2))+1):C=RIGHT$(C,2)+"/"+RIGHT$(D,2):D=C:O%=0:IFVAL(LEFT$(D,2))=13THENC=STR$(1)+"/"+RIGHT$(STR$(VAL(RIGHT$(D,2))+1),2):D=RIGHT$(C,5) 94 GOTO82 95 RUN