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

  1. 0 'CLUB 100 Library - 415/939-1246 BBS,    937-5039 NEWSLETTER, 932-8856 VOICE
  2. 1 'JUSTFY.BA by Micheal Loebal, Revised by Robert Benson (Ver 1.3)
  3. 10 CLEAR1000:MAXFILES=2:O$="LPT:":A=27967' (If run on the 200 A=33993)
  4. 12 CLS:PRINT:FILES:INPUT"File to be printed";F$:IFF$=""GOTO12
  5. 14 ONERRORGOTO16:GOTO18
  6. 16 IFERR=52ORERR=55THENRESUME12
  7. 18 OPENF$FORINPUTAS1:OPENO$FOROUTPUTAS2
  8. 20 CALLA,27:CALLA,36:IFR=1GOTO68:REM CALLA,27,36 disables software in the PTM-64 buffer
  9. 22 N=1:CLS:PRINT:INPUT"Number of copies needed";N:IFN<1GOTO20
  10. 24 P=12:CLS:PRINT:INPUT"Number of characters/inch";P:IFP>15ORP<8GOTO24
  11. 26 CALLA,27:CALLA,31:CALLA,(120/P)+1
  12. 28 T$="N":CLS:PRINT:INPUT"Justified(Y/N)";T$:IFT$="y"ORT$="Y"THENF=1:GOTO52
  13. 30 IFT$="n"ORT$="N"GOTO34
  14. 32 GOTO28
  15. 34 T$="N":CLS:PRINT:INPUT"Flush left(Y/N)";T$:IFT$="y"ORT$="Y"THENF=2:GOTO52
  16. 36 IFT$="n"ORT$="N"GOTO40
  17. 38 GOTO34
  18. 40 T$="N":CLS:PRINT:INPUT"Flush right(Y/N)";T$:IFT$="y"ORT$="Y"THENF=3:GOTO52
  19. 42 IFT$="n"ORT$="N"GOTO46
  20. 44 GOTO40
  21. 46 T$="N":CLS:PRINT:INPUT"Centered(Y/N)";T$:IFT$="y"ORT$="Y"THENF=4:GOTO52
  22. 48 IFT$="n"ORT$="N"GOTO28
  23. 50 GOTO46
  24. 52 TM=0:CLS:PRINT:INPUT"First page top margin setting";TM
  25. 54 BM=54:INPUT"Bottom margin setting";BM
  26. 56 IFBM<TMGOTO52
  27. 58 LM=12:INPUT"Left margin setting";LM:LM=LM+1:IFLM<0GOTO58
  28. 60 RM=92:INPUT"Right margin setting";RM:RM=RM+2:IFRM>132GOTO60
  29. 62 IFRM<=LMGOTO58
  30. 64 CALLA,27:CALLA,9:CALLA,RM:CALLA,27:CALLA,48
  31. 66 CALLA,27:CALLA,9:CALLA,LM:CALLA,27:CALLA,57
  32. 68 L=1:PG=1:IFTM>1THENFORI=1TOTM-1:PRINT#2,"":L=L+1:NEXTI
  33. 70 C=0:C$=""
  34. 72 IFEOF(1)THENCLOSE1,2:CALLA,12:N=N-1:GOTO76
  35. 74 GOTO80
  36. 76 IFN>0THENR=1:GOTO18
  37. 78 CALLA,27:CALLA,83:MAXFILES=1:FORZ=1TO14:FORA=620TO620:SOUNDA,2:NEXTZ:MENU
  38. 80 LINEINPUT#1,X$:X=LEN(X$)
  39. 82 IFX=255THENY=1ELSEY=0
  40. 84 IFF<3GOTO90ELSEIFC<>0GOTO90
  41. 86 IFLEFT$(X$,1)=CHR$(9)THENX=X-8:X$=RIGHT$(X$,X):GOTO86
  42. 88 IFLEFT$(X$,1)=" "THENX=X-1:X$=RIGHT$(X$,X):GOTO88
  43. 90 LL=RM-LM:IFX<=LL-CGOTO100
  44. 92 T=LL-C+1:C$=C$+LEFT$(X$,T):X=X-T:X$=RIGHT$(X$,X):I=LL+1
  45. 94 IFMID$(C$,I,1)=" "GOTO108
  46. 96 IFI=2THENPRINT#2,"This line is too long and is unbreakable.":END
  47. 98 I=I-1:GOTO94
  48. 100 C$=C$+X$:IFY=1THENC=LEN(C$):GOTO72
  49. 102 IFF=1THENB=2ELSEB=F
  50. 104 T$=C$:GOSUB112:IFL=BMTHENGOSUB150
  51. 106 L=L+1:GOTO70
  52. 108 B=F:C=LL+1-I:T$=LEFT$(C$,I-1):GOSUB112:C$=RIGHT$(C$,C):IFL=BMTHENGOSUB150
  53. 110 L=L+1:GOTO84
  54. 112 T=LEN(T$):IFB=2GOTO140
  55. 114 IFRIGHT$(T$,1)=" "THENT=T-1:T$=LEFT$(T$,T):GOTO114
  56. 116 EX=LL-T:IFF=3THENDE$=STRING$(EX," "):T$=DE$+T$:I1=1:I2=LL+1:GOSUB148:PRINT#2,"":RETURN
  57. 118 IFF=1GOTO126
  58. 120 IFEX=0THENI1=1:I2=T+1:GOSUB148:PRINT#2,"":RETURN
  59. 122 DE=FIX(EX/2):DE$=STRING$(DE," "):T$=DE$+T$+DE$:T=LEN(T$):IFDE=EX/2THENI1=1:I2=T+1:GOSUB148:PRINT#2,"":RETURN
  60. 124 K1=0:K2=FIX(60/P):GOSUB146:I1=1:I2=T+1:GOSUB148:K1=K2:K2=120/P:GOSUB146:T$="":GOSUB148:PRINT#2,"":RETURN
  61. 126 S=0:I=1
  62. 128 I=I+1:I=INSTR(I,T$," "):IFI>0THENS=S+1:GOTO128
  63. 130 IFS=0GOTO140
  64. 132 DE=EX*120/P:EX=DE-(FIX(DE/S))*S:DE=FIX(DE/S):K2=0:I1=1:I2=1:K1=0
  65. 134 I2=INSTR(I2,T$," "):IFI2>0THENGOSUB148:K2=K2+DE:GOTO142
  66. 136 I2=T+1
  67. 138 GOSUB148:PRINT#2,"":RETURN
  68. 140 I1=1:I2=T+1:GOTO138
  69. 142 IFEX>0THENK2=K2+1:EX=EX-1
  70. 144 GOSUB146:I1=I2:K1=K2:I2=I2+1:GOTO134
  71. 146 CALLA,27:CALLA,31:CALLA,2:PRINT#2,STRING$(K2-K1," ");:RETURN
  72. 148 CALLA,27:CALLA,31:CALLA,(120/P)+1:PRINT#2,MID$(T$,I1,I2-I1);:RETURN
  73. 150 CALLA,12:PG=PG+1:L=2:PRINT#2,"Page ";PG:PRINT#2,"":RETURN
  74.