Comunidad de diseño web y desarrollo en internet online

Cómo imprimir un ciclo (while) en un campo dinámico

Citar            
MensajeEscrito el 04 Ago 2008 12:44 pm
Hola que tal a todos, desde ya gracias a todos ustedes por sus respuestas. Bueno... mi problema es que no doy con imprimir un ciclo while en un campo dinámico, al principio lo hice usando el trace y me funciono totalmente, pero al hacerlo en un campo dinámico, sólo se imprime la última iteración. Este es el código que estoy usando en el archivo fla.

Código :

   var respuesta:Tabla2 = new Tabla2();
   var i:Number = 0;
   var contador:Number = 1;
   respuesta.asignar(num_txt.text);
   while (i<12) {
      total_txt.text = (num_txt.text+" x "+contador+" = "+respuesta.multiplicar(contador));
      i++;
      contador++;
   }


El nombre de instancia, total_txt, es del campo dinámico. Espero que me puedan ayudar. Saludos.

Por thebestboy2671

1 de clabLevel



Genero:Masculino  

firefox
Citar            
MensajeEscrito el 04 Ago 2008 02:12 pm
claro q el texto dinamico solo va a mostrar el ultimo, si quieres ver todo tu bucle has un setInterval para q vaya mostrando de uno en uno o duplica el campo de texto dinamico con duplicateMovieClip

Por el_putas

58 de clabLevel



 

firefox
Citar            
MensajeEscrito el 04 Ago 2008 05:02 pm
El problema es que utilizas el operador "=", por ejemplo si dices esto:

Código :

a = 1;
a = 2;
a = 3;
trace(a);


No puedes pretender que "a" te devuelva 123 y mucho menos 6, debes utilizar el operador "+=" que lo que hace es que al valor anterior le suma el nuevo valor, de lo contrario siempre se quedará con el último valor.

Código :

total_txt.text += num_txt.text + " x " + contador + " = " + respuesta.multiplicar(contador);

Por elchininet

Claber

3921 de clabLevel

17 tutoriales

Genero:Masculino  

Front-end developer at Booking.com

firefox
Citar            
MensajeEscrito el 04 Ago 2008 05:06 pm
Un detalle, si quieres que cada código esté en una línea, suma al final de cada línea el caracter de nueva línea: "\n" ó "\r"

Por elchininet

Claber

3921 de clabLevel

17 tutoriales

Genero:Masculino  

Front-end developer at Booking.com

firefox
Citar            
MensajeEscrito el 05 Ago 2008 12:45 pm
Hola a los dos y gracias por sus respuestas. el_putas, seguí tu consejo sobre setInterval y si pude ver el bucle completo, pero sólo se quedaba impreso la última iteración, con respecto a lo de duplicateMovieClip, no era lo que estaba buscando, pero de todas formas gracias. elchininet, no sé porque al cambiar el operador "=" por "+=" si me salio impreso todo el bucle ya que como bien dices, sirve para sumar al valor original el anterior. Pero bueno,,, ya es tarea mia estudiar un poco más el código, aquí les coloco cómo quedo mi código.

Código :

function ejecutar(){
   var respuesta:Tabla2 = new Tabla2();
   var i:Number = 0;
   var contador:Number = 1;
   respuesta.asignar(num_txt.text);
   while (i<12){
         total_txt.text += (num_txt.text+" x "+contador+" = "+respuesta.multiplicar(contador) +"\n");
         contador++;
         i++;
   }
}

Saludos, :wink:

Por thebestboy2671

1 de clabLevel



Genero:Masculino  

firefox
Citar            
MensajeEscrito el 05 Ago 2008 02:53 pm
Mira el operador "+=" lo que hace es exactamente esto:

Código :

var palabra:String = "Un texto";
palabra = palabra + " Otro Texto";


Lo que has visto es que he modificado el valor de palabra diciéndole que su nuevo valor va a ser el mismo valor que tenía más el string " Otro Texto", por lo que palabra será después de ejecutar los anteriores comandos "Un texto Otro Texto". Bueno lo anterior también se puede escribir como:

Código :

var palabra:String = "Un texto";
palabra += " Otro Texto";

Por elchininet

Claber

3921 de clabLevel

17 tutoriales

Genero:Masculino  

Front-end developer at Booking.com

firefox
Citar            
MensajeEscrito el 05 Ago 2008 03:29 pm
Entendido. Gracias y saludos.

Por thebestboy2671

1 de clabLevel



Genero:Masculino  

firefox

 

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