20 '(C)'83 Richard S.Ross 'MODEL 100' COMPANION' BOOK P.12 40 CLS:BEEP:A=5:LINE(A,A)-(239-A,63-A),1,B 50 PRINT@42,DATE$;" 'APTMNT' ";TIME$ 60 PRINT@9,"Appointment Reminder" 70 PRINT@122,"Compact iew Appointments LOAD" 80 PRINT@170,"dd Appointment" 90 PRINT@202," Ver. ist Appointments NOTE.DO" 100 PRINT@244,"6/88 uit"; 110 C$=INKEY$ 120 IFC$="L"ORC$="l"THEN 230 130 IFC$="V"ORC$="v"THEN 340 140 IFC$="A"ORC$="a"THEN 650 150 IFC$="Q"ORC$="q"THEN MENU 160 GOTO50 230 OPEN "NOTE.DO" FOR INPUT AS 1 240 CLS 250 PRINT@125," Type to termite Listing." 260 FORDLAY=1TO500:NEXT DLAY 270 CLS 280 X$=INKEY$ 290 IFEOF(1)ORX$="X"ORX$="x"THENCLOSE:GOTO40 300 LINEINPUT#1,A$:PRINTA$ 310 FOR DLAY=1TO1000:NEXTDLAY 320 GOTO 280 330 'View Aptmnts 340 MAXFILES=2:CLOSE 350 OPEN"note.do"FORINPUTAS1 360 OPEN"temp.do"FOROUTPUTAS2 370 FOUND=0 380 CLS 390 PRINT@127,"Date to be Viewed (MM/DD)" 400 PRINT@179,"or" 410 PRINT@209,"Phrase to be searched" 420 PRINT@288,"Press for today"; 430 PRINT@40,;:LINEINPUT"";VD$ 440 IFVD$=""THEN VD$=LEFT$(DATE$,5) 450 IFEOF(1)THEN 540ELSE LINEINPUT#1,NF$ 460 IFINSTR(NF$,VD$)=0THEN PRINT#2,NF$:GOTO450 470 FOUND=1 480 CLS 490 PRINT@80,NF$:BEEP 500 PRINT@248,"Delete this entry (Y/N)" 510 X$=INKEY$:IFX$=""THEN510 520 IFX$="N"ORX$="n"THENPRINT#2,NF$ 530 GOTO450 540 IFFOUNDTHEN600 550 CLS 560 PRINT@160,"No entry found for ";VD$ 570 FORDLY=1TO500:NEXTDLY 580 CLOSE 590 GOTO40 600 CLOSE 610 KILL"NOTE.DO" 620 NAME"TEMP.DO"AS"NOTE.DO" 630 GOTO40 640 'Additional aptmnt routine 650 CLEAR2000 660 Y$=STRING$(40," ") 670 S$="NOTE.DO" 680 CLS:PRINT@47,"Input Additional Appointment"; 690 PRINT@160,Y$; 700 PRINT@160,;:LINEINPUT "New Date (MM/DD): ";ND$ 710 IFLEN(ND$)<>5THEN690 720 PRINT@160,Y$ 730 PRINT@160,;:LINEINPUT"New Time (HH:MM: ";NT$ 740 IFLEN(NT$)<>5THEN720 750 PRINT@160,Y$ 760 PRINT@160,;:LINEINPUT"Appointment: ";NP$ 770 NE$=ND$+" "+NT$+" "+NP$ 780 'Count entry & detect duplication 790 COUNT=0:B=1:E=11 800 OPENS$FORINPUTAS1 810 IFEOF(1)THEN890 820 LINEINPUT#1,TRASH$ 830 IFNE$<>THASH$THEN870 840 CLS:PRINT@160,"Identical entry exists for ";NE$ 850 FORDLY=1TO1000:NEXTDLY 860 CLOSE:GOTO40 870 COUNT=COUNT+1 880 GOTO810 890 CLOSE1 900 OPENS$FORAPPENDAS1 910 PRINT#1,NE$:COUNT=COUNT+1 920 CLOSE1 930 CLS 940 PRINT@134,"Reorganizing" 950 PRINT@178,"File" 960 'READ FILE INTO ARRAY 970 OPENS$FORINPUTAS1 980 DIMW$(COUNT) 990 FORJ=1TOCOUNT 1000 LINEINPUT#1,W$(J) 1010 NEXTJ 1020 CLOSE1 1030 GOSUB1120:'SORT ARRAY' 1040 KILLS$ 1050 OPENS$FOROUTPUTAS1 1060 FORJ=1TOCOUNT 1070 PRINT#1,W$(J) 1080 NEXTJ 1090 CLOSE 1100 GOTO40 1120 PIVOT=COUNT 1130 PIVOT=INT(PIVOT/2) 1140 IFPIVOT=0THENRETURN 1150 T2=1 1160 T3=COUNT-PIVOT 1170 START=T2 1180 T4=START+PIVOT 1190 IF(MID$(W$(START),B,(E-B)+1))<(MID$(W$(T4),B,(E-B)+1))THEN1260 1200 TEMP$=W$(START) 1210 W$(START)=W$(T4) 1220 W$(T4)=TEMP$ 1230 START=START-PIVOT 1240 IFSTART<1THEN1260 1250 GOTO1180 1260 T2=T2+1 1270 IFT2>T3THEN1130 1280 GOTO1170 1290 RETURN 11101 110:'...SORT ROUTINE...