Comunidad de diseño web y desarrollo en internet online

mm..problema con xml o array..depende :D

Ir a página 1, 2, 3, 4, 5, 6  Siguiente

Foros de discusión > Actionscript 1 y 2

Citar            
MensajeEscrito el 09 Sep 2008 07:41 pm
hola tengo un problema que me tiene re podrido
la verdad que intente de todo antes de tener que postear este tema porque aveces se que es molesto que alguien postee algo de lo que ya se hablo.... bueno...voy a mis dudas puntuales...
estoy haciendo un carro de compras....nda de paypal..es solo para que el que el usuario vaya llenando el carrito...y se envie al correo..ok....mi problema es....con un array con la funcion push..intente y no funciona :o.....deverdad me dio muchos problemas
entonces cambie de metodo..y cree un xml en el cada nodo tenia el nombre de un producto....y en el flash un texto dinamico que recibe los nombres...funciona!!!....pero no se puede eliminar lo que ya esta en el texto...asi que...la pregunta es
que camino tengo que seguir?(no me digan que el de dios porfavor :evil: )
bueno espero me puedan ayudar...asi terminar con esto.. :lol: y convertirme en un super bofh(cuack)
jaj gracias
saludos

Por ironeric23

Claber

407 de clabLevel



Genero:Femenino  

mozilla
Citar            
MensajeEscrito el 09 Sep 2008 08:33 pm
Hola!

Anuack Luna encontró esto:

En el sitio http://en.programacionweb.net/articulos/articulo/?num=329
encontré un carrito de compras fácil de modificar y funciona súper bien

No olvidar crear las 4 paginas y los datos en la base de datos.

Se deja trabajar muy bien.

Saludos desde Colombia

El articulo 1 en español

http://www.programacionweb.net/articulos/articulo/?num=329

El articulo 2 en español. Mejorado

http://www.programacionweb.net/articulos/articulo/?num=354

Quizás te ayude eso.

Saludos!

Por xiskya

3 de clabLevel



 

Madrid

msie7
Citar            
MensajeEscrito el 09 Sep 2008 08:41 pm
gracias por la ayuda tan pronta.......bueno enrealidad ese tutorial ya lo habia encontrado en google y lo habia bajado y era muy complicado......
y me ahbia olvidado de poner algo importante creo que supuse estaba sobre entendido
mi sitio esta hecho en flash.
asi que el carrito deberia ser flash+php(para enviar correo)...y a lo sumos xml o base de datos
pero no html :D
igual gracias por la respuesta

Por ironeric23

Claber

407 de clabLevel



Genero:Femenino  

mozilla
Citar            
MensajeEscrito el 09 Sep 2008 09:00 pm
la base de la pagina que estoy haciendo pueden verla aca
aca
gracias un saludo

Por ironeric23

Claber

407 de clabLevel



Genero:Femenino  

mozilla
Citar            
MensajeEscrito el 10 Sep 2008 03:27 pm
nadie me puede ayudar :(

Por ironeric23

Claber

407 de clabLevel



Genero:Femenino  

mozilla
Citar            
MensajeEscrito el 10 Sep 2008 07:20 pm
No entiendo bien tu pregunta. No puedes eliminar el contenido que ya tiene un texto dinámico?

Por elchininet

Claber

3921 de clabLevel

17 tutoriales

Genero:Masculino  

Front-end developer at Booking.com

firefox
Citar            
MensajeEscrito el 10 Sep 2008 08:00 pm
en realidad hice dos preguntas pero no me supe explicar
1:para ahcer esaespecie de carrito o lista..me conviene usar array o xml?(dos cosas totalmente diferentes)
2:si uso xml...el al apretar un boton x ejemplo se llena el texto dianmico con lo queehay en el nodo en el xml..y si apreto otro se llena abajo pero en el mismo texto...como una lista..entonces como hace el usuario para borrar un articulo que ya se arego?o concretamente un nodo?
gracias saludos :)

Por ironeric23

Claber

407 de clabLevel



Genero:Femenino  

mozilla
Citar            
MensajeEscrito el 10 Sep 2008 08:35 pm
Bueno la dificultad que tiene el Array, es que a la hora de actualizar debes entrar en flash variar y volver a compilar, mientras que en el XML la edición es externa al flash y no hace falta volver a generar el SWF. Normalmente lo que se hace es utilizar XML y por un caso de comodidad (sobre todo si no se utiliza AS3) se convierte el XML en un Array para trabajar con él más fácilemente.

Y la segunda pregunta, depende de a qué te refieres con eliminar, te refieres a eliminar de la escena el texto correspondiente al nodo pero el XML se queda como estaba o a eliminar del XML permanentemente el nodo, esto último es un trabajo de administración y no debería hacerlo cualquiera, así que tendrías que trabajar con usuarios y con una base de datos con permisos para cada uno.

