Dance, dance learning to dance step 3 Crimson room
May 09

Para los interesados en crear una encuesta por medio de un archivo flash, acá les dejo una actualización de este post, donde se puede descargar los archivos fuentes. También agregue la posibilidad de tener un frame final, donde sale las respuestas en que se van almacenando en un array dependiendo de la respuesta del usuario.

La url de descarga es:

Descargar archivos de la encuesta aquí

This movie requires Flash Player 8

El archivo xml:

Nombre del archivo test.xml (Importante este debe ser un archivo xml, se recomienda crear en un editor de texto plano y guardar con la extension xml)

HTML:
  1. <test>
  2. <pregunta texto = "¿Pregunta 1?">
  3. <repuestas>
  4. <opcion texto = "respuesta 1."/>
  5. <opcion texto = "respuesta 2."/>
  6. <opcion texto = "respuesta 3."/>
  7. <opcion texto = "respuesta 4."/>
  8. </repuestas>
  9. </pregunta>
  10. <pregunta texto = "¿Pregunta 2?">
  11. <repuestas>
  12. <opcion texto = "respuesta 1."/>
  13. <opcion texto = "respuesta 2."/>
  14. <opcion texto = "respuesta 3."/>
  15. <opcion texto = "respuesta 4."/>
  16. <opcion texto = "respuesta 5."/>
  17. <opcion texto = "respuesta 6."/>
  18. <opcion texto = "respuesta 7."/>
  19. <opcion texto = "respuesta 8."/>
  20. </repuestas>
  21. </pregunta>
  22. <pregunta texto = "¿Pregunta 3?">
  23. <repuestas>
  24. <opcion texto = "respuesta 1."/>
  25. <opcion texto = "respuesta 2."/>
  26. </repuestas>
  27. </pregunta>
  28. <pregunta texto = "¿Pregunta 4?">
  29. <repuestas>
  30. <opcion texto = "respuesta 1."/>
  31. <opcion texto = "respuesta 2."/>
  32. <opcion texto = "respuesta 3."/>
  33. <opcion texto = "respuesta 4."/>
  34. </repuestas>
  35. </pregunta>
  36. </test>

El código as:

Actionscript:
  1. //Lectura del archivo de xml de configuración
  2. System.useCodepage = true;
  3. xmlXACA = new XML();
  4. xmlXACA.ignoreWhite = true;
  5. xmlXACA.onLoad = function(exito)
  6. {
  7. if(exito)
  8. {
  9. atest = new Array();
  10. preguntas = this.firstChild.childNodes;
  11. for(var i=0;i<preguntas.length;i++)
  12. {
  13. obj = new Object();
  14. trace(preguntas[i].attributes.texto);
  15. obj.pregunta = preguntas[i].attributes.texto;
  16. //t0.text = preguntas[i].attributes.texto;
  17. respuestas = preguntas[i].firstChild.childNodes;
  18.  
  19. ans = new Array();
  20. for(var j=0;j<respuestas.length;j++)
  21. {
  22. trace(respuestas[j].attributes.texto);
  23. ans.push(respuestas[j].attributes.texto);
  24. //_root["t"+(j+1)].text = respuestas[j].attributes.texto;
  25. //_root["t"+(j+1)].autoSize = true;
  26. }
  27. obj.ans = ans;
  28. atest.push(obj);
  29. }
  30. fillPage(0);
  31. }
  32. else
  33. {
  34. trace("Error, we have problems reading this file.");
  35. }
  36. }
  37. xmlXACA.load("test.xml");
  38. //función que se ejecuta al responder una pregunta. y se encarga de refrescar la siguiente pregunta
  39.  
  40. function fillPage(page)
  41. {
  42. hideElements(true);
  43.  
  44. obj = atest[page];
  45. t0.text = atest[page].pregunta;
  46. ans = obj.ans;
  47.  
  48. for(var i=0;i<ans.length;i++)
  49. {
  50. _root["c"+(i+1)]._visible = true;
  51. txt = _root["t"+(i+1)];
  52. txt._visible = true;
  53. txt.text = ans[i];
  54. txt.autoSize = true;
  55. }
  56. unSelectRadios(true);
  57. }

Funciones para controlar los radioButtons:

Actionscript:
  1. _root.page = 1;
  2. bsig._visible = false;
  3. bsig.onPress = function()
  4. {
  5. _root.gotoAndStop(2);
  6. }
  7. alClicar = new Object();
  8. alClicar.click = function(evento) {
  9. push = evento.target.selection.data;
  10. if(_root.page<atest.length)
  11. {
  12. fillPage(_root.page);
  13. _root.page++;
  14. }
  15. else
  16. {
  17. bsig._visible = true;
  18. }
  19. };
  20. test.addEventListener("click", alClicar);
  21.  
  22. function hideElements(valor){
  23. for(var i=1;i<9;i++)
  24. {
  25. this["t"+i]._visible = !valor;
  26. this["c"+i]._visible = !valor;
  27. }
  28. }
  29.  
  30. function unSelectRadios(valor){
  31. for(var i=1;i<9;i++)
  32. {
  33. this["c"+i].selected = !valor;
  34. }
  35. }

Ok espero que sea útil.

http://www.lasmovies.com/blog/wp-content/plugins/sociofluid/images/stumbleupon_24.png http://www.lasmovies.com/blog/wp-content/plugins/sociofluid/images/delicious_24.png http://www.lasmovies.com/blog/wp-content/plugins/sociofluid/images/blogmarks_24.png http://www.lasmovies.com/blog/wp-content/plugins/sociofluid/images/technorati_24.png http://www.lasmovies.com/blog/wp-content/plugins/sociofluid/images/google_24.png http://www.lasmovies.com/blog/wp-content/plugins/sociofluid/images/facebook_24.png http://www.lasmovies.com/blog/wp-content/plugins/sociofluid/images/twitter_24.png http://www.lasmovies.com/blog/wp-content/plugins/sociofluid/images/meneame_24.png

written by @lasmovies \\ tags: , , , ,

8 Responses to “Test Script (Encuestas)”

  1. <a href='http://ninguno' rel='external nofollow' class='url'>rulo</a> rulo Escribió:

    el código de AS me marca errores… podrías pasarme el fla?

  2. admin admin Escribió:

    Que más rulo, que clase de errores te esta marcando. Con gusto te envío el código flash, pero antes me interesa conocer los errores para corregirlos.

    saludos

  3. <a href='http://www.vmmc.es' rel='external nofollow' class='url'>vmmc</a> vmmc Escribió:

    hola me podrías pasarme el fla?

    porfa

    vmmc@vmmc.es

  4. Sonia Sonia Escribió:

    Hola sera q me puedes enviar al archivo fla.
    por favor
    gracias

  5. Sil Sil Escribió:

    Hola, ¿solucionaste lo del código que te decía rulo? podrías pasarme a mi también el .fla

    Gracias por el post tan interesante

  6. digito digito Escribió:

    …gracias por el ejemplo, ¿podrías pasarme el .fla??

  7. David David Escribió:

    Hola, estoy queriendo hacer un test en flash, ya lo tengo hecho en EXCEL 2007, archivos .xlsm, funciona bien, pero la verdad no es exactamente lo que busco, en google busque “test en flash” y llegué a la web http://foros.cristalab.com/como-crear-un-test-en-flash-t47113/ que me trajo hasta aquí, la verdad que lo que veo aquí sí que me interesa y me parece curioso, pero no sé cómo debo hacerlo he copiado el código pero no sé ni siquiera la extensión que debo poner a los archivos para que funcionen, la verdad es que lo he copiado en archivo de texto plano directamente, y el código del principio lo he guardado en un .xml (sólo he cambiado la extension txt)
    en serio no sé como tengo que hacerlo. Los otros archivos los pongo extensión swf y funcionarían?? Es que no lo sé. hacen falta archivos o imágenes auxiliares?”???
    Por favor, ayudadme, he programado cosas en html, pero en flash no y no sé como hacerlo.
    Un saludo y gracias.
    PDA: Si queréis os mando un de los archivos de test en excel, o incluso todos, son 30 archivos 15 de ellos incompletos, los otros 15 con 100 preguntas de test cada uno, la verdad que me llevó bastante trabajo hacerlos, pero me gustaría hacerlo en flash porque me convence muchísimo más además de poder tenerlo online.

  8. David David Escribió:

    Genial, a mi no me salía esto, sólo las dos primeras respuestas y sin link, sería más antiguo, y ahora qué debo hacer?
    Tengo que abrir los archivos con algún programa especial, es que mi portátil se me ha roto y estoy con el de mi padre que no tiene instalado nada, sólo internet explorer y lo que viene con windows.
    Un saludo y muchas gracias, por cierto encontré esta página:
    http://www.desarrolloweb.com/scripts/asp/test-asp.php
    Por si a alguien le pudiera ser útil, y me gustaría saber como automatizar el paso de los datos para no tardar mil años en pasar las preguntas al flash, tiene que haber forma de automatizar todo el proceso.

Leave a Reply