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

  1. 0 'SERIAL.BA  Jeff Schneider               CLUB 100 Library - 415/939-1246 BBS,    937-5039 NEWSLETTER, 932-8856 VOICE
  2. 1 CLS:PRINT"Serial Printer Driver":PRINT"By Jeff D. Schneider":FILES:MAXFILES=2:DIMA$(90),S$(80):PRINT@600,"File to print or 'E' to Exit";:INPUTF$:IFF$="E"THENMENU
  3. 2 IFRIGHT$(F$,3)<>".DO"THENF$=F$+".DO
  4. 3 ONERRORGOTO55:OPENF$FORINPUTAS#1:OPEN"COM:88N2ENN"FOROUTPUTAS#2:ONERRORGOTO0:CLS:RJ=0:LM=7:RM=72:TM=4:BM=5:TIT$="":DS=0:PN=1:PRINT"Hit <ENTER> for Defaults":PRINT
  5. 4 INPUT"Right Justify (N/Y)";RJ$:IFRJ$="Y"THENRJ=1:GOTO7
  6. 5 IFRJ$="" ORRJ$="N"THENRJ=0:GOTO7
  7. 6 GOTO4
  8. 7 INPUT"Left Margin (7)";LM180INPUT"Right Margin (72)";RM:IFLM>RMTHENPRINT"LM must be less than RM":GOTO7
  9. 8 WID=RM-LM:INPUT"Top Margin (4)";TM:INPUT"Bottom Margin (5)";BM:INPUT"Space Between Lines (0)";DS
  10. 9 PRINT"Page title after First page":INPUTTIT$:IFLEN(TIT$)>(WID-7)THENPRINT"TITLE TOO LONG":GOTO9
  11. 10 PRINT"PRESS A KEY WHEN READY TO PRINT
  12. 11 I$=INKEY$:IFI$=""THEN11
  13. 12 CO=0
  14. 13 PRINT#2,:MK=0:IFPN<>1THENPRINT#2,SPACE$(LM)TIT$SPACE$(WID-LEN(TIT$)-6)"Page "PNELSEPRINT#2,
  15. 14 LC=2:FORX=3TOTM:PRINT#2,:LC=LC+1:NEXTX
  16. 15 IFCO>0THENGOSUB45
  17. 16 FORX=(CO+1)TOWID:IFEOF(1)THEN34
  18. 17 A$(X)=INPUT$(1,1):IFA$(X)=CHR$(13)THEND$=INPUT$(1,1):GOTO19
  19. 18 NEXTX:GOTO24
  20. 19 IFX=1THEN21ELSEPRINT#2,SPACE$(LM);
  21. 20 FORY=1TO(X-1):PRINT#2,A$(Y);:NEXTY
  22. 21 IFDS<>0THENFORX=1TODS:PRINT#2,:LC=LC+1:NEXTX
  23. 22 PRINT#2,:LC=LC+1:IFLC>=66-BMTHENPN=PN+1GOTO37
  24. 23 CO=0:GOTO16
  25. 24 CO=0:IFA$(WID)=" "THENNWID=WID-1:GOTO28
  26. 25 FORX=WIDTO1STEP-1:CO=CO+1:S$(CO)=A$(X):IFA$(X-1)=" "THEN27
  27. 26 NEXTX:STOP
  28. 27 NWID=WID-(CO+1)
  29. 28 IFA$(NWID)=" "THENNWID=NWID-1:GOTO28
  30. 29 IFA$(1)=" " ANDA$(2)<>" "THEN46
  31. 30 IFRJ=1THENGOSUB47
  32. 31 PRINT#2,SPACE$(LM);:FORX=1TONWID:PRINT#2,A$(X);:NEXTX:PRINT#2,CHR$(13):LC=LC+1:IFDS<>0THENFORX=1TODS:PRINT#2,:LC=LC+1:NEXTX
  33. 32 IFLC>=66-BMTHENPN=PN+1:GOTO37
  34. 33 GOTO15
  35. 34 IFX=1THEN36ELSEPRINT#2,SPACE$(LM);
  36. 35 FORY=1TO(X-1):PRINT#2,A$(Y);
  37. 36 FORX=LCTO66:PRINT#2,:NEXTX:CLOSE1,2:CLS:PRINT"Finished Printing":INPUT"Print Another (Y/N)";YN$:IFYN$="Y"THEN1ELSEMENU
  38. 37 FORZ=1TOBM:PRINT#2,:NEXTZ:CLS:PRINT"HIT A KEY TO CONTINUE PRINTING
  39. 38 I$=INKEY$:IFI$=""THEN38
  40. 39 GOTO13
  41. 40 IFA$(W+1)<>" "THENRETURN
  42. 41 W=W+1:GOTO40:STOP
  43. 42 IFA$(W-1)<>" "THENRETURN
  44. 43 W=W-1:GOTO42:STOP
  45. 44 FORX=NWIDTO(W+1)STEP-1:A$(X+1)=A$(X):NEXTX:NWID=NWID+1:RETURN
  46. 45 AC=0:FORW=COTO1STEP-1:AC=AC+1:A$(AC)=S$(W):NEXTW:RETURN
  47. 46 FORW=2TONWID:A$(W-1)=A$(W):NEXTW:NWID=NWID-1:GOTO29
  48. 47 IFMK=0THENMK=1ELSEMK=0
  49. 48 IFMK=1THEN52
  50. 49 ST=2
  51. 50 FORW=STTO(NWID-1):IFA$(W)=" "THENGOSUB40:GOSUB44:A$(W+1)=" ":ST=W+3:IFNWID=WIDTHENRETURNELSE50
  52. 51 NEXTW:GOTO49
  53. 52 ST=NWID-1
  54. 53 FORW=STTO2STEP-1:IFA$(W)=" "THENGOSUB44:A$(W+1)=" ":GOSUB42:ST=W-1:IFNWID=WIDTHENRETURNELSE53
  55. 54 NEXTW:GOTO52
  56. 55 CLS:PRINT"FILE NOT FOUND":FORW=1TO500:NEXTW:RESUME1
  57.