home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
ftp.whtech.com
/
ftp.whtech.com.tar
/
ftp.whtech.com
/
club100
/
bus
/
dbnew.ba
< prev
next >
Wrap
Text File
|
2006-10-19
|
14KB
|
307 lines
0 'DBNEW.BA Bob Ripley, 8140 Ammonette Drive, Richmond Va. 23235
1 '804-272-1560 For personal use only. Commercial rights may be purchased
2 'by sending $10 to the above address for each machine on which this
3 'program is used.
4 'CLUB 100 Library - 415/939-1246 BBS, 937-5039 NEWSLETTER, 932-8856 VOICE
5 SCREEN,0:CLS:PRINT"DBNEW":GOTO9010
11 IFCQ=0THENCO=1:QQ(II)=1:LN(II)=LEN(A(Q(I),II))
12 IFQQ(II)>LN(II)ORQQ(II)=0THEN A(C,II)="":GOTO40
15 IFLEFT$(A(Q(I),II),1)=" "THENLN(II)=LN(II)-1:A(Q(I),II)=RIGHT$(A(Q(I),II),LN(II))
20 QW=JJ(II)+QQ(II)
23 FORJH=QWTOQQ(II)STEP-1
24 A1$=MID$(A(Q(I),II),JH,1):IFA1$=""ORA1$=" "GOTO32
30 NEXT:PZ=QW-1:PX=QW:GOTO33
32 PZ=JH-1:PX=JH+1:JH=QQ(II):NEXT
33 A(C,II)=MID$(A(Q(I),II),QQ(II),PZ-QQ(II)+1):QQ(II)=PX:IFLN(II)>PZTHENCO=1
40 PRINT#1,USINGG$(II)+DH$;A(C,II);SPACE$(DH);:RETURN
100 A2="":CD=1:S=2:L!=VARPTR(A2):POKEL!,205:POKEL!+CD,189:POKEL!+S,249
500 FG$=FS$+STRING$(6-LEN(FS$),32)+"DO
600 LL=INSTR(1,A2,FG$)-1606:FG$="":A2="
710 PRINT@40,"GET RCDS";
720 ML=PEEK(LL):MH=PEEK(LL+1):Q=256:Q1=255:P=1:ST=0
740 FORI=STTOI4:PRINT@60,I+1;:GOSUB750:ML=ML+1:IFML>Q1THENMH=MH+1:ML=ML-Q
745 NEXT:S=I4:RETURN
750 FORII=0TOCC:J=VARPTR(A(I,II)):POKEJ,Q1:POKEJ+1,ML:POKEJ+2,MH
770 IFII<CCTHENK=INSTR(1,A(I,II),",")ELSEK=INSTR(1,A(I,II),CHR$(13))
775 IFK=0THEN11000
780 POKE(VARPTR(A(I,II))),(K-1):ML=ML+K:IFML>Q1THENMH=MH+1:ML=ML-Q
785 IFINSTR(1,A(I,II),",")>0THEN11000
790 NEXT:RETURN
810 PRINT"SORTING":M=S-3:Q2=Q:Q=Q1
820 M=M/2:PRINTM:IFM=0THENQ=Q2:RETURN
840 K=S-M:J=4
850 I=J
860 L=I+M
865 IF(N1$=NANDA(Q(I),Q)>A(Q(L),Q))ORN1$=YANDVAL(A(Q(I),Q))>VAL(A(Q(L),Q))THEN910
880 J=J+1:IFJ>KTHEN820
900 GOTO850
910 JJ=Q(I):Q(I)=Q(L):Q(L)=JJ
920 I=I-M:IFI<4THEN880
930 GOTO860
950 IT=I:IFUR$=YTHENI=C+1ELSEI=C-1
955 IFT$=YTHENNC$=N
957 FORU=1TOSS:PC=PC+1:GOSUB4020:NEXTU:I=IT:IFNC$=NTHENPRINT #1,STRING$(CT-1,"-");SPACE$(DH):NC$=Y:RETURNELSENC$=Y:RETURN
1000 ML=0:CLOSE:IF(W=2ORW=3ORW=9)AND(P$=BB(0)ORP$=BB(3))THENGOSUB8200
1002 GOSUB9300
1003 GOSUB1005:GOTO1190
1005 CLS:PRINTTAB(11)"PRINT MENU"
1100 PRINTS+1" RECS :"CC+1" FLDS :"C-5" MAXRECS
1110 PRINT"1) SORT 2) SEARCH 3) FORMAT PRINT
1120 PRINT"4) OPTION 5) 100 MENU 6) PRT SETUPS
1140 PRINT"7) MATH ENABLED? '";T$;"' 8) ENTER DATA
1150 PRINT"9) UNFORMATTED PRINT";:RETURN
1190 GOSUB1250
1210 UL$="9":LL$="1":BEEP:GOSUB6210:CLS:CLOSE
1215 Q3=W:IFW=4ORW=6ORW=8THENPRINT CHR$(27);"U":CLS:KEY OFF
1220 ONWGOSUB2010,3610,3610,5930,1400,6010,1310,8010,4510:GOTO1000
1250 DV$=N
1253 PRINT CHR$(27)"U"CHR$(27)"K";
1255 PRINTCHR$(27);"Y) ";:FORI8=0TO5:PRINTBB(I8)SPACE$(1);:NEXT:PRINTCHR$(27);"Y)";CHR$(32+I9*5);NO$BB(I9)OF$;:IFI9=2ORI9=4THENDV$=YELSEP$=BB(I9)
1285 PRINTCHR$(27)"T";:CLOSE:IFDV$=NTHENGOSUB5990
1287 KEYON:ONKEYGOSUB1350,1355,1360,1380,1395,1397:RETURN
1310 IFT$=YTHENT$=N:CT=0:RETURNELSET$=Y:CT=7+DH:RETURN
1350 I9=0:GOTO1250
1355 I9=1:GOTO1250
1360 CLS:IFCC>=PPTHENBEEP:PRINT"WARNING - NOT ALL COLUMNS PRINTED":BEEP
1370 I9=2:INPUT"CAS: FILENAME";FD$:P$=BB(2)+FD$:GOSUB1005:GOTO1250
1380 I9=3:GOTO1250
1395 CLS
1396 I9=4:INPUT"DISC FILENAME(EX 0:TEST)";P$:IF MID$(P$,2,1)<>":"THENGOSUB13000:GOTO1396ELSEGOSUB1005:GOTO1250
1397 I9=5:GOTO1250
1400 MENU
1700 PRINT"HOLD 'E' TO END LISTING":RETURN
1800 CLS:Q=2:PRINT"ERROR CODE "ERR" IN LINE "ERL:
1803 IFERR=7THENPRINT"OUT OF MEMORY"
1804 GOSUB1810:RESUME1000
1810 FORI6=1TO10:BEEP:NEXT:INPUTE$:RETURN
2010 PRINT"1) SORT":PRINT"2) SORT & PRINT":H3$="SORTED BY "
2020 LL$="1":UL$="2":GOSUB6210:ONWGOTO2025,2500
2025 GOSUB2030:GOSUB2031:GOSUB2040:GOSUB2050:GOTO2100
2030 PRINT:PRINT"COL #"TAB(10)"TITLE":RETURN
2031 FORII=0TOCC:GOSUB2033:PRINT:FORIL=1TOII*10:NEXT:NEXT:RETURN
2033 PRINTIITAB(6)A(0,II);:RETURN
2040 INPUT"COL.#";Q1
2042 IFQ1>CCORQ1<0THENGOSUB13000:GOTO2040
2045 RETURN
2050 PRINT"NUMERICAL COL.";:GOSUB13100:N1$=E$:RETURN
2100 H$=H3$+A(0,Q1):GOTO 810
2500 PRINT"ENTER COL.#";
2550 GOSUB 2030:FOR II=0TOCC:GOSUB2033
2580 GOSUB13100:BC(II)=E$
2590 IF BC(II)=YTHENPRINT" NUMERICAL COL.";:GOSUB13100:BD(II)=E$
2600 PRINT:NEXT
2700 FOR JI=0TOCC
2710 IF BC(JI)=NTHEN2900
2720 Q1=JI:N1$=BD(JI):GOSUB 810
2740 Q=3:H$=H3$+A(0,JI):GOSUB 3610:CLOSE
2900 NEXT:RETURN
3610 IFQ3<>2THENMT=0:GOTO3672
3612 INPUT"OPERATOR(AND/OR/NOT/<>)";E$:GOSUB5920:OP$=E$:IFINSTR(1,"<>ORANDNOT",OP$)=0ORLEN(OP$)=1THENGOSUB13000:GOTO3612ELSEGOSUB2030:GOSUB2031
3613 IFINSTR(1,"<>",OP$)=0THEN3620
3615 INPUT"COL. #, COMMA, & SMALLEST STRING TO BE FOUND";CL(0),B(0):IFCL(0)>CCTHENGOSUB13000:GOTO3615
3616 INPUT"LARGEST STRING";B(1):MT=0:M9=0:GOSUB2050:GOTO3672
3620 PRINT"INPUT COL. #, COMMA & SEARCH STRING. ENTER '0,END' TO END.
3630 FORMM=0TO9
3635 INPUTCL(MM),B(MM)
3637 IFCL(MM)>CCTHENGOSUB13000:GOTO3635
3640 IFB(MM)="END"THENMT=MM-1:M9=MT:GOTO3672
3650 NEXT
3660 MT=MM-1:M9=MM
3672 GOSUB5990
3675 FORJT=1TOWW:IF LB$=NTHENGOSUB3800
3680 IFOP$="AND"OROP$="NOT"THENMT=0
3700 FORML=0TOMT
3710 IF LB$=NTHENGOSUB4013ELSECLOSE:GOSUB4510
3715 IFDV$=YTHENST=4:HS$=Y
3720 NEXTML
3725 IFP$=BB(1)ANDFF$=YTHENPRINT#1,CHR$(12);
3727 NEXTJT:OP$="":RETURN
3800 GOSUB1700:PG=0:GT=0:FORI=0TOCC:T(I)=0:NEXT:I=0
3805 IFDV$=YTHENHS$=N:ST=0ELSEST=4
3810 PC=7:IFHS$=NTHENRETURNELSEIT=I:I=0:PG=PG+1:PRINT#1,:PRINT#1,"FILE '"FS$"' "H$SPACE$(2)DATE$SPACE$(2)TIME$" PAGE #"PG:PRINT#1,A(2,0):ELSEGOSUB4520:GOTO3840
3820 GOSUB3900:GOSUB4020:GOSUB3900
3840 I=IT:RETURN
3900 YY="=":GOTO3910
3905 YY="-":IFUR$=YORDV$=YORHL$<>"|"THENRETURN
3910 PRINT#1,STRING$(TC+CT,YY):RETURN
4013 FORI=STTOS
4014 IFI<4OROP$=""THEN4019ELSEIF(OP$="OR"ANDINSTR(1,A(Q(I),CL(ML)),B(ML))=0)THEN4260
4015 IFOP$="NOT"THENGOSUB4820:IFWA=0THEN4260
4016 IFOP$="AND"THENGOSUB4800:IFWA=0THEN4260
4017 IFOP$="<>"ANDN1$=NAND(B(0)>A(Q(I),CL(0))ORB(1)<A(Q(I),CL(0)))THEN4260
4018 IFOP$="<>"ANDN1$=YAND(VAL(B(0))>VAL(A(Q(I),CL(0)))ORVAL(B(1))<VAL(A(Q(I),CL(0))))THEN4260
4019 IFDV$=YTHENGOSUB4520:GOTO4230ELSEGOSUB4020:GOTO4230
4020 GOSUB4022
4021 IFCO=1THENCQ=1:PC=PC+1:GOSUB4020:CQ=0:GOTO4021ELSERETURN
4022 CO=0:T=TX
4030 FORII=0TOCC:IFINSTR(1,"+-/*",A(1,II))>0ANDCQ=0THENGOSUB4410
4050 IFPP$(II)=NTHEN4100
4065 IFLEN(A(Q(I),II))>JJ(II)ORCQ=1THENGOSUB11ELSEPRINT#1,USINGG$(II)+DH$;A(Q(I),II);DS$;
4080 IFCO=1ANDLEFT$(A(C,II),1)=" "THENA(C,II)=RIGHT$(A(C,II),LEN(A(C,II))-1)
4090 IFSV$=YANDII<CCTHENPRINT#1,
4100 NEXTII
4110 IFT$=NORCQ=1THENGOTO4120
4112 IFI>1ANDI<=STHENPRINT#1,USING"\ \";STR$(T);DS$;
4113 IFI=0THENPRINT#1,"RESULTS";
4115 IFI>3ANDHU%=0ANDI<C-1THENGT=GT+T
4117 IFHU%=1THENPRINT#1,USING"\ \";STR$(GT);DS$;
4120 IFNC$=YTHENPRINT#1,:RETURNELSERETURN
4230 PC=PC+1:IFI=0ANDML=0ANDDV$=NTHENPRINT#1,:PC=PC+1
4235 IF(SS>0ANDHS$=YORSS>0ANDI>1)ANDDV$=NTHENGOSUB950
4240 IFINKEY$="E"ORINKEY$="e"THENI=S:ML=MT
4245 IFDV$=YORI=STHEN4260
4250 IFPC=>PD-7THENGOSUB3905:PC=PC+1:FORPE=PCTOPD+1:PRINT#1,:NEXT:GOSUB3810
4260 NEXTI
4262 IFML=MTTHENGOSUB3905
4265 IFT$=NOR(W=2ANDML<>MT)THENRETURN
4270 FORII=0TOCC
4277 A(C-1,II)=STR$(T(II))
4280 NEXT:I=C-1:PRINT#1,STRING$((TC+CT+1)/2-4,61)"TOTALS"STRING$((TC+CT)/2-3,61)DL$
4285 HU%=1:GOSUB4020:HU%=0
4286 PRINT#1,STRING$((TC+CT+1)/2-5,61)"OPERATORS"STRING$((TC+CT)/2-5,61)DL$
4287 GT=0:PRINT#1,TX;
4290 FORII=0TOCC:A(C-1,II)="":NEXT:I=1:GOSUB4020
4295 RETURN
4410 TQ=VAL(A(Q(I),II)):TQ$=(LEFT$(A(1,II),1)):IFTQ$<>""THENBS%=ASC(TQ$):IFBS%<48ANDBS%>41ANDBS%<>44ANDBS%<>46THENONBS%-41GOSUB4470,4480,4480,4485,4485,4492
4420 T(II)=T(II)+TQ
4430 RETURN
4470 T=T*TQ:RETURN
4480 T=T+TQ:RETURN
4485 T=T-TQ:RETURN
4492 IFTQ=0THENRETURNELSET=T/TQ:RETURN
4510 GOSUB5990:IFLB$=NTHENST=0ELSEST=4
4513 GOSUB1700:FORI=STTOS
4514 IF(OP$="OR"ANDINSTR(1,A(Q(I),CL(ML)),B(ML))=0)OR(OP$="NOT"ANDINSTR(1,A(Q(I),CL(ML)),B(ML))>0)THEN4703
4515 IFOP$="AND"THENGOSUB4800:IFWA=0THEN4703
4518 IFPU$=YTHENGOSUB4720
4519 GOSUB4520:GOTO4700
4520 FORII=0TOCC:IFPP$(II)=NTHEN4600
4560 PRINT#1,SPACE$(TB);A(Q(I),II);:IFLB$=NANDII<PP-1THENPRINT#1,",";
4580 IFLB$=YTHENPRINT#1,
4600 NEXT
4620 IFLB$=NTHENPRINT#1,
4630 RETURN
4700 IFINKEY$="E"THENI=S
4701 IF PU$=YTHENFORI0=PPTOPZ:PRINT#1,:NEXT
4702 IFSS>0THENFORU=1TOSS:PRINT#1,:NEXT
4703 NEXT:IFLEFT$(P$,4)="COM:"THENPRINT#1,CHR$(26);
4710 RETURN
4720 IT=I:I=1:TB=0:GOSUB4520:TB=TG:I=IT:FORI0=1TO7:PRINT#1,:NEXT:RETURN
4800 FORI1=0TOM9:IFINSTR(1,A(Q(I),CL(I1)),B(I1))<>0THENWA=1:NEXT:RETURNELSEWA=0:I1=M9:NEXT:RETURN
4820 FORI1=0TOM9:IFINSTR(1,A(Q(I),CL(I1)),B(I1))>0THENWA=0:I1=M9:NEXT:RETURNELSEWA=1:NEXT:RETURN
5020 FORII=0TOCC:PRINT#1,A(Q(I),II);:IFII<CCTHENPRINT#1,",";ELSEPRINT#1,
5100 NEXT:RETURN
5810 CLS
5812 GOSUB5960:LINEINPUT#1,A
5813 CC=0:CP=0
5815 FORI=1TOLEN(A)
5820 IFMID$(A,I,1)=","THENJJ(CC)=I-CP-CC-1:CP=CP+JJ(CC):CC=CC+1
5840 NEXT:JJ(CC)=I-CP-CC-1:GOSUB6960:RETURN
5845 PRINT"LENGTHS - ";
5850 FORI=0TOCC:PRINT" FIELD"I"="JJ(I);:NEXT:A="
5862 PRINT:PRINT"TOTAL ="TC;:RETURN
5910 CLS:FILES:PRINT@280,"FILE .DO";:PRINT@284,;:INPUTE$:GOSUB5920:FS$=E$:RETURN
5920 FORIX=1TOLEN(E$):TW$=(MID$(E$,IX,1)):IFASC(TW$)>96ANDASC(TW$)<123THENMID$(E$,IX)=CHR$(ASC(TW$)-32)
5925 NEXT:RETURN
5930 CLS:PRINT"1) TITLE PRINTED "HS$
5933 PRINT"2) LINES SKIPPED "SS" UNDERLINE "UR$
5934 PRINT"3) FORM FEED "FF$" 4) 1 FLD/LINE "SV$
5936 PRINT"5) LINES/PAGE ="PD" 6) # OF COPIES"WW
5938 PRINT"7) FRE MEM & FLD SIZE 8) POSTCARD "PU$
5939 PRINT"9) ADRS. LABELS "LB$" 0) PRINT MENU ";
5942 LL$="0":UL$="9":GOSUB6210:CLS:IFW=0THENRETURN
5943 ONWGOSUB7000,7010,5950,5992,7020,5995,5944,6830,6820:GOTO5930
5944 GOSUB5845:PRINT
5945 PRINT"FRE(0)="FRE(0)" FRE STRG"FRE("");:GOTO8200
5950 IFFF$=YTHENFF$=N:RETURN:ELSEFF$=Y:RETURN
5960 OPENFS$FORINPUTAS1:RETURN
5970 OPENFS$FORAPPENDAS1:RETURN
5990 CLOSE:OPENP$FOROUTPUTAS1:RETURN
5992 IFSV$=NTHENSV$=Y:RETURNELSESV$=N:RETURN
5995 INPUT"# OF COPIES";WW:RETURN
6010 PRINT"0)PRINT MENU":PRINT"1)SPACES BETWEEN FIELDS ="LEN(DH$):PRINT"2)PRINTER SETUP
6040 PRINT"3)FIELDS PRINTED>";
6050 FORI=0TOCC:IFPP$(I)<>"N"THENPRINTI;
6060 NEXT:PRINT:PRINT"4)CRT"
6100 LL$="0":UL$="4":GOSUB6210:IFW=0THENRETURN
6110 ONWGOSUB6300,8500,6930,6250
6200 CLS:GOTO6010
6210 Q$=INKEY$:IFQ$=""THEN6210
6220 W=VAL(Q$):IFQ$<LL$ORQ$>UL$THEN6210ELSERETURN
6250 INPUT"SCREEN(0/1)";SZ%
6260 INPUT"WIDTH(40/80)";WD%:IF WD%<>40ANDWD%<>80THENPRINT"40 OR 80 ONLY":GOTO6260ELSE SCREENSZ%:WIDTH WD%:RETURN
6300 CLS:INPUT"ENTER NUMBER OF SPACES SEPARATING EACH FIELD";DH:DS$=SPACE$(DH):GOSUB6960:IFDH>1THENDH$="\"+SPACE$(DH-2)+"\":DL$=" ":RETURNELSEDH$="!
6310 LINEINPUT"FIELD SEPARATOR";DL$:RETURN
6820 GOSUB6930:IFLB$=NTHENLB$=Y:FF$=N:SS=6-PP:PD=10000:RETURNELSELB$=N:SS=0:FF$=Y:PD=66:RETURN
6825 RETURN
6830 IFPU$=NTHENPU$=Y:INPUT"LINES/PG (24/66)";PZ:PZ=PZ-14:TB=22:LB$=N:GOSUB6820:RETURNELSELB$=Y:GOSUB6820:TB=0:PU$=N:RETURN
6900 P$=CM$:RETURN
6930 PRINT"FIELDS PRINTED SELECTION":GOSUB2030
6940 PP=0:FORII=0TOCC:GOSUB2033:PRINT" PRINTED";
6942 GOSUB13100:PP$(II)=E$
6947 IFPP$(II)=YTHENPP=PP+1
6950 NEXT:GOSUB6960:RETURN
6960 TC=0:FORII=0TOCC:IFPP$(II)=YTHENTC=TC+JJ(II):IFII>0THENTC=TC+DH
6965 NEXT:IFT$="Y"THENCT=7+DH:RETURNELSECT=0:RETURN
7000 IFHS$=YTHENHS$=N:RETURNELSEHS$=Y:RETURN
7010 INPUT"# SKIPPED";SS:CLS:PRINT"UNDERLINE";:GOSUB13100:UR$=E$:IFUR$=YANDSS=0THENSS=1
7017 RETURN
7020 INPUT"LINES/PAGE(EX 66,87)";PD:RETURN
8010 ST=S+1:Q=256:Q1=255
8050 CLS:FORI=S+1TOC-2
8052 FORII=0TOCC:A(I,II)=A(I-1,II):NEXT:CLS:GOSUB12100
8055 PRINT:PRINT"ENTER 'END' TO EXIT
8057 PRINT"RECORD # "I:TZ=CC
8060 FORII=0TOCC
8070 PRINTUSING"\\"+G$(II)+"!";" ";A(0,II);CHR$(239)
8080 TR=CSRLIN:PRINT" "A(I,II):PRINTCHR$(27);"Y";CHR$(TR+32);" ";
8090 INPUTA(I,II):IFA(I,II)="END"ORA(I,II)="end"THENS=I-1:I=C-2:II=CC:NEXT:NEXT:RETURN
8100 TZ=TZ+LEN(A(I,II))+1:CLS:NEXT:GOSUB12100
8110 IFTZ>255THENCLS:PRINT"RECORD IS "TZ-255" CHAR. TOO LONG -REENTER":BEEP:GOTO8057
8115 OPENFS$FORAPPENDAS1:PRINT:PRINT"IS THIS OK";:GOSUB13100:CLS:IFE$=NTHENCLOSE:PRINT"'END' TO DELETE":PRINT"EDITING ";:GOTO8057
8122 PRINT"WAIT":GOSUB5020:CLOSE
8160 LL=VARPTR(A(I-1,CC)):P=1:MH=PEEK(LL+2):ML=PEEK(LL+1):ML=ML+LEN(A(I-1,CC))+2:IF ML>Q1THENMH=MH+1:ML=ML-Q
8190 GOSUB750:NEXT:S=I:PRINT"ARRAY FULL.":GOTO8200
8200 INPUT"PRESS ENTER";E$:RETURN
8500 K$="":PRINT"ENTER PRINTER CODES & ENTER AFTER EACH. ENTER '0' TO END
8520 INPUTK1:IF K1=0THENLPRINTK$:RETURNELSEK$=K$+CHR$(K1):GOTO8520
9010 CLEAR 100:YR$="86":PRINT"YEAR IS "YR$
9014 D$=DATE$:MID$(D$,7)=YR$:DATE$=D$
9015 REM COPYRIGHTED JAN. 1984 ROBERT L. RIPLEY
9019 CLEAR900:MAXFILES=1
9021 DEFINTC,I,J,K,L,M,Q,S:DEFSTRA,B,Y,N
9022 DIMJJ(15),BB(5),PP$(15)
9024 SS=0:PD=66:DH=1:DH$="!":DS$=SPACE$(DH):TG=20
9025 DATA LCD,LPT,CAS,CRT,DSK,"COM:88N1E
9030 FORI=0TO5:READBB(I):IFI<5THENBB(I)=BB(I)+":
9040 NEXT:P$=BB(0)
9050 WW=1:ONERRORGOTO1800
9060 T$=N:GOSUB5910:GOSUB5810:PRINT:INPUT"ENTER MAX. # OF RECORDS TO BE ADDED";I3
9065 CLS:PRINT"CNT RCDS"
9070 FORI=0TO5000:PRINT@20,I;:IFEOF(1)GOTO9092
9080 LINEINPUT#1,A:I9=LEN(A):IFI9>254ORI9=0THEN14000
9085 NEXT:STOP
9092 PRINT@20,I+1:I9=0:S=I:I4=I:C=I3+I+10:I=5000:NEXT
9093 DIMQ(C+1):FORI=0TOC+1:Q(I)=I:NEXT
9100 DIMA(C+1,CC),G$(CC),T(CC),BC(CC),BD(CC),QQ(CC),LN(CC)
9105 Y="Y":N="N":T$=N:SV$=N:HS$=Y:LB$=N:FF$=Y:PU$=N:PP=CC+1:UL$=N:DV$=N:NC$=Y:UR$=N
9115 GOSUB100:TX=VAL(A(3,0))
9120 FORI=0TOCC:PP$(I)=Y
9125 IFLEN(A(0,I))<2THENG$(I)="\\"ELSEG$(I)="\"+STRING$(LEN(A(0,I))-2,32)+"\"
9130 A(C+1,I)=STRING$(JJ(I),"-"):NEXT
9150 IFRIGHT$(A,LEN(A(S,CC)))<>A(S,CC)THENGOTO11000
9155 NO$=CHR$(27)+"p":OF$=CHR$(27)+"q
9160 A2="":A="":Q=5:GOTO1000
9300 IFFRE(0)<800ORFRE("")<255THENCLS:PRINT"LOW MEMORY":GOTO1810ELSERETURN
10000 E$=INKEY$
10010 GOTO10000
11000 CLS:PRINT"WAIT":BEEP:CLOSE:GOSUB5960:FORI=0TOI4:FORII=0TOCC
11010 INPUT#1,A:IFA<>A(I,II)THENGOSUB12000
11020 NEXT:NEXT:RETURN
12000 BEEP:CLS::PRINT"INCORRECT # OF COMMAS OR '' IN RECORD #"I+1:BEEP:GOSUB8200:GOSUB12100:END
12100 FORII=0TOCC:PRINTA(I,II);:IFII<CCTHENPRINT",";
12110 NEXT:RETURN
13000 PRINT"BAD INPUT - REENTER":RETURN
13100 PRINT"(Y/N)?";:E$=INPUT$(1):GOSUB5920:PRINTE$:IFINSTR(1,Y+N,E$)=0THENBEEP:GOSUB13000:GOTO13100ELSERETURN
14000 BEEP:PRINT:PRINT"LENGTH OF RECORD #"I+2" TOO LONG OR 0":BEEP:GOSUB8200:PRINTA