FiveTech Support Forums

FiveWin / Harbour / xBase community
Board index FiveWin para Harbour/xHarbour Preview FWH12.04:= Necesito que me hechen una manita...
Posts: 883
Joined: Thu Dec 24, 2009 12:46 AM

Preview FWH12.04:= Necesito que me hechen una manita...

Posted: Wed Jun 27, 2012 10:31 PM
Cabeceras de columnas no son pintadas cuando EJECT es incluido en GROUP

Originalmente se muestra así:


Ahora:


Code (fw): Select all Collapse
   DATA lEject INIT .f.


Method StartGroup():
Code (fw): Select all Collapse
   if ::aGroups[ nGroup]:lHeader
      ::StartLine( ::aGroups[ nGroup]:nHeaderHeight )
      ::aGroups[ nGroup]:Header( ::nRow)
      ::EndLine( ::aGroups[ nGroup]:nHeaderHeight )
   endif

Code (fw): Select all Collapse
   if ::aGroups[ nGroup]:lHeader
      if !::aGroups[ nGroup]:lEject .and. ! ::lFirstRow
         ::TotalLine( ::nTotalLine, GRID_ABOVE )
         ::lEject := .f.
         ::ColTitle()
      else
         ::lEject := .t.
      endif

      ::StartLine( ::aGroups[ nGroup]:nHeaderHeight )
      ::aGroups[ nGroup]:Header( ::nRow)
      ::EndLine( ::aGroups[ nGroup]:nHeaderHeight )
   endif


Method ColTitle():
Code (fw): Select all Collapse
      ::nRow := ::nTitleRow

Code (fw): Select all Collapse
   if !::lEject .and. ! ::lFirstRow 
      ::nRow := ::nRow
   else
      ::nRow := ::nTitleRow
   endif


Pero tengo algunos problemillas:
Cuando la página se llena, distorciona las siguientes 2 hojas y después continúa imprimiendo normalmente...

Seguiré investigando a ver que pasa...

=====>

Bayron Landaverry
xBasePHP.com
(215)2226600 Philadelphia,PA, USA
MayaBuilders@gMail.com
Guatemala

FWH25.06--Harbour 3.0.0--BCC7.7--UEstudio 10.10
Windows 10

FiveWin, One line of code and it's done...

Posts: 883
Joined: Thu Dec 24, 2009 12:46 AM

Re: Preview:= Necesito que me hechen una manita...

Posted: Wed Jun 27, 2012 10:46 PM
Después de la ultima modificación en ColTitle(), tuve que añadir esta condicion:

Code (fw): Select all Collapse
   if !::lEject .and. ! ::lFirstRow 
      ::nRow := ::nRow
   else
      ::nRow := ::nTitleRow
   endif
   
   if ::nRow >= ::nBottomRow
      ::nRow := ::nTitleRow
   endif


Ahora se genera aparentemente bien, pero nesito hacer más pruebas...

Haciendo más pruebas...

=====>

Bayron Landaverry
xBasePHP.com
(215)2226600 Philadelphia,PA, USA
MayaBuilders@gMail.com
Guatemala

FWH25.06--Harbour 3.0.0--BCC7.7--UEstudio 10.10
Windows 10

FiveWin, One line of code and it's done...

Posts: 883
Joined: Thu Dec 24, 2009 12:46 AM

Re: Preview FWH12.04:= Necesito que me hechen una manita...

Posted: Wed Jun 27, 2012 10:53 PM

Si alguien pudiera proporcionarme un ejemplo autocontenido con su base de datos, que maneje 2 o más Grupos, sería grandioso para hacer las pruebas respectivas...

Si alguien cree que ésta no es la manera correcta de general el reporte, quisiera escuchar sus opiniones... especialmente de FiveTech...

=====>

Bayron Landaverry
xBasePHP.com
(215)2226600 Philadelphia,PA, USA
MayaBuilders@gMail.com
Guatemala

FWH25.06--Harbour 3.0.0--BCC7.7--UEstudio 10.10
Windows 10

FiveWin, One line of code and it's done...

Posts: 883
Joined: Thu Dec 24, 2009 12:46 AM

Re: Preview:= Necesito que me hechen una manita...

Posted: Wed Jun 27, 2012 11:28 PM
Otra modificación en ColTitle():

Code (fw): Select all Collapse
   if !::lEject .and. ! ::lFirstRow 
      ::nRow := ::nRow

      if ::nRow >= ( ::nBottomRow - ::nTitleHeight )
         ::nRow := ::nTitleRow
      endif
   
   else
      ::nRow := ::nTitleRow
   endif

Ahora tambien se genera aparentemente bien con samples\report.prg

Haciendo más pruebas... Necesito más ejemplos...

=====>

