home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Power Programming
/
powerprogramming1994.iso
/
progtool
/
printer
/
sider.arc
/
SIDER.DOC
< prev
next >
Wrap
Text File
|
1988-01-11
|
6KB
|
181 lines
SIDER.PAS by Bob MacDonald Rt#1, Box 849 Lewisport, Ky 42351
While working at home one evening recently I had a need to print a
spreadsheet sideways. Not having a copy of Funk Software's SIDEWAYS pro-
gram, I started rummaging through a pile of Turbo Pascal(TP) public domain
disks in search of a program to accomplish this task. At last there it was.
Ready to get on with the business at hand I ran the program. Whoops,
nothing happened. After pulling the program into the editor for a quick
looksee, I discovered why the program wouldn't work. It was obviously
written using a much earlier version of TP (I use version 3.01) and had
some problems. After making the necessary changes I was able to get the
work printed as needed. At this point the program was functional, but
lacked flexibility and an improved user interface. Since it had definite
utility and represented a challenge, I decided to rewrite it to maximize
the potential which existed. Thus it is that SIDER.PAS came to be.
SIDER utilizes the ROM character set located at F000:FA6E to form the
first 128 ascii characters rotated clockwise 90 degrees. This enables
you to print a .PRN or ascii file sideways on an EPSON FX/LX-80
printer or compatible. Before going any further I want to point out that
the program should run on any graphics printer, and later on I'll explain
how to adapt it to other models. The program is easy to run and requires
minimal documentation. Simply use the left/right arrow keys to move to the
desired option and press enter. Main menu options are as follows:
VIEW - Toggles writing to screen on or off while printing. I like it on
soley because it gives me something to look at while waiting for
the system to return.
SIZE - Provides for selection from the three available print sizes.
These sizes are Normal(9 cpi/6 lpi), Short(12 cpi/6 lpi), and
Small(12 cpi/10 lpi). Line spacings work out to yield 48
lines/page and 85 lines/page respectively.
PRINT - Enter the path/drive and file to be printed and print it.
QUIT - Exit program and return to DOS.
HELP - Brief help screen.
In order to keep you aware of current settings a status "window" illustrates
the current printout variables.
Those of you who have SYS_STAT.PAS(ref. Soft Sector March,1987 or PCM
June, 1987) will see that the include files ($I) are basically the same as
used there. To simplify things you can copy those needed to a separate
subdirectory or floppy and modify as required.
SYSTEM REQUIREMENTS: In order to run SIDER you'll need an IBM PC/XT/AT
or compatible running under DOS 2.XX or above. Detection of color monitor
and proper cursor control is handled by the VIDEO.LIB. I have used
various TEXTCOLOR options to optimize presentation on a monochrome monitor.
Therefore, if you are using CGA, there are several alternatives available.
Omit all occurrences of TXT(xx) in the listing; review the table provided
with the "txt" function and predetermine your alternatives; or do nothing
and accept the colors as written. None of these options will result in any
adverse consequences. The visual losses are underlining of headings and
intensity levels.
PRINTER COMPATIBILITY: Although written specifically for an EPSON LX80,
SIDER has been tested successfully on several 'FX' compatible printers. An
easy way to predetermine if it will run on your printer is to look in your
owners manual to insure the following codes are applicable:
ESC + 'A' + n = line spacing in n/72's
ESC + 'K' = graphics mode - single density
ESC + 'L' = graphics mode - double density
ESC + '@' = reset to defaults(optional -if not available reset by
turning off and on after printing)
On the other hand, if these features are available for your printer using
different codes, your still in luck. Selection of line spacing and the
graph mode occur infrequently and are noted in the listing so you can
modify it to your needs.
SHORTCUTS: Frequently I spiffy-up programs more than others care to do.
Therefore, I have some tips to shorten the listings as presented without
effecting the functionality of the program. First, the SIDERHLP.INC file
is not essential. Don't bother to type it in and change line 8 of the
"main_menu" procedure to "choice := menu123(4,19,25,3,7)", and omit the
three lines so noted in the listing. Secondly, the ASK.LIB can also
be left out. To accomplish this delete line 7 in the "do_it" procedure
and insert the two following lines:
gotoxy(3,7);write('What file would you like to print sideways: ';
readln(answer);
Remember to delete the include statements as also noted in the listing.
This "striped-down" version will still provide all the features of the
complete listing. Of course you can always add these trimmings by
reversing the above steps.
LIMITATIONS: Sider presently has two limitations which you need to be
aware of:
1) In order to obtain a nice looking print-out it is necessary to insure
something is printed on the last available line of the page. I
normally use the date issued for this purpose. For "Normal" printsize
this is line 48, or multiples there of, while the other two are line
85.
2) There is no provision for I/O errors so be careful to use valid file,
path, and drive descriptions.
If you have any problems, improvements, or suggestions, I'd appreciate
hearing from you.