Página 1 de 1

TOleAuto y los Arrays

Publicado: Mié Nov 30, 2005 1:02 pm
por fredy[1]
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

TOleAuto y los Arrays

Publicado: Mié Nov 30, 2005 2:18 pm
por CapelSoft
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

Publicado: Mié Nov 30, 2005 3:00 pm
por Fredy
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

TOleAuto y los Arrays

Publicado: Mié Nov 30, 2005 3:18 pm
por jlalin
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

TOleAuto y los Arrays

Publicado: Mié Nov 30, 2005 4:04 pm
por Fredy
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

Publicado: Mié Nov 30, 2005 4:04 pm
por joseluis
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

Publicado: Mié Nov 30, 2005 4:23 pm
por Fredy
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)Â

TOleAuto y los Arrays

Publicado: Mié Nov 30, 2005 4:36 pm
por joseluis
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
>>
>>

TOleAuto y los Arrays

Publicado: Mié Nov 30, 2005 4:37 pm
por jasm.nospam
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

Publicado: Mié Nov 30, 2005 4:48 pm
por Fredy
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

TOleAuto y los Arrays

Publicado: Mié Nov 30, 2005 4:52 pm
por Fredy
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

Publicado: Mié Nov 30, 2005 4:57 pm
por joseluis
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

Publicado: Mié Nov 30, 2005 5:13 pm
por Fredy
Nada, se le atragantan los arrays
Un saludico,
Fredy

TOleAuto y los Arrays

Publicado: Jue Dic 01, 2005 11:13 am
por jfgimenez
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

TOleAuto y los Arrays

Publicado: Jue Dic 01, 2005 11:36 am
por jasm.nospam
¡¡ 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.
>
>

TOleAuto y los Arrays

Publicado: Jue Dic 01, 2005 11:43 am
por jfgimenez
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