home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
ftp.whtech.com
/
ftp.whtech.com.tar
/
ftp.whtech.com
/
club100
/
utl
/
utl19.ba
< prev
next >
Wrap
Text File
|
2006-10-19
|
4KB
|
78 lines
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 <Caps!>: ";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$<C$THEN25
24 CLS:PRINT@122,"WARNING - Change Bank 1 Batteries !!":FORX=1TO20:BEEP:FORY=1TO50:NEXTY,X
25 A$="":B=VARPTR(A$):POKE B,211:POKE B+1,128:POKE B+2,199:CALL B
26 SCREEN,0:CLEAR2000
27 MAXFILES=2:DEFINTA-Z:DEFSTRR-Z:U=CHR$(8):ONERRORGOTO10
28 CLS:PRINT:FILES:PRINT:INPUT"Name of .DO file";X:IFX=""THEN50
29 I=INSTR(X,"."):IFI=0THENX=X+".DO":Y="OLD.DO":Z="TEMP.DO":NAMEX$ASY:N=-1:I=0
30 S(I)="":CLS:PRINT@40,I+1;U;": Replace what? ";:LINEINPUTS(I):IFS(I)=""THEN36
31 PRINT@80,I+1;U": Replace it with? ";:LINEINPUTR(I)
32 IFR(I)=""THENPRINT@201,"Delete "S(I)":Sure?":GOTO33ELSE34
33 T=INKEY$:IFT="N"ORT="n"THENPRINT@200,SPACE$(80);:GOTO31ELSEIFT="Y"ORT="y"THEN34ELSE33
34 N=I:PRINT@292,"";:IFI<9THENPRINT" Another?";:GOTO35ELSEPRINT" 10 strings max.:Proceeding";:GOSUB49:GOTO37
35 T=INKEY$:IFT="Y"ORT="y"THENI=I+1::PRINT"";:GOTO30ELSEIFT="N"ORT="n"THEN37ELSE35
36 IFN<0THEN47ELSE30
37 FORI=0TON:CLS:PRINT@52," Working";I+1:OPENYFORINPUTAS1:OPENZFOROUTPUTAS2
38 IFEOF(1)THEN45
39 LINEINPUT#1,W:K=LEN(W)
40 J=INSTR(1,W,S(I)):IFJ=0THEN43
41 C(I)=-1:PRINT#2,LEFT$(W,J-1);R(I);
42 W=MID$(W,J+LEN(S(I))):GOTO40
43 IFK=255THENPRINT#2,W;ELSEPRINT#2,W
44 GOTO38
45 CLOSE:IFC(I)=0THENGOSUB48
46 KILLY:NAMEZ$ASY:NEXTI
47 NAMEY$ASX:GOTO2
48 CLS:BEEP:PRINT:PRINT"No ";S(I);" in ";X:GOSUB49:RETURN
49 FORA=1TO999:NEXT:RETURN
50 MAXFILES=1:GOTO2
51 CLS:MAXFILES=2:CLEAR2000:FILES:A$="Which file to sort: ":GOSUB66
52 INPUTF$:IFF$=""THEN2ELSEIFMID$(F$,LEN(F$)-2,1)<>"."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