From: alan@effluvia.den.mmc.com (Alan Popiel)
Newsgroups: comp.databases.informix
Subject: Re:  First Time Informix User
Date: 21 Jan 1993 19:53:13 -0500
Organization: Mailing List Gateway
Distribution: world
Reply-To: alan@effluvia.den.mmc.com (Alan Popiel)
NNTP-Posting-Host: emory.mathcs.emory.edu
X-Informix-List-ID: <list.1807>

Debashis Dutta (ddutta@tiguex.cs.unm.edu) writes:

->From: ddutta@tiguex.cs.unm.edu (Debashis Dutta)
->Subject: First Time Informix User
->Date: Thu, 21 Jan 1993 14:52:31 GMT
->Reply-To: ddutta@tiguex.cs.unm.edu (Debashis Dutta)
->Organization: Computer Science Department, University of New Mexico
->
->Hello World :
->
->I have just started using informix and still trying to get some ideas about
->how strong a DBMS package it is. I am having some problems in printing Ace
->reports......well all I want to do is to have various font size options 
->built within the report. That is to say, someone who wants Courier 10 cpi bold
->format to print out the header of the report, how will he do that or say I
->want to use the compressed printing mode of the hp laserjet III printer.....
->now I can change the font setting of the printer manually and then send the
->job for printing....but can I built this within the report itself.
->
->What I have tried so far is to write the report in a file, then pass the
->file thru a shell script that sends the <ESC> sequence to the printer to 
->change the font size.....but I want everything built within the program
->so that a less knowledgeable user can just printit everytime without any
->problems.
->
->I would really appreciate if some one can guide me to incorporate this within
->the program itself. My email is ddutta@unmvax.cs.unm.edu
->
->Dev Dutta
->University of New Mexico, CS Dept.

Alan Popiel (alan@den.mmc.com) replies:

I don't use Ace, so I don't know how to do what you ask in Ace.   HOWEVER,
it is really pretty easy to do what you ask in the 4GL report writer, which 
is similar to, but more powerful than, the stand-alone ACE report writer.  
Maybe you can do the same thing in Ace.

When using the 4GL report writer, you can output your control codes by using 
a PRINT statement.  However, the 4GL compiler will not let you print certain 
control codes as constants, since it recognizes that they are special, and it 
calls them "unprintable" or "non-printing" characters (I forget the exact 
wording of the error message).

The trick is to do the following:

DEFINE	code_on	 CHAR(3),
	code_off CHAR(3)

LET code_on  = ASCII 27, "W", ASCII 1	{ example Epson print codes }
LET code_off = ASCII 27, "W", ASCII 0
PRINT code_on, rest_of_data, code_off

Once the control codes are hidden inside the variables, the compiler doesn't 
know they are special, the printer accepts the codes, and prints as dictated.

Regards,
Alan
+------------------------------+---------------------------------------+
| R. Alan Popiel               | Internet: alan@den.mmc.com            |
| Martin Marietta, LSC         | ( Please note: My opinions do not   ) |
| P.O. Box 179, M/S 5422       | ( represent official Martin policy. ) |
| Denver, Colorado 80201-0179  | Voice: 303-977-9998                   |
+------------------------------+---------------------------------------+