Autore Topic: Stampare form con Gambas 3  (Letto 1176 volte)

Offline akrobaticone

  • Gran Maestro dei Gamberi
  • *****
  • Post: 983
    • Mostra profilo
Stampare form con Gambas 3
« il: 12 Agosto 2011, 19:07:53 »
Ciao
Vorrei stampare il contenuto di un form ne quale viene visualizzata una gridview
Come posso fare?
Grazie
"e il naufragar m'è dolce in questo mar"

Offline Ceskho

  • Amministratore
  • Senatore Gambero
  • *****
  • Post: 3.778
  • Vi Veri Veniversum Vivus Vici
    • Mostra profilo
    • Pagina Personale
Re: Stampare form con Gambas 3
« Risposta #1 il: 13 Agosto 2011, 11:10:39 »
Ciao
Vorrei stampare il contenuto di un form ne quale viene visualizzata una gridview
Come posso fare?
Grazie


Potresti salvare il contenuto del form in un'immagine e poi stampare quella. Basta usare il metodo .Grab() su un oggetto per poter ottenere la sua immagine. Ad esempio Form1.Grab() restituisce una Picture del Form1. Ovviamente puoi usarlo anche sui singoli oggetti.

Per ora questa mi sembra la soluzione più semplice. Altrimenti, mediante un algoritmo, ti estrai i dati dalla grid e ti popoli un file di testo o crei un pdf con le classi create dagli utenti del forum.

Offline akrobaticone

  • Gran Maestro dei Gamberi
  • *****
  • Post: 983
    • Mostra profilo
Re: Stampare form con Gambas 3
« Risposta #2 il: 13 Agosto 2011, 21:50:51 »
Potresti farmi un esempio con il metodo Grab()?

Grazie
"e il naufragar m'è dolce in questo mar"

Offline Ceskho

  • Amministratore
  • Senatore Gambero
  • *****
  • Post: 3.778
  • Vi Veri Veniversum Vivus Vici
    • Mostra profilo
    • Pagina Personale
Re: Stampare form con Gambas 3
« Risposta #3 il: 14 Agosto 2011, 12:32:10 »
...
Ad esempio Form1.Grab() restituisce una Picture del Form1. Ovviamente puoi usarlo anche sui singoli oggetti.
...

Offline akrobaticone

  • Gran Maestro dei Gamberi
  • *****
  • Post: 983
    • Mostra profilo
Re: Stampare form con Gambas 3
« Risposta #4 il: 15 Agosto 2011, 09:31:16 »
ho provato a fare

Codice: [Seleziona]
Dim a as picture
a=Fmain.Grab()

su Gambas 2 funziona, su Gambas 3 continua a darmi errore TYPE MISMATCH

sbaglio qualche cosa?
"e il naufragar m'è dolce in questo mar"

Offline Ceskho

  • Amministratore
  • Senatore Gambero
  • *****
  • Post: 3.778
  • Vi Veri Veniversum Vivus Vici
    • Mostra profilo
    • Pagina Personale
Re: Stampare form con Gambas 3
« Risposta #5 il: 15 Agosto 2011, 11:01:12 »
No. È giusto. La sintassi infatti è:

Codice: gambas [Seleziona]
my_pic AS NEW Picture
my_pic = Fmain.Grab()
my_pic.Save(User.Home &/ "my_pic" & ".jpg", 100)

Offline akrobaticone

  • Gran Maestro dei Gamberi
  • *****
  • Post: 983
    • Mostra profilo
Re: Stampare form con Gambas 3
« Risposta #6 il: 15 Agosto 2011, 13:08:15 »
Ti confermo che non funziona e si inchioda il form
è un bug o sono io il bug?

"e il naufragar m'è dolce in questo mar"

Offline milio

  • Senatore Gambero
  • ******
  • Post: 1.273
  • Chi parla poco dice tanto...
    • Mostra profilo
Re: Stampare form con Gambas 3
« Risposta #7 il: 15 Agosto 2011, 14:14:31 »
Citazione
Control.Grab (gb.qt4)
SUB Grab ( )
Grab the keyboard and the mouse so that all keyboard and mouse events are received by the control.
Pressing the ESC key automatically aborts the grab.

 :danger:    In Gambas 2, that metodo does something else: it tries to take a screenshot of the control.
 

Offline milio

  • Senatore Gambero
  • ******
  • Post: 1.273
  • Chi parla poco dice tanto...
    • Mostra profilo
Re: Stampare form con Gambas 3
« Risposta #8 il: 15 Agosto 2011, 14:32:14 »
Un'alternativa potrebbe essere Desktop.Screenshot()
Unica cosa e' che devi specificare le coordinate di posizione e grandezza della picture che vuoi generare...

Offline akrobaticone

  • Gran Maestro dei Gamberi
  • *****
  • Post: 983
    • Mostra profilo
Re: Stampare form con Gambas 3
« Risposta #9 il: 15 Agosto 2011, 15:36:17 »
Quindi un passaggio diretto tra la gridview e la stampa non è possibile.
penso a questo punto di convertire prima in pdf e poi stampare il risultato
grazie mille per le info.
"e il naufragar m'è dolce in questo mar"