Clase Tprinter Método Line

Clase Tprinter Método Line

Postby Pedro » Sun Aug 16, 2009 11:47 am

Hola a todos
En los listados que estoy haciendo con esta clase, intento poner una línea debajo de la cabecera y en otras partes del listado,
siguiendo lo que indica la clase, sería oPrn:Line(nTop,nleft,nBottom,nRight,oPen).
El tema es que no sale ninguna línea, y sí un pequeño borrón en la parte superior izquierda del preview.
Al no saber en que medidas deben ir los parámetros, los he colocado en cms. y ni flores, no sale la línea.
Mis preguntas son ¿el método SAY y cmSay de la clase Tprinter van en cms, en mms, en columnas como en dos, o cómo van,así como los metodos Line, Box, etc.?
Como información nTop := 2.80 cms, nLeft:= 0.40 cms, nBottom := 2.80 cms y nRight := 21.00 cms, oPen está definido con Style 0 y Width 1 y color CLR_Black.
La única manera que he tenido de sacar una línea con la clase Tprinter ha sido de manera chapucera, de ahí mis preguntas para saber de que medidas son los parámetros.
Un saludo
Pedro
gahetesoft@gmail.com
FWH12.06 BCC582, Xverce CW, Pelles C 6.00.4,PSPAD 4.54
y ahora con ADO
User avatar
Pedro
 
Posts: 464
Joined: Tue Mar 21, 2006 7:30 pm
Location: Córdoba (España)

Re: Clase Tprinter Método Line

Postby Ramon Paredes » Sun Aug 16, 2009 3:15 pm

Pedro,

En lo personal uso esta funcion y va bien , expresadas las cooredenadas en centimetros :

//=========================================================
Static FUNCTION LINEA(nArriba,nIzq,nAbajo,nDerecha,oPrn,oPen)
//=========================================================

Local xCor := {} , yCor := {}
xCor := oPrn:Cmtr2Pix(nArriba,nIzq)
yCor := oPrn:Cmtr2Pix(nAbajo,nDerecha)
oPrn:Line(xCor[1],xCor[2],yCor[1],yCor[2],oPen)
return NIL

Ejemplo :

LINEA(2.8,1,2.8,21,oPrn)

Saludes desde Managua, Nicaragua

Ramon Paredes
... Desde la Tierra de lagos y Volcanes......
User avatar
Ramon Paredes
 
Posts: 215
Joined: Fri Feb 02, 2007 3:38 pm
Location: Managua, Nicaragua

Re: Clase Tprinter Método Line

Postby Pedro » Sun Aug 16, 2009 3:43 pm

Hola Ramón
Precisamente es lo que he tenido que hacer, usar el oPrn:Cmtr2Pix, para sacar la línea. Mis preguntas eran porque cuando tu pones un oPrn:CmSay(......texto) tu lo expresas en cms, y el método se encarga de utilizar oPrn:Cmtr2Pix para calcular las coordenadas de la columna, que en caso de textos va de maravilla, pero en caso de números alineados a la derecha, ufffffff el calculo de la línea se complica.
Pensaba que el método Line ya hacía lo mismo, pero no es asi, y cuando tienes que poner muchas lineas, es un verdadero peñazo tener que estar resolviendo con otra función.
En fin tendrá que ser así.
Gracias de todas formas
Un saludo
Pedro
gahetesoft@gmail.com
FWH12.06 BCC582, Xverce CW, Pelles C 6.00.4,PSPAD 4.54
y ahora con ADO
User avatar
Pedro
 
Posts: 464
Joined: Tue Mar 21, 2006 7:30 pm
Location: Córdoba (España)


Return to FiveWin para Harbour/xHarbour

Who is online

Users browsing this forum: Google [Bot], nageswaragunupudi and 12 guests