Autore Topic: Stampa con versione 2.99  (Letto 1597 volte)

Offline aulin

  • Gambero
  • **
  • Post: 83
    • Mostra profilo
Stampa con versione 2.99
« il: 14 Settembre 2010, 17:55:34 »
Ho provato a stampare con questa versione ma mi sono subito stoppato. L'istruzione :
Codice: [Seleziona]

public stampante as new printer

stampante.configure     ' per scegliere la stampante
stampante.name           ' il nome è corretto
Paint.Begin(stampante)                                       

mi evidenzia l'errore : printer is not printing.
Qualcuno ne sa qualcosa ?

Offline fsurfing

  • Moderatore
  • Senatore Gambero
  • *****
  • Post: 2.482
    • Mostra profilo
Re: Stampa con versione 2.99
« Risposta #1 il: 14 Settembre 2010, 21:25:48 »
anche io ho avuto lo stesso problema , sembrerebbe che non sia ancora implementato l' oggetto printer... anche nella guida in linea manca l' argomento..
« Ultima modifica: 14 Settembre 2010, 21:28:33 da fsurfing »

Offline milio

  • Senatore Gambero
  • ******
  • Post: 1.273
  • Chi parla poco dice tanto...
    • Mostra profilo
Re: Stampa con versione 2.99
« Risposta #2 il: 17 Settembre 2010, 00:35:45 »
Ho avuto anche io quel tipo di problema... finché ho trovato la soluzione ;)

Se guardi nella toolbox di gambas nella sezione Special, vedrai che si puo' utilizzare l'oggetto Printer.
Allora al quel inserendolo nel form che richiama la stampa, avrai un oggetto Printer1 e...

  Me.Printer1.Configure()
  Me.Printer1.Print()

Poi nell'evento Printer1_Begin() metterai il codice per 'scrivere' sulla stampa.

Offline md9327

  • Moderatore
  • Senatore Gambero
  • *****
  • Post: 2.840
    • Mostra profilo
Re: Stampa con versione 2.99
« Risposta #3 il: 17 Settembre 2010, 10:23:17 »
Bravo Milio, sei la nostra pietra "miliare" per passare alla 3....

Avere l'oggetto Printer come un componente grafico è molto simpatico e utile (come il timer...).

Offline aulin

  • Gambero
  • **
  • Post: 83
    • Mostra profilo
Re: Stampa con versione 2.99
« Risposta #4 il: 18 Settembre 2010, 23:59:19 »
Non ho ancora chiuso la discussione perchè non riesco ancora a far funzionare la stampante.
Sistemao ticamente mi tira fuori un foglio miseramente bianco.
Allego un banale sorgente non funzionante.

Codice: [Seleziona]

Public Sub BTN_Chiudi_Click()
  Me.Close
End

Public Sub Form_Open()
End

Public Sub BTN_Stampa_Click()
Me.Printer1.Configure
 Me.printer1.Print

'  Printer1_Begin()
'  Printer1_Draw()
'  Printer1_End()
 
End

Public Sub Printer1_Begin()
End

Public Sub Printer1_End()
End

Public Sub Printer1_Draw()
Dim Messaggio As String
  Messaggio = "Res: " & Str(printer1.Resolution) & ", Width: " & Str(printer1.PaperWidth) & ", Height: " & Str(printer1.PaperHeight) 
   message.Info(Messaggio)                       
  Paint.Font.Name = "Sans"
  Paint.Font.Size = 90
  Paint.Font.Bold = True
  Paint.MoveTo(10, 135)
  Paint.Text("Hello kdjgh gkjh kghdf kgjh kgh kjgh kjh kh k kh khkh")
Paint.End
End

Offline vuott

  • Moderatore globale
  • Senatore Gambero
  • *****
  • Post: 11.724
  • Ne mors quidem nos iunget
    • Mostra profilo
Re: Stampa con versione 2.99
« Risposta #5 il: 03 Gennaio 2012, 05:49:31 »
Io sono riuscito a stampare con Printer nel modo che puoi vedere qui:

http://www.gambas-it.org/smf/index.php?topic=1553.msg21799#msg21799
« Chiunque, non ricorrendo lo stato di necessità, nel proprio progetto Gambas fa uso delle istruzioni Shell o Exec, è punito con la sanzione pecuniaria da euro 20,00 a euro 60,00. »

