This chapter describes the PRINTER unit for Free Pascal. It was written for
DOSby Florian klämpfl, and it was written for LINUXby Michaël Van
Canneyt, and has been ported to WINDOWSas well.
Its basic functionality is the same for both systems, although there are
minor differences on LINUX.
The chapter is divided in 2 sections:
- The first section lists types, constants and variables from the
interface part of the unit.
- The second section describes the functions defined in the unit.
lst : text;
Lst is the standard printing device.
Lst is set up using AssignLst('/tmp/PID.lst').
You can change this behaviour at compile time, setting the DefFile constant.
- Procedure AssignLst ( Var F : text; ToFile : string);
Assigns to F a printing device. ToFile is a string with the following form:
- '|filename options' : This sets up a pipe with the program filename,
with the given options, such as in the popen() call.
- 'filename' : Prints to file filename. Filename can contain the string 'PID'
(No Quotes), which will be replaced by the PID of your program.
When closing lst, the file will be sent to lpr and deleted.
(lpr should be in PATH)
- 'filename|' Idem as previous, only the file is NOT sent to lpr, nor is it
(useful for opening /dev/printer or for later printing)
- Errors are reported in Linuxerror.
- lpr (1)
var i : integer;
f : text;
writeln ('Test of printer unit');
writeln ('Writing to lst...');
for i:=1 to 80 do writeln (lst,'This is line ',i,'.'#13);
writeln ('Writing to pipe...');
assignlst (f,'|/usr/bin/lpr -m');
for i:=1 to 80 do writeln (f,'This is line ',i,'.'#13);