Differenze tra le versioni di "Stampare il testo presente in oggetti di testo"

Da Gambas-it.org - Wikipedia.
Riga 58: Riga 58:
 
  <FONT color=006400>' ''Al codice HTML essenziale per stampare''
 
  <FONT color=006400>' ''Al codice HTML essenziale per stampare''
 
  ' ''aggiungiamo il testo da stampare:''</font>
 
  ' ''aggiungiamo il testo da stampare:''</font>
  preHtml &= TextEdit1.RichText  |[[#Note|1]]|
+
    preHtml &= TextEdit1.RichText  |[[#Note|1]]|
 
        
 
        
 
  <FONT color=006400>' ''Salviamo il nuovo codice, comprensivo del testo da stampare''
 
  <FONT color=006400>' ''Salviamo il nuovo codice, comprensivo del testo da stampare''
 
  ' ''in un file "HTML":''</font>
 
  ' ''in un file "HTML":''</font>
      File.Save("/tmp/prova.html", preHtml)
+
    File.Save("/tmp/prova.html", preHtml)
 
        
 
        
 
  <FONT color=006400>' ''Richiamiamo ed apriamo il file HTML con il "MessageBox":''</font>
 
  <FONT color=006400>' ''Richiamiamo ed apriamo il file HTML con il "MessageBox":''</font>
      Message.Info("<A HREF=/tmp/prova.html>Stampa !")
+
    Message.Info("<A HREF=/tmp/prova.html>Stampa !")
 
              
 
              
 
  '''End'''
 
  '''End'''

Versione delle 05:00, 13 feb 2013

Per poter stampare il testo presente in oggetti di testo, come ad esempio Textabel, Label, TextArea, etc, possiamo utilizzare la procedura con la Classe Printer, oppure utilizzare il codcie HTML.


Uso della Classe Printer

L'uso della Classe Printer permette di stampare con le sole risorse di Gambas. Potremo adottare il seguente codice:

Public Sub Button1_Click()

  With Printer1
    .Configure
    .Orientation = 0
    .Paper = 2
    .Resolution = Desktop.Resolution
    .Print
  End With
 
End


Public Sub Printer1_Draw()

 Dim o As Object


  With Paint

    For Each o In FMain.Children

' Impostiamo lo spessore dei caratteri:
      .LineWidth = 0.01
' Individuiamo ed impostiamo lo spazio ove far stampare i caratteri:
      .Text(o.Text, o.X, o.Y, o.W, o.H)
      .Fill
      
    Next

  End With

End

Questo algoritmo, ad ogni modo, consente di stampare anche il testo assegnato alle proprietà .Text e .RichText di qualsiasi oggetto che le possegga.


Uso del codice HTML

L'uso del codice HTML determinerà anche l'apertura del brower, dove sarà visualizzato il contenuto da stampare. Potremo adottare, ad esempio, il seguente codice:

Private preHtml As String


Public Sub Form_Open()

' Questo è il codice HTML essenziale per stampare automaticamente:
   preHtml = "<Html>\n<body onload = \"self.print()\" >"

End


Public Sub Button1_Click()

' Al codice HTML essenziale per stampare
' aggiungiamo il testo da stampare:
    preHtml &= TextEdit1.RichText   |1|
      
' Salviamo il nuovo codice, comprensivo del testo da stampare
' in un file "HTML":
    File.Save("/tmp/prova.html", preHtml)
      
' Richiamiamo ed apriamo il file HTML con il "MessageBox":
    Message.Info("<A HREF=/tmp/prova.html>Stampa !")
            
End

Come già detto, cliccando sul collegamento presente sul MessageBox, si apriranno contestualmente il browser che mostrerà il testo da stampare e la consueta finestra di dialogo per la stampa.


Note

[1] Si ricorda che la TextEdit è capace mediante il codice HTML di caricare e mostrare anche una immagine. In tal modo, questo oggetto consentirà di stampare sia testo che immagini.