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

  1. 0 'WORD.BA Dave Cloutier
  2. 1 'CLUB 100 Library - 415/939-1246 BBS,    937-5039 NEWSLETTER, 932-8856 VOICE
  3. 2 CLS:MAXFILES=1:GOSUB17:PN=1
  4. 3 PRINTP$:FILES:INPUT"File to Print";F$:IFF$=""THEN3
  5. 4 GOSUB 45:OPENF$FORINPUTAS1:ONERRORGOTO15:GOSUB35
  6. 5 GOSUB18:IFLEFT$(L$,1)=">"THENGOSUB23
  7. 6 LP=-1:IF TM<>0 THEN GOSUB 47
  8. 7 IFL$<>"><"THENGOSUB32:LPRINTTAB(LM);L$:LP=LP+1:IFLS<>1THENFORC=1TOLS-1:LPRINTCHR$(10);:LP=LP+1:IFLP=PLTHEN12ELSENEXTC
  9. 8 FORP=TMTOBM:GOSUB18:IFLEFT$(L$,1)=">"THENP=P-1:GOSUB23
  10. 9 IFL$<>"><"THENGOSUB32:LPRINTTAB(LM);L$:LP=LP+1:IFLS<>1THENFORC=1TOLS-1:LPRINTCHR$(10);:LP=LP+1:IFLP=PLTHEN12ELSENEXTC
  11. 10 IFLP=>BMTHENIFLP<>PL-1THENFORC=LPTOPL-2:LPRINTCHR$(10);:NEXTC:GOTO12ELSEGOTOO500
  12. 11 NEXTP:IFLP<>PL-1THENFORX=LPTOPL-2:LPRINTCHR$(10);:NEXTX
  13. 12 BEEP:INPUT"Press <ENTER> for next page";Q$:PN=PN+1:GOTO5
  14. 13 BEEP:BEEP:LPRINTTAB(LM);R$:IFLP<>PL-1THENFORX=LPTOPL-2:LPRINTCHR$(10);:NEXTX
  15. 14 PRINT"End of file...":END:MENU
  16. 15 IFERL>1549ANDERL<1631THEN BEEP:PRINT"Syntax error in line settings"ELSEPRINT"Error";ERR;"in line";ERL
  17. 16 END
  18. 17 LM=5:RM=72:TM=6:BM=60:PL=66:LS=1:LN=67:RETURN
  19. 18 L$=R$:R$="":X=LEN(L$)
  20. 19 IFEOF(1)THEN13
  21. 20 A$=INPUT$(1,1):X=X+1:IFA$=CHR$(10)THENRETURN
  22. 21 IFA$=CHR$(13)THENA$=" "
  23. 22 L$=L$+A$:IFX=LNTHENRETURN:ELSEGOTO19
  24. 23 IFLEN(L$)>1THENL$=RIGHT$(L$,LEN(L$)-1)+".."
  25. 24 IFLEFT$(L$,1)<>"."THENC$=LEFT$(L$,2)ELSEL$="><":RETURN
  26. 25 M$=MID$(L$,4,1):IFASC(M$)>47ANDASC(M$)<58THENN$=M$:N=VAL(N$)
  27. 26 IFMID$(L$,5,1)=" "ORMID$(L$,5,1)="."THENL$=RIGHT$(L$,LEN(L$)-5):GOTO28
  28. 27 M$=MID$(L$,5,1):N$=N$+M$:N=VAL(N$):L$=RIGHT$(L$,LEN(L$)-6)
  29. 28 IFC$="LM"THENLM=NELSEIFC$="RM"THENRM=N
  30. 29 IFC$="LS"THENLS=NELSEIFC$="PL"THENPL=N
  31. 30 IFC$="TM"THENTM=NELSEIFC$="BM"THENBM=N
  32. 31 LN=RM-LM:GOTO24
  33. 32 R$=L$:IFLEN(L$)=0THENRETURN
  34. 33 IFRIGHT$(L$,1)<>" "THENL$=LEFT$(L$,LEN(L$)-1):IFLEN(L$)<>0THEN33ELSEL$=R$
  35. 34 R$=RIGHT$(R$,LEN(R$)-LEN(L$)):RETURN
  36. 35 INPUT"Test for errors";Q$:IFLEFT$(Q$,1)<>"Y"ANDLEFT$(Q$,1)<>"y"THENPRINT"No test made.":RETURN
  37. 36 PRINT"Testing for errors...":B$=CHR$(10)
  38. 37 IFNOTEOF(1)THENA$=INPUT$(1,1)ELSEGOTO43
  39. 38 IFA$=">"ANDB$=CHR$(10)THENLINEINPUT#1,L$:L$=">"+L$:GOSUB23:IFLM=>RMTHENPRINT"Error in left or right margin":GOTO44
  40. 39 B$=A$:IFBM>PLTHENPRINT"Error in bottom margin or page length":GOTO44
  41. 40 IFTM=>BMTHENPRINT"Error in top or bottom margin":GOTO44
  42. 41 IFLS>PLTHENPRINT"Line spacing too large":GOTO44
  43. 42 GOTO37
  44. 43 PRINT"Testing completed":GOSUB17:CLOSE1:OPENF$FORINPUTAS1:RETURN
  45. 44 INPUT"Continue";Q$:Q$=LEFT$(Q$,1):IFQ$="Y"ORQ$="y"THEN37ELSEEND
  46. 45 CLS:INPUT"Paging";Z$:IF Z$="y"OR Z$="Y" THEN F1=1 ELSE RETURN
  47. 46 INPUT"Title";H$:RETURN
  48. 47 IF TM<2 THEN FOR X=1 TO TM:LPRINT CHR$(10);:LP=LP+1:NEXT:RETURN
  49. 48 IF TM=2 AND F1=1 THEN LPRINT H$:LPRINT CHR$(10);:LP=LP+2:RETURN
  50. 49 IF PN>1 AND F1=1 THEN LPRINTTAB(LM)H$:LPRINTTAB(LM)"Page ";PN:LP=LP+2
  51. 50 FOR X=2 TO TM:LPRINT CHR$(10);:LP=LP+1:NEXT X:RETURN
  52.