Printing Tutorial

From BR Wiki
Revision as of 14:29, 11 July 2013 by Laura (talk | contribs) (Created page with "Printing instructions to a printer using BR follows a top to bottom, left to right format, much like a dot matrix printer. Therefore, imagine Zippy the cursor jumps from your ...")
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search

Printing instructions to a printer using BR follows a top to bottom, left to right format, much like a dot matrix printer. Therefore, imagine Zippy the cursor jumps from your program to the printer and continues to follow your commands. If you jump down four lines to print an address, for example, he can only mover further to the right or down to the next line, but not up or to the left (of course, there are ways to manipulate around this too). So when you plan your printouts, think ahead and complete the printing instructions line by line.

255

To print to a printer, BR uses the file number 255, which has been reserved for this purpose.

Since #255 acts like a file, it must also first be OPENed, PRINTed to, and then CLOSEd, as in this short example:

00010 OPEN #255: "name=PREVIEW:/DEFAULT,recl=32000", DISPLAY,OUTPUT 00020 PRINT #255: "My first printout!" 00030 CLOSE #255:

We use a print preview to save paper during this exercise. To print to an actual printer, change PREVIEW to PRN.

To print correctly on the page, its important to pay attention to the lines and spaces so that everything lines up correctly. Printing most often uses the FORM statement to format the printout. For example:

print #255,using nameform: A$(1),A$(2),A$(3)
nameform: form Pos 14,C 30,Skip 1,Pos 14,C 30,Skip 1,Pos 14,C 30,Skip 8
print #255:

will simple print a blank line. Skip 1 will do the same. All lines will perform a carriage return and start the next line one down, unless it's followed by a semi-colon (;).

   print #255, using curform:B(2),B(4),B(5),B(12),sum(mat B(13:21)) !get variables from previous program 
   curform: form pos 102,pic(z,zz#.##), skip 1

The syntax then, for PRINT USING, is as follows:

PRINT #255, USING line-ref or string expression : data item or MAT array-name

In the example above, curform is the line ref and the data items are listed after the colon. Within the line curform, notice that normal format specifications apply to print statements too.

Using a file Printer.sys, you can set fonts and styles using subattributes too.

Push and Pop

Here's where we can get around the top to bottom, left to right path of the printer pointer. [PUSH] will save the printer's position, then lines can be printed, and [POP] will return the cursor to the place where it saved for itself, and continue printing again. For example, if on an invoice, you enter [PUSH], then print the items in one column, use [POP] to return again to the saved position and then move right to print the date in the same column. It all depends on how your information is organized and what needs modifying in printer commands that have already been written by other programmers.

print #255, using "form C,SKIP 0" :"[push]"
print #255, using descform: "SAL.","O.T.","ADD'L","HOL.","Vac.","Sick"
descform: form pos 18,c 5,skip 1
print #255:"[pop]";

Print Preview Window

To first display a print preview window, this can be added to the BRConfig.sys file:

Substitute WIN:/  PREVIEW:/

Or, the preview can be started from the program itself using this command:

 00100 OPEN #255: "name=preview:/select",display,output

Connecting to Different Printers

Printers can be designated for printing in the BRConfig.sys file. Simply add the printer location after PRN:/ in the program or in BRConfig.sys.

With BR version 4.0 and following, Native Windows Printing is allowed. To activate this, make sure that OPTION 31 is off, and specify WIN:/ as the device type in your OPEN #255 statements or BRConfig.sys file.

Table of Contents