Autore Topic: [RISOLTO] Report con Gambas  (Letto 5673 volte)

Offline Mirkco

  • Gamberetto
  • *
  • Post: 5
    • Mostra profilo
[RISOLTO] Report con Gambas
« il: 13 Aprile 2010, 12:09:21 »
Pian Piano e prendendo spunto dagli esempi trovati su questa meravigliosa comunità, sono riuscito a creare una rubrica telefonica alla quale avrei voluto aggiungere una funzione utile alla creazione di Report con i dati del DB Sqllite, ma  :( Nulla!!!!
ho provato la stampa aggiungendo le QT e il risultato non è soddisfacente, mi sembra difficile per far incolonnare i dati e inoltre, graficamente preferisco GTK, quindi ho tentato di usare PDFwriter. Niente da fare. l'ho scaricato, ma non riesco a capire come si usa, come si installa e nel forum ho trovato poca documentazione......
Qualcuno è in grado di darmi indicazioni, magari con un piccolo esempio di codice da cui trarre spunto? ......... Ciao e grazie anticipatamente.
« Ultima modifica: 14 Aprile 2010, 22:22:51 da Mirkco »

Offline dex

  • Gran Maestro dei Gamberi
  • *****
  • Post: 872
    • Mostra profilo
Re: Report con Gambas
« Risposta #1 il: 13 Aprile 2010, 19:45:13 »
ciao mirkco

non spaventarti per la complessità del codice, in realtà è molto semplice e facile.
pdfwriter compone le stampe con i valori x e y, in pratica sei tu a dirgli il punto esatto dove stampare.

è composto da tre settori
1) Header (che sarebbe l'intestazione della stampa e si ripete su tutte le pagine)
2) Data ( il corpo della pagina e nel caso che il testo superi tutto lo spazio aggiunge una pagina successiva)
3) Footer(la fine della pagina o piè di pagina e si ripete su tutte le pagine)

per stampare cn pdfwriter ti basta creare una classe (es. MiaStampa )  e richiamarla fal form con del codice tipo:
Codice: [Seleziona]
DIM hStampa AS Process
      DIM MyReport AS String
    DIM pdf AS MiaStampa
   RANDOMIZE
   
   MyReport = "/tmp/MiaStampa.pdf"
   
  pdf = NEW MiaStampa("Portrait", "mm", "A4")
  pdf.Open()
  pdf.AliasNbPages()
  'pdf.Data
  pdf.Output(MyReport, FALSE)


   hStampa = SHELL ("evince" & " " & MyReport)

in allegato ti inserisco un piccolo esempio che genera un pdf con un codice a barre

cmq dai un'occhiata al progetto di golia dove fà un largo uso di stampe con pdfwriter

Offline Golia

  • Senatore Gambero
  • ******
  • Post: 1.298
  • no xe mai massa tardi
    • Mostra profilo
Re: Report con Gambas
« Risposta #2 il: 13 Aprile 2010, 21:27:00 »
Ciao,
Ti consiglio di darci un'occhiata anche quì http://www.fpdf.org/
MD9327 ha fatto il porting in gambas da questa famosa libreria php, sicuramente ti sevirà a capire qualcosa.
Comunque non esitare a chiedere se hai qualche dubbio.
PdfWriter è una bomba, giusto Dex? :)
Ciao

Offline dex

  • Gran Maestro dei Gamberi
  • *****
  • Post: 872
    • Mostra profilo
Re: Report con Gambas
« Risposta #3 il: 13 Aprile 2010, 21:45:12 »
vero è una bomba, ci stampo di tutto dai preventivi, fatture, ddt ecc..

unica pecca il simbolo €

Offline Ceskho

  • Amministratore
  • Senatore Gambero
  • *****
  • Post: 3.778
  • Vi Veri Veniversum Vivus Vici
    • Mostra profilo
    • Pagina Personale
Re: Report con Gambas
« Risposta #4 il: 14 Aprile 2010, 00:09:02 »
Quetsa libreria è una di quelle cose di cui la nostra comunità può vantarsi in tutto il mondo! Saperla usare facilita la vita ed io (che caspiterina ho tanti soldi sparsi in giro!!!) ti consiglio di impararla ad usare!

Offline Mirkco

  • Gamberetto
  • *
  • Post: 5
    • Mostra profilo
Re: Report con Gambas
« Risposta #5 il: 14 Aprile 2010, 22:11:39 »
Ciao a tutti !!!!

Con soddisfazione vi comunico che grazie alle vostre risposte e le indicazioni che mi avete dato, finalmente dopo tre settimane che sbatto, sono riuscito a capire come fare e con il codice di DEX ho creato un Report Stampabile, che secondo me è veramente professionale.:D
Sono proprio felice e devo dire che non immaginavo neppure di riuscire ad ottenere un simile risultato. La libreria è veramente grande, così come Gambas che uso da poco tempo e questo Forum. Ciao e grazie ancora. 


Offline dex

  • Gran Maestro dei Gamberi
  • *****
  • Post: 872
    • Mostra profilo
Re: Report con Gambas
« Risposta #6 il: 14 Aprile 2010, 22:22:17 »
questo forum è piccolo ma molto reattivo e professionale ed a differenza di altri forum qui non se la tirano come si dice in gergo.

per maggiori informazioni su pdfwriter vedi che nella classe c'è un pdf di esempio fatto da md (pdftest) dove all'interno trovi molte pagine con tantissimi esempi, tipo come inserire oggetti (cerchi, ovali quadrati ecc..) come farli ruotare e tanto altro.

ultimo consiglio invece di usare cell potresti usare multicell(fatto da golia) che permette di stampare le stringhe su più righe invece di troncarle.
io oramai nei miei programmi uso solo multicell