Bayron Landaverry
xBasePHP.com
(215)2226600 Philadelphia,PA, USA
MayaBuilders@gMail.com
Guatemala

FWH25.06--Harbour 3.0.0--BCC7.7--UEstudio 10.10
Windows 10

FiveWin, One line of code and it's done...

Posts: 883
Joined: Thu Dec 24, 2009 12:46 AM

Re: Preview FWH12.04:= Necesito que me hechen una manita...

Posted: Thu Jun 28, 2012 06:55 PM


Como puede verse en la imagen, ya casi hace lo que quiero, pero no he encontrado como obligar al reporte que continúe en la siguiente página al darse ciertas condiciones, y por ahora está imprimiendo así...

Ya pasé todo el día con la clase, yo creo que se me va a hacer más fácil hacer el reporte a mano...

=====>

Bayron Landaverry
xBasePHP.com
(215)2226600 Philadelphia,PA, USA
MayaBuilders@gMail.com
Guatemala

FWH25.06--Harbour 3.0.0--BCC7.7--UEstudio 10.10
Windows 10

FiveWin, One line of code and it's done...

Posts: 44162
Joined: Thu Oct 06, 2005 05:47 PM

Re: Preview FWH12.04:= Necesito que me hechen una manita...

Posted: Thu Jun 28, 2012 09:06 PM

Bayron,

Te agradecemos tus pruebas y contribuciones.

Yo personalmente no uso mucho los reportes (soy un programador de sistemas, no de aplicaciones) :-)

Te ayudaremos en todo lo posible, aunque nadie mejor que tu mismo en las condicones en que lo necesitas, para probarlo

gracias

regards, saludos

Antonio Linares
www.fivetechsoft.com
Posts: 883
Joined: Thu Dec 24, 2009 12:46 AM

Re: Preview FWH12.04:= Necesito que me hechen una manita...

Posted: Thu Jun 28, 2012 09:29 PM
Gracias Antonio, a mi nada mas me gusta dar lata con los detalles...

Soy de la idea que todo tiene que quedar casi tan perfecto como sea posible...

Por eso me encanta este foro donde puedo encontrar la manera de hacer lo que quiero...

Yo nunca he usado reportes (ni siquiera en Clipper), pero ya que ahora estoy probando con uno, porqué no dar la lata para retocar la clase???

Si pudieras darme una idea de como forzar manualmente el reporte a iniciar una nueva página...!!!!

He intentado con ::EndPage ::EndGroup , etc. etc. pero aun no he podido... He tratado de ver en la clase que es lo que produce el cambio de página, pero no puedo verlo...
El asunto es que no se si puedo forzarlo, porque al hacerlo, podría causar problemas con la clase...

Con el simple hecho de forzar el ColTitle(), he notado algunos cambios en la conducta de otros reportes...

=====>

Bayron Landaverry
xBasePHP.com
(215)2226600 Philadelphia,PA, USA
MayaBuilders@gMail.com
Guatemala

FWH25.06--Harbour 3.0.0--BCC7.7--UEstudio 10.10
Windows 10

FiveWin, One line of code and it's done...

Posts: 883
Joined: Thu Dec 24, 2009 12:46 AM

Re: Preview FWH12.04:= Necesito que me hechen una manita...

Posted: Thu Jun 28, 2012 09:52 PM

Antonio,
No se si va a ser posible utilizar la clase report para hacer la impresion de la manera que creo debería ser la correcta...

Lo que quiero hacer es lo siguiente:

Dadas las condiciones que tengo ahora: CelView(), Group with title, Columns with header and footer

Quisiera pre-procesar los grupos para saber la cantidad de espacio que ocupan, para poder calcular en qué momento terminar la página y continuar en la siguiente... dependiendo de la cantidad de página utilizada hasta el momento...Por ejemplo, si ya se utilizó un 80% de la página y el siguiente grupo es mayor que el espacio disponible, inicarlo en la siguiente página... evitando así, que solo el título del grupo se imprima en la página actual, por ejemplo....

=====>

Bayron Landaverry
xBasePHP.com
(215)2226600 Philadelphia,PA, USA
MayaBuilders@gMail.com
Guatemala

FWH25.06--Harbour 3.0.0--BCC7.7--UEstudio 10.10
Windows 10

FiveWin, One line of code and it's done...

Posts: 211
Joined: Wed Jul 16, 2008 12:59 PM

Re: Preview FWH12.04:= Necesito que me hechen una manita...

Posted: Fri Jun 29, 2012 01:32 AM
Byron:

Yo tengo un codigo que utilizo para situaciones algo parecidas.

Code (fw): Select all Collapse
function ChkNeedNewPage(oRpt,nRow)
   if nRow >= oRpt:nBottomRow
      oRpt:oDevice:EndPage()
      oRpt:StartPage()
      oRpt:nRow += 1 * oRpt:nStdLineHeight
   endif
