0 'UTL19.BA - BY PHIL WHEELER 1 'CLUB 100 LIBRARY - 415/939-1246 BBS, 937-5039 NEWSLETTER, 932-8856 VOICE 2 CLS:ONERRORGOTO10:PRINT:FILES:PRINT@280,"Name Kill Filn Sort Repl Dbas Bank Menu";:KEYON 3 ONKEYGOSUB4,5,13,51,26,6,22,10:A3$=INKEY$:IFA3$=CHR$(13)THEN10ELSE3 4 CLS:PRINT:FILES:LINEINPUT"reNAME which file?:";A$:IFA$=""THEN2ELSELINEINPUT"as what file?:";B$:NAMEA$ASB$:GOTO4 5 CLS:PRINT:FILES:LINEINPUT"KILL which file?:";C$:IFC$=""THEN2ELSEKILLC$:GOTO5 6 CLS:PRINT:FILES:LINEINPUT" DBASE File: *.DO : ";D$:IFD$=""THEN2 7 DEFINTA-Z:PR=1:PG!=0:FORN=0TO3:READX:POKEVARPTR(PG!)+N,X:NEXT 8 DATA235,195,116,91 9 FORI=1TOLEN(D$):POKE64984+I,ASC(MID$(D$,I,1)):NEXT:POKE64985+LEN(D$),0:CALLVARPTR(PG!),PR,64985 10 KEY8,"Menu"+CHR$(13)+CHR$(254)+CHR$(13)+CHR$(245)+CHR$(62)+CHR$(10)+CHR$(204)+CHR$(63)+CHR$(109)+CHR$(241)+CHR$(201) 11 MAXFILES=1:CLEAR256,MAXRAM:DATE$=LEFT$(DATE$,6)+"84" 12 A=64228:B=63066:POKEA,127:POKEA+1,248:POKEB,1:MENU 13 CLS:DEFINTA-Z:DEFSTRD-F:DIMF(23),A(23) 14 FORX=-1408TO-1639STEP-11:IFPEEK(X)THENFORZ=0TO7:F(Y)=F(Y)+CHR$(PEEK(X+3+Z)):NEXT:GOSUB21 15 NEXT:F(Y-1)="NonameBA":F(Y-2)="Paste BF":X=-1103:GOSUB21:Y=Y-1:X=Y\2 16 FORZ=0TOY-X:W=Z 17 IFA(W)>A(W+X)THENB=A(W):A(W)=A(W+X):A(W+X)=B:E=F(W):F(W)=F(W+X):F(W+X)=E:W=W-X:IFW>-1THEN17 18 NEXT:X=X\2:IFXTHEN16ELSEF(Y)="Reserved":F(Y+1)="File BF":A(Y+1)=A(Y)+MAXRAM-HIMEM:Y=Y+2:A(Y)=A(Y-1)+MAXFILES*267:Z=0 19 CLS:FORW=ZTO15+Z:PRINT@(W-Z)*20,LEFT$(F(W),6)"."RIGHT$(F(W),2);:PRINTUSING" #####";A(W+1)-A(W);:IFW+1=YTHENW=98 20 NEXT:E=INPUT$(1):Z=W:IFW=99THENCLEAR:GOTO2ELSE19 21 A(Y)=PEEK(X+2)*256+PEEK(X+1)-65536:Y=Y+1:RETURN 22 C$="84/09/01":REM Enter C$= 3 months after batteries installed. 23 D$=RIGHT$(DATE$,2)+"/"+LEFT$(DATE$,5):IFD$"."THENF$=F$+".DO" 53 ONERRORGOTO10:A$="Lines in Header ":GOSUB66:INPUTM:OPENF$FORINPUTAS1:FORJ=1TOM+1:LINEINPUT#1,Z$:NEXT 54 CLS:PRINT"----.----1----.----2----.----3----.----4";:PRINTZ$ 55 A$="Begin at position: ":GOSUB66:INPUTB:IFB=0THEN55 56 A$="End at position: ":GOSUB66:INPUTE:N=M+1 57 N=N+1 58 LINEINPUT#1,Z$:IFEOF(1)THEN59ELSE57 59 CLOSE:DIMD$(N):DIMY$(M):OPENF$FORINPUTAS1 60 IFM=0THEN62 61 FORJ=1TOM:LINEINPUT#1,Y$(J):NEXT 62 FORI=M+1TON:LINEINPUT#1,D$(I):NEXT:CLOSE1:GOSUB67:KILLF$:OPENF$FOROUTPUTAS1 63 IFM=0THEN65 64 FORJ=1TOM:PRINT#1,Y$(J):NEXT 65 FORI=M+1TON:PRINT#1,D$(I):NEXTI:CLOSE:GOTO2 66 PRINT@240,SPACE$(40);:PRINT@240,A$;:RETURN 67 Z5=N 68 Z5=INT(Z5/2):IFZ5=0THEN76 69 Z2=1:Z3=N-Z5 70 Z1=Z2 71 Z4=Z1+Z5 72 IF(MID$(D$(Z1),B,(E-B)+1))<(MID$(D$(Z4),B,(E-B)+1))THEN74ELSE73 73 Z6$=D$(Z1):D$(Z1)=D$(Z4):D$(Z4)=Z6$:Z1=Z1-Z5:IFZ1<1THEN74ELSE71 74 Z2=Z2+1 75 IFZ2>Z3THEN68ELSE70 76 RETURN