Allora non so da dove cominciare…
ho due campi di una tabella ‘righe’ che rispettivamente sono chiamati descrizione e note
descrizione e note possono contenere testo anche lungo e il campo note pu contenere i caratteri CR e CR+LF rispettivamente CHR(10) e CHR(13)
per impedire casini nella stampa di documenti come fatture, ddt, ordini e preventivi ho costituito un database virtuale che risiede in memoria che contiene appunto le righe
codice, descrizione, unitdimisura, quantita, prezzo, sconti, importo, iva
Questo per evitare casini in fase di stampa per la gestione delle pagine.
Infatti diviene molto complicato calcolare l’altezza di una riga di descrizione quando il testo lungo e viene stampato sulle ultime righe del documento.
a questo punto l’accrocchio semplice.
La stampa delle righe deve avvenire con un carattere MONOSPACED come courier etc. in modo che tutti i caratteri occupino sempre la stessa larghezza, e la tabella virtuale delle righe dovr contenere tante righe quante sono quelle da stampare es:
rigo codice descrizione um prezzo ..
1 PROVA Attrezzatura per il ripristino di Nr 400.00
calcestruzzi danneggiati compresi
tutti i prodotti per il ripristino
Diventa
1 PROVA Attrezzatura per il ripristino di Nr 400.00
2 calcestruzzi danneggiati compresi
3 tutti i prodotti per il ripristino
E la domandona finale la seguente :
Come posso dividere un testo lungo in un array formato da testi non pi lunghi di X caratteri rispettando anche il ritorno a capo CR o CR+LF ???
Ho postato l’intera spiegazione perch potrebbe servire a qualcuno questa tecnica per la stampa.