Plateforme Level Extreme
Abonnement
Profil corporatif
Produits & Services
Support
Légal
English
Directing output to printer using @...Say
Message
De
28/04/1999 14:23:19
 
 
À
27/04/1999 15:04:31
Information générale
Forum:
Visual FoxPro
Catégorie:
Codage, syntaxe et commandes
Divers
Thread ID:
00212617
Message ID:
00213096
Vues:
36
John,

I tried this in the command window and a PRG:

SET DEVICE TO PRINT
@ 2,46 SAY 'test'
SET PRINT TO
SET DEVICE TO SCREEN

and it sends output to printer as I would expect in both cases. However, if I call this PRG from another PRG or even place this code within a form method, nothing happens when this code fires. I traced it through the debugger, the code is being executed, but no output is sent to the printer. I then issue the above commands in the command window and I get my output correctly. What am I missing here?

>Hiya Jim ----
>
>It has more to do with the way Windows and/or the network works. The entire print job is released to the printer at once. It makes sense when you think about the way a network has to manage resources.
>
>So, the practical solution is to SET PRINTER TO {whatever} before the @..SAYs and SET PRINTER TO {blank} afterward and the entire job spools to the network. You're not going to find a way to do it line by line and that would, indeed create some messy situations if someone else sent something to that printer.
>
>
>>I'm not an old dbase guy (just happen to have an old dbase report I'm rewriting), so I'm asking this out of ignorance. When I run dbase 3 in windows I can issue SET DEVICE TO PRINT and immediately see output directed to the printer line by line with @...SAY (Output is not spooled). Am I forced to spool output with VFP? I guess there's nothing wrong with that, I just assumed I'd see the same output behavior as DBASE.
>>
>>>Hiya Rich ---
>>>
>>>
>>>>
>>>>You sort of answered your own question here.
>>>>
>>>>SET PRINT ON redirects @...SAY to the printer. (SET DEVICE TO PRINT redirects ? commands to the printer. Or did I get them backwards?)
>>>>
>>>
>>>You've got them backwards but, hey, not bad for memory of old stuff.
>>>
>>>>SET PRINTER TO [anything] flushes the printer buffer. FoxPro buffers direct output to the printer until you change printers (or pretend to).
>>>>
>>>
>>>Eloquently stated.
Précédent
Suivant
Répondre
Fil
Voir

Click here to load this message in the networking platform