Classe TPrinter

Classe TPrinter

Postby jbrita » Mon Apr 03, 2006 4:09 pm

Bueno amigos mi consulta es la siguiente como puedo imprimir con la classe TPrinter en un boleta de venta de 7 cm ancho y 15 largo. yo en clipper lo haci asi:

SetPrc(0,0)
Do While .Not. Eof()
@ fila,5 Say ....
@ fila,10 say ...
skip
enddo
como lo hago con la clase TPrinter
jbrita
 
Posts: 487
Joined: Mon Jan 16, 2006 3:42 pm

Postby Francisco Horta » Mon Apr 03, 2006 6:25 pm

tienes que crear el objeto de la tprinter
define printer oprn bla bla bla
y en lugar del @ te recomiendo imprimas en centimetros
page
do while .t.
oprn:cmsay(2,2,"mi impresion")
skip
enddo
endpage
endprint
nomas que asi te brinca como si fuera hoja tamaño carta
si tu largo es menos, no recuerdo la forma de configurar a ese largo exactamente prueba con PrnSetSize( 25000, 11500 ) que es Ancho,Alto.
Pero tiene varios formatos definidos, por si alguno te sirve por ejemplo

SETPAGE(9) es formato A4

DMPAPER_LETTER 1 // Letter 8 1/2 x 11 in
DMPAPER_LETTERSMALL 2 // Letter Small 8 1/2 x 11 in
DMPAPER_TABLOID 3 // Tabloid 11 x 17 in
DMPAPER_LEDGER 4 // Ledger 17 x 11 in
DMPAPER_LEGAL 5 // Legal 8 1/2 x 14 in
DMPAPER_STATEMENT 6 // Statement 5 1/2 x 8 1/2 in
DMPAPER_EXECUTIVE 7 // Executive 7 1/4 x 10 1/2 in
DMPAPER_A3 8 // A3 297 x 420 mm
DMPAPER_A4 9 // A4 210 x 297 mm
DMPAPER_A4SMALL 10 // A4 Small 210 x 297 mm
DMPAPER_A5 11 // A5 148 x 210 mm
DMPAPER_B4 12 // B4 250 x 354
DMPAPER_B5 13 // B5 182 x 257 mm
DMPAPER_FOLIO 14 // Folio 8 1/2 x 13 in
DMPAPER_QUARTO 15 // Quarto 215 x 275 mm
DMPAPER_10X14 16 // 10x14 in
DMPAPER_11X17 17 // 11x17 in
DMPAPER_NOTE 18 // Note 8 1/2 x 11 in
DMPAPER_ENV_9 19 // Envelope #9 3 7/8 x 8 7/8
DMPAPER_ENV_10 20 // Envelope #10 4 1/8 x 9 1/2
DMPAPER_ENV_11 21 // Envelope #11 4 1/2 x 10 3/8
DMPAPER_ENV_12 22 // Envelope #12 4 \276 x 11
DMPAPER_ENV_14 23 // Envelope #14 5 x 11 1/2
DMPAPER_CSHEET 24 // C size sheet
DMPAPER_DSHEET 25 // D size sheet
DMPAPER_ESHEET 26 // E size sheet
DMPAPER_ENV_DL 27 // Envelope DL 110 x 220mm
DMPAPER_ENV_C5 28 // Envelope C5 162 x 229 mm
DMPAPER_ENV_C3 29 // Envelope C3 324 x 458 mm
DMPAPER_ENV_C4 30 // Envelope C4 229 x 324 mm
DMPAPER_ENV_C6 31 // Envelope C6 114 x 162 mm
DMPAPER_ENV_C65 32 // Envelope C65 114 x 229 mm
DMPAPER_ENV_B4 33 // Envelope B4 250 x 353 mm
DMPAPER_ENV_B5 34 // Envelope B5 176 x 250 mm
DMPAPER_ENV_B6 35 // Envelope B6 176 x 125 mm
DMPAPER_ENV_ITALY 36 // Envelope 110 x 230 mm
DMPAPER_ENV_MONARCH 37 // Envelope Monarch 3.875 x 7.5 in
DMPAPER_ENV_PERSONAL 38 // 6 3/4 Envelope 3 5/8 x 6 1/2 in
DMPAPER_FANFOLD_US 39 // US Std Fanfold 14 7/8 x 11 in
DMPAPER_FANFOLD_STD_GERMAN 40 // German Std Fanfold 8 1/2 x 12 in
DMPAPER_FANFOLD_LGL_GERMAN 41 // German Legal Fanfold 8 1/2 x 13 in

saludos
paco
Francisco Horta
 
Posts: 845
Joined: Sun Oct 09, 2005 5:36 pm
Location: la laguna, mexico.

Postby Alvaro Urdaneta » Mon Apr 03, 2006 10:23 pm

Utiliza la clase tDosPrn que puedes manipular las lineas y columnas como en clipper (si usas impresoras de matriz), yo utilizo esta clase para los formatos preimpresos y uso la clase Tprinter para los otros reportes.

Saludos
Alvaro Urdaneta
 
Posts: 67
Joined: Wed Mar 29, 2006 10:54 pm
Location: Venezuela


Return to FiveWin para Harbour/xHarbour

Who is online

Users browsing this forum: Google [Bot] and 150 guests