home *** CD-ROM | disk | FTP | other *** search
/ Nibble Magazine / nib33b.dsk / VAR.CHART.bas < prev    next >
BASIC Source File  |  2023-02-26  |  4KB  |  157 lines

  1. 10  REM  **********************
  2. 20  REM  * VAR.CHART          *
  3. 30  REM  * BY GARY D. CORBIN  *
  4. 40  REM  * COPYRIGHT (C) 1987 *
  5. 50  REM  * BY MICROSPARC, INC *
  6. 60  REM  * CONCORD, MA  01742 *
  7. 70  REM  **********************
  8. 80  REM  BRANCH AROUND ALL SUBROUTINES TO START OF MAIN PROGRAM
  9. 90  GOTO 1260
  10. 100  REM 
  11. 110  REM  ******************
  12. 120  REM  PRINT THE TITLE LINE FOR THE CHART
  13. 130  PRINT 
  14. 140  PRINT "APPLESOFT VARIABLE CHART  ";
  15. 150  PRINT "PROGRAM:";: FOR I = 1 TO 24: PRINT UL$;: NEXT : PRINT "DATE:";: FOR I = 1 TO 13: PRINT UL$;: NEXT 
  16. 160  PRINT 
  17. 170  PRINT  SPC( 34);"MARKING CODE"
  18. 180  PRINT "REAL: "VL$"---"VL$"   INTEGER: "VL$" / "VL$"   STRING: "VL$" "VL$; CHR$(8);"!";
  19. 190  PRINT " "VL$"   ARRAY: "VL$" "BS$" "VL$
  20. 200  PRINT 
  21. 210  RETURN 
  22. 220  REM 
  23. 230  REM  *****************
  24. 240  REM  PRINT THE BOTTOM TITLE LINE
  25. 250  PRINT 
  26. 260  PRINT "DEFINITIONS:"
  27. 270  RETURN 
  28. 280  REM 
  29. 290  REM  ******************
  30. 300  REM  PRINT THE TOP ROW OF LETTERS
  31. 310  FOR T1 = 1 TO  LEN(AL$)
  32. 320 T2$ = " " + MID$ (AL$,T1,1) +" "
  33. 330  PRINT T2$;
  34. 340  NEXT T1
  35. 350  PRINT 
  36. 360  RETURN 
  37. 370  REM 
  38. 380  REM  ****************
  39. 390  REM  PRINT EACH ROW OF BOXES FOR THE TABLE
  40. 400 T2$ = UL$ +UL$ +VL$
  41. 410  FOR T1 = 1 TO  LEN(BL$)
  42. 420  PRINT  MID$ (BL$,T1,1);
  43. 430  FOR T2 = 1 TO 26
  44. 440  PRINT T2$;
  45. 450  NEXT T2
  46. 460  REM 
  47. 470  REM  IF YOUR OUTPUT COMES OUT DOUBLE-SPACED, PUT A ; AT THE END
  48. 480  REM  OF THIS NEXT PRINT STATEMENT
  49. 490  PRINT  MID$ (BL$,T1,1)
  50. 500  REM 
  51. 510  NEXT T1
  52. 520  RETURN 
  53. 530  REM 
  54. 540  REM  *****************
  55. 550  REM  CENTER STRING P1$
  56. 560  REM  P1$ ---> STRING TO DISPLAY
  57. 570  REM  P1% ---> LINE ON WHICH TO DISPLAY STRING
  58. 580  REM  IF P1% = 0, THEN DISPLAY AT CURRENT OUTPUT CURSOR POSITION
  59. 590  REM  P2% ---> CODE TO INDICATE OUTPUT MODE
  60. 600  REM  0 ---> NORMAL
  61. 610  REM  1 ---> INVERSE
  62. 620  REM  2 ---> FLASHING
  63. 630  VTAB (P1%): HTAB (1)
  64. 640  PRINT  TAB( 20 - INT( LEN(P1$)/2));
  65. 650  IF P2% = 1 GOTO 670
  66. 660  GOTO 690
  67. 670  INVERSE 
  68. 680  GOTO 720
  69. 690  IF P2% = 2 GOTO 710
  70. 700  GOTO 720
  71. 710  FLASH 
  72. 720  PRINT P1$;
  73. 730  NORMAL 
  74. 740  PRINT 
  75. 750  RETURN 
  76. 760  REM 
  77. 770  REM  *****************
  78. 780  REM  ISSUE A FORM FEED TO THE PRINTER
  79. 790  REM  IF YOUR PRINTER DOESN'T USE CHR$(12), CHANGE THE VALUE
  80. 800  REM  OF FF$ IN THE SETUP SECTION
  81. 810  PRINT FF$
  82. 820  RETURN 
  83. 830  REM 
  84. 840  REM  ******************
  85. 850  REM  ACTIVATE THE PRINTER.  IF YOUR PRINTER IS NOT IN SLOT 1,
  86. 860  REM  CHANGE THE VALUE OF PN$ IN THE SETUP SECTION
  87. 870  PRINT PN$
  88. 880  RETURN 
  89. 890  REM 
  90. 900  REM  *******************
  91. 910  REM  DE-ACTIVATE THE PRINTER
  92. 920  PRINT PF$
  93. 930  RETURN 
  94. 940  REM 
  95. 950  REM  ***************
  96. 960  REM  WAIT FOR A KEY PRESS
  97. 970  POKE  -16368,0: WAIT  -16384,128: POKE  -16368,0
  98. 980  RETURN 
  99. 990  REM 
  100. 1000  REM  *************
  101. 1010  REM  GET A YES OR NO RESPONSE AND RETURN Y OR N IN R1$
  102. 1020 R1$ = ""
  103. 1030  GET R1$
  104. 1040  IF R1$ = "Y"  OR R1$ =  CHR$(121)  OR R1$ = "N"  OR R1$ =  CHR$(110) GOTO 1060
  105. 1050  GOTO 1080
  106. 1060  PRINT R1$
  107. 1070  RETURN 
  108. 1080  PRINT  CHR$(7);
  109. 1090  GOTO 1020
  110. 1100  REM 
  111. 1110  REM  ***************
  112. 1120  REM  SET UP SECTION.  INITIALIZE ALL PROGRAM CONSTANTS
  113. 1130 AL$ = "ABCDEFGHIJKLMNOPQRSTUVWXYZ"
  114. 1140 BL$ = "ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789"
  115. 1150 D$ =  CHR$(4):UL$ =  CHR$(95):BS$ =  CHR$(92):VL$ =  CHR$(124)
  116. 1160  REM 
  117. 1170  REM  CHANGE THESE VALUES TO REFLECT YOUR PRINTER CONFIGURATION
  118. 1180  REM  PN$ ---> STRING TO ACTIVATE PRINTER IN SLOT 1
  119. 1190  REM  PF$ ---> STRING TO DEACTIVATE THE PRINTER
  120. 1200 PN$ = D$ +"PR#1":PF$ = D$ +"PR#0"
  121. 1210 FF$ =  CHR$(12)
  122. 1220  RETURN 
  123. 1230  REM 
  124. 1240  REM  ******************
  125. 1250  REM  MAIN PROGRAM STARTS HERE
  126. 1260  GOSUB 1130
  127. 1270  TEXT : HOME : SPEED= 255
  128. 1280 P1$ = "VARIBLE CHART":P1% = 2:P2% = 1
  129. 1290  GOSUB 630
  130. 1300 P1$ = "COPYRIGHT 1987":P1% = 4:P2% = 0
  131. 1310  GOSUB 630
  132. 1320 P1$ = "MICROSPARC, INC.":P1% = 5
  133. 1330  GOSUB 630
  134. 1340 P1$ = "BY GARY D. CORBIN":P1% = 8
  135. 1350  GOSUB 630
  136. 1360  PRINT : PRINT : PRINT 
  137. 1370  PRINT "POSITION PAPER AND PRESS RETURN..."
  138. 1380  GOSUB 970
  139. 1390  GOSUB 870
  140. 1400  GOSUB 130
  141. 1410  GOSUB 310
  142. 1420  GOSUB 400
  143. 1430  GOSUB 310
  144. 1440  GOSUB 250
  145. 1450  GOSUB 810
  146. 1460  GOSUB 920
  147. 1470  HOME : VTAB (2)
  148. 1480  PRINT "WANT TO DO ANOTHER ONE? (Y/N) ";
  149. 1490  GOSUB 1020
  150. 1500  IF R1$ = "Y"  OR R1$ =  CHR$(121) GOTO 1520
  151. 1510  GOTO 1540
  152. 1520  GOTO 1270
  153. 1530  GOTO 1570
  154. 1540  HOME 
  155. 1550 P1$ = "THANK YOU!!" + CHR$(7):P1% = 8
  156. 1560  GOSUB 630
  157. 1570  END