Offline Mirkco

  • Gamberetto
  • *
  • Post: 5
    • Mostra profilo
Re: Report con Gambas
« Risposta #7 il: 14 Aprile 2010, 23:36:20 »
ultimo consiglio invece di usare cell potresti usare multicell(fatto da golia) che permette di stampare le stringhe su più righe invece di troncarle.
io oramai nei miei programmi uso solo multicell
[/quote]

Perfetto, ottima funzione, la proverò... ho scaricato anche un progetto (Fatto da Golia), molto complesso e ben fatto e sto cercando di apprendere qualcosa sia per la libreria PDFWriter, che per GAMBAS? Ciao   
 

Offline Golia

  • Senatore Gambero
  • ******
  • Post: 1.298
  • no xe mai massa tardi
    • Mostra profilo
Re: [RISOLTO] Report con Gambas
« Risposta #8 il: 15 Aprile 2010, 09:29:48 »
Citazione
ultimo consiglio invece di usare cell potresti usare multicell(fatto da golia) che permette di stampare le stringhe su più righe invece di troncarle.
Ti sbagli, io ho fatto multiriga e multirect (tratto sempre da multicell), multicell è di md9327.

Sono contento che hai potuto risolvere Mircko.
La nostra è una stupenda comunità ;D

Offline Golia

  • Senatore Gambero
  • ******
  • Post: 1.298
  • no xe mai massa tardi
    • Mostra profilo
Re: [RISOLTO] Report con Gambas
« Risposta #9 il: 15 Aprile 2010, 14:45:56 »
In questo post http://www.gambas-it.org/smf/index.php?topic=816.msg8689#msg8689 si parla di multiriga e ci sono immagini per capire cosa fà, (le ho rimesse apposto oggi) alla risposta 24 si può scaricare il mio pdfwriter con questi comandi che sono stati aggiunti.
Spero possa essere utile.

@Dex
Ma come fai a far funzionare multicell?  A me andava a capo, non potevo usarlo come cell. Tipo per fare tre colonne fai:

Me.Cell....
Me.Cell....
Me.Cell....
ME.Ln() ' che quà va a capo

Invece facendo lo stesso con multicell mi crea una riga nuova ogni multicell.
Per questo che avevo risolto modificando multicell e quindi creando multiriga e multirect .
Forse sbagliavo usare il comando multicell se a te funziona...boh comunque multiriga e multirect funzionano, e ormai sono stracolaudati :D .
Ciao quando trovo un pò di tempo preparo un esempio pratico di pdfwriter con la funzione anteprima (di md) stampa, invio pdf con evolution..

Ciao buon lavoro

Offline Ceskho

  • Amministratore
  • Senatore Gambero
  • *****
  • Post: 3.778
  • Vi Veri Veniversum Vivus Vici
    • Mostra profilo
    • Pagina Personale
Re: [RISOLTO] Report con Gambas
« Risposta #10 il: 15 Aprile 2010, 14:55:34 »
Non c'è bisogno mica di scomodare evolution per inviare email...ricordo che gambas ha un componente per l'invio delle email. Esso funziona purchè ci sia sul computer un server email configurato.

Evolution "pesa" e non è detto che tutti lo abbiano (tipo me..che nel computer non ho niente!!!)... ;)

Offline Golia

  • Senatore Gambero
  • ******
  • Post: 1.298
  • no xe mai massa tardi
    • Mostra profilo
Re: [RISOLTO] Report con Gambas
« Risposta #11 il: 15 Aprile 2010, 17:29:16 »
Non sono riuscito a fare di meglio ;)
Ci avevo provato con il componente, senza riuscirci. Inoltre ho letto un post di Leo, che ha ovviato anche lui il problema con Mutt, io ho preferito Evolution..

Offline dex

  • Gran Maestro dei Gamberi
  • *****
  • Post: 872
    • Mostra profilo
Re: [RISOLTO] Report con Gambas
« Risposta #12 il: 15 Aprile 2010, 23:22:26 »
@golia
sorry, ho sbagliato a scrivere, non è multicell che uso ma il tuo multiriga

Offline Golia

  • Senatore Gambero
  • ******
  • Post: 1.298
  • no xe mai massa tardi
    • Mostra profilo
Re: [RISOLTO] Report con Gambas
« Risposta #13 il: 16 Aprile 2010, 07:51:50 »
ok :) pensavo di non aver capito multicell.
Ciao a presto

Offline leo72

  • Amministratore
  • Senatore Gambero
  • *****
  • Post: 2.163
    • Mostra profilo
    • http://www.leonardomiliani.com
Re: [RISOLTO] Report con Gambas
« Risposta #14 il: 16 Aprile 2010, 10:59:23 »
Non sono riuscito a fare di meglio ;)
Ci avevo provato con il componente, senza riuscirci. Inoltre ho letto un post di Leo, che ha ovviato anche lui il problema con Mutt, io ho preferito Evolution..

Il problema risiede nel componente di Gambas per inviare email, dato che non supporta l'autenticazione, per cui è di fatto inusabile con quasi tutti i server SMTP di posta elettronica.
Nel mio gestionale, dove avevo la necessità di spedire degli avvisi via posta, ho risolto utilizzando mutt da terminale passandogli l'email da inviare che poi lui spedisce ad un server di posta che ho installato sulla macchina (non mi ricordo il nome di quello che ho usato). Il server è colui che si occupa dell'invio del messaggio al server SMTP del nostro provider per la spedizione definitiva dell'e-mail.
Visita il mio sito personale: http://www.leonardomiliani.com