LineSPP

From Br Wiki
Jump to: navigation, search
LINESPP(<file number>)

The LINESPP internal function supports programs that are sensitive to various page lengths. It returns the current lines per page as set by a BRConfig.sys PRINTER spec's LPP parameter or 66 by default. If an LPP value is specified in a BRConfig.sys PRINTER spec, LINESPP will return that value after that PRINTER substitution has been used by a PRINT statement.

In the following example, the unbracketed "LPP 48" parameter sets the value of LINESPP to 48. In the code fragment that follows, line 30 executes a PRINT statement that utilizes the PRINTER substitution. At that point, the value of LINESPP is changed to 48.

PRINTER LPP 48 [SET48],"\\Ep48"
10 OPEN #255:"NAME=PRN:/10",DISPLAY,OUTPUT
20 PRINT LINESPP(255)
30 PRINT #255:"[SET48]"
40 PRINT LINESPP(255)

Program output would be:

66
48

This feature was designed to support the transparent use of both dot matrix and laser printers on the same system. When printing reports that require more than 80 columns or more than 132 columns, a number of options exist to print that same report in landscape mode, which changes the number of printable lines per page.

The following is a table showing the common columns per page and the mode required for dot matrix and laser printers:

LinesPP.jpg

Also, since many laser printers have scalable fonts or font cartridges, a larger point size may be chosen for [COLS=132]. Without any extra program code, simply select the number of columns needed for the report from the above list:

PRINT #255,USING "FORM C,SKIP 0":"[COLS=132]"

and use LINESPP to get the number of lines per page in this format:

MAXLINES = LINESPP(255)