In order for this site to work correctly we need to store a small file (called a cookie) on your computer. Most every site in the world does this, however since the 25th of May 2011, by law we have to get your permission first. Please abandon the forum if you disagree.
Para que este foro funcione correctamente es necesario guardar un pequeño fichero (llamado cookie) en su ordenador. La mayoría de los sitios de Internet lo hacen, no obstante desde el 25 de Marzo de 2011 y por ley, necesitamos de su permiso con antelación. Abandone este foro si no está conforme.
Para que este foro funcione correctamente es necesario guardar un pequeño fichero (llamado cookie) en su ordenador. La mayoría de los sitios de Internet lo hacen, no obstante desde el 25 de Marzo de 2011 y por ley, necesitamos de su permiso con antelación. Abandone este foro si no está conforme.
TOleAuto y los Arrays
TOleAuto y los Arrays
Hola,
Estoy intentando utilizar la librería ChartDirector mediante Ole para la generación de gráficos.
El problema que tengo es que hay una serie de métodos a los cuales hay que pasarles un array con el valor de los datos a mostrar y esa parte no funciona.
Por ejemplo, el código para visualizar una gráfica de tarta es:
oChart := TOleAuto():New( "ChartDirector.API" )
Data := {38, 58, 58}
labels := {"Zaragoza", "Huesca","Teruel"}
Grafico := oChart:PieChart(360, 300)
Grafico:setPieSize(180, 140, 100)
Grafico:set3D()
Grafico:setLineColor(0)
Grafico:setLabelStyle():setBackground(oChart:SameAsMainColor , 0)
Grafico:setData(Data, Labels)
Grafico:setExplode(0)
Grafico:makeChart("Grafico.gif")
::oimage1:SetPicture( "Grafico.gif")
Como veis, data y labels son dos arrays con los valores para generar el gráfico que se utilizan luego en :SetData()
Al mostrar la tarta, ToleAuto se entera de cuántos elementos tiene el array, pero no de su valor, así, el ejemplo anterior me imprime una gráfica de 3 sectores, pero todos con el mismo valor (que supongo será 0). Del mismo modo, las etiquetas las pasa en blanco.
Yo no tengo ni idea de cómo se gestiona el tipo de datos array en el toleauto, o si se tienen que pasar los datos de alguna manera especial.
¿Alguna idea?
Un saludico,
Fredy
--
Attached files
Estoy intentando utilizar la librería ChartDirector mediante Ole para la generación de gráficos.
El problema que tengo es que hay una serie de métodos a los cuales hay que pasarles un array con el valor de los datos a mostrar y esa parte no funciona.
Por ejemplo, el código para visualizar una gráfica de tarta es:
oChart := TOleAuto():New( "ChartDirector.API" )
Data := {38, 58, 58}
labels := {"Zaragoza", "Huesca","Teruel"}
Grafico := oChart:PieChart(360, 300)
Grafico:setPieSize(180, 140, 100)
Grafico:set3D()
Grafico:setLineColor(0)
Grafico:setLabelStyle():setBackground(oChart:SameAsMainColor , 0)
Grafico:setData(Data, Labels)
Grafico:setExplode(0)
Grafico:makeChart("Grafico.gif")
::oimage1:SetPicture( "Grafico.gif")
Como veis, data y labels son dos arrays con los valores para generar el gráfico que se utilizan luego en :SetData()
Al mostrar la tarta, ToleAuto se entera de cuántos elementos tiene el array, pero no de su valor, así, el ejemplo anterior me imprime una gráfica de 3 sectores, pero todos con el mismo valor (que supongo será 0). Del mismo modo, las etiquetas las pasa en blanco.
Yo no tengo ni idea de cómo se gestiona el tipo de datos array en el toleauto, o si se tienen que pasar los datos de alguna manera especial.
¿Alguna idea?
Un saludico,
Fredy
--
Attached files
-
- Mensajes: 137
- Registrado: Vie Jul 29, 2005 8:49 am
- Ubicación: Valencia - España
- Contactar:
TOleAuto y los Arrays
Fredy,
¿¿ Puedes mostrar la documentación del método SetData ??
Saludos,
José Luis Capel
PD: ¿donde puedo curiosear esa librería?
Alfredo Sanz Perez escribió:
> Hola,
>
> Estoy intentando utilizar la librería ChartDirector mediante Ole para la generación de gráficos.
>
> El problema que tengo es que hay una serie de métodos a los cuales hay que pasarles un array con el valor de los datos a mostrar y esa parte no funciona.
>
> Por ejemplo, el código para visualizar una gráfica de tarta es:
>
> oChart := TOleAuto():New( "ChartDirector.API" )
> Data := {38, 58, 58}
> labels := {"Zaragoza", "Huesca","Teruel"}
> Grafico := oChart:PieChart(360, 300)
>
> Grafico:setPieSize(180, 140, 100)
>
> Grafico:set3D()
> Grafico:setLineColor(0)
> Grafico:setLabelStyle():setBackground(oChart:SameAsMainColor , 0)
> Grafico:setData(Data, Labels)
>
> Grafico:setExplode(0)
> Grafico:makeChart("Grafico.gif")
> ::oimage1:SetPicture( "Grafico.gif")
>
>
> Como veis, data y labels son dos arrays con los valores para generar el gráfico que se utilizan luego en :SetData()
>
> Al mostrar la tarta, ToleAuto se entera de cuántos elementos tiene el array, pero no de su valor, así, el ejemplo anterior me imprime una gráfica de 3 sectores, pero todos con el mismo valor (que supongo será 0). Del mismo modo, las etiquetas las pasa en blanco.
>
>
> Yo no tengo ni idea de cómo se gestiona el tipo de datos array en el toleauto, o si se tienen que pasar los datos de alguna manera especial.
>
> ¿Alguna idea?
>
>
> Un saludico,
> Fredy
>
>
> ------------------------------------------------------------ ------------
>
¿¿ Puedes mostrar la documentación del método SetData ??
Saludos,
José Luis Capel
PD: ¿donde puedo curiosear esa librería?
Alfredo Sanz Perez escribió:
> Hola,
>
> Estoy intentando utilizar la librería ChartDirector mediante Ole para la generación de gráficos.
>
> El problema que tengo es que hay una serie de métodos a los cuales hay que pasarles un array con el valor de los datos a mostrar y esa parte no funciona.
>
> Por ejemplo, el código para visualizar una gráfica de tarta es:
>
> oChart := TOleAuto():New( "ChartDirector.API" )
> Data := {38, 58, 58}
> labels := {"Zaragoza", "Huesca","Teruel"}
> Grafico := oChart:PieChart(360, 300)
>
> Grafico:setPieSize(180, 140, 100)
>
> Grafico:set3D()
> Grafico:setLineColor(0)
> Grafico:setLabelStyle():setBackground(oChart:SameAsMainColor , 0)
> Grafico:setData(Data, Labels)
>
> Grafico:setExplode(0)
> Grafico:makeChart("Grafico.gif")
> ::oimage1:SetPicture( "Grafico.gif")
>
>
> Como veis, data y labels son dos arrays con los valores para generar el gráfico que se utilizan luego en :SetData()
>
> Al mostrar la tarta, ToleAuto se entera de cuántos elementos tiene el array, pero no de su valor, así, el ejemplo anterior me imprime una gráfica de 3 sectores, pero todos con el mismo valor (que supongo será 0). Del mismo modo, las etiquetas las pasa en blanco.
>
>
> Yo no tengo ni idea de cómo se gestiona el tipo de datos array en el toleauto, o si se tienen que pasar los datos de alguna manera especial.
>
> ¿Alguna idea?
>
>
> Un saludico,
> Fredy
>
>
> ------------------------------------------------------------ ------------
>
TOleAuto y los Arrays
Hola,
todo lo que tengo es esto:
ChartDirector Ver 4.0 (ASP/COM/VB Edition)
PieChart.setData
------------------------------------------------------------ --------------------
Usage
setData(data [, labels ])
Descriptio
Sets the data used to draw the pie chart.
Arguments
argument Default Description
data (Mandatory) An array of numbers representing the data points.
labels [Empty_Array] An array of text strings representing the labels
of the sectors. An empty array means no sector label.
Return Value
None
Un saludico
Fredy
todo lo que tengo es esto:
ChartDirector Ver 4.0 (ASP/COM/VB Edition)
PieChart.setData
------------------------------------------------------------ --------------------
Usage
setData(data [, labels ])
Descriptio
Sets the data used to draw the pie chart.
Arguments
argument Default Description
data (Mandatory) An array of numbers representing the data points.
labels [Empty_Array] An array of text strings representing the labels
of the sectors. An empty array means no sector label.
Return Value
None
Un saludico
Fredy
TOleAuto y los Arrays
Fredy,
¿ has probado convirtiendo los datos ?
Data := I2Bin( 38 ) + I2BIN( 58 ) + I2BIN( 58 )
Según el tipo numérico que espere puede que necesites I2Bin, L2Bin o W2Bin.
Saludos,
José Lalín
¿ has probado convirtiendo los datos ?
Data := I2Bin( 38 ) + I2BIN( 58 ) + I2BIN( 58 )
Según el tipo numérico que espere puede que necesites I2Bin, L2Bin o W2Bin.
Saludos,
José Lalín
TOleAuto y los Arrays
Hola,
Pues tampoco me funciona,
pero creo que la cosa va por ahí. Al ser un array debe de estar transformando
mal los datos, y el chartdirector recibe el array pero vacío.
Cuando se trata de un método que recibe caracteres simples, como un número
o una cadena de caracteres sí que lo toma bien.
¿Alguien ha usado alguna vez una conexión ole pasando un array como parámetro
de un método?
Si queréis probar chartdirector podéis bajar una versión de evaluación en
http://www.advsofteng.com/download.html
Yo estoy probando con la primera de todas, la que pone para ASP/COM/VB
Un saludico,
Fredy
Pues tampoco me funciona,
pero creo que la cosa va por ahí. Al ser un array debe de estar transformando
mal los datos, y el chartdirector recibe el array pero vacío.
Cuando se trata de un método que recibe caracteres simples, como un número
o una cadena de caracteres sí que lo toma bien.
¿Alguien ha usado alguna vez una conexión ole pasando un array como parámetro
de un método?
Si queréis probar chartdirector podéis bajar una versión de evaluación en
http://www.advsofteng.com/download.html
Yo estoy probando con la primera de todas, la que pone para ASP/COM/VB
Un saludico,
Fredy
TOleAuto y los Arrays
Fredy,
¿¿En la documentación viene algún ejemplo para C++?? O en su defecto,
para VB??? ¿Puedes dejarlo aquí?
Saludos,
José Luis Capel
Fredy escribió:
> Hola,
>
> Pues tampoco me funciona,
> pero creo que la cosa va por ahí. Al ser un array debe de estar
> transformando mal los datos, y el chartdirector recibe el array pero vacío.
> Cuando se trata de un método que recibe caracteres simples, como un
> número o una cadena de caracteres sí que lo toma bien.
>
> ¿Alguien ha usado alguna vez una conexión ole pasando un array como
> parámetro de un método?
>
> Si queréis probar chartdirector podéis bajar una versión de evaluación
> en http://www.advsofteng.com/download.html
> Yo estoy probando con la primera de todas, la que pone para ASP/COM/VB
>
>
> Un saludico,
> Fredy
>
>
¿¿En la documentación viene algún ejemplo para C++?? O en su defecto,
para VB??? ¿Puedes dejarlo aquí?
Saludos,
José Luis Capel
Fredy escribió:
> Hola,
>
> Pues tampoco me funciona,
> pero creo que la cosa va por ahí. Al ser un array debe de estar
> transformando mal los datos, y el chartdirector recibe el array pero vacío.
> Cuando se trata de un método que recibe caracteres simples, como un
> número o una cadena de caracteres sí que lo toma bien.
>
> ¿Alguien ha usado alguna vez una conexión ole pasando un array como
> parámetro de un método?
>
> Si queréis probar chartdirector podéis bajar una versión de evaluación
> en http://www.advsofteng.com/download.html
> Yo estoy probando con la primera de todas, la que pone para ASP/COM/VB
>
>
> Un saludico,
> Fredy
>
>
TOleAuto y los Arrays
Te dejo el mismo ejemplo en VBasic, C++ y Visual basic script, así como una img con el resultado.
El gráfico png lo he creado llamando desde xailer al script visualbasic y recuperándolo luego en un timage, pero sin duda queda mucho más chulo hacerlo con toleauto desde dentro de xailer sin tener que llamar a scripts externos.
Un saludico,
Fredy
--
Attached files multiline.zip (17.8 KB)Â
El gráfico png lo he creado llamando desde xailer al script visualbasic y recuperándolo luego en un timage, pero sin duda queda mucho más chulo hacerlo con toleauto desde dentro de xailer sin tener que llamar a scripts externos.
Un saludico,
Fredy
--
Attached files multiline.zip (17.8 KB)Â
TOleAuto y los Arrays
Fredy,
Prueba esto:
Data := {38.00000, 58.00000, 58.00000}
Y dime si te va... (no pongas los labels de momento)
Saludos,
José Luis Capel
José Luis Capel escribió:
> Fredy,
>
> ¿¿En la documentación viene algún ejemplo para C++?? O en su defecto,
> para VB??? ¿Puedes dejarlo aquí?
>
> Saludos,
> José Luis Capel
>
>
>
>
> Fredy escribió:
>
>> Hola,
>>
>> Pues tampoco me funciona,
>> pero creo que la cosa va por ahí. Al ser un array debe de estar
>> transformando mal los datos, y el chartdirector recibe el array pero
>> vacío.
>> Cuando se trata de un método que recibe caracteres simples, como un
>> número o una cadena de caracteres sí que lo toma bien.
>>
>> ¿Alguien ha usado alguna vez una conexión ole pasando un array como
>> parámetro de un método?
>>
>> Si queréis probar chartdirector podéis bajar una versión de evaluación
>> en http://www.advsofteng.com/download.html
>> Yo estoy probando con la primera de todas, la que pone para ASP/COM/VB
>>
>>
>> Un saludico,
>> Fredy
>>
>>
Prueba esto:
Data := {38.00000, 58.00000, 58.00000}
Y dime si te va... (no pongas los labels de momento)
Saludos,
José Luis Capel
José Luis Capel escribió:
> Fredy,
>
> ¿¿En la documentación viene algún ejemplo para C++?? O en su defecto,
> para VB??? ¿Puedes dejarlo aquí?
>
> Saludos,
> José Luis Capel
>
>
>
>
> Fredy escribió:
>
>> Hola,
>>
>> Pues tampoco me funciona,
>> pero creo que la cosa va por ahí. Al ser un array debe de estar
>> transformando mal los datos, y el chartdirector recibe el array pero
>> vacío.
>> Cuando se trata de un método que recibe caracteres simples, como un
>> número o una cadena de caracteres sí que lo toma bien.
>>
>> ¿Alguien ha usado alguna vez una conexión ole pasando un array como
>> parámetro de un método?
>>
>> Si queréis probar chartdirector podéis bajar una versión de evaluación
>> en http://www.advsofteng.com/download.html
>> Yo estoy probando con la primera de todas, la que pone para ASP/COM/VB
>>
>>
>> Un saludico,
>> Fredy
>>
>>
-
- Mensajes: 203
- Registrado: Vie Abr 01, 2005 9:05 am
TOleAuto y los Arrays
Fredy,
Me da la impresión de que el array de datas debe ser de dos dimensiones,
quedando la cosa así:
oChart := TOleAuto():New( "ChartDirector.API" )
Data := { {38, 58, 58} }
labels := {"Zaragoza", "Huesca","Teruel"}
Grafico := oChart:PieChart(360, 300)
Grafico:setPieSize(180, 140, 100)
Saludos
Jose A. Suarez
Fredy escribió:
> Te dejo el mismo ejemplo en VBasic, C++ y Visual basic script, así como una img con el resultado.
>
> El gráfico png lo he creado llamando desde xailer al script visualbasic y recuperándolo luego en un timage, pero sin duda queda mucho más chulo hacerlo con toleauto desde dentro de xailer sin tener que llamar a scripts externos.
>
> Un saludico,
> Fredy
Me da la impresión de que el array de datas debe ser de dos dimensiones,
quedando la cosa así:
oChart := TOleAuto():New( "ChartDirector.API" )
Data := { {38, 58, 58} }
labels := {"Zaragoza", "Huesca","Teruel"}
Grafico := oChart:PieChart(360, 300)
Grafico:setPieSize(180, 140, 100)
Saludos
Jose A. Suarez
Fredy escribió:
> Te dejo el mismo ejemplo en VBasic, C++ y Visual basic script, así como una img con el resultado.
>
> El gráfico png lo he creado llamando desde xailer al script visualbasic y recuperándolo luego en un timage, pero sin duda queda mucho más chulo hacerlo con toleauto desde dentro de xailer sin tener que llamar a scripts externos.
>
> Un saludico,
> Fredy
TOleAuto y los Arrays
Hola!,
No, el array es de una dimensión, si lo pongo de dos dimensiones me crea
sólo un sector en el gráfico, del 100%
Un saludico,
Fredy
No, el array es de una dimensión, si lo pongo de dos dimensiones me crea
sólo un sector en el gráfico, del 100%
Un saludico,
Fredy
TOleAuto y los Arrays
Pues no, tampoco es eso 
Seguro que lo estamos tocando con la puntica de los dedos pero no llegamos
a cogerlo, bueno, agarrarlo ... que también nos leen amigos del otro lado
del charco
Un saludico,
Fredy