Offline andy60

  • Senatore Gambero
  • ******
  • Post: 1.255
    • Mostra profilo
    • https://www.linkedin.com/in/andbertini
Re: Stampa con versione 2.99
« Risposta #6 il: 03 Gennaio 2012, 08:51:21 »
Buongiorno, io con G3 la stampa la risolvo utilizzando il componente pdfreport, dato che le stampe di cui faccio uso sono sempre dello stesso tipo, prelevano dati da tabbelle sqlite. Cmq buono a sapersi che esiste un oggetto printer.

Offline andy60

  • Senatore Gambero
  • ******
  • Post: 1.255
    • Mostra profilo
    • https://www.linkedin.com/in/andbertini
Re: Stampa con versione 2.99
« Risposta #7 il: 10 Gennaio 2012, 12:27:17 »
Non ho ancora chiuso la discussione perchè non riesco ancora a far funzionare la stampante.
Sistemao ticamente mi tira fuori un foglio miseramente bianco.
Allego un banale sorgente non funzionante.

Codice: [Seleziona]

Public Sub BTN_Chiudi_Click()
  Me.Close
End

Public Sub Form_Open()
End

Public Sub BTN_Stampa_Click()
Me.Printer1.Configure
 Me.printer1.Print

'  Printer1_Begin()
'  Printer1_Draw()
'  Printer1_End()
 
End

Public Sub Printer1_Begin()
End

Public Sub Printer1_End()
End

Public Sub Printer1_Draw()
Dim Messaggio As String
  Messaggio = "Res: " & Str(printer1.Resolution) & ", Width: " & Str(printer1.PaperWidth) & ", Height: " & Str(printer1.PaperHeight) 
   message.Info(Messaggio)                       
  Paint.Font.Name = "Sans"
  Paint.Font.Size = 90
  Paint.Font.Bold = True
  Paint.MoveTo(10, 135)
  Paint.Text("Hello kdjgh gkjh kghdf kgjh kgh kjgh kjh kh k kh khkh")
Paint.End
End

hai risolto?

Offline vuott

  • Moderatore globale
  • Senatore Gambero
  • *****
  • Post: 11.724
  • Ne mors quidem nos iunget
    • Mostra profilo
Re: Stampa con versione 2.99
« Risposta #8 il: 10 Gennaio 2012, 16:20:06 »
Non ho ancora chiuso la discussione perchè non riesco ancora a far funzionare la stampante.
Sistematicamente mi tira fuori un foglio miseramente bianco.
Allego un banale sorgente non funzionante.

Codice: [Seleziona]
Public Sub BTN_Stampa_Click()
Me.Printer1.Configure
 Me.printer1.Print
End

Public Sub Printer1_Draw()
Dim Messaggio As String
  Messaggio = "Res: " & Str(printer1.Resolution) & ", Width: " & Str(printer1.PaperWidth) & ", Height: " & Str(printer1.PaperHeight)  
   message.Info(Messaggio)                        
  Paint.Font.Name = "Sans"
  Paint.Font.Size = 90
  Paint.Font.Bold = True
  Paint.MoveTo(10, 135)
  Paint.Text("Hello kdjgh gkjh kghdf kgjh kgh kjgh kjh kh k kh khkh")
Paint.End
End

hai risolto?

Secondo me deve:
* eliminare il riferimento a Me. nella prima routine (a me dà errore se lo lascio lì);
* cambiare Paint.Text("......") in Paint.DrawText(".......")

In vero, può anche lasciare Paint.Text, ma in questo caso deve porre dopo di esso il comando Paint.Fill  .
Anche l'uso di Paint.RichText è possibile, ma - come nel caso di Paint.Text - si deve porre dopo di esso il comando Paint.Fill  .

Così modificato in uno dei due modi, a me il codice di aulin stampa perfettamente.
« Ultima modifica: 21 Maggio 2012, 15:24:41 da vuott »
« Chiunque, non ricorrendo lo stato di necessità, nel proprio progetto Gambas fa uso delle istruzioni Shell o Exec, è punito con la sanzione pecuniaria da euro 20,00 a euro 60,00. »