FiveTech Support Forums

FiveWin / Harbour / xBase community
Board index FiveWin para Harbour/xHarbour Clase Tprinter Método Line
Posts: 464
Joined: Tue Mar 21, 2006 07:30 PM
Clase Tprinter Método Line
Posted: 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
Posts: 215
Joined: Fri Feb 02, 2007 03:38 PM
Re: Clase Tprinter Método Line
Posted: Sun Aug 16, 2009 03: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......
Posts: 464
Joined: Tue Mar 21, 2006 07:30 PM
Re: Clase Tprinter Método Line
Posted: Sun Aug 16, 2009 03: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

Continue the discussion