Como se hacen Bucles For Next (Flex, PHP, Visual basic…)
Bienvenidos a Ver-tutoriales.com, en esta ocasión y en respuesta a una duda que me planteaba un lector (Andrómeda) vamos a explicar como iterar n veces un código en Flex, sí, estamos hablando de bucles, más concretamente del bucle For Next. Decir que aunque la sintaxis es para Adobe Flex, la teoría en sí es igual para todos los lenguajes.
Ya hemos visto algunos objetos en flex, pero no hice un repaso de algo tan básico como son los bucles (lo siento
Andromeda). Así que vamos a explicar primero que son los bucles y continuaremos con el For Next en Flex.
Un bucle, es una repetición de código (funciones, asignaciones, condicionales, etc…) la cual seguirá haciendose hasta que se cumpla la condicional.
Hay varios tipos de bucles, pero vamos a ceñirnos al que pienso es más usado de todos, el bucle For-Next.
El bucle For-Next, a diferencia de los demás, es el único que por funcionabilidad ha de usarse cuando se saben
las vueltas concretas que ha de repetirse el código. Me explico mejor, si tenemos que recorrer una lista de datos
y sabemos que son 10 datos, usaremos un bucle For-Next.
El uso dentro de Flex, es el siguiente:
for(b = 1; b < 10; b++)
{
//Código flex, condicionales, asignaciones, llamadas a funciones…
//Este código, los valores de b serán -> 0,1,2,3,4,5,6,7,8,9
}
Vamos a explicar la linea que hace que repita las sentencias.
b = 1, le decimos a flex que valor tiene nuestra variable b;
b < 10; la condición que ha de cumplirse para dejar de repetirse, en este caso b < 10, cuando b = 10 saldrá del bucle
b++; sumará 1 a la variable b cada vez que termine el bucle, es decir cuando llegue a la última llave y vuelva.
De esta manera, podemos hacer lo siguiente:
for(b = 0; b = 10; b+=2)
{
//Código flex, condicionales, asignaciones, llamadas a funciones…
Este código, los valores de b serán -> 0,2,4,6,8
}
b = 0, empezará desde 0;
b = 10, se repetirá cuando b sea igual a 10;
b+=2, al repetir el bucle, le sumamos 2, en vez de uno
Debemos de tener cuidado en no hacer bucles infinitos, ¿como pueden producirse? Muy sencillo, veamos este código
for(b = 0; b = 9; b+=2)
{
//Código flex, condicionales, asignaciones, llamadas a funciones…
Este código, los valores de b serán -> 0,2,4,6,8,10,12,14… 1000… infinito…?
}
¿Que ocurriría en este bucle anterior? Pues que al poner que b = 0 y le estamos añadiendo valores de 2 en 2 (b+=2)
se saltaría la condición b = 9, pues los valores pasarán de 8 a 10, y el 9 no lo controlaría.
Esto nos dará un error que nos tiraría la aplicación.
Espero que Andrómeda tenga una duda menos, y los que hayan llegado aquí tambien.
Pues nada más! Un saludo!
Muchas Gracias
saludos Cristian
Gracias, los videos son muy didacticos. En mi caso (segun me dijo mi servidor) cree un bucle, sin yo tener conocimientos ni de lo que era un bucle y el servidor me bloqueo mi web por dos veces y a dia de hoy sigue igual, porque no se como se crea ese bucle ni como quitarlo.
Bueno dejo aqui mi comentario para que los neofitos como yo sepan que a veces las aplicaciones (una plantilla nueva por ejemplo o un .htaccess con un codigo mal) te pueden crear un bucle, o hasta donde yo se esa ha sido mi experiencia.
Buenas Ana
Gracias a tí por seguirnos.
Jejej, es cierto, hay algo que se llama iteración infinita o bucle infinito, y son aquellos bucles que no han sido bien programados y crean una iteración sin fin, es decir, nunca tienen salida por lo que podrán dejar a la máquina bloqueada.
Es algo que suele ocurrir si no se tiene control sobre el código, de todas maneras, siempre se puede cancelar el proceso y liberar de la carga a la máquina.
Ya sabes que si tienes alguna duda puedes hacerla si tiene relación con algún artículo o en la sección habilitada para ello, podrás verla en la parte derecha, donde pone, haznos tu pregunta 😀
A ver si pronto ponemos el foro!
Un saludo!
Hola. Gracias, sigo con mi «master» obligado sobre los bucles hasta dar con la solucion, creo ir acotando el tema. Pienso que el mas sospechoso es mi logo que apunta al blog y ahi creo que esta el error, en fin seguire investigando.
Saludos
¿Cual es el problema que tienes? Tal vez podamos ayudarte 🙂
Hola de casualidad saben porque un ciclo while dentro de un ciclo for, elimina totalmente al ciclo for y me manda al ultimo elemento que lee el ciclo for???
graciassss
SI VAN A ESCRIBIR O A COMENTAR ALGO QUE SEA CON CRITERIO GRACIAS
Ronald, ¿a qué te refieres?
Hola buen dia..
Tengo una duda dentro del bucle podemos llamar un WebService?, ya lo intente pero realiza las operaciones del WebService hasta que termina el ciclo, existe alguna manera para que la operacion del WebService la realice en tiempo de ejecucion del bucle??
Entiendo que cuando lanzas el webservice tiene que hacer sus operaciones y el bucle termina antes de que termine el webservice, ¿si?
Esto es normal ya que la respuesta remota no tiene por que estar sincronizada con la aplicación local.
Si no es eso, dame más información.
Un saludo!