Por elchininet

Claber

3921 de clabLevel

17 tutoriales

Genero:Masculino  

Front-end developer at Booking.com

firefox
Citar            
MensajeEscrito el 10 Sep 2008 08:41 pm
nono me referia...osea el usuario agrega con el boton un articulo al carrito
pero si dsepues cambia de idea
ya fue llamado el nodo del xml
no se puede borrar del texto :S
ai no se me estoy confundsiendo xD

Por ironeric23

Claber

407 de clabLevel



Genero:Femenino  

mozilla
Citar            
MensajeEscrito el 10 Sep 2008 09:14 pm
Ahh, entonces es la primera variante.
Lo que debes hacer no es un campo de texto dinámico al que le vas añadiendo el contenido de los nodos, sino MovieClips con el texto de los nodos dentro, ahora debes decidir como borrar los MovieClips, si cuando los presiones o creando dinámicamente en ellos un icono para cuando se presione este eliminarlos.

Por elchininet

Claber

3921 de clabLevel

17 tutoriales

Genero:Masculino  

Front-end developer at Booking.com

firefox
Citar            
MensajeEscrito el 10 Sep 2008 09:21 pm
entendi masomenos
pero el problema de eso seria como los pongo en el escenario :S
osea seria una lista de todo lo que selecciono el cliente
como los pongo en el escenario ?

Por ironeric23

Claber

407 de clabLevel



Genero:Femenino  

mozilla
Citar            
MensajeEscrito el 10 Sep 2008 09:22 pm
Postea el código que tienes hasta el momento, donde lees el XML y al seleccionar un nodo lo añade a un campo dinámico.

Por elchininet

Claber

3921 de clabLevel

17 tutoriales

Genero:Masculino  

Front-end developer at Booking.com

firefox
Citar            
MensajeEscrito el 10 Sep 2008 09:28 pm
ok
es una pequeña modificacion de lo que enseña freddy en el tutorial xml
aca esta:
en el primer frame=

Código :

texto.texto_txt.html=true;
var obj0_xml:XML = new XML();
var obj1_xml:XML = new XML();
var obj2_xml:XML = new XML();
var obj3_xml:XML = new XML();
obj0_xml.ignoreWhite = true;
obj1_xml.ignoreWhite = true;
obj2_xml.ignoreWhite = true;
obj3_xml.ignoreWhite = true;
obj0_xml.onLoad = function(exito) {
   if (exito) {
      texto.texto_txt.htmlText = texto.texto_txt.htmlText+obj0_xml.firstChild.childNodes[0].firstChild.nodeValue;
   } else {
      texto.texto_txt.htmlText = "Error";
   }
};
obj1_xml.onLoad = function(exito) {
   if (exito) {
      texto.texto_txt.htmlText = texto.texto_txt.htmlText+obj1_xml.firstChild.childNodes[1].firstChild.nodeValue;
   } else {
      texto.texto_txt.htmlText = "Error";
   }
};
obj2_xml.onLoad = function(exito) {
   if (exito) {
      texto.texto_txt.htmlText = texto.texto_txt.htmlText+obj2_xml.firstChild.childNodes[2].firstChild.nodeValue;
   } else {
      texto.texto_txt.htmlText = "Error";
   }
};
obj3_xml.onLoad = function(exito) {
   if (exito) {
      texto.texto_txt.htmlText = texto.texto_txt.htmlText+obj3_xml.firstChild.childNodes[3].firstChild.nodeValue;
   } else {
      texto.texto_txt.htmlText = "Error";
   }
};
function cargar0XML() {
   obj0_xml.load("texto.xml");
}
function cargar1XML() {
   obj1_xml.load("texto.xml");
}
function cargar2XML() {
   obj2_xml.load("texto.xml");
}
function cargar3XML() {
   obj3_xml.load("texto.xml");
}

y en cada boton:

Código :

on (release) {
    cargar0XML();
}

solo cambia 0xml x 1, 2, 3 =)

Por ironeric23

Claber

407 de clabLevel



Genero:Femenino  

mozilla
Citar            
MensajeEscrito el 10 Sep 2008 09:42 pm
Te había respondido que vieras un post, pero ahora veo que no es el mismo caso, mira debes hacer uns sola lectura del XML al inicio de la película, y darle acciones a los botones en el onLoad de este, después lo que debe hacer cada botón es que al ser presionado trabajar con su nodo correspondiente, es poco práctico volver a cargar el XML cada vez que se presione un botón:

El código siguiente supone que hay "n" MovieClips en la escena con nombres de instancia "boton1", "boton2", "boton3", etc...

Código ActionScript :

