0 GOTO4207 15 ' 18 PRINT@303,E$+"pRec:";:PRINTUSING"####";RN;:PRINT" of ";:PRINTUSING"####";NR;:PRINTE$+"q";:CALL16949:RETURN 21 ' 24 'to call:set LL=legnth,pt=mem pos 27 X$="":X=VARPTR(X$):A=INT(PT/256):B=PT-A*256:POKEX,LL:POKEX+1,B:POKEX+2,A:RETURN 210 ' 213 FORI=1TOLEN(RE$):C=ASC(MID$(RE$,I,1)):IFC>96ANDC<123THENMID$(RE$,I,1)=CHR$(C-32):NEXTELSENEXT 216 RETURN 231 ' 234 'f()=fields to list, etc 237 NG=0:FORI=1TOMX:F(I)=0:NEXT:GOSUB630:INPUT"Field list(1,2,3,etc)";F(1),F(2),F(3),F(4),F(5),F(6),F(7),F(8),F(9),F(10),F(11),F(12),F(13),F(14),F(15) 240 CK=0:FORI=1TOMX:CK=CK+F(I):IFF(I)<0ORF(I)>NFTHENNG=1 243 NEXT:IFCK=0THENFORI=1TONF:F(I)=I:NEXT 246 RETURN 249 ' 252 'cf=expr field#,co=condition oper,cd$=condition string,ng=flag for bad cmd 255 NG=0:CF=0:CO=0:CD$="":CX$="":GOSUB630:INPUT"Search condition(1='XX')";CX$ 258 IFCX$=""THENRETURN 261 X1=INSTR(CX$,"<>"):IFX1THENCO=4:GOTO267 264 X1=INSTR(CX$,"<"):IFX1THENCO=1ELSEX1=INSTR(CX$,"="):IFX1THENCO=2ELSEX1=INSTR(CX$,">"):IFX1THENCO=3ELSENG=1:RETURN 267 CF=VAL(LEFT$(CX$,X1-1)):IFCF<0ORCF>NFTHENNG=1 270 IFCO=4THENCD$=MID$(CX$,X1+2)ELSECD$=MID$(CX$,X1+1) 273 IFLEFT$(CD$,1)="'"ANDLEN(CD$)>1THENCD$=MID$(CD$,2) 276 IFRIGHT$(CD$,1)="'"ANDLEN(CD$)>1THENCD$=LEFT$(CD$,LEN(CD$)-1) 279 IFMID$(F$(CF),12,1)="D"THENCD$=CD$+" ":CD$=MID$(CD$,7,4)+"/"+LEFT$(CD$,5) 282 RETURN 387 ' 390 'ng=0 if cond met 393 NG=1:IFCD$=""THENNG=0:RETURNELSEIFCF=0THENNG=1:V1=RN:V2=VAL(CD$):ONCOGOTO423,426,429,432 396 TY$=MID$(F$(CF),12,1):IFTY$="C"THENS1$=MID$(RC$,FP(CF),LEN(CD$)):ONCOGOTO408,411,414,417 399 IFTY$="N"THENV1=VAL(MID$(RC$,FP(CF),FL(CF))):V2=VAL(CD$):ONCOGOTO423,426,429,432 402 IFTY$="D"THEND1$=MID$(RC$,FP(CF),FL(CF)):GOSUB441:S1$=D2$:ONCOGOTO408,411,414,417 405 'string 408 NG=(S1$CD$)+1:RETURN 417 NG=(S1$<>CD$)+1:RETURN 420 'val 423 NG=(V1V2)+1:RETURN 432 NG=(V1<>V2)+1:RETURN 435 ' 438 'D1$=date passed to sub,D2$=date reformatted 441 D2$=RIGHT$(D1$,4)+"/"+LEFT$(D1$,5):RETURN 537 ' 540 'NR=#rec,SZ=rec size,NF=#fields,F$()=field data,RC$=records,FP()=field pos in rec,FL()=field lengths 543 CLOSE1:FN$=MID$(RE$,5):IFINSTR(1,FN$,".")THENFN$=LEFT$(FN$,INSTR(1,FN$,".")-1) 546 FN$=FN$+SPACE$(6):FN$=LEFT$(FN$,6):OPENFN$FORINPUTAS1:I=1 549 LINEINPUT#1,F$(I):IFF$(I)=CHR$(255)THENF$(I)="":NF=I-1:GOTO552ELSEI=I+1:GOTO549 552 FORI=1TONF:FL(I)=VAL(MID$(F$(I),17,2)):NEXT:FP(1)=1:FORI=2TONF:FP(I)=FP(I-1)+FL(I-1):NEXT:SZ=0:FORI=1TONF:SZ=SZ+VAL(MID$(F$(I),17,2)):NEXT 555 PT=63919:LL=220:GOSUB27:FORI=1TO220STEP11:CK$=MID$(X$,I,11):IFMID$(CK$,4,6)=FN$ANDASC(LEFT$(CK$,1))=194THENRP=ASC(MID$(CK$,2,1))+256*ASC(MID$(CK$,3,1)):I=220 558 NEXT 561 CLOSE1:OPENFN$FORINPUTAS1:OF=0 564 IFEOF(1)THEN570 567 RC$=INPUT$(1,1):OF=OF+1:IFRC$<>CHR$(255)THEN564ELSEOF=OF+2 570 CLOSE1:OPENFN$FORINPUTAS1:NR=0 573 IFEOF(1)THENCLOSE1:GOTO585ELSELINEINPUT#1,RC$ 576 IFRC$<>CHR$(255)THEN573 579 IFEOF(1)THENCLOSE1:GOTO585 582 LINEINPUT#1,RC$:NR=NR+1:PRINTE$"Q";:CALL16954:GOSUB18:GOTO579 585 CALL16954:PRINT@293,E$"p"FN$E$"q";:GOSUB18:IFNRTHENRN=1ELSERN=0 588 RETURN 629 ' 630 CLS:J=0:K=0:FORI=1TOMX:IFI=6THENJ=0:K=13ELSEIFI=11THENJ=0:K=26 633 PRINT@K+J,USING"##";I;:PRINTLEFT$(F$(I),10):J=J+40:NEXT:PRINT:LINE(0,40)-(239,40),1:RETURN 4003 ' 4006 MAXFILES=1:MENU 4009 ' 4012 BEEP:PRINT"Invalid input.":FORT=1TO1000:NEXT:RUN 4204 ' 4207 SCREEN0:CLS:CALL17034:PRINTCHR$(27)"Q"CHR$(27)"q":LINE(1,3)-(238,35),1,B:PRINT@54,"DATAbee LABEL":PRINT@97,"9/8/88":PRINT@123,"Copyright 1988 by Howard H. Sprow 4210 PRINT@280,CHR$(27)"pCommand Line| | ";:CALL16949 4213 CLEAR1000:MAXFILES=1:MX=15:DIMF$(MX),FT$(MX),F(MX),FP(MX),FL(MX),CM$(10):R1$=CHR$(13):Q$=CHR$(34):E$=CHR$(27):ONERRORGOTO4249 4216 CALL16954:GOSUB18:PRINT@240,E$"qUSE (ENT=Menu):";:LINEINPUT"";RE$:IFRE$=""THEN4006ELSEGOSUB213:IFRE$="MENU"THEN4006ELSERE$="USE "+RE$:GOSUB543:CALL16954:GOSUB18:DIMST$(NR) 4219 PRINT@240,"";:GOSUB237:IFNGTHEN4219 4222 GOSUB255:IFNGTHEN4222 4225 INPUT"Skip lines per label(default:1)";SK 4228 CLOSE1:OPENFN$FORINPUTAS1 4231 LINEINPUT#1,RC$:IFRC$<>CHR$(255)THEN4231 4234 IFEOF(1)THENCLOSE1:GOTO4006 4237 IFINKEY$=CHR$(27)THEN4006ELSELINEINPUT#1,RC$:GOSUB393:IFNGTHEN4237 4240 FORI=1TOMX:IFF(I)THENPRINTMID$(RC$,FP(F(I)),FL(F(I))):LPRINTMID$(RC$,FP(F(I)),FL(F(I))) 4243 NEXT:FORI=1TOSK:PRINT:LPRINT:NEXT:GOTO4234 4246 ' 4249 PRINT:PRINT"Error"ERR"Line"ERL:FORT=1TO1000:NEXT:RUN