error en tgraph

Post Reply
Francisco Horta
Posts: 845
Joined: Sun Oct 09, 2005 5:36 pm
Location: la laguna, mexico.

error en tgraph

Post by Francisco Horta »

me he percatado que al imprimir un grafica pero en tipo: "puntos y lineas en 2d" truena el programa, con "barras y pie en 2d y 3d" no pasa, alguna sugerencia?
http://img119.imageshack.us/img119/6479 ... icafl3.jpg
gracias
Paco
User avatar
Alfredo Arteaga
Posts: 326
Joined: Sun Oct 09, 2005 5:22 pm
Location: Mexico
Contact:

Post by Alfredo Arteaga »

Mmm... ya ví.

El culpable el pintado a doble buffer, se está perdiendo el recurso hPen. Pero no se como se come eso, ya Antonio me había comentado una solución pero no recuerdo.
Francisco Horta
Posts: 845
Joined: Sun Oct 09, 2005 5:36 pm
Location: la laguna, mexico.

Post by Francisco Horta »

ok, esperemos a ver que resulta de la memoria,
gracias, alfredo, de cualquier forma pues intentare mandarlo grabar a un bmp y luego imprimir ese bmp, de momento es lo que se me ocurre para darle solucion, aunque pues no la considero correcta.
por cierto hice unas pequeñas modificaciones en la clase para los graficos tipo pie, que se salia del recuadro y se comia parte de los subtitulos, por ahi me atrevi a moverle y parece que ya quedo...
salu2
paco
User avatar
Alfredo Arteaga
Posts: 326
Joined: Sun Oct 09, 2005 5:22 pm
Location: Mexico
Contact:

Post by Alfredo Arteaga »

Te agradeceré me hagas llegar esos ajustes al pie. Saludos Paco.
Francisco Horta
Posts: 845
Joined: Sun Oct 09, 2005 5:36 pm
Location: la laguna, mexico.

Post by Francisco Horta »

enviada...
salu2
paco
User avatar
jose_murugosa
Posts: 943
Joined: Mon Feb 06, 2006 4:28 pm
Location: Uruguay
Contact:

Post by jose_murugosa »

Francisco, sería excelente que pudieras poner la clase corregida con un link de hyperupload en Utilities/Utilidades, para el beneficio de todos.

Buen trabajo,
Saludos/Regards,
José Murugosa
FWH + Harbour + Bcc7. Una seda!
Francisco Horta
Posts: 845
Joined: Sun Oct 09, 2005 5:36 pm
Location: la laguna, mexico.

Post by Francisco Horta »

que tal Jose,
no me trevi a publicarla ya que me quieria serciorar con el master de la lib que la revisara y le diera el vo.bo., ya que no me considero un aceptable modificador de clases, siendo asi estoy seguro que alfredo pronto la revisara y la podra liberar y que nos la publique por aqui. de cualquier forma si la necesitas te la envio con mucho gusto. ;-)
salu2
Paco
User avatar
jose_murugosa
Posts: 943
Joined: Mon Feb 06, 2006 4:28 pm
Location: Uruguay
Contact:

Post by jose_murugosa »

Francisco Horta wrote:que tal Jose,
no me trevi a publicarla ya que me quieria serciorar con el master de la lib que la revisara y le diera el vo.bo., ya que no me considero un aceptable modificador de clases, siendo asi estoy seguro que alfredo pronto la revisara y la podra liberar y que nos la publique por aqui. de cualquier forma si la necesitas te la envio con mucho gusto. ;-)
salu2
Paco
Francisco, gracias por tu aclaración, de hecho me parece muy propio.
Saludos/Regards,
José Murugosa
FWH + Harbour + Bcc7. Una seda!
User avatar
Alfredo Arteaga
Posts: 326
Joined: Sun Oct 09, 2005 5:22 pm
Location: Mexico
Contact:

Post by Alfredo Arteaga »

Listo!

- El culpable del error en impresión de gráficas tipo Puntos y Líneas era ::Circle(), se agregó un método local.
- Se modificó la presentación de valores en todos los gráficos.
- Se depuró la impresión del gráfico tipo torta o pie.
- ... y otros detalles no significativos.

Aun hay detalles que podrían mejorarse, ya nuestro colega David desarrollo una lib, esto seguirá siendo una clase.

Disfrútenla.

http://www.despachoarteaga.com.mx/tgraph.zip
User avatar
Paco Garcia
Posts: 172
Joined: Fri Oct 07, 2005 12:00 pm
Contact:

Alfredo

Post by Paco Garcia »

Hola Alfredo,

He estado viendo tu maginifica clase TGraph y no puedo mas que darte la enhorabuena. Magnifico trabajo.

Hay una cosa que queria comentarte. Cuando haces grafico de pastel, las líneas no separan bien los trozos de tarta.

Creo que el problema es que pintas las separaciones "a mano" y creo que hay que dejar al sistema que las pinte solas:

Mas o menos por la línea 1240 hay:

Code: Select all

      IF (nAngle-nAngT)>1
         hPen2 := CreatePen( PS_SOLID, 1 , 0 )
         hOldPen2 := SelectObject( hMemCDC, hPen2 )
         Pie( hMemCDC, aGRect[1], aGRect[2], aGRect[3]+1, aGRect[4]+1, ;
                       aPT2[2], aPT2[1], aPT1[2], aPT1[1] )
         SelectObject( hMemCDC, hPen2 )
         DeleteObject( hPen2 )
      ENDIF
      SelectObject( hMemCDC, hPen )
      IF Len( aItems ) > 1
         //MoveTo( hMemCDC, aPT1[1], aPT1[2] )
         //LineTo( hMemCDC, ((aGRect[4]-aGRect[2]) / 2) + aGRect[2], ; // Center
         //                 ((aGRect[3]-aGRect[1]) / 2) + aGRect[1] )
         //MoveTo( hMemCDC, aPT2[1], aPT2[2] )
         //LineTo( hMemCDC, ((aGRect[4]-aGRect[2]) / 2) + aGRect[2], ; // Center
         //                 ((aGRect[3]-aGRect[1]) / 2) + aGRect[1] )
...


Si comentas esas líneas y cuando pintas el "Pie" le seleccionas un pincel, te pinta solo las separaciones. También, si haces esto, no es necesario pintar la elipse.

Un saludo
User avatar
Alfredo Arteaga
Posts: 326
Joined: Sun Oct 09, 2005 5:22 pm
Location: Mexico
Contact:

Post by Alfredo Arteaga »

Perfecto!, gracias Paco(s).

Si alguién más ha realizado cambios y considera que deben estar incluidos haganlos llegar a mi correo (abajo) y los incluiremos para todos.

Definitivamente una cabeza piensa menos que muchas.
Post Reply