texto.texto_txt.html = true;
var myXML:XML = new XML();

myXML.ignoreWhite = true;

myXML.onLoad = function(exito:Boolean):Void {
   
   var nodos:Array = this.firstChild.childNodes;
   
   for(var i:Number = 0; i < nodos.length; i++){
      
      _root["boton" + i].numero = i;
      
      _root["boton" + i].onPress = function():Void{
         
         trace(nodos[this.numero].firstChild.nodeValue);
         
      }
      
   }
   
};


Pruébalo y si al presionar los botones lanza el nombre del nodo entonces proseguimos.

Por elchininet

Claber

3921 de clabLevel

17 tutoriales

Genero:Masculino  

Front-end developer at Booking.com

firefox
Citar            
MensajeEscrito el 10 Sep 2008 09:55 pm
mm perdona que no te respondi rapido es que estaba tratando de decifrar tu codigo..ya que no me gusta servido ^^
bueno en el primer fram puse eso donde

Código :

var nodos:Array = this.firstChild.childNodes; 

carga tods los nodos de una puede ser?
y en los botons les pongo acciones?

Por ironeric23

Claber

407 de clabLevel



Genero:Femenino  

mozilla
Citar            
MensajeEscrito el 10 Sep 2008 10:02 pm
Si esa instrucción guarda todos los nodos en un Array y no debes poner acciones en los botones porque las acciones se le están asignando en el onLoad.

Por elchininet

Claber

3921 de clabLevel

17 tutoriales

Genero:Masculino  

Front-end developer at Booking.com

firefox
Citar            
MensajeEscrito el 10 Sep 2008 10:05 pm
sisi justo te iba a decir que encontre donde estaban las acciones y se me tildo la maquina
bueno ...lo que me diste no me funciona :S

Por ironeric23

Claber

407 de clabLevel



Genero:Femenino  

mozilla
Citar            
MensajeEscrito el 10 Sep 2008 10:09 pm
error...
lo que me diste si funciona :D
no ahbia visto que no estaba el load
ya esta puesto
ahora como seguir teacher?

Por ironeric23

Claber

407 de clabLevel



Genero:Femenino  

mozilla
Citar            
MensajeEscrito el 10 Sep 2008 10:16 pm
uso as2...pero gracias por el aporte ahora lo leo mas detenidamente

Por ironeric23

Claber

407 de clabLevel



Genero:Femenino  

mozilla
Citar            
MensajeEscrito el 10 Sep 2008 10:16 pm
En este momento puse un aporte a causa de ti, yo tenia el mismo problema y creo entenderte.

http://www.cristalab.com/foros/t58902_ligas-de-interes-de-flash-y-otros.html#410239

es el ultimo post, --->(aqui haz tus preguntas ahi no)<-----.

Por DiegoAzul

376 de clabLevel



 

Mx

firefox
Citar            
MensajeEscrito el 10 Sep 2008 10:18 pm
cmo hice para que apareciera primero lo que escribi yo y despues lo tuyo si lo lei antes de escribir? :S
bueno fue no me tengo q desconcentrar xD

Por ironeric23

Claber

407 de clabLevel



Genero:Femenino  

mozilla
Citar            
MensajeEscrito el 10 Sep 2008 10:46 pm
bueno revise si lo podia pasar a as2
pero veo que con arrays y xml estoy mas que perdido :S
ojo
setuve viendo tutoriales y todo eso dias xD
pero sigo perdido :o

Por ironeric23

Claber

407 de clabLevel



Genero:Femenino  

mozilla
Citar            
MensajeEscrito el 10 Sep 2008 11:01 pm
Diego podrías resolverlo con condiciones en el XML:

Código ActionScript :

function borrarNodo(xml:XML, search:String):XML{   
   var dato:String = xml.children().(children() == search);   
   if(dato != ""){      
      var index:uint = xml.children().(children() == search).childIndex();      
      delete xml.children()[index];
      return xml;
   }else{      
      return <examp>no se encontro</examp>;      
   }   
}


De este modo no tendrías que recorrer el XML completo, en caso de XML extremadamente largos

Por elchininet

Claber

3921 de clabLevel

17 tutoriales

Genero:Masculino  

Front-end developer at Booking.com

firefox
Citar            
MensajeEscrito el 10 Sep 2008 11:02 pm
@ironeric23, continuamos mañana, aqui es la 1 de la mañana así que voy cayendo de sueño, no te preocupes.

Por elchininet

Claber

3921 de clabLevel

17 tutoriales

Genero:Masculino  

Front-end developer at Booking.com

firefox
Citar            
MensajeEscrito el 10 Sep 2008 11:08 pm
a disculpa :D
ypo vivo en argentina x esoxD
y tengo mal el horario de cristalab
gracias x la ayuda

