!!!URGENTE !!!!manipular grafico creado con msgraph

05/12/2006 - 21:45 por NestorEsteban | Informe spam
Saludos al grupo,

Urgentemente, necesito saber como manipular un grafico creado con
msgraph, el cual fue almancenado en un campo general. Al grafico creado
quisiera cambiarle el intervalo de los datos, el tamaño, del texto, la
posicion (o quitar) de la leyenda. En los ejemplos que he visto hacen
esto pero cuando esta en un formulario, cambiando las propiedades, pero
lo que yo hago es un procedimiento para crear el grafico y
posteriormente lo envio a imprimir/preliminar

Les Agradesco mucho cualquier comentario, es urgente poder solucionar
esto.

Preguntas similare

Leer las respuestas

#1 Dario David Puccio
06/12/2006 - 15:41 | Informe spam
Nestor, yo manejo todo lo que necesitas desde un formulario, de esa manera
controlas el objeto cambiandole sus propiedades, si lo deseas te mando un
ejemplo del form...


Dario David Puccio
El Cyber_Gaucho
www.chispazodetradicion.com.ar
Respuesta Responder a este mensaje
#2 NestorEsteban
14/12/2006 - 01:43 | Informe spam
Estaria muy bien, te lo agradezco. Pero te recuerdo que lo que quiero
al final es mandarlo a un reporte... no se si tu idea es pasar por un
formulario para manipularlo y luego (con los cambios en los registros
imprimirlo)... bueno, espero tu ejemplo... gracias por tu atencion
Respuesta Responder a este mensaje
#3 Carlos Ramírez
14/12/2006 - 13:44 | Informe spam
Saludos Nestor, esa podria ser una manera, la otra manera es mediante el uso
del comando append general te incluyo un pequeño programa de ejemplo

*!* Programa Ejemplo
#Define TAB Chr(9)
#Define CRLF Chr(13)
Local cData
Close Databases All
Create Cursor tmp_grafico (campo G)
Append Blank In tmp_grafico
Select tmp_grafico
m.cData = ''+Tab+'Hombres'+Tab+'MUJERES'+CRLF+;
'2000'+Tab+'2000000'+Tab+'1500000'+CRLF+;
'2001'+Tab+'2500000'+Tab+'3000000'+CRLF+;
'2002'+Tab+'3120000'+Tab+'3000000'+CRLF+;
'2003'+Tab+'2500000'+Tab+'4500000'+CRLF
Append General campo Data m.cData Class 'MSGRAPH.CHART' &&Se agrega una
primera definición para el grafico
Modify General campo
m.cData = ''+Tab+'Hombres'+Tab+'MUJERES'+CRLF+;
'2000'+Tab+'2000000'+Tab+'1500000'+CRLF+;
'2001'+Tab+'2500000'+Tab+'3000000'+CRLF+;
'2002'+Tab+'3120000'+Tab+'3000000'+CRLF+;
'2003'+Tab+'2500000'+Tab+'4500000'+CRLF+;
'2005'+Tab+'4000000'+Tab+'4700000'+CRLF+;
'2006'+Tab+'5000000'+Tab+'5000000'+CRLF
Append General campo Data m.cData Class 'MSGRAPH.CHART' &&Cambia la
definición para el grafico
Modify General campo
*!* Fin Programa Ejemplo
Espero te sirva, comenta tus resultados.


Cómo te darás cuenta, se manipula el objeto gráfico.
"NestorEsteban" escribió en el mensaje
news:
Estaria muy bien, te lo agradezco. Pero te recuerdo que lo que quiero
al final es mandarlo a un reporte... no se si tu idea es pasar por un
formulario para manipularlo y luego (con los cambios en los registros
imprimirlo)... bueno, espero tu ejemplo... gracias por tu atencion

Respuesta Responder a este mensaje
#4 Nestor Cerecer
14/12/2006 - 19:00 | Informe spam
Gracias Carlos por tu respuesta y ejemplo, aunque no le he corrido (acabo de
ver el mensaje ) lo que haces es modificar los datos que estan en el
registro y lo que quiero cambiar es si el grafico va a mostrar o no leyenda,
cambiar el tamaño del texto, cambiar la numeracion en Y ( que aparezca, por
ejemplo, siempre el intervalo de 0 al 10). Lo que me muestras a mi ententer
lo que hace es cambiar los datos a graficar.

"Carlos Ramírez" escribió en el mensaje
news:%
Saludos Nestor, esa podria ser una manera, la otra manera es mediante el
uso del comando append general te incluyo un pequeño programa de ejemplo

