home *** CD-ROM | disk | FTP | other *** search
/ Nibble Magazine / nib27b.dsk / IWRITER.UTILITY.bas < prev    next >
BASIC Source File  |  2023-02-26  |  5KB  |  98 lines

  1. 10  REM  ***********************
  2. 20  REM  *   IWRITER.UTILITY   *
  3. 30  REM  *         BY          *
  4. 40  REM  *  TERRY M. SCHWARTZ  *
  5. 50  REM  * COPYRIGHT (C) 1986  *
  6. 60  REM  * BY MICROSPARC, INC  *
  7. 70  REM  * CONCORD, MA  01742  *
  8. 80  REM  ***********************
  9. 90  GOSUB 730: REM  INITIALIZE
  10. 100  TEXT : HOME : HTAB 10: PRINT "** IWRITER.UTILITY **": PRINT : HTAB 11: PRINT "BY TERRY M SCHWARTZ"
  11. 110  VTAB 22: PRINT "** COPYRIGHT 1986 BY MICROSPARC, INC. **"
  12. 120  VTAB 12: HTAB 3: PRINT "PLEASE BE SURE PRINTER IS TURNED ON.": PRINT : HTAB 14: PRINT "PRESS <RETURN> ";: GET RM$
  13. 130  HOME : HTAB 8: PRINT "PLEASE SELECT A FUNCTION:": PRINT 
  14. 140  PRINT "<Q>-QUIT"
  15. 150  PRINT "<A>-PRINT EXTENDED TYPEFACE"
  16. 160  PRINT "<B>-PRINT PICA TYPEFACE"
  17. 170  PRINT "<C>-PRINT ELITE TYPEFACE"
  18. 180  PRINT "<D>-PRINT PICA (PROPORTIONAL SPACING)"
  19. 190  PRINT "<E>-PRINT ELITE (PROPORTIONAL SPACING)"
  20. 200  PRINT "<F>-PRINT SEMICONDENSED TYPEFACE"
  21. 210  PRINT "<G>-PRINT CONDENSED TYPEFACE"
  22. 220  PRINT "<H>-PRINT ULTRA-CONDENSED TYPEFACE"
  23. 230  PRINT "<I>-PRINT SLASHED ZEROS"
  24. 240  PRINT "<J>-BEGIN BOLDFACE MODE"
  25. 250  PRINT "<K>-LEAVE BOLDFACE MODE"
  26. 260  PRINT "<L>-BEGIN HEADLINE MODE"
  27. 270  PRINT "<M>-LEAVE HEADLINE MODE"
  28. 280  PRINT "<N>-BEGIN UNDERLINE MODE"
  29. 290  PRINT "<O>-LEAVE UNDERLINE MODE"
  30. 300  PRINT "<P>-BEGIN FEEDING SIX LINES PER INCH"
  31. 310  PRINT "<R>-BEGIN FEEDING EIGHT LINES PER INCH"
  32. 320  PRINT "<S>-CANCEL ALL INSTRUCTIONS (RESET)"
  33. 330  PRINT "<T>-CHANGE LEFT MARGIN"
  34. 340  HTAB 5: VTAB 24: PRINT "SELECTION";: VTAB 24: HTAB 2: GET PS$: PRINT PS$
  35. 350  IF  ASC(PS$) <65  OR  ASC(PS$) >84  THEN  PRINT  CHR$(7): GOTO 130: REM  ASSURE ONLY LETTERS A-T ARE ACCEPTED
  36. 360  IF PS$ = "Q"  THEN  POKE 216,0: HOME : END : REM  CLEAR ONERR FLAG AND QUIT
  37. 370  IF PS$ = "T"  THEN 610
  38. 380  PRINT D$ +X$: REM  TURN PRINTER CARD ON
  39. 390  IF PS$ = "A"  THEN  PRINT A$
  40. 400  IF PS$ = "B"  THEN  PRINT B$
  41. 410  IF PS$ = "C"  THEN  PRINT C$
  42. 420  IF PS$ = "D"  THEN  PRINT DD$
  43. 430  IF PS$ = "E"  THEN  PRINT E$
  44. 440  IF PS$ = "F"  THEN  PRINT F$
  45. 450  IF PS$ = "G"  THEN  PRINT G$
  46. 460  IF PS$ = "H"  THEN  PRINT H$
  47. 470  IF PS$ = "I"  THEN  PRINT I$
  48. 480  IF PS$ = "J"  THEN  PRINT J$
  49. 490  IF PS$ = "K"  THEN  PRINT K$
  50. 500  IF PS$ = "L"  THEN  PRINT L$
  51. 510  IF PS$ = "M"  THEN  PRINT M$
  52. 520  IF PS$ = "N"  THEN  PRINT N$
  53. 530  IF PS$ = "O"  THEN  PRINT O$
  54. 540  IF PS$ = "P"  THEN  PRINT P$
  55. 550  IF PS$ = "R"  THEN  PRINT R$
  56. 560  IF PS$ = "S"  THEN  PRINT S$
  57. 570  PRINT D$ +Z$: GOTO 130: REM  TURN PRINTER CARD OFF. OUTPUT TO SCREEN AGAIN
  58. 580  REM 
  59. 590  REM  SET LEFT MARGIN
  60. 600  REM 
  61. 610  HOME 
  62. 620  VTAB 20: PRINT "(PLEASE PRESS <RETURN> AFTER ENTRY)"
  63. 630  VTAB 10: PRINT "HOW MANY SPACES FROM THE LEFT DO YOU"
  64. 640  PRINT "WANT TO BEGIN PRINTING? ";: INPUT "(000-095) ";LM$
  65. 650  IF LM$ <"000"  OR LM$ >"095"  THEN 680
  66. 660  IF  LEN(LM$) < >3  THEN 680
  67. 670  PRINT D$ +X$: PRINT  CHR$(27) + CHR$(76) +LM$: PRINT D$ +Z$: GOTO 130
  68. 680  PRINT  CHR$(7)
  69. 690  VTAB 12: PRINT "               ": VTAB 15: PRINT "YOU MUST ENTER 3 NOS. FROM 000 TO 095": GOTO 620: REM  15 SPACES
  70. 700  REM  **************
  71. 710  REM  * INITIALIZE *
  72. 720  REM  **************
  73. 730  ONERR  GOTO 960
  74. 740 A$ =  CHR$(27) + CHR$(110): REM  EXTENDED FACE
  75. 750 B$ =  CHR$(27) + CHR$(78): REM  PICA FACE
  76. 760 C$ =  CHR$(27) + CHR$(69): REM  ELITE FACE (DEFAULT SETTING)
  77. 770 D$ =  CHR$(4): REM  CONTROL D
  78. 780 DD$ =  CHR$(27) + CHR$(112): REM  PICA PROPORTIONAL SPACING
  79. 790 E$ =  CHR$(27) + CHR$(80): REM  ELITE PROPORTIONAL SPACING
  80. 800 F$ =  CHR$(27) + CHR$(101): REM  SEMICONDENSED FACE
  81. 810 G$ =  CHR$(27) + CHR$(113): REM  CONDENSED FACE
  82. 820 H$ =  CHR$(27) + CHR$(81): REM  ULTRA CONDENSED FACE
  83. 830 I$ =  CHR$(27) + CHR$(68) + CHR$(0) + CHR$(1) + CHR$(27) + CHR$(90) + CHR$(128) + CHR$(0): REM  SLASHED ZEROS
  84. 840 J$ =  CHR$(27) + CHR$(33): REM  BEGIN BOLDFACE MODE
  85. 850 K$ =  CHR$(27) + CHR$(34): REM  LEAVE BOLDFACE MODE
  86. 860 L$ =  CHR$(14): REM  BEGIN HEADLINE MODE
  87. 870 M$ =  CHR$(15): REM  LEAVE HEADLINE MODE
  88. 880 N$ =  CHR$(27) + CHR$(88): REM  BEGIN UNDERLINE MODE
  89. 890 O$ =  CHR$(27) + CHR$(89): REM  LEAVE UNDERLINE MODE
  90. 900 P$ =  CHR$(27) + CHR$(65): REM  BEGIN FEEDING 6 LINES/INCH
  91. 910 R$ =  CHR$(27) + CHR$(66): REM  BEGIN FEEDING 8 LINES/INCH
  92. 920 S$ =  CHR$(27) + CHR$(99): REM  RESTORE STANDARD INSTRUCTIONS
  93. 930 X$ = "PR#1": REM  CHANGE THIS IF YOUR CARD IS NOT IN SLOT 1
  94. 940 Z$ = "PR#0": REM  CHANGE THIS IF "PR#3" IF YOU OPERATE FROM 80 COLS.
  95. 950  RETURN 
  96. 960  PRINT  CHR$(4);"PR#0": PRINT  CHR$(7): HOME : REM  CHANGE TO "PR#3" IF YOU OPERATE FROM 80 COLS.
  97. 970  IF  PEEK(222) = 254  THEN  PRINT "INPUT ERROR.....PLEASE REENTER DATA.": PRINT : PRINT "PRESS <RETURN> ";: GET ANS$: HOME : GOTO 690
  98. 980  IF  PEEK(22) < >254  THEN  PRINT "UNDEFINED ERROR....": PRINT : PRINT "PRESS <RETURN> ";: GET ANS$: GOTO 130