WINPRINT-SET-PRINTER
The WINPRINT-SET-PRINTER function selects a printer and set some of its features. More features can be set with the WINPRINT-SET-PRINTER-EX routine.
The printer settings are evaluated only at the OPEN OUTPUT of the print-file. Calling this op-code in the middle of the print job has no effect.
When printing to PDF or Print Preview, the active printer is used to calculate margins. If you wish to avoid this, call the WINPRINT-SET-PRINTER function with wprterr-no-printers set to true. You will be allowed to set only winprint-curr-copies and winprint-curr-orientation.
Syntax:
 CALL "WIN$PRINTER" USING WINPRINT-SET-PRINTER 
                          WINPRINT-SELECTION
                   GIVING returnCode
Parameters:
WINPRINT-SET-PRINTER
Constant
 
 
WINPRINT-SELECTION
Group Item
Structure that contains the information to be passed to the function. This group item, defined in isprint.def, has the following structure:
 
01  winprint-selection.
    03 winprint-name             pic x(80).
    03 winprint-port             pic x(80).
    03 winprint-driver           pic x(80).
    03 winprint-drv-version      signed-int.
    03 winprint-no-of-printers   signed-short.
       88 wprterr-no-printers    value -1.
    03 winprint-is-default       signed-short.
       88 wprt-is-not-default    value 0.
       88 wprt-is-default        value 1.
    03 winprint-copies           signed-short.
    03 winprint-orientation      signed-short.
    03 winprint-quality          signed-short.
    03 winprint-curr-orientation signed-short.
    03 winprint-curr-copies      signed-short.
 
Note - members not mentioned below are not used by this function.
winprint-name
It is the name of the printer.
 
When the function is called and winprint-no-of-printers is zero, the function searches for a printer with the name specified and selects it.
winprint-no-of-printers
It is the number of the printer to be selected. When this member is zero, the function selects the printer with the name specified in winprint-name.
winprint-quality
It is the print quality. Not that most laser printers do not support quality, while most dot-matrix printers do. Valid values are:
WPRTSEL-QUALITY-DEFAULT
Default quality.
WPRTSEL-QUALITY-HIGH
High quality.
WPRTSEL-QUALITY-MEDIUM
Medium quality.
WPRTSEL-QUALITY-LOW
Low quality.
WPRTSEL-QUALITY-DRAFT
Draft quality.
winprint-curr-orientation
It is the paper orientation. Valid values are:
WPRTSEL-ORIENT-DEFAULT
Default paper orientation.
WPRTSEL-ORIENT-PORTRAIT
Portrait.
WPRTSEL-ORIENT-LANDSCAPE
Landscape.
winprint-curr-copies
Is the number of copies the printer will print with the next job.
Note - If no printer is available in the system, set wprterr-no-printers to true before calling this function in order to avoid errors. You will be allowed to set only winprint-curr-copies and winprint-curr-orientation.
Return code:
returnCode can be any signed numeric data item and provides additional information:
1
Operation successful.
WPRTERR-UNSUPPORTED
The WIN$PRINTER library routine is not supported.
WPRTERR-BAD-ARG
The WIN$PRINTER library routine has been called with bad parameters.