Yes, just the same way you would in Clipper, but why would you want to?
SET PRINT TO
SET PRINT ON
??? CHR(13)+CHR(10) && send a carraige reurn and line feed without showing it
? "This is the first line" AT 10
? "This is the secont line, etc." AT 10
SET PRINT OFF
SET PRINT TO
The ? syntax is:
? | ?? Expression1
[PICTURE cFormatCodes] | [FUNCTION cFormatCodes] | [VnWidth]
[AT nColumn]
[FONT cFontName [, nFontSize] [STYLE cFontStyle | Expression2]]
[, Expression3] ...
But this is the hard way and it makes it hard to change when the customer wants the report to look different. If you need to down load special char in a print job you can do that by calling a function in the Report Writer. Here's how:
Create a field in the beginning of the report (Page Header or Tilte Page).
Edit the Field Expression and place a UDF call in it, ex: SETPRN().
Create the UDF SETPRN() with the codes you need to pass to the printer.
Now finish creating your report using the Reoprt Writer.
When the reoprt runs the SETPRN() function is called and all is good.
PS You should reset the printer on the way out, in the PageFooter or Page Summary
Software engineers are trained to read and understand code; they are not trained in mind reading. Document the purpose not just the functionality.