Autore Topic: Report con PdfWriter  (Letto 21598 volte)

Offline md9327

  • Moderatore
  • Senatore Gambero
  • *****
  • Post: 2.840
    • Mostra profilo
Re: Report con PdfWriter
« Risposta #30 il: 03 Settembre 2010, 12:30:18 »
Appena ho un attimo, cerco di integrare il tutto nella nuova release. Avete fatto un bel lavoro!  :ok:

Due appunti, anche per il futuro:

1) il nome delle funzioni, metodi e proprietà, meglio scriverle sempre in inglese; questo perchè PdfWriter viene scaricato a livello internazionale.
2) bella la funzione di conversione, e immagino tu ti sia ucciso col gas, dopo che l'hai terminato. Ti ricordo però, se non lo sai, che i caratteri da 0 a 127 sono standardizzati a livello mondiale, mentre la seconda tabella che va da 128 e oltre no. Questo ti permette di agire su un set più limitato. Però, tieni conto che la tabella che hai usato si riferisce alla tabella ISO italiana (non ricordo ora il codice esatto), e quindi diventa non più valida con un'impostazione di lingua diversa. In realtà, quei caratteri speciali, dovrebbero essere individuabili con le funzioni Conv di Gambas, ma non lo avevo implementato a causa di qualche problema che avevo riscontrato.

Offline dex

  • Gran Maestro dei Gamberi
  • *****
  • Post: 872
    • Mostra profilo
Re: Report con PdfWriter
« Risposta #31 il: 03 Settembre 2010, 14:40:37 »
@MD9327
Edit: il lavoro lo ha fatto tutto elia!

Per multicell ho notato che l'opzione giustifica non funziona su tutte le righe ma solo sull'ultima della cella.
per esempio: avendo 4 righe in una multicella solo la 4° è giustificata.

In pdfwriter sarebbe comodo avere:
la possibilità di usare i caratteri installati nel sistema e i caratteri sottolineati.

aggiornaci appena pubblichi la nuova release.

Offline Golia

  • Senatore Gambero
  • ******
  • Post: 1.298
  • no xe mai massa tardi
    • Mostra profilo
Re: Report con PdfWriter
« Risposta #32 il: 03 Settembre 2010, 16:22:43 »
Grazie, comunque so benissimo che adesso PdfWriter è in buone mani :ok:  ;D

@Dex
Citazione
il lavoro lo ha fatto tutto elia!
ELIA?..e cosa sono diventato un profeta adesso??  ???
 :2birre: :D
Ciao
« Ultima modifica: 03 Settembre 2010, 16:24:28 da Golia »

Offline dex

  • Gran Maestro dei Gamberi
  • *****
  • Post: 872
    • Mostra profilo
Re: Report con PdfWriter
« Risposta #33 il: 03 Settembre 2010, 22:15:18 »
Grazie, comunque so benissimo che adesso PdfWriter è in buone mani :ok:  ;D

@Dex
Citazione
il lavoro lo ha fatto tutto elia!
ELIA?..e cosa sono diventato un profeta adesso??  ???
 :2birre: :D
Ciao

sorry  :'(

la colpa è dei moderatori che fanno girare nik strani su questo forum, secondo dovrebbero assegnare nomi facili come astrubaldo, arcingetorige, cesarotonite ecc..

Offline Golia

  • Senatore Gambero
  • ******
  • Post: 1.298
  • no xe mai massa tardi
    • Mostra profilo
Re: Report con PdfWriter
« Risposta #34 il: 03 Settembre 2010, 22:51:20 »
 :) si si, sempre colpa dei moderatori  ;D

Offline Ceskho

  • Amministratore
  • Senatore Gambero
  • *****
  • Post: 3.778
  • Vi Veri Veniversum Vivus Vici
    • Mostra profilo
    • Pagina Personale
Re: Report con PdfWriter
« Risposta #35 il: 04 Settembre 2010, 00:49:53 »
:) si si, sempre colpa dei moderatori  ;D

8)

Ottimo lavoro, ragazzi.....

Offline Golia

  • Senatore Gambero
  • ******
  • Post: 1.298
  • no xe mai massa tardi
    • Mostra profilo
Re: Report con PdfWriter
« Risposta #36 il: 04 Settembre 2010, 10:26:03 »
Grazie capo  8)

Offline md9327

  • Moderatore
  • Senatore Gambero
  • *****
  • Post: 2.840
    • Mostra profilo
Re: Report con PdfWriter
« Risposta #37 il: 06 Settembre 2010, 21:37:50 »
Sentite...

E' vero che il progetto l'ho messo in piedi io, convertendo il lavoro di un'altro, e il lavoro di implementazione fatto da questi ragazzi credo sia da valutare, stavo pensando... (sò che la cosa è difficile, ma a volte ci riesco...  ;D )...