return nil


y la invoco asi:
Code (fw): Select all Collapse
ChkNeedNewPage( oRpt, oRpt:nRow + oRpt:nStdLineHeight*1.05 * 14/*numero de lineas*/ )


tu deberias hacer algo asi:
Code (fw): Select all Collapse
ChkNeedNewPage( oRpt, oRpt:nRow + < Numero de lineas del HeaderCol x alto de cada linea del HeaderCol > )


TReport tiene unas datas que te dan directamente el alto del HeaderCol, no lo recuerdo en este momento, pero puedes calcularlo...

Seria ideal que esta funcion sea parte de TReport.

Ademas, en otras situaciones parecidas (Grupos multilinea, totales multilinea, graficas que se imprimiran en otra hoja, etc) uso bastante los siguientes metodos:
Code (fw): Select all Collapse
::oReport:EndLine( nHeight )               //RSU avanzamos una linea en el reporte (el tamaño de nHeight)
::oReport:StartLine( nHeight )             //RSU verifica si se puede imprimir mas lineas en la pagina


Espero te sirva

Atentamente,

Rolando
Cochabamba, Bolivia
Posts: 211
Joined: Wed Jul 16, 2008 12:59 PM

O.T. para Antonio

Posted: Fri Jun 29, 2012 01:36 AM
Cual es la diferencia entre:

Programador de sistemas y programador de aplicaciones??

Perdon por la ignorancia.

De antemano gracias por la respuesta.

Atentamente.

Rolando
Posts: 1088
Joined: Fri Oct 07, 2005 03:33 PM

Re: Preview FWH12.04:= Necesito que me hechen una manita...

Posted: Fri Jun 29, 2012 11:57 AM
Byron,

siendo que estas mejorando la clase report, puede que te sirva estas modificaciones que las hice un tiempo atras, en el zip esta un ejemplo para ver las posibilidades y genera el código

https://www.box.com/shared/1hxlyck0za

saludos

Marcelo
Posts: 44162
Joined: Thu Oct 06, 2005 05:47 PM

Re: O.T. para Antonio

Posted: Fri Jun 29, 2012 12:55 PM
RSalazarU wrote:Cual es la diferencia entre:

Programador de sistemas y programador de aplicaciones??

Perdon por la ignorancia.

De antemano gracias por la respuesta.

Atentamente.

Rolando


Rolando,

A grandes rasgos, un programador de aplicaciones construye aplicaciones para usuarios finales, y un programador de sistemas construye herramientas que son usadas por otros programadores. En realidad no es algo que esté delimitado al 100%, pero sirve como aproximación :-)
regards, saludos

Antonio Linares
www.fivetechsoft.com
Posts: 883
Joined: Thu Dec 24, 2009 12:46 AM

Re: Preview FWH12.04:= Necesito que me hechen una manita...

Posted: Fri Jun 29, 2012 03:51 PM
Gracias Rolando.... efectivamente he hecho pruebas con nRow >= oRpt:nBottomRow, y he tratado on oRpt:EndPage(), y hace lo que quiero con la primera página, ppppppeeeeeeerrrrrrrooooo, en un reporte de 2 páginas, me distorciona una segunda y tercera página y luego continúa bien el la cuarta...

Lo más seguro es que yo no esté usando bien las instrucciones o las esté usando en el lugar equivocado... Si pudieras publicar un ejemplito de como la usas tu, o enviarmelo a mi correo, nos ayudaría a todos....

Marcelo, las clases de FiveWin son muy poderosas, con solo haberle modificado un par de líneas es que estoy consiguiendo todo esto... estoy también utilizando las modificaciones muy acertadas de Francisco Alegría...

=====>

Bayron Landaverry
xBasePHP.com
(215)2226600 Philadelphia,PA, USA
MayaBuilders@gMail.com
Guatemala

FWH25.06--Harbour 3.0.0--BCC7.7--UEstudio 10.10
Windows 10

FiveWin, One line of code and it's done...

Posts: 537
Joined: Mon Jan 16, 2006 03:42 PM

Re: Preview FWH12.04:= Necesito que me hechen una manita...

Posted: Fri Jun 29, 2012 05:00 PM

Amigo prueba esto.
en printer.prg agregas esto:

METHOD CmRoundBox( nRow, nCol, nBottom, nRight, nWidth, nHeight, oPen, nBGColor ) INLINE ; // <new193-7>
::Cmtr2Pix( @nRow, @nCol ),;
::Cmtr2Pix( @nBottom, @nRight ),;
::RoundBox( nRow, nCol, nBottom, nRight, nWidth, nHeight, oPen, nBGColor )

y luego lo llamas asi

    oPrn:CmRoundBox(3.8,1.2,4.5,19.5,,,,CLR_LCELES )

saluds

Continue the discussion