Gracias OZ! -----Mensaje original----- De: [email protected] [mailto:[EMAIL PROTECTED] En nombre de oscar.zarate Enviado el: Lunes, 06 de Noviembre de 2006 07:26 p.m. Para: GUFA List Member Asunto: [GUFA] Ms chart 8.0
OK, Marito, esta respuesta consta de dos partes. Una entrega pescado y la otra es para enseñar a pescar. Pescado: en el prg attachado. Si no te sirve como idea, pasa el requerimiento y el form / prg y lo modificamos en conjunto con la lista como para hacer un taller :) Como pescar: DO "c:\program files\microsoft visual foxpro 9 \samples\solution\main.prg" Ahí elegis Foundation Classes Run Word, Excel and Graph Automation. Podes ejecutar o click en Ver codigo ejemplo y unas cuantas explicaciones de esto en http://msdn.microsoft.com/library/default.asp? url=/library/en-us/fox7help/html/ffcgraph_object.asp Otro es http://msdn.microsoft.com/library/default.asp?url=/library/en- us/fox7help/html/samManipulate_Display_Characteristics_of_a_Graph.asp Ahora, lo que mas me gusta a mi es usar la Web. Encuentro muchas cosas que me sirven como para iniciar y luego las avanzo (como este código que copie de la revista Española FoxPress http://www.fpress.com/revista/Num0401/aarticulo3.htm o http://www.fpress.com/revista/Num9812/Dic98.htm ) pero en el caso de gráficos hay una herramienta que me gusta más que Internet y es Excel y VBA. La idea es la siguiente: 1. Abrís Excel. 2. Haces una tablita equivalente a la tabla de resultados de tu consulta. 3. Menú: Tools Macro Record a new macro (Menú: Herramientas Macro Grabar una nueva macro) 4. Le pones un nuevo nombre y click OK 5. Ahora haces todos los pasos para crear un grafico (selecciona las celdas, elegis tipo de grafico, etc, etc, etc y muchas veces estos etc son el detalle que te falta, por ejemplo como cambiar un titulo o algún color o algo) 6. Cuando terminas, apretas el botón de finalizar la grabación. 7. Ahora, vas al menú y abrís Tools Macro Visual basic editor o lo que sea en español :) 8. En el editor de VBA, abrís el Tree view que tenes a la derecha y buscas Modules Module1 9. Doble click sobre eso y tenes el codigo VBA del grafico que hiciste. VBA no es idéntico a VFP, por supuesto, pero es muy fácil de traducir (creo). Un problema, es las constantes usa VBA, eso lo podes solucionar buscando en Internet o encontrando el archivo de constantes, pero creo que te va a gustar esta del método Munuce: Sub Macro1() ' ' Macro1 Macro ' Macro recorded 7/11/2006 by Oscar ' Range("A1:A1").Value = xlColumnClustered ' End Sub La idea es hacer una macro que escriba en una celda, en este caso en A1, el valor de la constante, o sea 51 que es el valor de xlColumnClustered. Evidentemente el error que vos tenias es porque tus datos (el cursor) no tiene los valores necesarios para este tipo de grafico, fijate que con los string concatenando los valores para hacer filas y columnas no es lo mas intuitivo pero es mejor. Bueno, creo que para empezar debe ser suficiente, pero insisto, manda el proyecto y lo vemos. PS: Este también te va gustar, o no es un gran ejemplo del método Munuce (ojo, niños no lo hagan en sus casas, jajaja): public pantalla pantalla = createobject("form") pantalla.addobject("objeto", "olecontrol", "msgraph.chart.8") pantalla.objeto.top = 0 pantalla.objeto.left = 0 pantalla.objeto.height = pantalla.height pantalla.objeto.width = pantalla.width pantalla.visible = .t. pantalla.objeto.visible = .t. pantalla.lockscreen = .t. pantalla.objeto.object.application.chart.charttype = 106 && -4100 pantalla.objeto.object.application.datasheet.range("00").value = "" pantalla.objeto.object.application.datasheet.range("01").value = "Pedro" pantalla.objeto.object.application.datasheet.range("02").value = "Luis" pantalla.objeto.object.application.datasheet.range("A0").value = "Enero" pantalla.objeto.object.application.datasheet.range("A1").value = 25 pantalla.objeto.object.application.datasheet.range("A2").value = 40 pantalla.objeto.object.application.datasheet.range("B0").value = "Febrero" pantalla.objeto.object.application.datasheet.range("B1").value = 35 pantalla.objeto.object.application.datasheet.range("B2").value = 55 pantalla.objeto.object.application.datasheet.rows("4").delete pantalla.objeto.object.application.datasheet.rows("5").delete pantalla.objeto.object.application.datasheet.columns("4").delete pantalla.objeto.object.application.datasheet.columns("4").delete pantalla.objeto.object.application.chart.hastitle = .t. pantalla.objeto.object.application.chart.charttitle.text = "Mi gráfico" pantalla.lockscreen = .f. SaludOZ |\_/| (.. ) - / -----Original Message----- From: "Mario Munuce" <[EMAIL PROTECTED]> To: "GUFA List Member" <[email protected]> Date: Sun, 5 Nov 2006 22:44:13 -0600 Subject: [GUFA] Ms chart 8.0 > > > From TheCount's Desk > _____________________ > > Hoola zorros! > Gracias al aporte de Pablito Canonico y a codigo que chorre de la web, > puede > hacer mi grafiquito! > > Si abro el cursorcito de marras, me muestra el grafico.. 'hasta aqui > voy > bien' (decia Olmedo, mientras caia por el cuarto piso). > > Cuando quiero mostrarlo en un form. > > If fn_PedidosDeEsteArticulo(This.articuloid,This.clienteid) > Select GraficarEsto > With This.oleboundcontrol1 > .ControlSource='GraficarEsto.Grafico' > .ChartType=51 > .Height=This.Height-20 > .Width = This.Width-20 > .Left=0 > .Top=0 > .Visible=.T. > .Refresh > Endwith > Endif > > Me da el error chartype property is not found > Que estoy haciendo mal? > > Desde ya gracias! > Abreso, > M. > Nota: Los acentos han sido removidos intencionalmente, para que este > mensaje > pueda ser leido por todos los programas de correo. >