*!* Programa Ejemplo
#Define TAB Chr(9)
#Define CRLF Chr(13)
Local cData
Close Databases All
Create Cursor tmp_grafico (campo G)
Append Blank In tmp_grafico
Select tmp_grafico
m.cData = ''+Tab+'Hombres'+Tab+'MUJERES'+CRLF+;
'2000'+Tab+'2000000'+Tab+'1500000'+CRLF+;
'2001'+Tab+'2500000'+Tab+'3000000'+CRLF+;
'2002'+Tab+'3120000'+Tab+'3000000'+CRLF+;
'2003'+Tab+'2500000'+Tab+'4500000'+CRLF
Append General campo Data m.cData Class 'MSGRAPH.CHART' &&Se agrega una
primera definición para el grafico
Modify General campo
m.cData = ''+Tab+'Hombres'+Tab+'MUJERES'+CRLF+;
'2000'+Tab+'2000000'+Tab+'1500000'+CRLF+;
'2001'+Tab+'2500000'+Tab+'3000000'+CRLF+;
'2002'+Tab+'3120000'+Tab+'3000000'+CRLF+;
'2003'+Tab+'2500000'+Tab+'4500000'+CRLF+;
'2005'+Tab+'4000000'+Tab+'4700000'+CRLF+;
'2006'+Tab+'5000000'+Tab+'5000000'+CRLF
Append General campo Data m.cData Class 'MSGRAPH.CHART' &&Cambia la
definición para el grafico
Modify General campo
*!* Fin Programa Ejemplo
Espero te sirva, comenta tus resultados.


Cómo te darás cuenta, se manipula el objeto gráfico.
"NestorEsteban" escribió en el mensaje
news:
Estaria muy bien, te lo agradezco. Pero te recuerdo que lo que quiero
al final es mandarlo a un reporte... no se si tu idea es pasar por un
formulario para manipularlo y luego (con los cambios en los registros
imprimirlo)... bueno, espero tu ejemplo... gracias por tu atencion






Respuesta Responder a este mensaje
#5 Carlos Ramírez
15/12/2006 - 01:57 | Informe spam
Saludos Nestor en efecto eso es lo que hago...
Hay una forma, dejame ejemplificar (sin trabajar demasiado) que han tratado
de decirte:
*Programa Ejemplo
m.oForm = CREATEOBJECT('FORM')
m.oForm.AddObject('Grafico','OleBoundControl')
m.oForm.Grafico.ControlSource = 'tabla.campo' &&Recuerda utilizar la tabla
antes y posicionarte en el registro que quieres utilizar.
m.oGrafico = m.oForm.Grafico.Object && De esta forma tienes acceso a las
propiedades del grafico
m.oGrafico.ChartType = -4102 &&Grafico de Pie (Torta)
*Cambiar todas las propiedades del grafico
.
.
.
*Liberar Variables
RELEASE ografico,oform
*Fin Programa Ejemplo

Esta es una forma rapida sin necesidad de entorno Visual (Al menos no
directamente) de modificar las propiedades del grafico (puedes utilizar el
mismo procedimiento para varios tipos de objetos
Dependiendo de que versión de Fox Tienes deberias tratar de utilizar la
clase autograph.vcx (tal vez no te funcione directamente "pero con ligeras
modificaciones" la pudieras utilizar.
Comenta tu resultados para ver si te sirve.

"Nestor Cerecer" escribió en el mensaje
news:%
Gracias Carlos por tu respuesta y ejemplo, aunque no le he corrido (acabo
de ver el mensaje ) lo que haces es modificar los datos que estan en el
registro y lo que quiero cambiar es si el grafico va a mostrar o no
leyenda, cambiar el tamaño del texto, cambiar la numeracion en Y ( que
aparezca, por ejemplo, siempre el intervalo de 0 al 10). Lo que me
muestras a mi ententer lo que hace es cambiar los datos a graficar.

"Carlos Ramírez" escribió en el mensaje
news:%
Saludos Nestor, esa podria ser una manera, la otra manera es mediante el
uso del comando append general te incluyo un pequeño programa de ejemplo

*!* Programa Ejemplo
#Define TAB Chr(9)
#Define CRLF Chr(13)
Local cData
Close Databases All
Create Cursor tmp_grafico (campo G)
Append Blank In tmp_grafico
Select tmp_grafico
m.cData = ''+Tab+'Hombres'+Tab+'MUJERES'+CRLF+;
'2000'+Tab+'2000000'+Tab+'1500000'+CRLF+;
'2001'+Tab+'2500000'+Tab+'3000000'+CRLF+;
'2002'+Tab+'3120000'+Tab+'3000000'+CRLF+;
'2003'+Tab+'2500000'+Tab+'4500000'+CRLF
Append General campo Data m.cData Class 'MSGRAPH.CHART' &&Se agrega una
primera definición para el grafico
Modify General campo
m.cData = ''+Tab+'Hombres'+Tab+'MUJERES'+CRLF+;
'2000'+Tab+'2000000'+Tab+'1500000'+CRLF+;
'2001'+Tab+'2500000'+Tab+'3000000'+CRLF+;
'2002'+Tab+'3120000'+Tab+'3000000'+CRLF+;
'2003'+Tab+'2500000'+Tab+'4500000'+CRLF+;
'2005'+Tab+'4000000'+Tab+'4700000'+CRLF+;
'2006'+Tab+'5000000'+Tab+'5000000'+CRLF
Append General campo Data m.cData Class 'MSGRAPH.CHART' &&Cambia la
definición para el grafico
Modify General campo
*!* Fin Programa Ejemplo
Espero te sirva, comenta tus resultados.


Cómo te darás cuenta, se manipula el objeto gráfico.
"NestorEsteban" escribió en el mensaje
news:
Estaria muy bien, te lo agradezco. Pero te recuerdo que lo que quiero
al final es mandarlo a un reporte... no se si tu idea es pasar por un
formulario para manipularlo y luego (con los cambios en los registros
imprimirlo)... bueno, espero tu ejemplo... gracias por tu atencion










email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida