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

Comparar CheckBox

Estas en el tema de Comparar CheckBox en el foro de Flash y Actionscript en Foros del Web. Hola. Estoy intentando realizar un test que sea comparable con otro test, en caso de ser las dos respuestas iguales, la salida que sea correcto ...
  #1 (permalink)  
Antiguo 10/12/2012, 05:04
 
Fecha de Ingreso: febrero-2011
Mensajes: 62
Antigüedad: 13 años, 1 mes
Puntos: 0
Comparar CheckBox

Hola.

Estoy intentando realizar un test que sea comparable con otro test, en caso de ser las dos respuestas iguales, la salida que sea correcto y en caso contrario incorrecto.

No se como funcionan bien los CheckBox, estoy intentandolo pero no soy capaz.

Tengo 6 CheckBox, cb1, cb2, cb3,etc...

Y un Boton que al clicarlo compare la respuesta.

Esta en as2.

Codigo fotograma:
Código AS2:
Ver original
  1. cb1.label = "Negro";
  2. cb1.labelPlacement = "right";
  3.  
  4. cb2.label = "Blanco";
  5. cb2.labelPlacement = "right";
  6.  
  7. cb3.label = "Amarillo";
  8. cb3.labelPlacement = "right";
  9.  
  10. cb4.label = "Negro";
  11. cb4.labelPlacement = "right";
  12.  
  13. cb5.label = "Blanco";
  14. cb5.labelPlacement = "right";
  15.  
  16. cb6.label = "Amarillo";
  17. cb6.labelPlacement = "right";

Codigo boton:
Código AS2:
Ver original
  1. on (press) {
  2. if (cb1 == cb4) {
  3. trace("correcto");
  4. } else {
  5. trace("incorrecto");
  6. }
  7. if (cb2 == cb5) {
  8. trace("correcto");
  9. } else {
  10. trace("incorrecto");
  11. }
  12. if (cb3 == cb6) {
  13. trace("correcto");
  14. } else {
  15. trace("incorrecto");
  16. }
  17.  
  18. }

Me podrian ayudar.

Gracias.

Un saludo.
  #2 (permalink)  
Antiguo 12/12/2012, 05:58
 
Fecha de Ingreso: febrero-2011
Mensajes: 62
Antigüedad: 13 años, 1 mes
Puntos: 0
Respuesta: Comparar CheckBox

Hola.

Bueno he conseguido algo, pero aun continuo con problemas, no me funciona bien, consigo comparar los checkbox, pero siempre me ejecuta el ultimo "if".

Codigo fotograma:
Código AS:
Ver original
  1. _global.correcto="correcto";
  2. _global.incorrecto="incorrecto";
  3.  
  4. boton.onPress=function() {
  5. if (cb1.selected==true and cb4.selected==true)  {  //este if no se ejecuta
  6. texto.text= correcto;
  7. }else {
  8. texto.text= incorrecto;
  9. }
  10.  
  11. if (cb2.selected==true and cb5.selected==true)  {  //este if no se ejecuta
  12. texto.text= correcto;
  13. }else {
  14. texto.text= incorrecto;
  15. }
  16.  
  17. if (cb3.selected==true and cb6.selected==true)  {  //este if es el que ejecuta
  18. texto.text= correcto;
  19. }else {
  20. texto.text= incorrecto;
  21. }
  22.  
  23. }

Los demas "if" aunque sean iguales (cb1==cb4) me da incorrecto, quisiera que se ejecutaran los tres "if", no se si me explico.

Si quito el ultimo "if" se ejecuta el anterior, siempre el ultimo.

Quisiera que si cualquiera de los tres "if" fuesen "true" saliese correcto, en caso contrario "else" saliese incorrecto.

Gracias.

Un saludo.
  #3 (permalink)  
Antiguo 12/12/2012, 06:17
 
Fecha de Ingreso: julio-2010
Mensajes: 298
Antigüedad: 13 años, 9 meses
Puntos: 8
Respuesta: Comparar CheckBox

Hola jeyn, el problema es que sacas el resultao de la comparación y la imprimes en el mismo campo de texto, por eso siempr te muestra la última respuesta.
Prueba a hacer algo así:
Código:
boton.onPress=function() {
if (cb1.selected==true and cb4.selected==true)  {  //este if no se ejecuta
texto1.text= correcto;
}else {
texto1.text= incorrecto;
}
 
if (cb2.selected==true and cb5.selected==true)  {  //este if no se ejecuta
texto2.text= correcto;
}else {
texto2.text= incorrecto;
}
 
if (cb3.selected==true and cb6.selected==true)  {  //este if es el que ejecuta
texto3.text= correcto;
}else {
texto3.text= incorrecto;
}
Se trata únicamente de tener campos de texto y en cada uno muestras el resultado de una comparación.
Otra opción usando el mismo textbox sería:
Código:
boton.onPress=function() {
if (cb1.selected==true and cb4.selected==true)  {  //este if no se ejecuta
texto.text = "Respuesta 1: correcto";
}else {
texto.text = "Respuesta 1; incorrecto";
}
 
if (cb2.selected==true and cb5.selected==true)  {  //este if no se ejecuta
texto.text += "Respuesta 2: correcto";
}else {
texto.text += "Respuesta 2: incorrecto";
}
 
if (cb3.selected==true and cb6.selected==true)  {  //este if es el que ejecuta
texto.text += "Respuesta 3: correcto";
}else {
texto.text += "Respuesta 3: correcto";
}
Espero que te siirva
  #4 (permalink)  
Antiguo 12/12/2012, 17:03
 
Fecha de Ingreso: febrero-2011
Mensajes: 62
Antigüedad: 13 años, 1 mes
Puntos: 0
Respuesta: Comparar CheckBox

Asi si me funciona, pero me salen las tres respuestas, utilizaba solo un campo de texto, por uqe quisiera eu solo me saliese una respuesta, si es correcto o incorrecto.

Esto es para un tipo test realizado a dos personas y saber si coinciden en las respuestas, por eso queria solo una respuesta.

He estado mirano haber si admitia "elseif" igual que lo admite php, pero actionscriptno lo admite me da error de sintaxis.

Muchas gracias, intentare que los cuadros de texto que no sean los marcados no se vean.

Un saludo
  #5 (permalink)  
Antiguo 12/12/2012, 17:15
 
Fecha de Ingreso: febrero-2011
Mensajes: 62
Antigüedad: 13 años, 1 mes
Puntos: 0
Respuesta: Comparar CheckBox

Ok, ya lo consegui.

Si funciona el "elseif", pero no como en php, si no separado, "else if".

Dejo el codigo por si alguien le sirve.

Código AS:
Ver original
  1. _global.correcto="correcto";
  2. _global.incorrecto="incorrecto";
  3.  
  4. boton.onPress=function() {
  5. if (cb1.selected==true and cb4.selected==true)  {
  6. texto.text= correcto;
  7. }else if (cb2.selected==true and cb5.selected==true){
  8. texto.text= correcto;
  9. }else if (cb3.selected==true and cb6.selected==true){
  10. texto.text= correcto;
  11. }else{
  12. texto.text= incorrecto;
  13. }
  14. }

Muchas gracias de todas formas.

Un saludo.

Etiquetas: checkbox, botones
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 06:18.