Foros del Web » Creando para Internet » Flash y Actionscript »

Duda cañona sobre condiciones if, else

Estas en el tema de Duda cañona sobre condiciones if, else en el foro de Flash y Actionscript en Foros del Web. hola tratare de ser lo mas explicito posible. Supongamos el sig ejemplo Tengo una caja de texto con el nombre de variable "caja" (obviamente sin ...
  #1 (permalink)  
Antiguo 18/04/2004, 00:02
Avatar de Hazek  
Fecha de Ingreso: julio-2002
Ubicación: En mi casa :D ó ?
Mensajes: 418
Antigüedad: 22 años, 4 meses
Puntos: 3
Duda cañona sobre condiciones if, else

hola tratare de ser lo mas explicito posible.
Supongamos el sig ejemplo

Tengo una caja de texto con el nombre de variable "caja" (obviamente sin comillas) y en un boton tengo estas condiciones

on(press) {
if (caja=="uno") {
condicion;
}

if (caja=="dos") {
condicion;
}

if (caja=="tres") {
condicion;
}
}

Hasta Ahi todo va de maravilla y aqui inicia mi pregunta
¿como puedo hacer para englobar todas esas condiciones y si no se cumple una de las tres hacer la otra condicion?

siendo mas detallados: si no se cumple ni la uno, dos ni tres hacer la 4 y bueno me podria decir q hiciera esto por cada condicion ::RETOMANDO::

on(press) {
if (caja=="uno") {
condicion;
} else {
;condicion
}

pero resulta q no funciona entonces lo que yo necesito (inventando el codigo) es algo asi

on(press) {
(
if (caja=="uno") {
condicion;
}

if (caja=="dos") {
condicion;
}

if (caja=="tres") {
condicion;
}
) else { condicion }
}

"POR ESO DIGO INVENTANDO POR Q OBVIAMENTE ESE CODIGO NO EXISTE"

entonces todo se reduce ¿como hacer un "else" para mas de una condicion?
__________________
Tecnologias: Flash Platform, Java (Spring, HB, Struts, Grails), iOS, Android, JavaScript, PHP, SQL (MySQL, Oracle), Prolog, Assembler (PIC's) y Arduino - Electronica.
  #2 (permalink)  
Antiguo 18/04/2004, 08:04
 
Fecha de Ingreso: abril-2004
Mensajes: 5
Antigüedad: 20 años, 7 meses
Puntos: 0
Hola Hazek

has probado a hacerlo con switch()? si he entendido bien tu pregunta creo que esto te puede servir mejor.

switch(condicion)
{
case 1:

case 2:
...
}

es mas comodo, incluso puedes crear una opcion por defecto si no cumple ninguna de las expuestas pues que ejecute la de por defecto.... funciona de las iguietne manera: en funcion del valor que tome condicion, se ira a cada uno de "case x" que tengas puestos

Espero que te sirva! Talue!!
  #3 (permalink)  
Antiguo 18/04/2004, 18:58
Avatar de Hazek  
Fecha de Ingreso: julio-2002
Ubicación: En mi casa :D ó ?
Mensajes: 418
Antigüedad: 22 años, 4 meses
Puntos: 3
Pues busque informacion sobre "switch" o no encontre nada ¿como se usa? y no se si te sirva saber q uso Flash 5
__________________
Tecnologias: Flash Platform, Java (Spring, HB, Struts, Grails), iOS, Android, JavaScript, PHP, SQL (MySQL, Oracle), Prolog, Assembler (PIC's) y Arduino - Electronica.
  #4 (permalink)  
Antiguo 19/04/2004, 12:12
Avatar de Solid  
Fecha de Ingreso: enero-2003
Ubicación: Argentina
Mensajes: 180
Antigüedad: 21 años, 9 meses
Puntos: 0
sencillo...

if (((caja == 1) || (caja == 2)) || (caja == 3))
{
}
else
{
}

|| = operador OR
fijate que el lenguaje siempre te toma una única condición.
Es decir, fijate que yo las agrupe de a dos, es decir caja1 o caja2, esto ya devuelve un resultado de condicion (true or false) el cual se compara contra caja3 (devuelta agrupado de a dos) para formar una ultima unica condicion.

Se entendió?...

de todas maneras todo depende de especificamente lo que quieras hacer...porque en tu ejemplo en particular pareciera que lo que vos que te sirve mejor este codigo

if (caja < 4) {}

en donde 1, 2, 3 van a cumplir la condicion (que es que caja sea menor a 4)

sino podrias utilizar los switch...

no te olvides que para armar condiciones tenes principalmente esto && (AND) y || (OR) y que las condiciones siempre tienen que estar anidadas para que formen una condicion mayor de solo dos partes (si cada una de esas dos partes tiene o no otras tantas condiciones anidadas no hay diferencia)
__________________
Just because I rock doesn't mean I'm stone
  #5 (permalink)  
Antiguo 20/04/2004, 00:24
Avatar de Hazek  
Fecha de Ingreso: julio-2002
Ubicación: En mi casa :D ó ?
Mensajes: 418
Antigüedad: 22 años, 4 meses
Puntos: 3
Muchas gracias Solid pero un pequeño detalle.
Ya antes he usado eso que mencionas y si te fijas bien (tal vez no fui muy claro, disculpame) con el codigo que me dices solo puede tomar una accion si se cumplen cualquiera de las 4 "cajas" y yo lo que necesito es que para cada caja ocurra una diferente accion y en el caso q me pones, todas tendran una misma. ¿mas o menos me explique?
__________________
Tecnologias: Flash Platform, Java (Spring, HB, Struts, Grails), iOS, Android, JavaScript, PHP, SQL (MySQL, Oracle), Prolog, Assembler (PIC's) y Arduino - Electronica.
  #6 (permalink)  
Antiguo 22/04/2004, 10:47
Avatar de Solid  
Fecha de Ingreso: enero-2003
Ubicación: Argentina
Mensajes: 180
Antigüedad: 21 años, 9 meses
Puntos: 0
disculpas...
justamente había entendido que querías una misma acción...
supongamos la siguiente situación

if (auto == 1) auto += 1;
if (auto == 2) auto += 1;
if (auto == 3) auto += 1;
if (auto == 4) auto += 1;

osea, en este codigo se me cumplen todas las condiciones una atras de la otra, una manera de solucionarlo seria

if (auto == 1) auto +=1;
else
{ if (auto == 2) auto += 1;
else
{
if (auto == 3) auto += 1;
else if (auto == 4) auto += 1;
}
}

En este codigo solo se va a cumplir una condición y ninguna más.
Pero estre código es de lo más feo que existe, una solución más interesante sería...

while (1)
{
if (auto == 1) {auto += 1; break;}
if (auto == 2) {auto += 1; break;}
if (auto == 3) {auto += 1; break;}
if (auto == 4) {auto += 1; break;}
break;

}

este codigo ya viene andando mejor. cada break rompe el ciclo, lo que quiere decir que en cuanto se cumpla una condicion, hace lo que tenga que hacer y rompe el ciclo (por lo que no me preocupo de las demas condiciones)
Derivado de este último código es el switch (la mejor opción para lo que -aparentemente- querés hacer)
El código del switch sería así.

switch (auto)
{
case 1:
.......
.......
break;
case 2:
.......
.......
break;
case 3:
.......
.......
break;
...
default:
.....
}

el case DEFAULT es el que se toma en cuenta si la variable auto no tiene valores iguales a ninguno de los case anteriores...

suerte
__________________
Just because I rock doesn't mean I'm stone
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 22:34.