Visto il poco tempo che ho a disposizione, perchè non ufficializzare la collaborazione, ovvero rendere pubbliche le vostre aggiunte/modifiche, e far sì di aggiornare il repository ufficiale di sf.net? Ovviamente se siete d'accordo...  :2birre:

L'unica cosa che non mi piace, ma è un mio pensiero, è quello di veder creare dei fork, però limitati solo a quì...
Sò che è bello veder popolato il repository di questo forum, ma la visibilità è piuttosto ridotta rispetto a quella fornita da sf.net. Ovviamente si può mettere un link, come fatto per pgDesigner, ma renderemmo maggior visibilità alla libreria, oltre al fatto che darebbe anche pubblicità al nostro sito.

Che ne dite?
Io sono disposto a fornire accesso al repository ufficiale come collaboratore, restando comunque il validatore delle modifiche...

Offline Golia

  • Senatore Gambero
  • ******
  • Post: 1.298
  • no xe mai massa tardi
    • Mostra profilo
Re: Report con PdfWriter
« Risposta #38 il: 06 Settembre 2010, 22:06:16 »
Per me è solo che un piacere  :-*
Citazione
L'unica cosa che non mi piace, ma è un mio pensiero, è quello di veder creare dei fork
Lo penso anch'io, e sono sicuro che crea confusione anche solo nel nostro forum.
Secondo me la strada da seguire e sistemare i Multicell. In fondo avevo fatto solo Multiriga che è una clonazione di Multicell, va solo un pò aggiustata. E poi il discorso dei bordi (rettangoli) si può usare comunque Multirect con Multicell. Questo è un mio parere, ma è giusto che decidi tu cosa fare.
Per quello che posso fare..io sono disponibile  :2birre:
Grazie

Offline md9327

  • Moderatore
  • Senatore Gambero
  • *****
  • Post: 2.840
    • Mostra profilo
Re: Report con PdfWriter
« Risposta #39 il: 07 Settembre 2010, 10:33:04 »
Allora, vedrò di sistemare la cosa a livello repository, ma ad ogni modo si dovrà sistemare un pochino il lavoro che avete fatto:

1) il nome della funzione Multiriga deve cambiare nome in lingua inglese, magari anche MultiCell2
2) stessa cosa per tutte le funzioni, private e pubbliche, che sono state inserite
3) non ho modo di farlo io, ma sarebbe il caso di testare la modifica che avevo proposto pocanzi, ovvero quella di aggiungere una piccola PROPERTY o metodo per impostare il set di caratteri. Indi per cui modificare la stampa delle stringhe iusando sì Conv, ma usando come parametro la nuova variabile (vedi nuova property).

AL momento credo che questi punti possano aggiustare il tutto in modo da rendere la prox release generalmente usabile, ovvero non solo da noi del sito, ma anche da persone di altri paesi. Ricordo ancora che PdfWriter viene usato un pò in giro per il globo, per cui sarebbe il caso di rendere internazionali le vostre modifiche... Lo sò, chiedo troppo...  :-*

Inoltre, eviatet di postare direttamente il codice qui nella discussione, sarebbe preferibile allegarlo come file, magari di testo, con le sole aggiunte, più o meno come avete fatto in precedenza, ma sarebbe più gestibile e posso più facilmente integrarlo nel progetto.

P.S.: Non dite che sono palloso...  :D

Offline Golia

  • Senatore Gambero
  • ******
  • Post: 1.298
  • no xe mai massa tardi
    • Mostra profilo
Re: Report con PdfWriter
« Risposta #40 il: 07 Settembre 2010, 22:17:14 »
Citazione
1) il nome della funzione Multiriga deve cambiare nome in lingua inglese, magari anche MultiCell2
Non ho tanta fantasia e non conosco bene l'inglese.. potrebbe andar bene "Multigrid" e "GridCell" ?
Poi c'è "Lnm()" che si comporta diversamente da "Ln()". Può andare "Lngrid()"
Multirect mi sembra appropriato.
Citazione
2) stessa cosa per tutte le funzioni, private e pubbliche, che sono state inserite
C'è una funzione pubblica "$lasthmulti" serve per memorizzare l'altezza massima delle celle in una riga. $max_y ?
Funzioni private riguardanti Multigrid:
Al momento "numeroriga" serve a contare quante volte va a capo, per conoscere quante righe ci sono in una cella, io direi "lines"
Al momento "salva$y" serve per memorizzare $y che durante la funzione cambia di valore, per poi tornare a fine funzione come in origine. "mem$y" ?
Citazione
3) non ho modo di farlo io, ma sarebbe il caso di testare la modifica che avevo proposto pocanzi, ovvero quella di aggiungere una piccola PROPERTY o metodo per impostare il set di caratteri. Indi per cui modificare la stampa delle stringhe iusando sì Conv, ma usando come parametro la nuova variabile (vedi nuova property).
Scusa quà mi perdo qualcosa.. quale nuova property?
Fammi sapere che sistemo il codice e te lo mando. Ciao grazie


