Futurebasic/Language/printing
Contents
Printing from FB[edit]
Revised: February 2002 (FB^3 Release 6)
Description[edit]
You may envision the printed page as something very similar to a window. In general, commands used to produce any type of display on the screen will produce a similar imprint on the page. The exception would be controls which cannot be sent to the printer port.
You instruct your program to switch to the printer using the
route command.
route _toPrinter rem printing commands here route _toScreen
You may freely switch back and forth between the printed page and the screen by executing
route commands. When it is time to eject a page or to terminate printing entirely, you can clear the page with
clear lprint or close down the printer (which has the side effect of automatically clearing the page) with
close lprint.
Page Size[edit]
You can query the printer as to how large the page is by routine output to the printer, then executing
window() functions.
route _toPrinter pageWidth = window( _width ) pageHeight = window( _height ) route _toScreen
Print Dialogs[edit]
Two dialogs are used before printing. The first is a style dialog that lets the user determine page orientation, scaling, and other items. This is usually brought up in response to selection of the Page Setup item under the File menu. The syntax is
def page.
The second common dialog is a job dialog. It lets the user determine how many copies will be printed, which page numbers will be included, and other items that vary from one printer to the next. The job dialog is brought up with
def lprint.
Notes[edit]
Do not call
clear lprint or
close lprint when output is being routed to the printer. This may cause the system to crash. Instead, route output back to the screen, then clear or close.
Appearance Manager Printing[edit]
Because buttons cannot be sent to the printed page, Appearance Manager edit fields cannot be printed. There is a simple work around. Create the edit fields in a window, then use the edit field statement (with only the field number as a parameter) and it will be copied to the printer. The following example show how this is done.
// Appearance Manager printing window 1 edit field 1, "This is a test", (10,10)-(120,32) // Now print it route _toPrinter edit field 1 route _toScreen
In this example, we did not clear or close the printer (
clear lprint or
close lprint). This is because the operation is automatically performed when the program terminates.