Hola a todos
Alguien me podría decir por qué estas tres líneas salen descuadradas en la impresora....
oPrn:cmSay( nRow,18.5, Transf(CFAC->bruto,"@E 999,999.99"), aoFont[2])
oPrn:cmSay( nRow,18.5, Transf(CFAC->cuota,"@E 999,999.99"), aoFont[2])
oPrn:cmSay( nRow,18.5, Transf(CFAC->total,"@E 999,999.99"), aoFont[2])
Hay algun parametro mas a parte de (Row, Col, Texto, Font) en la clase tprinter? ya que no la veo bien documentada por ningun sitio.
Más que nada es por saber si se pueden colocar los números cuadrados unos debajo de otros.
Gracias a todos y un saludo
Pedro
Lineas descuadradas en oPrn:CmSay
- Ricardo Ramirez E.
- Posts: 161
- Joined: Wed Jan 25, 2006 10:45 am
- Location: Praia - Cape Verde
- Contact:
cmsay..
Pedro...
oPrn:oRpt:cmSay(nLin+13.8,19.5, transform(d,"9,999,999.99"), oPrn:aFonts[6],,,,1 )
Saludos.
Ricardo
oPrn:oRpt:cmSay(nLin+13.8,19.5, transform(d,"9,999,999.99"), oPrn:aFonts[6],,,,1 )
Saludos.
Ricardo
Pedro:
La sintáxis es
<oPrn>:CMSAY(nRow,nCol,cText,oFont,nWidth,nClrText,nBkMode,nPad)
Casi todo esta muy claro a excepción de nBkMode y nPad
nBkMode es un valor numerico que indica la forma en que se mezcla el texto con lel fondo:
1 = Transparente
2 = Opaco
nPad es un valor numerico indicando como se alinea el texto a imprimir, por omision se usa PAD_LEFT
#Define PAD_LEFT 0
#Define PAD_RIGHT 1
#Define PAD_CENTER 2
Ejemplo:
oPrn:cmSay( nRow,18.5, Transf(CFAC->bruto,"@E 999,999.99"),aoFont[2],,,,2)
Saludos, Armando
La sintáxis es
<oPrn>:CMSAY(nRow,nCol,cText,oFont,nWidth,nClrText,nBkMode,nPad)
Casi todo esta muy claro a excepción de nBkMode y nPad
nBkMode es un valor numerico que indica la forma en que se mezcla el texto con lel fondo:
1 = Transparente
2 = Opaco
nPad es un valor numerico indicando como se alinea el texto a imprimir, por omision se usa PAD_LEFT
#Define PAD_LEFT 0
#Define PAD_RIGHT 1
#Define PAD_CENTER 2
Ejemplo:
oPrn:cmSay( nRow,18.5, Transf(CFAC->bruto,"@E 999,999.99"),aoFont[2],,,,2)
Saludos, Armando
SOI, s.a. de c.v.
estbucarm@gmail.com
http://www.soisa.mex.tl/
http://sqlcmd.blogspot.com/
Tel. (722) 174 44 45
Carpe diem quam minimum credula postero
estbucarm@gmail.com
http://www.soisa.mex.tl/
http://sqlcmd.blogspot.com/
Tel. (722) 174 44 45
Carpe diem quam minimum credula postero
No sé exactamente por donde se te descuandran los digitos. Por la derecha o por la izquierda.
En teoría, según tu código, deberían salir alineados a la derecha, pues seguramente enviaras menos dígitos que "9" tiene la máscara (picture). Si quieres que salgan justificados a la izquierda, a pesar de la máscara, utiliza el parámetro "B" dentro de ésta: osea "@EB 999,999.99"
En teoría, según tu código, deberían salir alineados a la derecha, pues seguramente enviaras menos dígitos que "9" tiene la máscara (picture). Si quieres que salgan justificados a la izquierda, a pesar de la máscara, utiliza el parámetro "B" dentro de ésta: osea "@EB 999,999.99"
Nos Gusta Programar
Gracias a los tres por sus respuestas.
Manuramos la idea es que queden alineados a la derecha, y no a la izquierda. Efectivamente como tu dices, a pesar de la máscara, si envío menos números que ella se desalinean, precisamente por ahí, por ejemplo
100,00 , 7,00 y 107,00 de aqui el primero y el último quedan bien alineados, pero el segundo se queda una posición menos a la derecha que los otros dos.
Probaré con la secuencia descrita por Ricardo y Armando.
Saludos a todos
Manuramos la idea es que queden alineados a la derecha, y no a la izquierda. Efectivamente como tu dices, a pesar de la máscara, si envío menos números que ella se desalinean, precisamente por ahí, por ejemplo
100,00 , 7,00 y 107,00 de aqui el primero y el último quedan bien alineados, pero el segundo se queda una posición menos a la derecha que los otros dos.
Probaré con la secuencia descrita por Ricardo y Armando.
Saludos a todos