Lineas descuadradas en oPrn:CmSay

Lineas descuadradas en oPrn:CmSay

Postby Pedro » Sat Apr 22, 2006 12:28 pm

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
User avatar
Pedro
 
Posts: 464
Joined: Tue Mar 21, 2006 7:30 pm
Location: Córdoba (España)

cmsay..

Postby Ricardo Ramirez E. » Sat Apr 22, 2006 2:50 pm

Pedro...

oPrn:oRpt:cmSay(nLin+13.8,19.5, transform(d,"9,999,999.99"), oPrn:aFonts[6],,,,1 )

Saludos.
Ricardo
User avatar
Ricardo Ramirez E.
 
Posts: 161
Joined: Wed Jan 25, 2006 10:45 am
Location: Praia - Cape Verde

Postby Armando » Sun Apr 23, 2006 2:15 pm

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
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
User avatar
Armando
 
Posts: 3230
Joined: Fri Oct 07, 2005 8:20 pm
Location: Toluca, México

Postby manuramos » Mon Apr 24, 2006 6:46 pm

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"
Nos Gusta Programar
manuramos
 
Posts: 219
Joined: Mon Dec 26, 2005 7:25 pm
Location: Jerez de la Frontera (Spain)

Postby Pedro » Mon Apr 24, 2006 7:49 pm

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
User avatar
Pedro
 
Posts: 464
Joined: Tue Mar 21, 2006 7:30 pm
Location: Córdoba (España)


Return to FiveWin para CA-Clipper

Who is online

Users browsing this forum: No registered users and 17 guests