5 REM COPYRIGHT 1994 - COMPUTE PUBLICATIONS INTL. LTD. - ALL RIGHTS RESERVED 10 CLR:N=224:M=74:DIMA$(250):PRINT CHR$(14):S$="":N$="[147]":DR=8 15 POKE53281,6:POKE53280,6:POKE646,1 20 PRINT N$S$S$:H$="***** [212][200][197] [204][201][211][212][205][193][203][197][210] *****":L=LEN(H$):TA=(40-L)/2-1 30 FOR H=L TO 1 STEP-1:H1$=" "+MID$(H$,H,1) 40 IF H1$<>" "THEN FOR HH=1 TO H:PRINTTAB(TA+HH-1)H1$"[145]":NEXT 50 NEXT:PRINT S$S$ 60 PRINTTAB(6)"[208]RESS [204] TO [204]OAD A [198]ILE" 70 PRINTTAB(6)"[208]RESS [197] TO [208]ROCEED TO [197]NTRY" 80 GET L$:IF L$="E"THEN120 90 IF L$<>"L"THEN80 100 GOSUB1070:IF K<1THEN60 110 GOTO340 120 PRINT N$TAB(6)S$"[197]NTER A [212]ITLE FOR YOUR [204]IST" 130 PRINTTAB(4):INPUTC$:IF C$=""THEN120 140 PRINT N$"[204][201][205][201][212][211]:"N"ENTRIES -"M"CHARACTERS EACH"; 150 PRINT"[213]SE [201][206][211][212]-[196][197][204] TO [195]ORRECT IN CURRENT ENTRY"; 160 PRINT"[208]RESS ^ ON BLANK LINE TO [197]ND ENTRY MODE" 170 LL=0:K=K+1:A$(K)="":PRINT"[157]"K"[157]-";:IF K<10THEN PRINT" "; 180 IF K<100THEN PRINT" "; 190 PRINT"[164][157]";:GET A$:IF A$=""THEN190 200 LL=LEN(A$(K)):IF A$=CHR$(20)AND LL<1OR A$=CHR$(34)THEN190 210 IF A$=CHR$(20)THEN A$(K)=LEFT$(A$(K),LL-1):GOTO270 220 IF A$=CHR$(13)AND LL<1 OR A$=CHR$(19)THEN190 230 IF A$=CHR$(13)THEN PRINT" ":GOTO290 240 IF ASC(A$)<32 OR ASC(A$)>96AND ASC(A$)<191THEN190 250 IF LL>M-1THEN190 260 A$(K)=A$(K)+A$ 270 PRINT A$;:IF A$="^"AND LL=0THEN A$(K)="":K=K-1:GOTO310 280 GOTO190 290 IF K=N THEN310 300 GOTO170 310 PRINT N$TAB(11)S$K"[197]NTRIES [205]ADE" 320 PRINTTAB(13)S$"[208]RESS [193]NY [203]EY" 330 WAIT198,15:GET M$ 340 PRINT N$ TAB(2)S$"[208] = [208]RINTOUT (TURN PRINTER ON)" 350 PRINTTAB(5)"[196] = [196]ELETE [213]NWANTED [197]NTRIES" 360 PRINTTAB(8)"+ = [205]AKE [193]DDITIONS TO [204]IST" 370 PRINTTAB(11)"[214] = [214]IEW [195]OMPLETE [204]IST" 380 PRINTTAB(14)"[206] = [211]TART A [206]EW [204]IST" 390 PRINTTAB(17)"[193] = [193]LPHABETIZE [204]IST":PRINTTAB(20)"[211] = [211]AVE TO [196]ISK" 400 PRINTTAB(23)"[209] = [209]UIT" 410 GET P$:IF P$="+"THEN M=74:GOTO140 420 IF P$="S"AND K>1 THEN GOSUB880:GOTO340 430 IF P$="P" AND K>1THEN GOSUB540:GOTO340 440 IF P$="V"THEN GOSUB1290:GOTO340 450 IF P$="N"OR P$="Q"THEN1570 460 IF P$="D"THEN GOSUB1340:GOTO340 470 IF P$<>"A"THEN410 480 PRINT N$TAB(10)S$"[215]AIT - [193]LPHABETIZING" 490 FOR J=K TO 2STEP-1:R$=A$(1):F=1 500 FOR L=2 TO J 510 IF A$(L)>R$THEN R$=A$(L):F=L 520 NEXT:A$(F)=A$(J):A$(J)=R$ 530 NEXT:PRINTTAB(8)"[145][193]LPHABETIZING [195]OMPLETE":FOR X=1 TO 1200:NEXT:GOTO340 540 PRINT N$S$"[208]LEASE [215]AIT: [195]HECKING FOR [204]ONGEST [197]NTRY" 550 LE=0:FOR X=1 TO K:LL=LEN(A$(X)) 560 IF LL>LE THEN LE=LL 570 NEXT:IF LE>38 OR K<10THEN NC=1:M=74:GOTO690 580 PRINT N$S$" [195][200][207][207][211][197] [206][213][205][194][197][210] OF [195]OLUMNS FOR [208]RINTOUT":PRINT" [206][207][212][197]: [195]HOICES"; 590 PRINT" ARE DETERMINED BY LONGEST"SPC(7)"ENTRY -"LE"CHARACTERS/SPACES" 600 PRINTTAB(11)"1 = [211]INGLE [195]OLUMN" 610 IF LE<39THEN PRINTTAB(11)"2 = [212]WO [195]OLUMNS":Y=2 620 IF LE<26THEN PRINTTAB(11)"3 = [212]HREE [195]OLUMNS":Y=3 630 IF LE<19THEN PRINTTAB(11)"4 = [198]OUR [195]OLUMNS":Y=4 640 GET NC$:NC=VAL(NC$):IF NC<1 OR NC>Y THEN640 650 IF NC=1THEN M=74 660 IF NC=2THEN M=38 670 IF NC=3THEN M=25 680 IF NC=4THEN M=18 690 PRINT N$S$" [198]ORM [198]EED WILL OCCUR WHEN ANY COLUMN"SPC(4)"EXCEEDS 56 ENTRIES" 700 PRINTTAB(7)S$"[208] = [195]ONTINUE WITH [208]RINTOUT":PRINTTAB(7)"[195] = [195]ANCEL" 710 GET H$:IF H$="C"THEN RETURN 720 IF H$<>"P"THEN710 730 MH=39:HH=MH-(LEN(C$)/2):HI=INT(HH) 740 PRINT N$TAB(13)S$"[208]RINTING...." 750 OPEN4,4,7:OPEN2,4 760 PRINT#4,SPC(HI);C$:PRINT#4:PRINT#4 770 TC=INT(K/NC):Z=K-(TC*NC):IF Z>0THEN TC=TC+1 780 FOR I=1 TO TC:IF I=57 OR I=113 OR I=169THEN PRINT#2,CHR$(12) 790 PI=M+2-LEN(A$(I)):PJ=M+2-LEN(A$(I+TC)):PK=M+2-LEN(A$(I+TC*2)) 800 IF NC=1THEN PRINT#4,A$(I):GOTO850 810 IF NC=2THEN PRINT#4,A$(I);SPC(PI);A$(I+TC):GOTO850 820 IF NC=3THEN PRINT#4,A$(I);SPC(PI);A$(I+TC);SPC(PJ);A$(I+TC*2):GOTO850 830 IF NC=4THEN PRINT#4,A$(I);SPC(PI);A$(I+TC);SPC(PJ);A$(I+TC*2); 840 PRINT#4,SPC(PK);A$(I+TC*3) 850 NEXT I:CLOSE4:CLOSE2 860 PRINTTAB(11)"[145][208]RINTOUT [195]OMPLETE" 870 FOR X=1 TO 2000:NEXT:RETURN 880 PRINT N$S$" [196]O YOU WANT TO VIEW THE [196]ISK [196]IRECTORY BEFORE"; 890 PRINT" MAKING [211]AVE?":GOSUB1560 900 GET D$:IF D$="Y"THEN GOSUB1510:GOTO920 910 IF D$<>"N"THEN900 920 PRINT N$S$" *** [208]RESS [210]ETURN [193]LONE TO [195]ANCEL ***" 930 PRINTTAB(6)S$"[197]NTER [198]ILENAME USE LOWER CASE":PRINT 940 PRINTTAB(11);:INPUT F$ 950 IF F$=""THEN RETURN 960 IF LEN(F$)>16THEN PRINTTAB(13)"[210]E-ENTER-[212]OO [204]ONG":GOTO940 970 PRINTTAB(10)S$"[211]AVING "F$:CR$=CHR$(13) 980 OPEN 15,8,15:PRINT#15,"S0:"F$ 990 OPEN2,8,2,"@0:"+F$+",S,W":GOSUB1260 1000 PRINT#2,K;CR$;C$ 1010 FOR I=1 TO K 1020 PRINT#2,CHR$(34);A$(I) 1030 NEXT:GOSUB1260 1040 CLOSE2:CLOSE15 1050 PRINTTAB(12)S$"[211]AVE [195]OMPLETED":FOR X=1 TO 1000:NEXT 1060 RETURN 1070 PRINT N$S$" [196]O YOU WANT TO VIEW THE [196]ISK [196]IRECTORY BEFORE [204]OADING?" 1080 GOSUB1560 1090 GET LD$:IF LD$="Y"THEN GOSUB1510:GOTO1110 1100 IF LD$<>"N"THEN1090 1110 PRINT N$S$" *** [208]RESS [210]ETURN [193]LONE TO [195]ANCEL ***" 1120 PRINTTAB(6)S$"[197]NTER [198]ILENAME USE LOWER CASE":PRINT 1130 PRINTTAB(11);:INPUT G$ 1140 IF G$=""THEN PRINT N$S$CHR$(14):RETURN 1150 PRINTTAB(10)S$"[204]OOKING FOR ";G$ 1160 OPEN 15,8,15 1170 OPEN2,8,2,"0:"+G$+",S,R":GOSUB1260 1180 INPUT#2,K,C$ 1190 FOR I=1 TO K 1200 INPUT#2,A$(I) 1210 GOSUB1260 1220 NEXT 1230 CLOSE2:CLOSE15 1250 RETURN 1260 INPUT#15,EN,EM$,ET,ES 1270 IF EN>1THENPRINT ,EM$ 1280 RETURN 1290 PRINT N$" [208]RESS [211]PACE [194]AR [212]O [211]TART/[208]AUSE [204]ISTING " 1300 GET M$:IF M$<>CHR$(32)THEN1300 1310 FOR I=1 TO K:GET M$:PRINT A$(I):IF M$=CHR$(32)THEN WAIT198,15:GET M$ 1320 FOR X=1TO100:NEXT:NEXT:PRINT:PRINTTAB(14)"[208]RESS [193]NY [203]EY":WAIT198,15:GET M$ 1330 RETURN 1340 GOSUB1500:A=1:AA=1:FOR I=1 TO K:PRINT I"[157]-"LEFT$(A$(I),34) 1350 IF I/22=INT(I/22)OR I=K THEN PRINT" "CHR$(19):POKE204,0:GOTO1380 1360 NEXT:IF Z$="^" OR K=0 THEN POKE204,255:RETURN 1370 GOTO1340 1380 GETZ$:IFZ$=CHR$(32)THEN AA=I+1:A=AA:GOSUB1500:GOTO1360 1390 IF Z$=""AND AA<>I AND AAI-21 THEN AA=AA-1:PRINT" [157][145][145]" 1420 IF Z$="^"THEN I=K:GOTO1360 1430 IF Z$=CHR$(4)THEN FOR Y=1TO38:PRINT" ";:NEXT:PRINT" ":GOTO1450 1440 GOTO1380 1450 A$(AA)="":P=1:FOR X=1 TO K 1460 IF A$(X)=""THEN1480 1470 A$(P)=A$(X):P=P+1 1480 NEXT:FOR J=P TO K:A$(J)="":NEXT:K=P-1 1490 I=K+1:GOTO1360 1500 PRINT" "N$"[211][208][193][195][197] [194][193][210]=LIST [195][212][210][204]/[196]=DELETE ^=CANCEL[146]":RETURN 1510 SYS57812"$",DR:POKE43,1:POKE44,192:POKE768,174:POKE769,167:SYS47003,1 1520 POKE782,192:SYS65493:SYS42291:LIST:POKE44,8:POKE768,139:POKE769,227 1530 PRINT:PRINTTAB(8)"[208]RESS [193]NY [203]EY" 1540 WAIT198,15:GET M$ 1550 RETURN 1560 PRINTTAB(17)"[217]ES/[206]O":RETURN 1570 PRINT N$S$:IF P$="Q"THEN PRINTTAB(17)"[209]UIT??" 1580 IF P$="N"THEN PRINTTAB(12)"[211]TART [206]EW [204]IST??" 1590 PRINTTAB(13)"[193]RE [217]OU [211]URE??":GOSUB 1560 1600 GET Q$:IF Q$="N"THEN340 1610 IF Q$="Y"AND P$="N"THEN10 1620 IF Q$="Y"AND P$="Q"THEN SYS64738 1630 GOTO1600