PDA

View Full Version : [VB6] Utilizzo dell'oggetto printer


scoppato
25-06-2003, 09:36
Ciao a tutti!
Da una query SQL estraggo un record con n campi, ogni campo devo stamparlo all'interno di un modulo prestampato. Tale modulo deve essere stampato su una stampante ad aghi (Epson LX-300+).
Mi è stato detto che in questo caso non posso usare Crystal Report, o comunque un programma di reportistica simile, perchè così facendo stamperei in modalità grafica :confused:
è vero?
se è così come posso usare l'oggetto printer per poter stampare una stringa in una determinata posizione del modulo?

vi ringrazio

maxithron
25-06-2003, 09:49
In generale

Printer.ScaleMode = n(dove n è un numero)

' ti setti il formato della pagina
Altezza=Printer.ScaleHeight
Larghezza=Printer.ScaleWidth
Printer.Print "Il foglio è largo cm";
Printer.Print Larghezza;
Printer.Print "altezza in cm";
Printer.Print Altezza
Printer.EndDoc

' qui setti le posizioni di stampa

Printer.ScaleMode = n
Printer.CurrentX = 2.5
Printer.CurrentY = 4
Printer.Print "qui è la tua stampa"
Printer.EndDoc

'con questo sposti l'allineamento della testina di stampa

Printer.CurrentX = Printer.CurrentX + 5 (per esempio di 5 mm)
Printer.CurrentY = Printer.CurrentY + 3

'con questo dovresti scrivere nella posizione desiderata:

IlTuoTesto = "Io stampo qui"
LarghFoglio = Printer.ScaleWidth
LarghTesto = Printer.TextWidth(Testo)
Printer.CurrentX = LarghFoglio – LarghTesto - n
Printer.Print Testo

scoppato
25-06-2003, 10:10
grande :) :) :)

ma printer.scalemode = n cosa rappresenta?

quando setto i seguenti valori:
Printer.CurrentX = 2.5
Printer.CurrentY = 4

indico il numero di riga e il numero di colonna?

maxithron
25-06-2003, 14:23
printer.scalemode = 5 serve semplicemente a definire una scala.

per la seconda domanda non è che scrivi sulla riga numero X o sulla colonna numero X

ma se metti x=10 vuol dire che ti posizionerà la stampa a 10cm(se i cm sono il nostro riferimento) dal bordo sinistro del foglio e per y=5 a 5cm dal margine superiore del foglio.

scoppato
25-06-2003, 15:08
ti ringrazio per la tua risposta
sei stato molto chiaro :)

la domanda sul posizionamento della stringa da stampare era legata al concetto: "la stampante ad aghi ha due modalità di stampa: testuale e grafica". è giusto oppure sono io che non ho capito niente?

scoppato
26-06-2003, 17:53
up :) :) :)

tas
26-06-2003, 18:18
Da quanto ne so io l'oggetto Printer stampa solo in modalità grafica. Se vuoi stampare utilizzando i caratteri a spaziatura fissa della stampante devi usare le sequenze di escape, che dovresti trovare sul manuale della stampante.

scoppato
26-06-2003, 18:26
grazie per il consiglio
provo a trovare info sulla documentazione :)