La Web del Programador: Comunidad de Programadores
 
    Pregunta:  718 - GENERAR UN GRAFICO
Autor:  Ricardo
Trabajo en foxpro 2.6 for windows.Necesito crear un grafico, a partir de una consulta en sql pero que no salgan las obciones del gengrapb, si no que lo creee en forma directa, si alguien me puede ayudar, o puede mandarme un ejemplo lo agradecere

  Respuesta:  Javier Alberto Aponte Aldana
Complementando la respuesta anterior: Primero visualiza la gráfica directamente de la base de datos y checa la forma en que están acomodados los datos. La forma anterior es para cuando son en 2 renglones y cada scan.. endscan va a generar 1 renglon. Los TAB son para saltar entre celdas. Si necesitas que tus datos vayan en columnas debes hacerlo de la siguiente manera:
#define crlf chr(13)+chr(10)
#define tb chr(9)

sele tabla_datos && Tabla de datos
lcData=" "

scan
lcData = lcData + crlf + alltrim(campo1)+ tb + " " + str(campo2)+ tb + " " +str(campo3)
endscan

* El crlf va a dar un retorno entre registro y registro, y los TB van a poner los campos en cada celda

lcData = lcdata + tb

select vfpgraph
append general olegraph data lcData


  Respuesta:  Laura Nuñez González
Yo trabajo en Visual Fox 5.0, yo tuve que hacer lo mismo en un programa. Visul Fox 5.0 tiene en la opción Tool (herramientas) del menú, elWizards y de ahí la opción Query, te abre una pantalla seleccionas Graph Wizard, ahí puedes crear el gráfico que necesites, debes haber creado antes una tabla con un campo tipo caracter y otro numérico, y que tenga datos. Esto te crea una tabla con un campo llamado Olegrahp, donde está el gráfico.

Luego ya en la forma utilizas esta rutina para llenar el gráfico, debes enviar primero los títulos y luego los valores de esos títulos, en el mismo orden:

#DEFINE CRLF CHR(13)+CHR(10)
#DEFINE TAB CHR(9)

select tabla_datos &&tabla con los datos a graficar, generada con el sql
lcData = " "
scan && envía los títulos al objeto OLE
lcData = lcData + TAB + alltrim(periodo) &&campo de la tabla
endscan
lcData = lcData + CRLF + " "

select tabla_datos &&tabla con los datos a graficar, generada con el sql
scan && envía los valores al objeto OLE
lcData = lcData + TAB + alltrim(str(valor,12,2)) &&campo de la tabla
endscan
lcData = lcData + CRLF

select tabla_grafico && tabla con el gráfico generado
append general olegraph data lcData && graba el gráfico en la tabla

Espero que te sirva, al menos en el Fox 5.0 asi lo hice yo y me sirvió. Suerte con eso.

  Respuesta:  Alvaro
Para crear graficos a partir de una consulta SQL en FoxPro 2.6 debes tener un utilitario denominado FOXGRAPH
Si te interesa puedo mandarte un trozo de codigo para que sepas como contruir el archivo y posteriormente el grafico