Newsgroup: it.comp.lang.visual-basic
Titolo: Stampare con il VB4 32

Ciao a tutti,
sapete spiegarmi come posso stampare del testo in VB4 32
usando un font specifico?
Mi spiego meglio con un esempio (anzi, due):
   1) 
      Dim Testo As String
 
      With Printer.Font
         .Name = "Arial"
         .Size = 36
         .Bold = True
         .Underline = True
      End With
 
      Testo = "Prova di Stampa"
      Printer.Print Testo
      Printer.EndDoc
------------------------------
   2) 
      Dim Testo As String
 
      With Printer
         .FontName = "Arial"
         .FontSize = 36
         .FontBold = True
         .FontUnderline = True
      End With
 
      Testo = "Prova di Stampa"
      Printer.Print Testo
      Printer.EndDoc
In tutti e due i casi viene stampato il contenuto della
variabile testo con il font di Default (Ms Sans Serif),
ignorando gli altri parametri (FontBold, FontSize ecc..).
Per quale motivo?
Inoltre...
Come posso stampare un grafico statistico ottenuto con il graphics
server 
della Pinnacle (Graph32.Ocx)?
Ovviamente l'Help del VB non dice molto.
                                  Ciao e Grazie .
 
                                     ]\/[ario (M.Do...@FlashNet.It)

Per quale motivo?
L'oggetto Printer deve essere inizializzato prima di effettuare qualsiasi
impostazione relativa ai font con la stampa di una stringa, per esempio con
Printer.Print ""
Se non hai il service pack 2 troverai altri problemi nella stampa. È vero
che sp2 aggiunge qualche decina di bachi, ma ne toglie qualche centinaio,
quindi, soprattutto per la stampa, è indispensabile.
Ciao, Stefano

                                     ]\/[ario (M.Do...@FlashNet.It)
Questo è quello che dice Microsoft:
Article ID: Q153125 
                   Creation Date: 28-JUN-1996
                   Revision Date: 09-OCT-1996 
                   The information in this article applies to: 
                        Standard, Professional, and Enterprise
Editions of Microsoft Visual
                        Basic, 16-bit and 32-bit, version 4.0 
                   SYMPTOMS 
                   The printer object loses all of its font
information, including font size,
                   boldness, underlining, etc., after an initial call
to Printer.Print has been
                   made. 
                   WORKAROUND 
                   To work around this problem, add the following
statements to the beginning
                   of the Command1_Click procedure, as shown in the
following example: 
                      Sub Command1_click()
                        Dim PrinterFont As String   '*
                        Printer.Print ""            '* Initialize
printer object's device
                                                    '* context
                        PrinterFont = Printer.Font  '* Retrieve
current font name
                        Printer.Font = ""           '* Clear current
font details
                        Printer.Font = PrinterFont  '* Reset font
information
                        Printer.fontsize = 36
                        Printer.fontbold = true
                        Printer.fontitalic = true
                        Printer.fontunderline = true
                        Printer.print "This is a test"
                        Printer.enddoc
                      End Sub
                   Each time the Command button is pressed, the output
should print correctly.
                   STATUS 
                   Microsoft has confirmed this to be a bug in the
Microsoft products listed at
                   the beginning of this article. We are researching
this problem and will post
                   new information here in the Microsoft Knowledge
Base as it becomes
                   available. 
                   MORE INFORMATION 
                   Steps to Reproduce Problem 
                      1.Start Visual Basic with a New Project. 
                      2.Add a Command button to the form. 
                      3.Add the following code to the Click event of
the Command button: 
                           Sub Command1_click()
                              printer.fontsize = 36
                              printer.fontbold = true
                              printer.fontitalic = true
                              printer.fontunderline = true
                              printer.print "This is a test"
                              printer.enddoc
                           End Sub
                      4.Run this program and press the Command button.
The output should
                        have printed correctly. 
                      5.Press the Command button again. This time the
output will have lost
                        all of its font attributes. 
------------------------
Ciao
(A proposito, prima che ti preoccupi, il service pack 2 riguarda VB5).
--------------------------------------------------------------------
Fulvio Senore
Eliminate "zz" dall'indirizzo e-mail per scrivermi (spammers...)
Remove "zz" from e-mail address to write me (spammers...)
--------------------------------------------------------------------

 riguarda
alcunne stringhe che dovevano apparire in verde, e grassetto corsivo,
con size 18(il font era times new roman), che venivano benissimo con una
Epson Stylus color e
con una Laser Lexmark (chiaramente in B/n)
ma che si sono trasformate in un Courier 10 Bn con 3 diverse Hp deskjet
(ognuna con
i rispettivi driver). Sembra che Vb o Win 95 ignori completamente la
presenza del font giusto.
Se sapete qualcosa a proposito fatevi vivi        Bye Gianco
giu...@mbox.vol.it