Offline md9327

  • Moderatore
  • Senatore Gambero
  • *****
  • Post: 2.840
    • Mostra profilo
Re: Report con PdfWriter
« Risposta #41 il: 08 Settembre 2010, 10:43:08 »
1) Non ci sono problemi con i nomi, purchè sia in inglese, e ce indichino più o meno cosa fà la funzione. Io penso che, dato che è una variante di MultiCell, di chiamarla anche MultiCell2, non ci sono imposizioni in questo...  :-\

2) Devi perdonarmi, ma anche se rispondo a questi thread, ho poco tempo e possibilità di lavorare su PdfWriter, per cui non ho ancora visto le tue modifiche. Comunque, per le variabili non c'è problema, basta che non vengano utilizzate quelle esistenti, a meno che non sia necessario, onde evitare che questo provochi problemi in altre funzioni. Per il nome, idem come per i metodi...

3) Riguardo alla nuova property, la mia idea era quella di impostare una variabile privata, ad esempio "$charConv", associarla ad una sua property o ad una funzione di lettura/scrittura, ad esempio "SetCharConv(newSet AS String)" a cui passare appunto la stringa corrispondente al set di caratteri scelto, ad esempio "UTF-8" o "ISO-xxxx-xx", e poi quando serve convertire le stringhe del testo tramite la funzione di gambas "Conv()", passandogli come parametro di conversione per la destinazione, la variabile "$charConv". Questo permette di slegare la libreria dal sistema, demandando all'applicazione, o l'utente, il compito di settare la giusta impostazione di lingua.

Offline Ceskho

  • Amministratore
  • Senatore Gambero
  • *****
  • Post: 3.778
  • Vi Veri Veniversum Vivus Vici
    • Mostra profilo
    • Pagina Personale
Re: Report con PdfWriter
« Risposta #42 il: 08 Settembre 2010, 14:37:01 »
1) Non ci sono problemi con i nomi, purchè sia in inglese, e ce indichino più o meno cosa fà la funzione. Io penso che, dato che è una variante di MultiCell, di chiamarla anche MultiCell2, non ci sono imposizioni in questo...  :-\

Fa schifo..... ;D

Offline Golia

  • Senatore Gambero
  • ******
  • Post: 1.298
  • no xe mai massa tardi
    • Mostra profilo
Re: Report con PdfWriter
« Risposta #43 il: 08 Settembre 2010, 22:20:29 »
Ok, multicell2 va benissimo per me :)
Citazione
3) Riguardo alla nuova property, la mia idea era quella di impostare una variabile privata, ad esempio "$charConv", associarla ad una sua property o ad una funzione di lettura/scrittura, ad esempio "SetCharConv(newSet AS String)" a cui passare appunto la stringa corrispondente al set di caratteri scelto, ad esempio "UTF-8" o "ISO-xxxx-xx", e poi quando serve convertire le stringhe del testo tramite la funzione di gambas "Conv()", passandogli come parametro di conversione per la destinazione, la variabile "$charConv". Questo permette di slegare la libreria dal sistema, demandando all'applicazione, o l'utente, il compito di settare la giusta impostazione di lingua.
Scusa ma non ho capito niente  :rolleyes:..guarda che io sono un programmatore della domenica :D
Se mi fai un esempietto penso di arrivarci... ;D
Per il resto di codice appena l'ho sistemato te lo mando. Ciao

Offline md9327

  • Moderatore
  • Senatore Gambero
  • *****
  • Post: 2.840
    • Mostra profilo
Re: Report con PdfWriter
« Risposta #44 il: 09 Settembre 2010, 11:33:43 »
E vabbè, ma allora perchè mi rispondi il giovedì?  ;D

[Per cesko]
Ma come ti permetti?!?!?!?!?!?!?!?!?!?!  :evil: :P

Scusa l'intemezzo cazziatore a cesko, e ritornando a bomba sull'argomento...
Immaginavo che non ci avessi capito nulla, infatti non l'ho capito neanche io... :rolleyes:

Scherzi a parte, l'idea ad occhio è questa:
Codice: [Seleziona]
'###aggiunte nella libreria PdfWriter
PRIVATE $charSet AS String = "UTF-8"
PUBLIC SUB SetLanguage(code as String)
  $charSet = code
END

'###modifica della funzione di scrittura
...
$row = Conv($row, "UTF-8", $charSet)
...

Ora la funzione di scrittura di PdfWriter non mi sovviene il nome, mi pare _out(), ma ad ogni modo basta individuare l'istruzione che hai inserito con la funzione Conv(). L'unica cosa da fare è sostituire il terzo parametro con la variabile privata $charSet.