Newsgroup: it.comp.lang.visual-basic
Titolo: Metodo Printer.Print , perche'.....?

Salve ragazzi, e' la prima volta che vi scrivo, intanto complimenti per il
N.G.!
Saro breve, ecco il mio problema:
utilizzo VB 6, ed il metodo Printer.Print mi fa sentire il "principe sul
pisello".
Infatti scrivendo:
-------------------------------------------------------------------------
Sub Stampa_Prove ( )
Printer.Print "| Bene, questa e' una prova. |"      ' stampo una riga
Printer.Print "| Male, questa e' una priva. |"       ' e poi subito un'
altra
Printer.EndDoc                                               ' e invio alla
stampante
End sub
-------------------------------------------------------------------------
I Segni "|" (pipe) finali di ogni riga stampata non corrispondono sullo
stesso asse verticale!
Questo non succedeva con VB 2   .
Qualche rimedio semplice? (possibilmente sempre con il metodo Printer)
Grazie a chi mi rispondera'. ( mi togliera' un pisello dalla schiena)

Oppure per stampare usa un carattere a spaziatura fissa tipo "Courier New"!
 __     __
<o>  <o>
      []
  \____/   ......(Ciao!)
Pasquale
mine...@libero.it

 wrote in message
VZ9K3.29691$nP6.3...@typhoon.libero.it...


...


Perchč???
Perche' si.
Volevo dire, il bold ha spaziatura orizzontale piu' alta. Se in bold
metti lo stesso numero di caratteri su tutte le righe (bold anche le
spaziature), recuperi l'allineamento. Con un font fisso, ovvio.
Pietro
                  Check the address!  -->
pi...@tin.it

Grazie a tutti per la risposta.
Avete ragione, i caratteri a spaziatura fissa sono apparentemente l' unico
modo, ma cosi' non posso tabulare in orizzontale se cambio tipo di carattere
ed inoltre questi font occupano piu' spazio degli altri, vabbe' vedro' di
arrangiarmi. Mi sa tanto che dovro' fare una function per la tabulazione.
Ciao a tutti e grazie ancora.

...

mi permetto di insistere sul problema perchč non capisco la tua spegazione.
    -uso un font a spaziatura fissa (Courier new, 
p.es
),
    -attivo il font suddetto come segue:
        Dim Fnt as New StdFont
        Fnt.Name = "Courier"
        Set Printer.Font = Fnt
    -mando in stampa due stringhe come segue:
        A$="|A B C D E|
        B$="|F G H I L|"
        Printer.Print A$
        Printer.Print B$
il risultato di tutto ciň non ha l'effetto atteso di eguale spaziatura
orizzontale.
grazie per l'ulteriore eventuale spiegazione.
Alberto

Chiedo scusa ma ho commesso un errore nella stesura dell'esempio.
Riposto il mio msg chiedendo nuovamente aiuto.
mi permetto di insistere sul problema perchè non capisco la tua spegazione.
    -uso un font a spaziatura fissa (Courier new, 
p.es
),
    -attivo il font suddetto come segue:
        Dim Fnt as New StdFont
        Fnt.Name = "Courier"
        Set Printer.Font = Fnt
    -mando in stampa due stringhe come segue:
        A$="|A B C D E|
        B$="|F G H I L|"
        Printer.Print A$
        Fnt.bold = True
        Set Printer.Font = Fnt
        Printer.Print B$
il risultato di tutto ciò non ha l'effetto atteso di eguale spaziatura
orizzontale con la seconda riga Bold.


 wrote:

La larghezza (in dot) di un carattere fisso e' ... fissa. Se il
carattere e' bold, e' fissa ma maggiore. Quindi i due tipi non si
incolonnano.


 ........................

orizzontale con la seconda riga Bold.
Non sono un esperto, anzi direi proprio di essere alle prime armi con VB.
A me il tuo esempio stampa le due righe esattamente allineate per cui penso
che dipenda dal tipo di stampante installata.
Sta di fatto che cmq mi risulta strano cio` che dici in quanto ho sempre
dato per scontato che se uso un font a spaziatura fissa questa rimanga tale
anche se stampo in grassetto piuttosto che in italico.
Questo e` sicuramente vero se uso un font la cui dimensione e` espressa in
CaratteriPerInch.
Per cui ho supposto che i due differenti comportamenti potessero essere
legati al font "Courier New" (che e` TT) piuttosto che "Courier" che non lo
e`.
Peccato che mi sono accorto che indipendentemente dal fatto che come font
passi "Courier" o "Courier New" basic mi carica sempre il secondo: come
mai?
--
Ciao,
      Peppo
 
ICQ    : UIN 5709387
Fidonet: 2:331/301.45

 wrote in message
7tls64$bd0$1...@serv1.iunet.it...
