home *** CD-ROM | disk | FTP | other *** search
AmigaBASIC Source Code | 1987-04-02 | 3.6 KB | 144 lines |
- REM This is a program that prints VCALC spreadsheets sideways.
- REM Save the spreadsheet in table format.
- REM It is designed for Epson RX/FX printers.
- REM Copyright (C) 11/07/86 by John S. Scott, CIS 74475,1575
- REM This program may be freely distributed, provided the copyright
- REM notice is included.
- REM Suggestions, comments appreciated.
-
- REM 40 colums by 60 rows; change if necessary.
- DIM d$(60),a$(60,40),f%(8,59)
-
- REM Get patterns for sideways characters.
- FOR n=1 TO 59
- FOR m=1 TO 8
- READ f%(m,n)
- NEXT
- NEXT
-
- REM Be sure to include path name. eg: ram:dirname/filename
- INPUT"File name:";file$
-
- REM Load bulk file into array
- OPEN file$ FOR INPUT AS 1
- n=1
- WHILE NOT EOF(1)
- INPUT#1,d$(n)
- n=n+1
- WEND
- CLOSE 1
-
- REM Print file to screen
- PRINT "n="n
- FOR nn=1 TO n
- PRINT d$(nn)
- NEXT
-
- REM Break bulk file, using colons as markers.
- REM Also convert to all CAPS.
- bmax=1
- FOR nn=1 TO n
- b=1
- a$(nn,b)=""
- FOR p=1 TO LEN(d$(nn))
- IF MID$(d$(nn),p,1)<>":" THEN a$(nn,b)=a$(nn,b)+UCASE$(MID$(d$(nn),p,1)) :ELSE b=b+1
- IF b>bmax THEN bmax=b
- NEXT
- NEXT
-
- REM Make all strings 10 characters in length.
- FOR nn=1 TO n
- FOR m=1 TO 20
- a$(nn,m)=RIGHT$(" "+a$(nn,m),10)
- NEXT
- NEXT
-
- REM Output as graphic characters.
- OPEN "par:" FOR OUTPUT AS 1
- e$=CHR$(27)
- PRINT#1,e$;"1";'set narrow line feeds
- FOR b=1 TO bmax
- FOR c=1 TO 10
- PRINT#1,e$;"f0"CHR$(70-n);' tab over to right side of page
- PRINT#1,e$;"K"CHR$(8*n)CHR$(0);'number of characters to print per line
- FOR nn=n TO 1 STEP -1
- q=ASC(MID$(a$(nn,b),c,1))-31
- FOR d=1 TO 8
- PRINT#1,CHR$(f%(d,q));
- NEXT
- NEXT
- PRINT#1,CHR$(13);CHR$(10);
- NEXT
- NEXT
- CLOSE 1
-
- REM Character data
- DATA 0,0,0,0,0,0,0,0
- DATA 0,0,32,0,32,32,32,32
- DATA 0,0,0,0,0,80,80,80
- DATA 0,0,80,248,80,80,248,80
- DATA 0,32,112,40,112,160,112,32
- DATA 0,0,24,152,64,32,208,200
- DATA 0,0,200,144,168,64,160,224
- DATA 0,0,0,0,0,0,64,32
- DATA 0,0,0,16,32,32,32,16
- DATA 0,0,0,32,16,16,16,32
- DATA 0,0,136,80,248,80,136,0
- DATA 0,0,0,32,32,248,32,32
- DATA 0,0,32,16,48,48,0,0
- DATA 0,0,0,0,0,248,0,0
- DATA 0,0,192,192,0,0,0,0
- DATA 0,0,128,64,32,16,8,0
- DATA 0,112,136,168,168,168,136,112
- DATA 0,112,32,32,32,32,32,96
- DATA 0,248,128,64,32,16,136,112
- DATA 0,112,136,8,48,8,136,112
- DATA 0,16,16,16,248,144,80,48
- DATA 0,240,8,8,112,128,128,248
- DATA 0,112,136,136,240,64,32,16
- DATA 0,32,32,32,16,8,8,248
- DATA 0,112,136,136,112,136,136,112
- DATA 0,64,32,16,120,136,136,112
- DATA 0,96,96,0,96,96,0,0
- DATA 0,128,64,96,96,0,96,96
- DATA 0,16,32,64,128,64,32,16
- DATA 0,0,0,240,0,240,0,0
- DATA 0,128,64,32,16,32,64,128
- DATA 0,32,0,32,48,8,136,112
- DATA 0,120,128,144,168,168,136,112
- DATA 0,136,136,248,136,136,80,32
- DATA 0,240,136,136,240,136,136,240
- DATA 0,112,136,128,128,128,136,112
- DATA 0,240,136,136,136,136,136,240
- DATA 0,248,128,128,224,128,128,248
- DATA 0,128,128,128,224,128,128,248
- DATA 0,240,136,136,184,128,136,112
- DATA 0,136,136,136,248,136,136,136
- DATA 0,112,32,32,32,32,32,112
- DATA 0,112,136,136,8,8,8,8
- DATA 0,144,160,192,192,160,144,136
- DATA 0,248,128,128,128,128,128,128
- DATA 0,136,136,136,168,168,216,136
- DATA 0,136,136,136,152,168,200,136
- DATA 0,112,136,136,136,136,136,112
- DATA 0,128,128,128,240,136,136,240
- DATA 0,32,112,168,136,136,136,112
- DATA 0,144,144,160,240,136,136,240
- DATA 0,112,136,8,112,128,136,112
- DATA 0,32,32,32,32,32,32,248
- DATA 0,112,136,136,136,136,136,136
- DATA 0,32,80,136,136,136,136,136
- DATA 0,136,216,168,168,136,136,136
- DATA 0,136,136,80,32,80,136,136
- DATA 0,32,32,32,32,80,136,136
- DATA 0,248,128,64,32,16,8,248
-
-
-
-
-
-
-
-
-
-