Hola a todos:

El problema quiz�s es que no entendemos todo lo que quieres hacer, cuando
quieres acceder a diferentes niveles, con index es cuando se complica, ya
que no puede evaluarlo directamente flash, por tanto tendr�s que hacerte un
parser que interprete la cadena y "navegue" hasta ese nivel, o por lo menos
es lo que me parece entender.

si el nivel al que quieres llegar, es ese, tendr�as que hacer:
valor = tienda["listaProductos"]["Producto"][0]["descripcion"][0]._valor;


Ya que Flash no puede evaluar correctamente un camino directo a un index de
un array ni puede identificar los puntos como lo hace normalmente. Es decir,
cuando pides que eval�e la cadena
"productos.listaProductos.producto[0].descripcion[0]", lo que hace flash es
buscar un nombre de objeto o propiedad que coincida exactamente con esa
cadena, nunca interpretar� los puntos o los corchetes como accesos internos
como si hace si escribes el literal. Si necesitas imperiosamente pasarle la
cadena completa, deber�s hacer un parser, la mejor soluci�n es una funci�n
recursiva(funciona por que lo he probado):
[code]
function localizaObjecto (referer, cadena)
{
        var punto = cadena.indexOf (".");
        var corchete = cadena.indexOf ("[");
        if (((punto != -1 && corchete != -1) && (punto < corchete)) || (punto != -1
&& corchete == -1))
        {
                var apuntador = referer[cadena.substring (0, punto)];
                if (cadena.substring (index2 + 2, cadena.length).length != 0)
                {
                        return localizaObjecto (apuntador, cadena.substring (punto + 1,
(cadena.length)));
                }
                else
                {
                        return apuntador;
                }
        }
        else if (((punto != -1 && corchete != -1) && (punto > corchete)) || (punto
== -1 && corchete != -1))
        {
                var apuntador = referer[cadena.substring (0, corchete)];
                var name = cadena.substring (0, corchete);
                var index2 = cadena.indexOf ("]");
                var apuntador = apuntador[cadena.substring (corchete + 1, index2)];
                if (cadena.substring (index2 + 2, cadena.length).length != 0)
                {
                        return localizaObjecto (apuntador, cadena.substring (index2 + 
2,
cadena.length));
                }
                else
                {
                        return apuntador;
                }
        }
}
trace (localizaObjecto (tienda,
"listaproductos.producto[0].descripcion[0]")._valor);
[/code]

-----Mensaje original-----
De: [EMAIL PROTECTED]
[mailto:[EMAIL PROTECTED] nombre de Paulo Carvajal --
Vudumedia.com --
Enviado el: viernes, 05 de marzo de 2004 1:07
Para: [EMAIL PROTECTED]
Asunto: Re: [ASNativos] Convertir cadena en path


Gracias Carlos, Francisco, ninguna de las opciones funciona.
Helmut, creo que no has leido bien la historia, se agradece la aportaci�n en
cualquier caso.
Se que parece una pregunta de novato, pero no encuentro la manera de
conseguirlo.
Todas las opciones ser�an v�lidas si la cadena fuera un solo nivel:
    valor = tienda["listaProductos"]._valor;
Pero no parece funcionar cuando hay varias propiedades de objeto
concatenadas en la propia cadena:
valor = tienda["listaProductos.producto[0].descripcion[0]"]._valor;// ni pa
diox

El "eval" tampoco resuelve nada de momento. Un absurdo de apariencia
sencilla.

Gracias de todas formas,
Paulo.


----- Original Message -----
From: "Carlos Terradillos Guti�rrez" <[EMAIL PROTECTED]>
To: <[EMAIL PROTECTED]>
Sent: Thursday, March 04, 2004 8:43 PM
Subject: RE: [ASNativos] Convertir cadena en path


No estoy nada seguro pero...

valor = mc["path"]._valor;

Saludos.

:��: croma2 :������������������������:
:    Carlos Terradillos Guti�rrez    :
::::::::::::::::::::::::::::::::::::::


> -----Mensaje original-----
> De: [EMAIL PROTECTED]
> [mailto:[EMAIL PROTECTED] En nombre de Francisco Salas
> Enviado el: jueves, 04 de marzo de 2004 19:58
> Para: [EMAIL PROTECTED]
> Asunto: RE: [ASNativos] Convertir cadena en path
>
>
> y asi?
>
> valor = eval
> ("tienda.listaProductos.producto[0].descripcion[0]")._valor
>
> Por probar, digo...
>
>
> -----Mensaje original-----
> De: [EMAIL PROTECTED]
> [mailto:[EMAIL PROTECTED] nombre de Paulo Carvajal --
> Vudumedia.com---
> Enviado el: jueves, 04 de marzo de 2004 19:31
> Para: [EMAIL PROTECTED]
> Asunto: [ASNativos] Convertir cadena en path
>
>
> Hola a todos
> Tengo una cadena que hace referencia a una propiedad de un
> objeto dentro de
> un clip (la cadena es el path hasta esa propiedad) y no
> consigo "evaluarla"
> como path.
> La cadena es
> "listaProductos.producto[0].descripcion[0]._valor" y tienda es
> el clip donde est� el objeto listaProductos
>
> Las pruebas que no van:
> valor = tienda["listaProductos.producto[0].descripcion[0]._valor"];
> valor = tienda["listaProductos.producto[0].descripcion[0]"]._valor;
> valor = eval
> ("tienda.listaProductos.producto[0].descripcion[0]._valor")
>
> As� s� que chuta, pero no me vale, tiene que ser string:
> valor = tienda.listaProductos.producto[0].descripcion[0]._valor
>
> Tiene que ser una tonter�a, pero no lo veo, hoy ya no veo
> nada, la verdad.
>
> Gracias y un saludo,
> Paulo.
>
> <!-------------------------------
> Lista ASNativos:
> subscripciones/desubscripciones
> http://www.sidedev.net/asnativos
> Archivos:
> sin busqueda (+actualizado):
> http://www.sidedev.net/archive
> con busqueda (-actualizado)
> http://www.mail-archive.com/[EMAIL PROTECTED]/
> -------------------------------->
>

<!-------------------------------
Lista ASNativos:
subscripciones/desubscripciones
http://www.sidedev.net/asnativos
Archivos:
sin busqueda (+actualizado):
http://www.sidedev.net/archive
con busqueda (-actualizado)
http://www.mail-archive.com/[EMAIL PROTECTED]/
-------------------------------->


<!-------------------------------
Lista ASNativos:
subscripciones/desubscripciones
http://www.sidedev.net/asnativos
Archivos:
sin busqueda (+actualizado):
http://www.sidedev.net/archive
con busqueda (-actualizado)
http://www.mail-archive.com/[EMAIL PROTECTED]/
-------------------------------->


<!-------------------------------
Lista ASNativos:
subscripciones/desubscripciones
http://www.sidedev.net/asnativos
Archivos:
sin busqueda (+actualizado):
http://www.sidedev.net/archive
con busqueda (-actualizado)
http://www.mail-archive.com/[EMAIL PROTECTED]/
-------------------------------->

Responder a