Sempre a proposito di Rtf e mail merge
Moderator: Enrico Maria Giordano
- Marco Turco
- Posts: 858
- Joined: Fri Oct 07, 2005 12:00 pm
- Location: London
- Contact:
Sempre a proposito di Rtf e mail merge
Salve,
una curiosità:
in una mia applicazione effettuo un mail merge di un template RTF con un indirizzario.
Per fare questo ho creato nel testo RTF dei comuni campi di testo XXDATO01XX, XXDATO02XX ecc. che poi vadi a sostituire con i dati dell'indirizzario. In pratica apro il file RTF con Fopen, lo carico in memoria e sostituisco i campi XX.
Quello che vorrei sapere se questo sistema un poco "brutale" che adotto è l'unica soluzione o ci sono soluzioni più sofisticate.
Ho però la necessità di fare un mailmerge indipendentemente dalla presenza di Word quindi non posso utilizzare OLE.
Saluti
Marco
una curiosità:
in una mia applicazione effettuo un mail merge di un template RTF con un indirizzario.
Per fare questo ho creato nel testo RTF dei comuni campi di testo XXDATO01XX, XXDATO02XX ecc. che poi vadi a sostituire con i dati dell'indirizzario. In pratica apro il file RTF con Fopen, lo carico in memoria e sostituisco i campi XX.
Quello che vorrei sapere se questo sistema un poco "brutale" che adotto è l'unica soluzione o ci sono soluzioni più sofisticate.
Ho però la necessità di fare un mailmerge indipendentemente dalla presenza di Word quindi non posso utilizzare OLE.
Saluti
Marco
- Enrico Maria Giordano
- Posts: 7355
- Joined: Thu Oct 06, 2005 8:17 pm
- Location: Roma - Italia
- Contact:
Re: Sempre a proposito di Rtf e mail merge
Personalmente faccio così anche con Word. Credo sia il sistema più versatile e portabile.
EMG
EMG
pero io sono sicuro esisteva velle versioni antecedenti di fw una classe rtf che aveva un metodo merge ma purtroppo non trovo quella versione ...ne ho trovate altre tra cui dbftortf per esempio ma non quella
Vi parlo della classe di Thomas R. Marchione vi ricordate ?
Questa classe ha per esempio anche la possibilità di creare tabelle con rtf
Vi parlo della classe di Thomas R. Marchione vi ricordate ?
Questa classe ha per esempio anche la possibilità di creare tabelle con rtf
- Marco Turco
- Posts: 858
- Joined: Fri Oct 07, 2005 12:00 pm
- Location: London
- Contact:
- Marco Turco
- Posts: 858
- Joined: Fri Oct 07, 2005 12:00 pm
- Location: London
- Contact:
X Emg:
Bene,
io ho però lo strano problema che ogni tanto il campo mi viene "spezzato" da Word in fase di memorizzazione se l'utente finale modifica il template che gli ho fornito.
In pratica se il mio template riporta originariamente il campo tipo:
\par XXDATO01XX
in alcuni casi Word me lo spezza sul tipo
\par XXDATO01
XX
Dal punto di vista visivo sul documento non ci sono variazioni ma è evidente che così non riesco a sostituire il campo con l'indirizzo perché non trovo il campo.
Devo forse prevedere il campo XXDATO01XX con un nome particolare oppure tra virgolette o altro ?
Marco
Bene,
io ho però lo strano problema che ogni tanto il campo mi viene "spezzato" da Word in fase di memorizzazione se l'utente finale modifica il template che gli ho fornito.
In pratica se il mio template riporta originariamente il campo tipo:
\par XXDATO01XX
in alcuni casi Word me lo spezza sul tipo
\par XXDATO01
XX
Dal punto di vista visivo sul documento non ci sono variazioni ma è evidente che così non riesco a sostituire il campo con l'indirizzo perché non trovo il campo.
Devo forse prevedere il campo XXDATO01XX con un nome particolare oppure tra virgolette o altro ?
Marco
- Enrico Maria Giordano
- Posts: 7355
- Joined: Thu Oct 06, 2005 8:17 pm
- Location: Roma - Italia
- Contact:
Probabilmente fai una normale sostituzione di testo invece di utilizzare le API di Word:
EMG
Code: Select all
FUNCTION WORDREPLACE( oSel, cSrc, cRpl )
LOCAL lOk
oSel:Start = 0; oSel:End = -1
lOk = oSel:Find:Execute( cSrc )
IF lOk; oSel:Range:Text = cRpl; ENDIF
RETURN lOk
Marco,
quella versione l'ho anch'io ...però esiste un altra versione dove c'era rtfmerge () chge dato un file .rtf e un database ti creava automaticamente il nuovo file con i campi modificati....
Poi se ricordate bene è stata la volta di Tedit e quindi tutti hanno lasciato perdere questo rtf e poi siamo passati al word con ole ....adesso poichè linares ha rifatto la classe Rtf potremmo usare questa , anche se non capisco come mai nel 2002 Linares,Ortis e Pulpon hanno fatto una classe rtf con un Richpad dove cera di tutto e poi adesso nel 20006 Linares ha rifatto una psuda classe rtf senza molte cose rispetto a quella del 2002 come per esempio l'anteprima di stampa a proposito di quest'ultima io ho rifatto l'anteprima grazie ad un fwuser xche mi ha dato la pagina web ... a me serviva una funzione per strasformare il rtf in emf e ci sono riuscito
appena posso ( i tecnici mi devono rimettere la linea telefonica) vi do il source. anche se a me non funzionano i margini e non saprei come settarli ...
quella versione l'ho anch'io ...però esiste un altra versione dove c'era rtfmerge () chge dato un file .rtf e un database ti creava automaticamente il nuovo file con i campi modificati....
Poi se ricordate bene è stata la volta di Tedit e quindi tutti hanno lasciato perdere questo rtf e poi siamo passati al word con ole ....adesso poichè linares ha rifatto la classe Rtf potremmo usare questa , anche se non capisco come mai nel 2002 Linares,Ortis e Pulpon hanno fatto una classe rtf con un Richpad dove cera di tutto e poi adesso nel 20006 Linares ha rifatto una psuda classe rtf senza molte cose rispetto a quella del 2002 come per esempio l'anteprima di stampa a proposito di quest'ultima io ho rifatto l'anteprima grazie ad un fwuser xche mi ha dato la pagina web ... a me serviva una funzione per strasformare il rtf in emf e ci sono riuscito
appena posso ( i tecnici mi devono rimettere la linea telefonica) vi do il source. anche se a me non funzionano i margini e non saprei come settarli ...
- Marco Turco
- Posts: 858
- Joined: Fri Oct 07, 2005 12:00 pm
- Location: London
- Contact:
Probabilmente ci sono stati problemi relativi alla proprietà intellettuale dei sorgenti, è per questo motivo che la classe è stata riscritta da Antonio.
Non ho l'ultima versione delle FW ma credo cha Antonio abbia previsto anche il preview del modello rtf in quanto mi sembra abbia implementato metodi aggiuntivi nella classe tprinter proprio per gestire margini ed altro.
Per quanto riguarda l'esempio di Emg, considera che è utilizzabile però solo in presenza di Office installato in quanto opera via Ole.
Marco
Non ho l'ultima versione delle FW ma credo cha Antonio abbia previsto anche il preview del modello rtf in quanto mi sembra abbia implementato metodi aggiuntivi nella classe tprinter proprio per gestire margini ed altro.
Per quanto riguarda l'esempio di Emg, considera che è utilizzabile però solo in presenza di Office installato in quanto opera via Ole.
Marco
- Enrico Maria Giordano
- Posts: 7355
- Joined: Thu Oct 06, 2005 8:17 pm
- Location: Roma - Italia
- Contact:
Non sai per quanti anni mi sono battuto cercando inutilmente di spiegare quanto fosse meglio utilizzare una tecnica che non richiedesse la presenza di Word o Excel oppure perché sarebbe preferibile un browser diverso da IE o un programma di posta elettronica diverso da OE.
Be', personalmente ho finito di combattere e preferisco sfruttare almeno le caratteristiche positive del nemico.
EMG
Be', personalmente ho finito di combattere e preferisco sfruttare almeno le caratteristiche positive del nemico.
EMG
- Marco Turco
- Posts: 858
- Joined: Fri Oct 07, 2005 12:00 pm
- Location: London
- Contact:
Concordo con la tua analisi.
Il problema è che una percentuale non indifferente dei miei clienti è passata ad OpenOffice 2.0. Sia perché è gratuito (immagina un cliente con una rete di 5-8 computer quanto dovrebbe spendere per licenziare Office) sia perché lo fornisco direttamente sul CD del mio prodotto in modo che sia immediatamente installabile sia ancora perché con un click convertono il documento in PDF senza dover installare un prodotto apposito.
Il problema principale di OpenOffice è il filtro RTF (che è una ciofeca e non gestisce documenti completti con caselle di testo ed immagini) e il supporto OLE che è diverso da quello di Word.
Marco
Il problema è che una percentuale non indifferente dei miei clienti è passata ad OpenOffice 2.0. Sia perché è gratuito (immagina un cliente con una rete di 5-8 computer quanto dovrebbe spendere per licenziare Office) sia perché lo fornisco direttamente sul CD del mio prodotto in modo che sia immediatamente installabile sia ancora perché con un click convertono il documento in PDF senza dover installare un prodotto apposito.
Il problema principale di OpenOffice è il filtro RTF (che è una ciofeca e non gestisce documenti completti con caselle di testo ed immagini) e il supporto OLE che è diverso da quello di Word.
Marco
- Enrico Maria Giordano
- Posts: 7355
- Joined: Thu Oct 06, 2005 8:17 pm
- Location: Roma - Italia
- Contact:
Per Marco
La versione attuale di Linares non è prevista di anteprima ....
l'anteprima io l'ho rifatta ma credo che non vada bene perchè è una classe che riprende la classe rpreview , però funziona, ha anche una funzione in c che trsforma il rtf in emf ...però a me sembra una ciofeca anche perchè quando visualizzo il rtf le scritte sono molto vicine alla fine del foglio , insomma non so come settare i margini, tu dici che c'è la funzione ma nella classe rtf di linares o di quella di marchione ?
Sarebbe interessante rifare un .....( lo sparata grossa)....OpenRtfPad fatto con la classe di linares a me sembra un 'idea utile non trovate ...
La versione attuale di Linares non è prevista di anteprima ....
l'anteprima io l'ho rifatta ma credo che non vada bene perchè è una classe che riprende la classe rpreview , però funziona, ha anche una funzione in c che trsforma il rtf in emf ...però a me sembra una ciofeca anche perchè quando visualizzo il rtf le scritte sono molto vicine alla fine del foglio , insomma non so come settare i margini, tu dici che c'è la funzione ma nella classe rtf di linares o di quella di marchione ?
Sarebbe interessante rifare un .....( lo sparata grossa)....OpenRtfPad fatto con la classe di linares a me sembra un 'idea utile non trovate ...
vabbe' provate anche voi.....
http://hyperupload.com/download/2166266 ... w.zip.html
http://hyperupload.com/download/2166266 ... w.zip.html
- Marco Turco
- Posts: 858
- Joined: Fri Oct 07, 2005 12:00 pm
- Location: London
- Contact: