home *** CD-ROM | disk | FTP | other *** search
/ Club Amiga de Montreal - CAM / CAM_CD_1.iso / files / 025.lha / Vside (.txt) < prev    next >
Encoding:
AmigaBASIC Source Code  |  1987-04-02  |  3.6 KB  |  144 lines

  1. REM This is a program that prints VCALC spreadsheets sideways.
  2. REM Save the spreadsheet in table format.
  3. REM It is designed for Epson RX/FX printers.
  4. REM Copyright (C) 11/07/86 by John S. Scott, CIS 74475,1575
  5. REM This program may be freely distributed, provided the copyright
  6. REM notice is included.
  7. REM Suggestions, comments appreciated.
  8.  
  9. REM 40 colums by 60 rows; change if necessary.
  10. DIM d$(60),a$(60,40),f%(8,59)
  11.  
  12. REM Get patterns for sideways characters.
  13. FOR n=1 TO 59
  14.   FOR m=1 TO 8
  15.     READ f%(m,n)
  16.   NEXT
  17. NEXT  
  18.       
  19. REM Be sure to include path name. eg: ram:dirname/filename
  20. INPUT"File name:";file$
  21.  
  22. REM Load bulk file into array
  23. OPEN file$ FOR INPUT AS 1
  24. n=1
  25. WHILE NOT EOF(1)
  26.   INPUT#1,d$(n)
  27.   n=n+1
  28. WEND
  29. CLOSE 1
  30.  
  31. REM Print file to screen
  32. PRINT "n="n
  33. FOR nn=1 TO n
  34.   PRINT d$(nn)
  35. NEXT
  36.  
  37. REM Break bulk file, using colons as markers.
  38. REM Also convert to all CAPS.
  39. bmax=1
  40. FOR nn=1 TO n
  41.   b=1
  42.   a$(nn,b)=""
  43.   FOR p=1 TO LEN(d$(nn))
  44.     IF MID$(d$(nn),p,1)<>":" THEN a$(nn,b)=a$(nn,b)+UCASE$(MID$(d$(nn),p,1)) :ELSE b=b+1
  45.     IF b>bmax THEN bmax=b
  46.   NEXT
  47. NEXT
  48.  
  49. REM Make all strings 10 characters in length.
  50. FOR nn=1 TO n
  51.   FOR m=1 TO 20
  52.     a$(nn,m)=RIGHT$("          "+a$(nn,m),10)
  53.   NEXT
  54. NEXT
  55.  
  56. REM Output as graphic characters.
  57. OPEN "par:" FOR OUTPUT AS 1
  58. e$=CHR$(27)
  59. PRINT#1,e$;"1";'set narrow line feeds
  60. FOR b=1 TO bmax
  61.  FOR c=1 TO 10
  62.    PRINT#1,e$;"f0"CHR$(70-n);' tab over to right side of page
  63.    PRINT#1,e$;"K"CHR$(8*n)CHR$(0);'number of characters to print per line
  64.    FOR nn=n TO 1 STEP -1
  65.       q=ASC(MID$(a$(nn,b),c,1))-31
  66.       FOR d=1 TO 8
  67.         PRINT#1,CHR$(f%(d,q));
  68.       NEXT    
  69.     NEXT
  70.   PRINT#1,CHR$(13);CHR$(10); 
  71.   NEXT
  72. NEXT
  73. CLOSE 1
  74.  
  75. REM Character data
  76. DATA 0,0,0,0,0,0,0,0
  77. DATA 0,0,32,0,32,32,32,32 
  78. DATA 0,0,0,0,0,80,80,80 
  79. DATA 0,0,80,248,80,80,248,80 
  80. DATA 0,32,112,40,112,160,112,32
  81. DATA 0,0,24,152,64,32,208,200 
  82. DATA 0,0,200,144,168,64,160,224 
  83. DATA 0,0,0,0,0,0,64,32 
  84. DATA 0,0,0,16,32,32,32,16 
  85. DATA 0,0,0,32,16,16,16,32
  86. DATA 0,0,136,80,248,80,136,0 
  87. DATA 0,0,0,32,32,248,32,32
  88. DATA 0,0,32,16,48,48,0,0 
  89. DATA 0,0,0,0,0,248,0,0 
  90. DATA 0,0,192,192,0,0,0,0
  91. DATA 0,0,128,64,32,16,8,0 
  92. DATA 0,112,136,168,168,168,136,112
  93. DATA 0,112,32,32,32,32,32,96 
  94. DATA 0,248,128,64,32,16,136,112 
  95. DATA 0,112,136,8,48,8,136,112 
  96. DATA 0,16,16,16,248,144,80,48 
  97. DATA 0,240,8,8,112,128,128,248 
  98. DATA 0,112,136,136,240,64,32,16
  99. DATA 0,32,32,32,16,8,8,248 
  100. DATA 0,112,136,136,112,136,136,112
  101. DATA 0,64,32,16,120,136,136,112 
  102. DATA 0,96,96,0,96,96,0,0
  103. DATA 0,128,64,96,96,0,96,96 
  104. DATA 0,16,32,64,128,64,32,16 
  105. DATA 0,0,0,240,0,240,0,0
  106. DATA 0,128,64,32,16,32,64,128 
  107. DATA 0,32,0,32,48,8,136,112
  108. DATA 0,120,128,144,168,168,136,112 
  109. DATA 0,136,136,248,136,136,80,32 
  110. DATA 0,240,136,136,240,136,136,240 
  111. DATA 0,112,136,128,128,128,136,112 
  112. DATA 0,240,136,136,136,136,136,240 
  113. DATA 0,248,128,128,224,128,128,248 
  114. DATA 0,128,128,128,224,128,128,248 
  115. DATA 0,240,136,136,184,128,136,112
  116. DATA 0,136,136,136,248,136,136,136 
  117. DATA 0,112,32,32,32,32,32,112
  118. DATA 0,112,136,136,8,8,8,8 
  119. DATA 0,144,160,192,192,160,144,136
  120. DATA 0,248,128,128,128,128,128,128
  121. DATA 0,136,136,136,168,168,216,136 
  122. DATA 0,136,136,136,152,168,200,136
  123. DATA 0,112,136,136,136,136,136,112 
  124. DATA 0,128,128,128,240,136,136,240 
  125. DATA 0,32,112,168,136,136,136,112
  126. DATA 0,144,144,160,240,136,136,240 
  127. DATA 0,112,136,8,112,128,136,112 
  128. DATA 0,32,32,32,32,32,32,248 
  129. DATA 0,112,136,136,136,136,136,136
  130. DATA 0,32,80,136,136,136,136,136 
  131. DATA 0,136,216,168,168,136,136,136 
  132. DATA 0,136,136,80,32,80,136,136
  133. DATA 0,32,32,32,32,80,136,136 
  134. DATA 0,248,128,64,32,16,8,248 
  135.  
  136.  
  137.  
  138.  
  139.  
  140.  
  141.  
  142.  
  143.     
  144.