home *** CD-ROM | disk | FTP | other *** search
/ ftp.whtech.com / ftp.whtech.com.tar / ftp.whtech.com / club100 / prt / prtext.ba < prev    next >
Text File  |  2006-10-19  |  7KB  |  98 lines

  1. 0 'PRTEXT.BA - BY WOODS MARTIN
  2. 1 'CLUB 100 LIBRARY - 415/939-1246 BBS,    937-5039 NEWSLETTER, 932-8856 VOICE
  3. 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)
  4. 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"
  5. 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
  6. 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=""
  7. 6 IFEOF(FI)THENGOSUB97:IFFI=1THENGOSUB32:CO=CO-1+ML:IFCOTHEN5ELSE45ELSEFI=1:GOTO6
  8. 7 ER=0:GOSUB31:IFIS=0THENGOSUB19:IFIP=0THEN15ELSE6ELSEIFASC(SS)=46ANDI0<255THENGOSUB58:IFERTHEN94ELSE6ELSEIFIS<255THEN9ELSEFORI=255TO1STEP-1:IFMID$(SS,I,1)=" "THENIZ=I:I=1
  9. 8 NEXTI:GOTO10
  10. 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
  11. 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)-IS*(IR>=IS):IFIR=ISANDIZ=0ORRF=0THEN12ELSEFORI=IRTOIL+1STEP-1:IFMID$(SS,I,1)=" "THENIR=I-1:I=IL
  12. 11 NEXTI
  13. 12 IFIR+1=IZTHENGOSUB13:GOTO6ELSEGOSUB18:IFIR=ISTHEN6ELSEIL=IR:GOTO10
  14. 13 IFLL-IR+IL-II<10THENGOSUB18:IL=IR+1
  15. 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
  16. 15 IFLC+LS>PLTHENGOSUB35:GOTO6ELSEI=LS:GOSUB17:GOTO6
  17. 16 IFLC+I>PLTHENPRINT#2," "SB:LC=LC+1:GOSUB35:RETURN
  18. 17 FORI1=1TOI:PRINT#2,SB:NEXT:LC=LC+I:IFF=2THENPRINTSTRING$(I,10);:RETURNELSERETURN
  19. 18 MID$(S,IP+1)=MID$(SS,IL+1,IR-IL):LF=1
  20. 19 P=IP+IR-IL:IFP=0THENRETURNELSEGOSUB20:GOSUB26:PF=1:PP=0:IFPZ=0THENRETURNELSEMID$(S,1)=SZ:IP=PZ:PZ=0:RETURN
  21. 20 PW=LL-II:GOSUB24:TX=0:IFF ORPXTHENRETURN
  22. 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. 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. 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. 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. 26 IFRJTHENGOSUB50
  27. 27 I=INSTR(S,CHR$(255)):IFITHENMID$(S,I,1)=" ":GOTO27
  28. 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. 29 IFF=2THENPRINTSPACE$(II-LM)LEFT$(S,P)STRING$((LS>1)*(LS-1)*(I=0),10)" "
  30. 30 IP=0:RETURN
  31. 31 I0=IS:IL=0:IR=0:IZ=0:IFI0<255ANDIPTHENGOSUB19:GOTO31ELSELINEINPUT#FI,SS:IS=LEN(SS):II=LM+IN:RETURN
  32. 32 I=FL-LC+1:IFLEN(SF)THENPRINT#2,SF;ELSEGOSUB17
  33. 33 PG=PG+1:LC=1:P0=1:IFPA=0THENRETURN
  34. 34 IFFTHENRETURNELSESA="Insert/Adjust paper ":GOSUB75:RETURN
  35. 35 IFLF=0THENRETURNELSEIFP0THENGOSUB32
  36. 36 IFLEN(SH)THENSA=SH:PN=INSTR(SA,"#"):IFPNTHENSA=LEFT$(SA,PN-1)+STR$(PG)+" "+MID$(SA,PN+1):GOSUB77ELSEGOSUB77
  37. 37 PF=0:LF=0:P0=1:IFLEN(SH)THENI=1:GOSUB17:RETURNELSERETURN
  38. 38 FI=4:IFML=0THENGOSUB41:IFKTHENML=1ELSEINPUT#4,MF:GOSUB39:ML=1:GOTO38
  39. 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. 40 NEXT:FI=1:RETURN
  41. 41 GOSUB97:ST=SA:GOSUB42:RETURN
  42. 42 IFASC(ST)=32THENST=MID$(ST,2):GOTO42ELSEGOSUB96:IFER=0THENOPENSTFORINPUTASFI:RETURN
  43. 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. 44 SI=ST+"-"+SI+" Error"+SR:GOSUB84
  45. 45 CLOSE:SI=SD+" complete":GOSUB84:RUN
  46. 46 IFTBTHENMID$(S,2)=LEFT$(S,P):P=P+1:MID$(S,1,1)=SL
  47. 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. 48 RETURN
  49. 49 T1=LEN(SM):T2=LEN(SN):RETURN
  50. 50 IFMID$(S,P,1)=" "THENP=P-1:GOTO50ELSEIFIR=ISORP=PW+TXTHENRETURNELSEJI=1-(JI=1):JJ=0
  51. 51 NB=0:ONJIGOSUB52,54:IFJJTHENRETURNELSE51
  52. 52 B=0
  53. 53 B=B+1:GOSUB56:IFJJORB=PTHENRETURNELSE53
  54. 54 B=P+1
  55. 55 B=B-1:GOSUB56:IFJJORB=1THENRETURNELSE55
  56. 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. 57 JJ=P>=PW+TX:RETURN
  58. 58 SI=LEFT$(SS,3):SA=MID$(SS,4):GOSUB85
  59. 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. 60 IFLEN(SA)THENA1=1:V1=VAL(SA)
  61. 61 GOSUB19:ONCGOTO62,63,64,65,66,67,68,69,72,73,74,75,76,77,78,79,80,81,82,83
  62. 62 FL=V1:RETURN
  63. 63 PL=V1:RETURN
  64. 64 L0=-V1*(F=1):LM=V1-L0:ER=(LM<0ORLM>(RM-10)):RETURN
  65. 65 RM=V1+L0*(F=1):LL=RM:ER=(RM<LM+10):RETURN
  66. 66 LS=V1-(V1=0):RETURN
  67. 67 PG=V1:RETURN
  68. 68 IN=V1:LL=RM-V2:RETURN
  69. 69 PI=-PI*(A1=0)+V1:PS=-PS*(A2=0)+V2:IF(IN+PI)<0THENIN=-PI
  70. 70 PP=PI:IFPSAND(PFANDLF)THENI=PS:GOSUB16
  71. 71 PF=1:RETURN
  72. 72 I=V1:GOSUB16:RETURN
  73. 73 PX=V1:RETURN
  74. 74 GOSUB35:RETURN
  75. 75 IFFTHENRETURNELSESI="PAUSE: "+SA:GOSUB84:RETURN
  76. 76 SH=SA:RETURN
  77. 77 P=LEN(SA):MID$(S,1)=SA:GOSUB20:II=LM+(RM-LM-P+TX)/2:II=-II*(II>0):GOSUB27:LF=1:PF=1:RETURN
  78. 78 IFFI<>1THEN43ELSEFI=3:GOSUB41:RETURN
  79. 79 RJ=1:RF=1:RETURN
  80. 80 RJ=0:RETURN
  81. 81 RF=1:RETURN
  82. 82 RF=0:RJ=0:RETURN
  83. 83 GOSUB38:RETURN
  84. 84 BEEP:PRINTSY"% "SE"J"SI"<ENTER>";:SI="":INPUTSI:IFLEN(SI)=0THENRETURN
  85. 85 FORI=1TOLEN(SI):V=ASC(MID$(SI,I)):IFV>96ANDV<123THENMID$(SI,I,1)=CHR$(V-32)
  86. 86 NEXT:RETURN
  87. 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. 88 F=0:SI=SP+" printer-run PRTFIX to change"+SR+"Paper: single=S continuous=":GOSUB84:PA=(SI="S")
  89. 89 OPENSOFOROUTPUTAS2:ST=SO:FI=2:GOSUB96:IFLEN(SU)THENPRINT#2,SU;:RETURNELSERETURN
  90. 90 SI="Invalid output device":GOSUB84:GOTO87
  91. 91 CLS:FILES:SI="Document Name"+SR+"   Quit=":GOSUB84:IFSI>""THENPRINT:RETURN
  92. 92 CLOSE:IFPD=195THENMAXFILES=1:LFILESMENUELSEMAXFILES=1:MENU
  93. 93 ER=ERR:IFERL=38ORERL=42THENRESUME43ELSEIFERL=89THENRESUME90ELSEBEEP:ONERRORGOTO2
  94. 94 BEEP:PRINT:SI="ERROR-check for illegal DotCom"+SR+SS:GOSUB84:GOTO45
  95. 95 SI="Run PRTFIX if you want to customize"+SR+"PRTEXT for your printer":GOSUB84:SP="Unknown":RETURN
  96. 96 ER=0:O1=INSTR(ST,":"):IFO1=0ORO1>2THENRETURNELSEIFO>0THENER=53:RETURNELSEO=-FI*(PD<>0):RETURN
  97. 97 CLOSEFI:O=-O*(FI<>O):RETURN
  98.