0 'TODO.PJP by Phil Pearsall [70476,1476] Adapted by Steve Sagman [72456,3325] 10 SCREEN,0:MAXFILES=2:CLEAR1000:DEFSTRA-M:B="note.do":OPENBFORAPPENDAS1:CLOSE:E=RIGHT$(DATE$,5):H=CHR$(27)+"p" 11 I=CHR$(27)+"q":P=42:CLS 15 GOSUB90:LOCATE0,7:PRINT"view entr phon alrm +-*/ cldr reln menu";:LOCATE1,0:PRINTH;" Appointments & To-Dos ";I 16 LINE(6,7)-(155,56),1,B 20 IFEOF(1)THEN30ELSEIFP>242THEN30ELSELINEINPUT#1,L:IFINSTR(L,E)<>0THEN25ELSEIFINSTR(L,"TO-DO")<>0THEN25ELSE20 25 LOCATEPMOD40,INT(P/40):PRINTMID$(L,7,23):P=P+40:GOTO20 30 A="alarm.do":LINE(161,0)-(233,56),1,B:LOCATE27,0:PRINTH;" Today is ":LOCATE27,3:PRINT"The Time is "; 31 LOCATE27,5:PRINT" Alarm ";I 33 LOCATE29,2:PRINTMID$(DATE$,4,5)+"/"+LEFT$(DATE$,2) 40 M=TIME$:K=LEFT$(TIME$,5):E=RIGHT$(DATE$,5):IFEOF(1)THENCLOSE:OPENAFORINPUTAS1 45 LINEINPUT#1,L:IFINSTR(L," ***")=0THEN50ELSEIFINSTR(L,K)=0THEN50ELSE55 50 IFINSTR(L,E)=0THEN65ELSEIFINSTR(L,K)=0THEN65 55 CLS:LOCATE7,5:PRINTH;" Press Any Key To Silence ";I 60 J=INKEY$:FORY=2000TO1000STEP-50:SOUNDY,1:NEXTY:SOUND9999,25:N=N+1:IFN=99THENRUNELSEIFJ=""THEN60ELSEFORR=1TO50000!:NEXT:RUN 65 IFM=TIME$THEN65ELSEIFINSTR(L,E)<>0ORINSTR(L," ***")<>0THENLOCATE30,6:PRINTMID$(L,8,5) 70 S=VAL(LEFT$(TIME$,2)) 71 IFS>12THENLOCATE27,4:PRINTSTR$(S-12);RIGHT$(M,6)ELSEIFS<10THENLOCATE27,4:PRINTSTR$(S);RIGHT$(M,6)ELSELOCATE28,4:PRINTM; 75 IFS>11THENLOCATE36,4:PRINT"PM";ELSEIFS<12THENLOCATE36,4:PRINT"AM"; 77 IFTIME$="00:00:01"THENRUNELSEGOSUB79 78 GOTO40 79 C$=INKEY$:Z=INSTR(" VvEePpAa++CcRrMm<<>>SsTtBb",C$)/2 80 IFZ=0THENRETURNELSEONZGOSUB100,200,300,400,500,600,700,81,630,634,606,600,700:RETURN 81 MENU 90 CLOSE:OPENBFORINPUTAS1:RETURN 100 GOSUB90:OPEN"t.do"FORAPPENDAS2:LOCATE17,1:PRINTH;" Select: "I:LOCATE17,2:PRINT" 1)Scan ":LOCATE17,3:PRINT" 2)MM/DD " 101 LOCATE17,4:PRINT" 3)Today ":LOCATE17,5:PRINT" 4)TO-DO ":LOCATE28,6:PRINTSPACE$(8) 102 LOCATE17,6:PRINTSTRING$(8,32):LOCATE20,6:PRINT"";:LINE(101,7)-(155,56),1,B 105 J=INKEY$:N=VAL(J):IFN<1ORN>4THEN105ELSEN=N:ONNGOSUB110,115,120,125 110 K="S":GOTO135 115 GOTO130 120 K=E:GOTO135 125 K="TO-DO":GOTO135 130 LINEINPUT"";K 135 IFEOF(1)THENCLOSE:KILLB:NAME"t.do"ASB:RUNELSELINEINPUT#1,L:IFINSTR(L,K)<>0ORK="S"THEN140ELSEPRINT#2,L:GOTO135 140 CLS:N=LEN(L):IFN<40THENLOCATE(40-N)/2,2:PRINTLELSELOCATE0,2:PRINTL 150 LOCATE13,6:PRINTH;" Delete (Y/N) "I;:J=INPUT$(1):IFINSTR("Yy",J)>0THEN135ELSEPRINT#2,L:CLS:GOTO135 200 LOCATE11,4:PRINTH;" Select:< > "I:LOCATE11,5:PRINT" o-Do ":LOCATE11,6:PRINT" ppointment" 201 LINE(66,39)-(155,56),1,B:CLOSE:OPENBFORAPPENDAS1 205 J=INKEY$:IFJ="a"ORJ="A"THEN210ELSEIFJ="t"ORJ="T"THEN220ELSE205 210 CLS:LOCATE12,0:PRINT"Today is "E:LOCATE12,1:PRINT"Time is "K:LOCATE11,3:PRINT"Date: Time: Appointment:":LOCATE11,4:PRINT; 215 LINEINPUT"";M:PRINT#1,M:CLS:LOCATE9,3:PRINTH" Another Appointment? "I;:J=INPUT$(1):IFINSTR("Yy",J)>0THEN210ELSE230 220 CLS:LOCATE11,3:PRINT;:LINEINPUT"To-Do:";M:PRINT#1,"TO-DO "M:CLS:LOCATE12,3:PRINTH" Another To-Do? "I; 225 J=INPUT$(1):IFINSTR("Yy",J)>0THEN220 230 GOSUB90:DIMA(100):CLS:LOCATE9,4:PRINTH" Reorganizing File "I:N=1:O=11:P=0 235 P=P+1:LINEINPUT#1,A(P):IFEOF(1)THEN240ELSE235 240 CLOSE1:GOSUB245:KILLB:OPENBFOROUTPUTAS1:FORQ=1TOP:PRINT#1,A(Q):NEXT:RUN 245 U=P 250 U=INT(U/2):IFU=0THENRETURNELSER=1:S=P-U 255 Q=R 260 T=Q+U:IF(MID$(A(Q),N,(O-N)+1))<(MID$(A(T),N,(O-N)+1))THEN270 265 G=A(Q):A(Q)=A(T):A(T)=G:Q=Q-U:IFQ<1THEN270ELSE260 270 R=R+1:IFR>STHEN250ELSE255 300 CLOSE:J="":OPEN"ADRS.DO"FORINPUTAS1:LOCATE11,4:PRINTH;" Name "I:LOCATE11,5:PRINTSTRING$(15,32): 301 LOCATE11,6:PRINTSTRING$(15,32) 302 LINE(66,39)-(155,56),1,B:LOCATE12,5:PRINT""; 303 J1=INKEY$:IFJ1=""THEN303 304 IFJ1=CHR$(13)THEN308 305 W=ASC(J1):IFW>96ANDW<123THENJ1=CHR$(W-32) 306 PRINTJ1;:J=J+J1 307 GOTO303 308 CLS:LOCATE20,1:PRINT"Home Work" 309 IFEOF(1)THEN315ELSELINEINPUT#1,L:IFINSTR(L,J)<>0THEN310ELSE309 310 PRINTL:GOTO309 315 LOCATE12,6:PRINTH;" Another No.? "I;:J=INPUT$(1):IFINSTR("Yy",J)>0THEN300ELSECLOSE:RUN 400 C=STRING$(14,32):LOCATE12,0:PRINTH;" ** Alarm ** "I:LOCATE12,1:PRINT" et ":LOCATE12,2:PRINT" ancel " 401 LOCATE12,3:PRINTC:LOCATE12,4:PRINTC:LOCATE12,5:PRINTC:LOCATE12,6:PRINTC:LINE(72,7)-(155,56),1,B 405 J=INKEY$:IFJ="s"ORJ="S"THEN410ELSEIFJ="c"ORJ="C"THEN430ELSE405 410 CLOSE:OPENAFORAPPENDAS1:LOCATE15,1:PRINT"aily":LOCATE15,2:PRINT"ingle" 415 J=INKEY$:IFJ="d"ORJ="D"THEN420ELSEIFJ="s"ORJ="S"THEN425ELSE415 420 LOCATE16,4:PRINT"Time:":LOCATE16,5:PRINT"";:LINEINPUT"";D:PRINT#1," *** "D:CLOSE:RUN 425 LOCATE13,4:PRINT"Date: Time:":LOCATE13,5:PRINT"";:LINEINPUT"";D:PRINT#1,D:CLOSE:RUN 430 CLOSE:OPENAFORINPUTAS1:OPEN"temp.do"FORAPPENDAS2 435 IFEOF(1)THENCLOSE:KILLA:NAME"temp.do"ASA:RUNELSELINEINPUT#1,L 440 LOCATE13,4:PRINTLEFT$(L,12):LOCATE12,6:PRINTH;" Cancel (Y/N) "I:J=INKEY$ 441 IFJ=""THEN440ELSEIFJ="y"ORJ="Y"THEN435ELSEPRINT#2,L:GOTO435 500 CLS:N=0:A=" TOTAL =":M=" memory=":ONERRORGOTO554 502 PRINTH;" ABACUS "I;" to Printer:Y/N?";:C=INPUT$(1):GOSUB532:IFC="Y"ORC="y"THENR=1:PRINT"(PRINTER ON-LINE)":GOSUB552 506 LINEINPUT" Enter # ";G:IFG="M"ORG="m"THENP=NELSEP=VAL(G) 508 F=" ":X=P:T=P:GOSUB532:GOSUB550 510 PRINT"Function:":PRINT" <+><-> <^><%> ew nd" 511 PRINTH;" memory

