0 'PRTEXT.BA - BY WOODS MARTIN 1 'CLUB 100 LIBRARY - 415/939-1246 BBS, 937-5039 NEWSLETTER, 932-8856 VOICE 2 MAXFILES=4:CLEAR2000:DEFINTA-Z:DEFSTRS:S=SPACE$(255):SE=CHR$(27):SY=SE+"Y":SR=CHR$(13)+CHR$(10):DIMSB(10,1):ONERRORGOTO93:PD=PEEK(MAXRAM):PD=-PD*(PD=195ORPD=73) 3 CLS:PRINT"PRTEXT v2.2a[c] 06/03/86 *HONOR SYSTEM*"SR"If you keep and use please mail $10 to:"SRTAB(13)"Woods Martin"SR" 5517 Sturbridge Houston TX 77056" 4 SF="":PA=0:GOSUB87:GOSUB91:SD=SI:CO=1:IFF=0THENSI="Number copies 1=":GOSUB84:CO=VAL(SI):CO=CO-(CO=0):ML=0:GOSUB34 5 FI=1:ST=SD:GOSUB42:PRINT"Printing Copy"CO:FL=66:PL=56:L0=10:LM=-10*(F<>1):IN=0:RM=75+L0*(F=1):LL=RM:LS=1:LC=1:PI=5:PS=0:PG=1:LF=1:P0=0:RF=1:UB=0:IB=0:DB=0:PX=0:PZ=0:SH="" 6 IFEOF(FI)THENGOSUB97:IFFI=1THENGOSUB32:CO=CO-1+ML:IFCOTHEN5ELSE45ELSEFI=1:GOTO6 7 ER=0:GOSUB31:IFIS=0THENGOSUB19:IFIP=0THEN15ELSE6ELSEIFASC(SS)=46ANDI0<255THENGOSUB58:IFERTHEN94ELSE6ELSEIFIS<255THEN9ELSEFORI=255TO1STEP-1:IFMID$(SS,I,1)=" "THENIZ=I:I=1 8 NEXTI:GOTO10 9 IFRF=0THENA=INSTR(SS,CHR$(9)):IFATHENSS=LEFT$(SS,A-1)+SPACE$(8-(A-1)MOD8)+MID$(SS,A+1):IS=LEN(SS):GOTO9 10 P0=1:IFRFANDIP=0ANDMID$(SS,IL+1,1)=" "THENIL=IL+1:GOTO10ELSEII=LM+IN+PP:IR=IL+LL-II-IP:IR=-IR*(IR=IS):IFIR=ISANDIZ=0ORRF=0THEN12ELSEFORI=IRTOIL+1STEP-1:IFMID$(SS,I,1)=" "THENIR=I-1:I=IL 11 NEXTI 12 IFIR+1=IZTHENGOSUB13:GOTO6ELSEGOSUB18:IFIR=ISTHEN6ELSEIL=IR:GOTO10 13 IFLL-IR+IL-II<10THENGOSUB18:IL=IR+1 14 IFIS-IL=0THENRETURNELSEMID$(S,IP+1)=MID$(SS,IL+1,IS-IL):IP=IP+IS-IL:IFIP>LL-IITHENIR=0:IL=0:GOSUB19:RETURNELSERETURN 15 IFLC+LS>PLTHENGOSUB35:GOTO6ELSEI=LS:GOSUB17:GOTO6 16 IFLC+I>PLTHENPRINT#2," "SB:LC=LC+1:GOSUB35:RETURN 17 FORI1=1TOI:PRINT#2,SB:NEXT:LC=LC+I:IFF=2THENPRINTSTRING$(I,10);:RETURNELSERETURN 18 MID$(S,IP+1)=MID$(SS,IL+1,IR-IL):LF=1 19 P=IP+IR-IL:IFP=0THENRETURNELSEGOSUB20:GOSUB26:PF=1:PP=0:IFPZ=0THENRETURNELSEMID$(S,1)=SZ:IP=PZ:PZ=0:RETURN 20 PW=LL-II:GOSUB24:TX=0:IFF ORPXTHENRETURN 21 SL=CHR$(154):SM=S0:SN=S1:TB=UB:GOSUB46:UB=TB:SL=CHR$(142):SM=S2:SN=S3:TB=IB:GOSUB46:IB=TB:SL=CHR$(149):SM=S4:SN=S5:TB=DB:GOSUB46:DB=TB:SL=CHR$(152):SM=S6:SN=S7:TB=AB:GOSUB23:AB=TB:SL=CHR$(153):SM=S8:SN=S9:TB=BB:GOSUB23:BB=TB:RETURN 23 GOSUB49:I=INSTR(MID$(S,1),SL):IFI=0THENRETURNELSETX=TX+T1+T2:MID$(S,I+T1+T2+1)=MID$(S,I+2):P=P+T1+T2-1:MID$(S,I+T1+1,T2)=SN:MID$(S,I+T1,1)=MID$(S,I+1,1):MID$(S,I,T1)=SM:GOTO23 24 IFML=0THENRETURNELSEPT=P:FORA=1TOMF:G=LEN(SB(A,0)):D=LEN(SB(A,1)):B=INSTR(LEFT$(S,P),SB(A,0)):IFBTHENP=P+D-G:MID$(S,1)=LEFT$(S,B-1)+SB(A,1)+MID$(S,B+G,P-B+G-D) 25 NEXT:IFP<=PWTHENRETURNELSEFORI=PTTO1STEP-1:IFMID$(S,I,1)=" "THENPZ=P-I:SZ=MID$(S,I+1,PZ):P=I-1:RETURNELSENEXT:PZ=P-PT:SZ=MID$(S,PT+1,PZ):P=PT:RETURN 26 IFRJTHENGOSUB50 27 I=INSTR(S,CHR$(255)):IFITHENMID$(S,I,1)=" ":GOTO27 28 I=LC+LS>PL:PRINT#2,SPACE$(II)LEFT$(S,P)STRING$((LS>1)*(LS-1)*(I=0),10)" "SB:LC=LC+1-(LS-1)*(I=0):IFITHENGOSUB35 29 IFF=2THENPRINTSPACE$(II-LM)LEFT$(S,P)STRING$((LS>1)*(LS-1)*(I=0),10)" " 30 IP=0:RETURN 31 I0=IS:IL=0:IR=0:IZ=0:IFI0<255ANDIPTHENGOSUB19:GOTO31ELSELINEINPUT#FI,SS:IS=LEN(SS):II=LM+IN:RETURN 32 I=FL-LC+1:IFLEN(SF)THENPRINT#2,SF;ELSEGOSUB17 33 PG=PG+1:LC=1:P0=1:IFPA=0THENRETURN 34 IFFTHENRETURNELSESA="Insert/Adjust paper ":GOSUB75:RETURN 35 IFLF=0THENRETURNELSEIFP0THENGOSUB32 36 IFLEN(SH)THENSA=SH:PN=INSTR(SA,"#"):IFPNTHENSA=LEFT$(SA,PN-1)+STR$(PG)+" "+MID$(SA,PN+1):GOSUB77ELSEGOSUB77 37 PF=0:LF=0:P0=1:IFLEN(SH)THENI=1:GOSUB17:RETURNELSERETURN 38 FI=4:IFML=0THENGOSUB41:IFKTHENML=1ELSEINPUT#4,MF:GOSUB39:ML=1:GOTO38 39 IFEOF(4)THEN45ELSEGOSUB31:IFASC(SS)=46THENK=1:ML=0:GOSUB58:K=0:RETURNELSESS=SS+"^":B=0:FORA=1TOMF:G=INSTR(B+1,SS,"^"):IFG=0THENSB(A,ML)=""ELSESB(A,ML)=MID$(SS,B+1,G-B-1):B=G 40 NEXT:FI=1:RETURN 41 GOSUB97:ST=SA:GOSUB42:RETURN 42 IFASC(ST)=32THENST=MID$(ST,2):GOTO42ELSEGOSUB96:IFER=0THENOPENSTFORINPUTASFI:RETURN 43 GOSUB97:IFER=52ORER>58THENSI="Need file "+ST+SR+" QUIT=Q READY=":GOSUB84:IFSI="Q"THEN45ELSE42ELSEIFER=53ANDPDTHENSI="PDD already open"ELSEIFFI=1THENSI="Document"ELSEIFFI=3THENSI="Merge File"ELSESI="Mail List" 44 SI=ST+"-"+SI+" Error"+SR:GOSUB84 45 CLOSE:SI=SD+" complete":GOSUB84:RUN 46 IFTBTHENMID$(S,2)=LEFT$(S,P):P=P+1:MID$(S,1,1)=SL 47 GOSUB49:TB=INSTR(LEFT$(S,P),SL):IFTB>0THENTX=TX+T1:MID$(S,TB+T1)=MID$(S,TB+1):P=P+T1-1:MID$(S,TB,T1)=SM:TE=INSTR(TB,S,SL):IFTE>0ANDTE<=PTHENTX=TX+T2:MID$(S,TE+T2)=MID$(S,TE+1):P=P+T2-1:MID$(S,TE,T2)=SN:GOTO47ELSEMID$(S,P+1,T2)=SN:P=P+T2:TX=TX+T2 48 RETURN 49 T1=LEN(SM):T2=LEN(SN):RETURN 50 IFMID$(S,P,1)=" "THENP=P-1:GOTO50ELSEIFIR=ISORP=PW+TXTHENRETURNELSEJI=1-(JI=1):JJ=0 51 NB=0:ONJIGOSUB52,54:IFJJTHENRETURNELSE51 52 B=0 53 B=B+1:GOSUB56:IFJJORB=PTHENRETURNELSE53 54 B=P+1 55 B=B-1:GOSUB56:IFJJORB=1THENRETURNELSE55 56 IFMID$(S,B,1)<>" "THENNB=1:RETURNELSEIFNB=0THENRETURNELSEMID$(S,B+2)=MID$(S,B+1):MID$(S,B+1,1)=" ":P=P+1:NB=0 57 JJ=P>=PW+TX:RETURN 58 SI=LEFT$(SS,3):SA=MID$(SS,4):GOSUB85 59 C=INSTR(".FL.PL.LM.RM.LS.PG.IN.PP.SK.PX.PA.AJ.HC.CS.MG.RJ.NJ.RF.NF.ML",SI):IFC=0OR(C<>58ANDK)THEN94ELSEC=1+C\3:A1=0:V1=0:A2=0:V2=0:IFC>10ORLEN(SA)=0THEN61ELSEA2=INSTR(SA,"/"):IFA2THENV2=VAL(MID$(SA,A2+1)):SA=LEFT$(SA,A2-1):A2=1 60 IFLEN(SA)THENA1=1:V1=VAL(SA) 61 GOSUB19:ONCGOTO62,63,64,65,66,67,68,69,72,73,74,75,76,77,78,79,80,81,82,83 62 FL=V1:RETURN 63 PL=V1:RETURN 64 L0=-V1*(F=1):LM=V1-L0:ER=(LM<0ORLM>(RM-10)):RETURN 65 RM=V1+L0*(F=1):LL=RM:ER=(RM0):GOSUB27:LF=1:PF=1:RETURN 78 IFFI<>1THEN43ELSEFI=3:GOSUB41:RETURN 79 RJ=1:RF=1:RETURN 80 RJ=0:RETURN 81 RF=1:RETURN 82 RF=0:RJ=0:RETURN 83 GOSUB38:RETURN 84 BEEP:PRINTSY"% "SE"J"SI"";:SI="":INPUTSI:IFLEN(SI)=0THENRETURN 85 FORI=1TOLEN(SI):V=ASC(MID$(SI,I)):IFV>96ANDV<123THENMID$(SI,I,1)=CHR$(V-32) 86 NEXT:RETURN 87 SI="To: Line Printer=P or Dev:Filnam.Ext"+SR+" Quit=":GOSUB84:SO=SI:IFSI=""THEN92ELSEF=INSTR("LPT:COM:CRT:LCD:",LEFT$(SO,4)):IFF=0ORF>5THENF=2+(F>5):GOTO89ELSEGOSUB95:IFF<3THENSO="LPT:":IF(INP(187)AND6)<>2THENSI="Printer not ready":GOSUB84:GOTO87 88 F=0:SI=SP+" printer-run PRTFIX to change"+SR+"Paper: single=S continuous=":GOSUB84:PA=(SI="S") 89 OPENSOFOROUTPUTAS2:ST=SO:FI=2:GOSUB96:IFLEN(SU)THENPRINT#2,SU;:RETURNELSERETURN 90 SI="Invalid output device":GOSUB84:GOTO87 91 CLS:FILES:SI="Document Name"+SR+" Quit=":GOSUB84:IFSI>""THENPRINT:RETURN 92 CLOSE:IFPD=195THENMAXFILES=1:LFILESMENUELSEMAXFILES=1:MENU 93 ER=ERR:IFERL=38ORERL=42THENRESUME43ELSEIFERL=89THENRESUME90ELSEBEEP:ONERRORGOTO2 94 BEEP:PRINT:SI="ERROR-check for illegal DotCom"+SR+SS:GOSUB84:GOTO45 95 SI="Run PRTFIX if you want to customize"+SR+"PRTEXT for your printer":GOSUB84:SP="Unknown":RETURN 96 ER=0:O1=INSTR(ST,":"):IFO1=0ORO1>2THENRETURNELSEIFO>0THENER=53:RETURNELSEO=-FI*(PD<>0):RETURN 97 CLOSEFI:O=-O*(FI<>O):RETURN