Newsgroup: it.comp.lang.visual-basic
Titolo: Aiuto Stampa in vb 6

AIUTATEMI GRAZIE MILLE!!!
Salve a tutti,
scrivo in quanto ho un problemino (forse grosso) in vb.
Sono un neo programmatore in vb ed ancora ho tantissimo da imparare.
Ho fatto una piccola applicazione dove inserendo quantità, prezzo e %iva mi 
calcola l'imponibile e il totale.
Il mio problema è che non riesco a far allineare le colonne degli importi  a 
destra nella stampa (come Prezzo, Importo e Imposta).
Chiedo se qualche programmatore per favore possa aiutarmi, se ha 5 minuti di 
tempo libero. Magari con un esempio, in modo che poi faccio tutto il resto.
Ringrazio sin da ora e auguro una buona programmazione a tutti
.
Questo che segue è il codice dentro il bottone STAMPA
Private Sub Command1_Click()
        Printer.FontSize = 11
        Printer.Print
        Printer.Print Tab(3); 
"----------------------------------------------------------------------" _
        ; 
"-----------------------------------------------------------------------------------"
        Printer.Print
        Printer.Print Tab(8); "Q.TA'"; Tab(23); "DESCRIZIONE"; Tab(61); 
"PREZZO"; Tab(85); "IVA%"; Tab(106); "IMPORTO"
        Printer.Print Tab(3); 
"----------------------------------------------------------------------" _
        ; 
"-----------------------------------------------------------------------------------"
        Printer.Print Tab(8); Text0.Text; Tab(17); Combo1.Text; Tab(59); 
Text9.Text; Tab(80); Combo10.Text; Tab(85); Label1.Text; Tab(103); 
Label16.Text
        Printer.Print Tab(8); Text1.Text; Tab(17); Combo2.Text; Tab(59); 
Text10.Text; Tab(80); Combo11.Text; Tab(85); Label2.Caption; Tab(103); 
Label10.Caption
        Printer.Print Tab(8); Text2.Text; Tab(17); Combo3.Text; Tab(59); 
Text11.Text; Tab(80); Combo12.Text; Tab(85); Label3.Caption; Tab(103); 
Label11.Caption
        Printer.Print Tab(8); Text3.Text; Tab(17); Combo4.Text; Tab(59); 
Text12.Text; Tab(80); Combo13.Text; Tab(85); Label4.Caption; Tab(103); 
Label12.Caption
        Printer.Print Tab(8); Text4.Text; Tab(17); Combo5.Text; Tab(59); 
Text13.Text; Tab(80); Combo14.Text; Tab(85); Label5.Caption; Tab(103); 
Label13.Caption
        Printer.Print Tab(8); Text5.Text; Tab(17); Combo6.Text; Tab(59); 
Text14.Text; Tab(80); Combo15.Text; Tab(85); Label6.Caption; Tab(103); 
Label14.Caption
        Printer.Print Tab(8); Text6.Text; Tab(17); Combo7.Text; Tab(59); 
Text15.Text; Tab(80); Combo16.Text; Tab(85); Label7.Caption; Tab(103); 
Label15.Caption
        Printer.Print Tab(8); Text7.Text; Tab(17); Combo8.Text; Tab(59); 
Text16.Text; Tab(80); Combo17.Text; Tab(85); Label8.Caption; Tab(103); 
Label16.Caption
        Printer.Print Tab(8); Text8.Text; Tab(17); Combo9.Text; Tab(59); 
Text17.Text; Tab(80); Combo18.Text; Tab(85); Label9.Caption; Tab(103); 
Label17.Caption
        Printer.Print
        Printer.Print Tab(3); 
"----------------------------------------------------------------------" _
        ; 
"-----------------------------------------------------------------------------------"
        Printer.EndDoc
  End Sub 

 importi  a destra nella stampa (come Prezzo, Importo e Imposta).
[SNIP]
Hai postato la stessa richiesta giorni fa nel thread "Aiuto allineamento su 
carta", e ti si era gia' risposto... devi lavorare con i metodi CurrentX e 
TextWidth dell'oggetto printer, per calcolare l'occupazione del testo e 
spostarlo a destra di conseguenza
Se la coordinata X del margine destro dove vuoi allineare e' 100 (non 
importa in che scala) e Printer.TextWidth("il tuo testo") ritorna 80, per 
allineare a destra non fai altro che
Printer.CurrentX = 100 - 80 - <un po' di margine se serve>
Printer.Print "il tuo testo";
Il tuo problema e' che hai utilizzato i Tab invece di lavorare sulle 
coordinate; tralasciando di commentare il resto del codice (da quello che 
vedo hai duplicato i controlli a pacchi invece di creare un array), il 
sistema piu' pratico per sistemare il tuo codice e' quello di stampare la 
riga usando Tab solo fino al campo da allineare, stampare solo quello con il 
metodo visto sopra , e quindi completare la riga.
Ottimale sarebbe invece di ripensare il codice tutto in termini di 
coordinate e non di Tab
Ciao
-- 
Luca Dormio - 
luca....@tin.it
________________________________
"Marty, non stai ragionando in maniera quadridimensionale"
Dr. Emmett L. Brown 

 ha scritto nel messaggio 
news:32e0e2F...@individual.net...
