peter@aucs.UUCP (Peter Steele) (04/13/88)
I've been doing some work in dBase and one weakness I've found is in its printing. There seems to be a mish-mash of different commands one has to use to send stuff to a printer. If I have a report and want to print it, I do a REPORT FORM name TO PRINT and that works fine. However, it also prints the report on the screen. Is there any way I can print a report and not have it appear on the screen as well? There are other annoying things as well. If I have a print statement such as ? 'Hello there' the text appears on the screen. If I change this to set print on ? 'Hello there' set print off the message is sent to the printer as well as the screen. Alternatively, I could say @somerow,somecol say 'Hello there' to print a message on the screen. However, if I add the set print on command, this output statement still prints only to the screen, not the printer. To get the @...SAY command to send text to the printer, I have to say set device to print @somerow,somecol say 'Hello there' set device to screen In this case, the output *only* goes to the printer, not the screen. This is what I find to be a real pain. Because dBase's report generator isn't very good, I have to do many reports in straight code. If I use a combination of ? commands and @SAY commands to produce the report, I have to include both set print on and set device to print in my procedure. This will produce an acceptable report, but only the ? commands appear on the screen, giving me a complete printed report, but only a partial report on screen. I would rather nothing appear on the screen when I am printing a report but to do so I have to use @SAY commands exclusively and that's not always convenient. For example, to advance to a new line with @SAY, you have to say @prow()+1,0 It would be much simpler just to say ? but then this prints a blank line on the screen as well. After all this, my real question I guess is what is the best way to do the sort of thing I've described above and get the output *only* on the printer, not (partially) on the screen and printer both. This includes REPORTS and all the other things that allow you to add "TO PRINT" to them. I want a clean screen when I'm printing. Can it be done easily or do I have to fudge? Any suggestions would be much appreciated. Please email to me if you can. I'll sumarize if there seems to be any interest. -- Peter Steele, Microcomputer Applications Analyst Acadia University, Wolfville, NS, Canada B0P1X0 (902)542-2201x121 UUCP: {uunet|watmath|utai|garfield}dalcs!aucs!Peter BITNET: Peter@Acadia Internet: Peter%Acadia.BITNET@CUNYVM.CUNY.EDU