Seguro que lo estamos tocando con la puntica de los dedos pero no llegamos
a cogerlo, bueno, agarrarlo ... que también nos leen amigos del otro lado
del charco

Un saludico,
Fredy
TOleAuto y los Arrays
Fredy,
Entonces prueba
LOCAL nVar
nVar := 1.000000
aDato := {38.00000 * nVar, 58.00000 * nVar, 58.00000 * nVar}
Saludos,
José Luis Capel
Fredy escribió:
> Pues no, tampoco es eso
>
> Seguro que lo estamos tocando con la puntica de los dedos pero no
> llegamos a cogerlo, bueno, agarrarlo ... que también nos leen amigos del
> otro lado del charco
>
> Un saludico,
> Fredy
>
>
Entonces prueba
LOCAL nVar
nVar := 1.000000
aDato := {38.00000 * nVar, 58.00000 * nVar, 58.00000 * nVar}
Saludos,
José Luis Capel
Fredy escribió:
> Pues no, tampoco es eso

>
> Seguro que lo estamos tocando con la puntica de los dedos pero no
> llegamos a cogerlo, bueno, agarrarlo ... que también nos leen amigos del
> otro lado del charco

>
> Un saludico,
> Fredy
>
>
TOleAuto y los Arrays
Nada, se le atragantan los arrays
Un saludico,
Fredy
Un saludico,
Fredy
TOleAuto y los Arrays
Fredy y todos,
no le deis más vueltas... TOleAuto no tenía soporte de arrays, ni para
pasarlos como parámetros ni para recibirlos.
Cuando hice el soporte de OLE hace unos 5 años, no los necesité (y no los
creí necesarios), y por lo tanto se quedaron sin hacer. Y ha permanecido así
hasta hace unas 2 ó 3 semanas, que Ron ya los ha implementado en el soporte
de OLE de xHarbour. Pero la versión de xHarbour que tenemos en nuestra
página no lo tiene todavía, así que habrá que esperar un poco. Esperamos
actualizar xHarbour dentro de muy poco, en cuanto veamos que vuelve a ser
estable.
--
Un saludo,
José F. Giménez
no le deis más vueltas... TOleAuto no tenía soporte de arrays, ni para
pasarlos como parámetros ni para recibirlos.
Cuando hice el soporte de OLE hace unos 5 años, no los necesité (y no los
creí necesarios), y por lo tanto se quedaron sin hacer. Y ha permanecido así
hasta hace unas 2 ó 3 semanas, que Ron ya los ha implementado en el soporte
de OLE de xHarbour. Pero la versión de xHarbour que tenemos en nuestra
página no lo tiene todavía, así que habrá que esperar un poco. Esperamos
actualizar xHarbour dentro de muy poco, en cuanto veamos que vuelve a ser
estable.
--
Un saludo,
José F. Giménez
-
- Mensajes: 203
- Registrado: Vie Abr 01, 2005 9:05 am
TOleAuto y los Arrays
¡¡ Eso se avisa antes !!
;-)
Jose F. Gimenez escribió:
> Fredy y todos,
>
> no le deis más vueltas... TOleAuto no tenía soporte de arrays, ni para
> pasarlos como parámetros ni para recibirlos.
>
> Cuando hice el soporte de OLE hace unos 5 años, no los necesité (y no los
> creí necesarios), y por lo tanto se quedaron sin hacer. Y ha permanecido así
> hasta hace unas 2 ó 3 semanas, que Ron ya los ha implementado en el soporte
> de OLE de xHarbour. Pero la versión de xHarbour que tenemos en nuestra
> página no lo tiene todavía, así que habrá que esperar un poco. Esperamos
> actualizar xHarbour dentro de muy poco, en cuanto veamos que vuelve a ser
> estable.
>
>
;-)
Jose F. Gimenez escribió:
> Fredy y todos,
>
> no le deis más vueltas... TOleAuto no tenía soporte de arrays, ni para
> pasarlos como parámetros ni para recibirlos.
>
> Cuando hice el soporte de OLE hace unos 5 años, no los necesité (y no los
> creí necesarios), y por lo tanto se quedaron sin hacer. Y ha permanecido así
> hasta hace unas 2 ó 3 semanas, que Ron ya los ha implementado en el soporte
> de OLE de xHarbour. Pero la versión de xHarbour que tenemos en nuestra
> página no lo tiene todavía, así que habrá que esperar un poco. Esperamos
> actualizar xHarbour dentro de muy poco, en cuanto veamos que vuelve a ser
> estable.
>
>
TOleAuto y los Arrays
José Alfonso,
> ¡¡ Eso se avisa antes !!
Perdonad... ayer estuve todo el día en Murcia y no pude ver (ni contestar)
los foros. Y hay testigos, eh!
Si hubiera visto el mensaje antes no habría dejado que os liarais en un hilo
tan extenso
))
--
Un saludo,
José F. Giménez
> ¡¡ Eso se avisa antes !!
Perdonad... ayer estuve todo el día en Murcia y no pude ver (ni contestar)
los foros. Y hay testigos, eh!

Si hubiera visto el mensaje antes no habría dejado que os liarais en un hilo
tan extenso

--
Un saludo,
José F. Giménez