lus inus ancel "I:LOCATE0,6:PRINT"Select:<>" 512 F=INKEY$:IFF=""THEN512 514 IFF="P"ORF="p"THENN=N+T:GOTO530ELSEIFF="M"ORF="m"THENN=N-T:GOTO530 516 IFF="C"ORF="c"THENN=0:GOTO530ELSEIFF="N"ORF="n"THEN534:ELSEIFF="E"ORF="e"THENRUN 517 IFF="%"ORF="5"THEN538ELSEIFF="S"ORF="s"THEN542ELSEIFF="^"ORF="6"THEN546 518 IFF="X"ORF="x"ORF="*"ORF="8"THENF="x":GOTO520ELSEIFF="/"ORF="-"THEN520ELSEIFF="+"ORF="="ORF=CHR$(13)THENF="+" 519 GOTO520ELSEGOSUB532:GOTO510 520 GOSUB532:LOCATE8,6:PRINT"Enter # or M ("H;F;" memory "I;")":LOCATE8,2:PRINTF;:LINEINPUTG 521 IFG="M"ORG="m"THENP=NELSEP=VAL(G):GOSUB550 524 IFF="x"THENT=X*PELSEIFF="/"THENIFP=0THEN530ELSEIFX=PTHENT=1ELSET=X/PELSEIFF="-"THENT=X-PELSEIFF="+"THENT=X+P 530 GOSUB532:GOSUB552:GOTO510 532 CLS:X=T:PRINTH;M;I;N:PRINTA;T:RETURN 534 GOSUB532:GOSUB552:PRINT" Save ";H" memory"I":Y/N?";:K=INPUT$(1):PRINTK:T=0:IFK="N"ORK="n"THEN500ELSE502 538 CLS:X=T:P=0:GOSUB532:PRINTT"%";:INPUT" of what #";P:Q=T:T=(T/100)*P:IFP=0THENT=X 540 IFR=1THENLPRINTQ"% OF";P;"=";T:GOSUB532:GOTO510ELSE530 542 P=T:T=SQR(T):GOSUB532:LOCATE7,2:PRINT"(SQ. ROOT OF";P;")":IFR=1THENLPRINTT;"= SQ. ROOT OF";P:GOSUB552:GOTO510ELSE510 546 P=T:T=T*T:GOSUB532:LOCATE7,2:PRINT"(SQUARE OF";P;")":IFR=1THENLPRINTT;"= SQUARE OF";P:GOSUB552:GOTO510ELSE510 550 IFR=1THENLPRINT" ";F;P:RETURN 552 IFR=1THENLPRINT"TOT=";T;" MEM=";N:RETURNELSERETURN 554 CLS:LOCATE17,3:PRINT"OVERFLOW":SOUND1500,100:GOTO500 600 D="":GOSUB608 602 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 604 DATAJanuary,31,February,28,March,31,April,30,May,31,June,30,July,31,August,31 605 DATASeptember,30,October,31,November,30,December,31,EOF,-1 606 LINE(6,47)-(137,56),1,B:LOCATE1,6:PRINTH;" Month/Year "I;:LOCATE14,6:PRINTSPACE$(8) 607 LOCATE30,6:PRINTSPACE$(5);:LOCATE13,6:PRINT"";:INPUT"";D 608 GOSUB602:RESTORE604:IFD=""THEND=MID$(DATE$,4,3)+MID$(DATE$,7,2)+"/"+LEFT$(DATE$,2):O%=VAL(MID$(D,4,2)):D=LEFT$(D,3)+RIGHT$(D,2) 610 P%=INSTR(D,"/"):IFP%<2ORP%>3ORP%=LEN(D)THENBEEP 612 W=VAL(LEFT$(D,P%-1)):V=VAL(RIGHT$(D,LEN(D)-P%)):X=1 614 IFW<1ORW>12ORV<0THENBEEP:GOTO606ELSEIFV<100THENV=V+1900 616 GOSUB602:FORP%=1TOW:READA1,Q%:NEXTP%:IFW=2THENQ%=Q%-(0=VMOD4)+(0=VMOD100)-(0=VMOD400) 618 CLS:LOCATE0,7:PRINT" < > spcfy today back"; 620 LINE(6,0)-(137,7),1,BF:LOCATE2,0:PRINTH;A1;:LOCATE17,0:PRINTV;I; 621 LOCATE2,1:PRINT"Su Mo Tu We Th Fr Sa":R%=N-7*INT(N/7):PRINTTAB(1);SPACE$(3*R%); 622 FORP%=1TOQ%:IFP%=O%THENPRINT" ";:PRINTH;ELSEPRINT" "; 624 PRINTUSING"##";P%;:IFP%=O%THENPRINTI; 626 R%=R%+1:IFR%>6ANDP%<>Q%THENPRINT:PRINTTAB(1);:R%=0 628 NEXTP%:LINE(6,7)-(137,56),1,B:GOSUB30 630 C=STR$(VAL(LEFT$(D,2))-1):C=RIGHT$(C,2)+"/"+RIGHT$(D,2):D=C:O%=0 632 IFVAL(LEFT$(D,2))=0THENC=STR$(12)+"/"+RIGHT$(STR$(VAL(RIGHT$(D,2))-1),2):D=RIGHT$(C,5) 633 GOTO608 634 C=STR$(VAL(LEFT$(D,2))+1):C=RIGHT$(C,2)+"/"+RIGHT$(D,2):D=C:O%=0 636 IFVAL(LEFT$(D,2))=13THENC=STR$(1)+"/"+RIGHT$(STR$(VAL(RIGHT$(D,2))+1),2):D=RIGHT$(C,5) 638 GOTO608 700 RUN