Por ironeric23

Claber

407 de clabLevel



Genero:Femenino  

mozilla
Citar            
MensajeEscrito el 10 Sep 2008 11:51 pm

elchininet escribió:

Diego podrías resolverlo con condiciones en el XML:....


De este modo no tendrías que recorrer el XML completo, en caso de XML extremadamente largos



Tienes razón de nuevo elchininet :latigo: . pero..! :D si tienes un xml asi :


Código :

var mi_xml:XML =<productos> 
<producto>uno</producto> 
<producto>dos</producto> 
<producto>tres</producto> 
<producto>tres</producto> 
<producto>cinco</producto> 
</productos>; 


y quieres borrar el nodo "tres", veras que pasa con con tu codigo y el mio, :) .


Saludos y que descanses!.

//-------------------------------------------------------------------------------------------------
//-------------------------------------------------------------------------------------------------
a saber que se me ocurrio algo mejor (deberia funcionar), borrarlo por numero de nodo.



Código :


var mi_xml:XML =<productos> 
<producto>cero</producto> 
<producto>uno</producto> 
<producto>dos</producto> 
<producto>tres</producto> 
<producto>cuatro</producto> 
<producto>cinco</producto> 
</productos>;;

function borrarNodo(xml:XML,nodo_int:int):XML {
   delete xml.children()[nodo_int];
   return xml;
}

trace(borrarNodo(mi_xml,3));


para que me haga entender:

1.- metete aqui http://www.informaticaunam.com.mx/tienda/


2.- Ahora suma productos a la lista , imagina que cada fila que esta en la lista, tiene dentro una variable que contiene el numero del nodo, entonces lo que tienes que hacer es que al dar click pases ese numero de nodo a la funcion para que lo borre de la lista y actualizas tu XML y ya. no sé por que no hice eso.. :crap:

Nota: Esta en AS3 orion pero puedes darte una idea para que lo cambies a AS2.

Por DiegoAzul

376 de clabLevel



 

Mx

firefox
Citar            
MensajeEscrito el 11 Sep 2008 12:01 am
estoy totalmente fuera de debate :(
sera que solo tengo 17 años pero avecs me asusta cuanto saben :S

Por ironeric23

Claber

407 de clabLevel



Genero:Femenino  

mozilla
Citar            
MensajeEscrito el 11 Sep 2008 09:06 am
Diego lo que pasa es que el código suponía que no había nodos iguales, en caso que hubiera nodos iguales y se quisiera eliminar solo el primero de la XMLList entonces se le puede aclarar de esta manera:

Código ActionScript :

var index:uint = xml.children().(children() == search)[0].childIndex();


Así tomará solo el primer elemento que resulte de la XMLList, me parece que es mejor que pasarle el número de nodo, porque en una lista larga entonces sería muy difícil estar chequeando a qué numero de nodo pertenece.

(Esto siempre que los textos sean cosas sencillas, si son textos largos es mejor el método de eliminar por número de nodo, además que como veo queda mucho más optimizado)

Por elchininet

Claber

3921 de clabLevel

17 tutoriales

Genero:Masculino  

Front-end developer at Booking.com

firefox
Citar            
MensajeEscrito el 11 Sep 2008 09:10 am
@ironeric23, si puedes postear una pantalla con tu diseño y como quieras que aparezcan los items al presionar los botones te puedo instruir en como debes continuar.

Por elchininet

Claber

3921 de clabLevel

17 tutoriales

Genero:Masculino  

Front-end developer at Booking.com

firefox
Citar            
MensajeEscrito el 11 Sep 2008 03:08 pm
hola.....estaba mi hermano en la pc xD
bueno voy a intentar hacer eso
la idea es que uno entre a esta pagina que es la base todavia porque no tiene info: esta
y si ven hay un registro para que puedanver el carrito y los precios
bueno aparece una lsita con las imagenes y abajo de cada imagen aparece un agregar a carrito....y abajo de todo entodo el tiempo se ve un enlace al carrito para confirmarlo o borrar lo que no se quiere and stuff like that xD
si quieren lo hago ahora para que se vea como se ahce pero creo que entendieron masomenos
emm q mas...cuando unose indentifica lo que ahce es..si son correctos los datos los lleva al fotograma 2 del root....sino se queda ai,,,,prueben con usuario ironeric23..contr:mipass
jeje

Por ironeric23

Claber

407 de clabLevel



Genero:Femenino  

mozilla
Ir a página 1, 2, 3, 4, 5, 6  Siguiente
Foros de discusión > Actionscript 1 y 2

 

Cristalab BabyBlue v4 + V4 © 2011 Cristalab
Powered by ClabEngines v4, HTML5, love and ponies.