Newsgroup: it.comp.lang.visual-basic
Titolo: Stampare un modulo

Sapete dirmi in poche parole qual'è il metodo più semplice per stampare dei
dati di testo su un modulo posizionandoli ad esempio così :
        dato1  dato2
                                       dato3
        dato4
tali dati dovrei inizialmente inserirli in caselle di testo all'interno di
un form.
Avevo pensato (letta la guida) di usare una sequenza tipo:
Printer.CurrentX = 100
Printer.CurrentY = 100
printer.print  txtdato1.text
Printer.CurrentX = 200
Printer.CurrentY = 100
printer.print  txtdato2.text
Printer.CurrentX = 350
Printer.CurrentY = 200
printer.print  txtdato3.text
...
printer.enddoc
Ma è la strada giusta ?
                grazie della pazienza : )
Bruno Rosina
rox...@libero.it

 Ma è la strada giusta ?
direi molto pallosa...
non fai prima a scrivere invece una routine che lavora leggendo le
coordinate degli oggetti di un form e li riporta (ovviamente aggiustati) sul
foglio?
una specie di ciclo... dove tu gestisci solo label e textbox? poi ovviamente
poi introdurre checkbox, options, linee e frames (per eventuali saltipagina)
in pratica la routine legge una maschera estrapolando gli oggetti, legge le
proprieta' che servono e butta tutto su printer :)

Printer.CurrentX = txtdato1.left
Printer.CurrentY = txtdato1.top
printer.print  txtdato1.text
Printer.CurrentX = txtdato2.left
Printer.CurrentY = txtdato2.top
printer.print  txtdato2.text
Printer.CurrentX = txtdato3.left
Printer.CurrentY = txtdato3.top
printer.print  txtdato3.text
...
printer.enddoc
...  intendi qualcosa del genere?
--
Bruno Rosina
rox...@libero.it


wrote:

La strada e' quella. solo che dovresti elaborartu qualche funzione per
la gestione del testo stampato; ad esempio stampare del testo
paragrafato in un determinato rettangolo, senza superare dei limiti.
Se pensi di continuare in questa strada, scrivimi anche in privato e
ti mando le funzioni gia' pronte (in pratica quelle che uso io).
Ciao e buon lavoro!

 ...  intendi qualcosa del genere?
niii... qua arrivivi con txtdato --> che e' di tipo control!!
intendo qualcosa tipo
dim aa as control
printer.scalemode = pixels (o quel che ti pare)
for each aa in me.controls (me e' il form)
    if typeof aa is textbox then
        printer.currentX = aa.top + Spiazzamento foglio (vedi tu come
gestirlo
        printer.currentY = aa.left
        printer.textwidht = gioca con la text
        if aa.tag = "BUI" then '--bold, underline, italic
            printer.font....
            ecc...
        end if
        printer.print aa.text
    end if
    if typeof aa is label then
        ecc...
    end if
    ecc...
next
ecc...
inventi poi qualcosa per gestire il saltopagina e sei a posto!
l'unico accorgimento e' quello di posizionare i controlli in modo corretto
(es. per A4)
Adesso se devi spostare una label da qualche parte non ti resta che
draggarla!! fico no?
CIAUZ
con il tuo medoto invece dovresti calcolarti le coordinate

Printer.CurrentX = txtdato1.left
Printer.CurrentY = txtdato1.top
printer.print  txtdato1.text
Printer.CurrentX = txtdato2.left
Printer.CurrentY = txtdato2.top
printer.print  txtdato2.text
Printer.CurrentX = txtdato3.left
Printer.CurrentY = txtdato3.top
printer.print  txtdato3.text
...
printer.enddoc
...  intendi qualcosa del genere?
--
Bruno Rosina
rox...@libero.it
--
Bruno Rosina
rox...@libero.it