At 08:01 PM 1/6/2008, Michael Sinclair wrote:
No matter what I do, the Rbase sends the report to the default printer!
Could there be some lingering commands, left over from Rbase for DOS that
are redirecting the output to the default printer and ignoring the Rbase
print commands?
Mike,
Here's a routine which you can recycle, if you wish.
Update the report name, WHERE clause and ORDER by clause accordingly, and
you should be good to go.
-- Start here
CLEAR VAR vAvailablePrinters,vItemCount,vDefaultPrinter,vSelectedPrinter
SET VAR vAvailablePrinters TEXT = NULL
SET VAR vItemCount INTEGER = NULL
SET VAR vDefaultPrinter TEXT = NULL
SET VAR vAvailablePrinters = ((CVAL('Printers'))+',Screen')
SET VAR vItemCount = (ITEMCNT(.vAvailablePrinters))
SET VAR vDefaultPrinter = (CVAL('WindowsPrinter'))
SET VAR vSelectedPrinter TEXT = NULL
CLS
CHOOSE vSelectedPrinter FROM #LIST .vAvailablePrinters +
CHKBOX 1 TITLE 'Select Appropriate Printer' +
CAPTION 'Available Printers' LINES .vItemCount FORMATTED +
OPTION LIST_FONT_COLOR MAROON +
|LIST_BACK_COLOR [R234,G234,B234] +
|TITLE_FONT_COLOR MAROON +
|TITLE_BACK_COLOR [R234,G234,B234] +
|WINDOW_BACK_COLOR [R234,G234,B234] +
|TITLE_FONT_NAME VERDANA +
|TITLE_FONT_SIZE 9 +
|TITLE_BOLD ON +
|WINDOW_CAPTION +
|BUTTONS_BACK_COLOR WHITE +
|BUTTONS_SHOW_GLYPH ON +
|THEMENAME R:BASE Rocks!
IF vSelectedPrinter IS NULL OR vSelectedPrinter = '[Esc]' THEN
GOTO Done
ENDIF
IF vSelectedPrinter = 'Screen' THEN
PRINT reportname WHERE .. ORDER BY .. +
OPTION SCREEN|WINDOW_STATE MAXIMIZED +
|ZOOM_TYPE PERCENTAGE|ZOOMPERCENT 90
GOTO Done
ELSE
PRNSETUP .vSelectedPrinter
PRINT reportname WHERE .. ORDER BY .. OPTION PRINTER
PRNSETUP .vDefaultPrinter
ENDIF
LABEL Done
CLEAR VAR vAvailablePrinters,vItemCount,vDefaultPrinter,vSelectedPrinter
RETURN
-- End here
Have fun!
Very Best R:egards,
Razzak.