5 'addrp 6-3-85 10 'init 15 CLS:PRINT@45,"ADDRESS LABEL PRINT":PRINT@85,"USES DBNEW ADDRESS FILE":PRINT@125,"BY MARTIN HUYETT" 20 FORA=0TO800:NEXTA:CLS:CLEAR 1000:MAXFILES=2:DIMAD$(9) 30 FL=8:LM=10:A1$="1,2":A2$="3":A3$="4,5,6" 100 'defaults 110 CLS:PRINT@40,"Change label formatt defaults? (Y,N)":IN$=INPUT$(1):IF IN$="N"ORIN$="n"THENGOTO200 115 CLS:PRINT:INPUT"Lines/label:";FL 125 INPUT"Left margin:";LM:LM=LM+5 130 GOSUB610:LINEINPUT"Fields for First Line:(1,2)";A1$:GOSUB610:LINEINPUT"Fields for 2nd Line:(3,...)";A2$:GOSUB610:LINEINPUT"Fields for 3rd Line:(4,5,6,..)";A3$:CLS 200 'sel file 210 CLS:FILES:INPUT"Type filename:";ZF$:INPUT"If output file desired, type filename:";OF$:INPUT"Print to LCD,LPT,...: ";OP$:IF OP$=""THENOP$="lpt:" 215 CLS:INPUT"Type Address Selection String: ";AS$:CLS:PRINT@45,"Processing, Please wait..." 220 OPENZF$FORINPUTAS1:IFOF$<>""THENOPENOF$FOROUTPUTAS2:GOSUB650:ZF$=OF$:OF$="" 225 CLOSE:IFMID$(ZF$,4,1)=":"THENGOTO230ELSEGOTO240 230 CLS:PRINT@45,"Prepare '";ZF$;"' to be read":PRINT@85,"Any key when ready":Z9$=INPUT$(1):PRINT@125,"Reading '";ZF$;"'..." 240 OPENZF$FORINPUTAS1:OPENOP$FOROUTPUTAS2 250 'sel addr 260 IF OF$<>""THENGOTO290 265 IFAS$="code"ORAS$="CODE"THENGOTO700ELSELINEINPUT#1,IN$:IFINSTR(1,IN$,AS$)>0THENGOSUB300 270 IF EOF(1)THENCLOSE:MENUELSEGOTO265 290 LINEINPUT#1,IN$:GOSUB300:IFEOF(1)THENCLOSE:MENUELSE290 300 'load fields 310 FOR B=1TO7:GOSUB 660:AD$(B)=LEFT$(IN$,A-1):IN$=RIGHT$(IN$,LEN(IN$)-A):NEXTB:AD$(B)=IN$ 320 GOSUB 500 499 RETURN 500 'print addr 510 LL=FL:IN$=A1$:PR$="":GOSUB575:PRINT#2,TAB(LM);PR$:LL=LL-1 515 IN$=A2$:PR$="":GOSUB575:PRINT#2,TAB(LM);PR$:LL=LL-1 520 IN$=A3$:PR$="":GOSUB575:PRINT#2,TAB(LM);PR$:LL=LL-1:FORTL=LLTO0STEP-1:PRINT#2,CHR$(10):NEXTTL 530 RETURN 575 GOSUB660:IFA>0THENGOSUB590:GOTO575 580 IFLEN(IN$)>0THENGOSUB595:GOTO575 585 RETURN 590 PR$=PR$+AD$(VAL(LEFT$(IN$,A-1))):IN$=RIGHT$(IN$,LEN(IN$)-A):PR$=PR$+" ":RETURN 595 PR$=PR$+AD$(VAL(IN$)):IN$="":RETURN 600 'subroutines 610 CLS:PRINT"Fields available:":PRINT@40,"1=First Name":PRINT@80,"2=Last Name":PRINT@120,"3=Street Address":PRINT@160,"4=City" 615 PRINT@60,"5=state":PRINT@100,"6=zip":PRINT@140,"7=Salutation":PRINT@180,"8=Sel Code":RETURN 650 IFAS$="code"ORAS$="CODE"THENGOTO700ELSELINEINPUT#1,IN$:IFINSTR(1,IN$,AS$)>0THENPRINT#2,IN$ 652 IFEOF(1)THENRETURNELSE650 660 A=INSTR(1,IN$,","):RETURN 700 'code sel 710 W=0:X=0:Y=0:Z=0:M=8 715 CLS:PRINT@45,"ENTER SELECTION CODE":PRINT@85,"TYPE x FOR DON'T CARE" 720 PRINT@125,"TYPE 4 DIGITS: ";:INPUTC$:CLS:PRINT@45,"SELECTION CODE IS: ";C$ 725 PRINT@125,"CORRECT (y/n)? ";:A$=INPUT$(1):CLS:PRINT@45,"Processing, Please Wait...":IFA$="n"ORA$="N"THENGOTO715 730 IF EOF(1)THENCLOSE:MENUELSELINEINPUT#1,IN$:Y$=RIGHT$(IN$,4):X=0:W=0:Y=0:Z=0 740 IFLEFT$(C$,1)="x"ORLEFT$(C$,1)=LEFT$(Y$,1)THENW=1 745 IFMID$(C$,2,1)="x"ORMID$(C$,2,1)=MID$(Y$,2,1)THENX=1 750 IFMID$(C$,3,1)="x"ORMID$(C$,3,1)=MID$(Y$,3,1)THENY=1 755 IFRIGHT$(C$,1)="x"ORRIGHT$(C$,1)=RIGHT$(Y$,1)THENZ=1 760 IF W=1ANDX=1ANDY=1ANDZ=1THENGOTO770 765 IFOF$<>""ANDEOF(1)THENAS$="":RETURNELSEGOTO730 770 IFOF$<>""THENPRINT#2,IN$:IFEOF(1)THENAS$="":RETURNELSEGOTO730 775 GOSUB300:GOTO730