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

Calculo interactivo

Estas en el tema de Calculo interactivo en el foro de Flash y Actionscript en Foros del Web. Hola. Soy totalmente nuevo, en el foro y en el manejo de Flash. Soy maestro de educación primaria, y mis alumnos están bastante mas avanzados ...
  #1 (permalink)  
Antiguo 17/04/2012, 13:48
 
Fecha de Ingreso: abril-2012
Ubicación: EN SEVILLA
Mensajes: 7
Antigüedad: 12 años, 7 meses
Puntos: 0
Pregunta Calculo interactivo

Hola. Soy totalmente nuevo, en el foro y en el manejo de Flash. Soy maestro de educación primaria, y mis alumnos están bastante mas avanzados que yo. Así que tengo que usar presentaciones FLASH para mantener su atención con una cierta garantía de éxito.
Hasta hoy no había tenido muchos problemas, pero me he atascado en una aplicación. Se trata de ingresar tres cifras en tres cuadros de texto y cuando se pulsa un botón, ofrecer en un cuadro de texto de salida el resultado de una operación aritmética en la que han intervenido las tres cifras.
Es decir, ingreso "1" en a_text, "2" en b_txt y "3" en c_txt, y al pulsar calcular_btn, en output_txt debería aparecer "6" , porque la operación sería (a_text)+(b_text)+(c_text). Imagino que han notado que estoy mas acostumbrado a EXCEL que a FLASH, pero es que si les presento una hoja de EXCEL mis niños me chorrean.
De paso, y abusando de su paciencia...¿puedo hacer que en los cuadros de texto dinamico solo se puedan ingresar números y, por ejemplo, punto o coma para decimales?. Muchas gracias a todos de antemano.
  #2 (permalink)  
Antiguo 17/04/2012, 14:05
 
Fecha de Ingreso: abril-2008
Mensajes: 613
Antigüedad: 16 años, 7 meses
Puntos: 22
Respuesta: Calculo interactivo

Hola,
Pues el código sería algo así, imaginando que tienes 4 campos dinámicos. 3 para la suma y uno para el resultado:

campo_resultado.text=String( Number(campo_1.text)+Number(campo_2.text)+Number(c ampo_3.text) );

Saludos
__________________
Compartir es vivir
www.programador-php.com
  #3 (permalink)  
Antiguo 17/04/2012, 14:19
 
Fecha de Ingreso: abril-2012
Ubicación: EN SEVILLA
Mensajes: 7
Antigüedad: 12 años, 7 meses
Puntos: 0
Respuesta: Calculo interactivo

Muchas gracias, Exangel. Voy a probar inmediatamente...pero...¿el boton no interviene?
  #4 (permalink)  
Antiguo 17/04/2012, 16:20
Avatar de Bandit
Moderador
 
Fecha de Ingreso: julio-2003
Ubicación: Lima - Perú
Mensajes: 16.726
Antigüedad: 21 años, 4 meses
Puntos: 406
Respuesta: Calculo interactivo

Hola bertoselecto:
Escribe así el código en el botón:
Código actionscript:
Ver original
  1. on(release){
  2.     total_txt.text = Number(campo1.text) + Number(campo2.text) + Number(campo3.text);
  3. }
Espero haberte sido de ayuda.
__________________
Bandit.
Si no sabes estudia y si sabes enseña.
http://www.banditwebdesign.com/
  #5 (permalink)  
Antiguo 18/04/2012, 03:06
 
Fecha de Ingreso: abril-2012
Ubicación: EN SEVILLA
Mensajes: 7
Antigüedad: 12 años, 7 meses
Puntos: 0
Respuesta: Calculo interactivo

Muy agradecido, Bandit. Ahora ya tengo claro como "direccionar" los datos input y output. Pero las instrucciones del action script del botón no me ofrecen el resultado esperado. Ingreso en los tres campos de input el número 10, en consecuencia, en el campo output debería aparecer 30, pero aparece (NaN), que si no me equivoco (lo cual es frecuente), significa Not a Number...Algo falla. He probado tanto tu script como el de Exangel, es decir, el evento de suma lo he escrito primero como "string" -tal como comentaba Exangel- y luego sin "string", como tu dices. En ambos caso el resultado es el mismo: NaN. Revisando el foro, he enontrado una aportación antigua en la que, si no he entendido mal, se sugiere sustituir "total_txt.text" por "Number(total_txt.text)". Nan. Nan. Nan...estoy cogiendo complejo de campanero....

Última edición por bertoselecto; 18/04/2012 a las 03:32
  #6 (permalink)  
Antiguo 18/04/2012, 04:04
 
Fecha de Ingreso: abril-2012
Ubicación: EN SEVILLA
Mensajes: 7
Antigüedad: 12 años, 7 meses
Puntos: 0
Respuesta: Calculo interactivo

Para aclarar el tema, y aprovechando que mis niñ@s están en la hora del recreo, os comunico las tres versiones del script que he utilizado:

ORIGINAL de exangel
on(release){
total_txt.text = String(Number(potcon.text)+Number(conrea.text)+Num ber(diafac.text));
}
NaN

ORIGINAL de bandit
on(release){
total_txt.text = Number(potcon.text)+Number(conrea.text)+Number(dia fac.text);
}
NaN

UN INTENTO de bertoselecto
on(release){
total_txt.text = potcon.text + conrea.text + diafac.text;
}
NaN

Así estamos, amigos. Y las fierecillas a punto de llegar....
  #7 (permalink)  
Antiguo 18/04/2012, 09:59
Avatar de Bandit
Moderador
 
Fecha de Ingreso: julio-2003
Ubicación: Lima - Perú
Mensajes: 16.726
Antigüedad: 21 años, 4 meses
Puntos: 406
Respuesta: Calculo interactivo

Ese problema es porque no le pusiste los nombres de instancia a los campos de texto.

Espero haberte sido de ayuda.
__________________
Bandit.
Si no sabes estudia y si sabes enseña.
http://www.banditwebdesign.com/
  #8 (permalink)  
Antiguo 18/04/2012, 14:45
 
Fecha de Ingreso: abril-2008
Mensajes: 613
Antigüedad: 16 años, 7 meses
Puntos: 22
Respuesta: Calculo interactivo

Hola,
en principiio, el código que te puse era AS3 y veo que utilizas AS2. En todo caso, cualquier código que se escribe aquí presupone un conocimeinto de las bases para utilizarlo dentro de Flash ya si no habría que escribir un tutorial tipo "crea una instancia, ponle un nombre, etc" pero eso no es del ámbito de este tipo de ayudas.

Volviendo al código, si las instancias están nombradas como debe, debería darte el resultado. Si no te lo da, subiré un jemplo con el mismo código.

Saludos
__________________
Compartir es vivir
www.programador-php.com
  #9 (permalink)  
Antiguo 19/04/2012, 02:23
 
Fecha de Ingreso: abril-2012
Ubicación: EN SEVILLA
Mensajes: 7
Antigüedad: 12 años, 7 meses
Puntos: 0
Respuesta: Calculo interactivo

Bueno, creo que las instancias están correctas: los cuadros de texto de entrada de datos son de tipo "Input Text" y se llaman potcon_txt, conrea_txt y diafac_txt; el cuadro de texto de salida de datos es de tipo " Dynamic Text" y se llama total_txt-; y el botón es de tipo Button y se llama "calcular_btn". Me disculpareis por no haber indicado el software que utilizo: se trata de Macromedia FLASH 8, y el AS que lleva incorporado, que es AS2.
  #10 (permalink)  
Antiguo 19/04/2012, 09:55
Avatar de Bandit
Moderador
 
Fecha de Ingreso: julio-2003
Ubicación: Lima - Perú
Mensajes: 16.726
Antigüedad: 21 años, 4 meses
Puntos: 406
Respuesta: Calculo interactivo

Si como dices que cada campo de texto tiene sus respectivos nombres de instancia, no debería aparecerte el NaN, a menso que en el códigos no hayas hecho referencia a esos nombres.

Espero haberte sido de ayuda.
__________________
Bandit.
Si no sabes estudia y si sabes enseña.
http://www.banditwebdesign.com/
  #11 (permalink)  
Antiguo 19/04/2012, 15:29
 
Fecha de Ingreso: abril-2008
Mensajes: 613
Antigüedad: 16 años, 7 meses
Puntos: 22
Respuesta: Calculo interactivo

Hola,
Pues aquí te paso las URLS al SWF y al FLA. Está hecho tal cual el código que te puse más arriba.

http://www.programador-php.com/desca...ulo_basico.swf

http://www.programador-php.com/desca...ulo_basico.fla

Un saludo
__________________
Compartir es vivir
www.programador-php.com
  #12 (permalink)  
Antiguo 20/04/2012, 04:32
 
Fecha de Ingreso: abril-2012
Ubicación: EN SEVILLA
Mensajes: 7
Antigüedad: 12 años, 7 meses
Puntos: 0
Respuesta: Calculo interactivo

Bandit, exangel: resuelto. Había cometido un error -de novato- al nombrar los campos: les había puesto como nombres de instancia potcon_txt, conrea_txt y diafac_txt, y al campo de salida lo había llamado total_txt. Simplemente les he cambiado los nombres de instancia, quitando el "_txt", y ya funciona perfectamente. Muchas gracias por vuestra ayuda. Lo he puesto en funcionamiento y a mis alumn@s les gusta, pero ha surgido una pequeña dificultad: cuando ingresan números decimales para realizar diferentes operaciones que programo en la calculadora, si ponen 4,6352 el resultado es NaN, en cambio si ponen 4.6352 el resultado es correcto. Quiero decir que la aplicación entiende solo la tecla ".", no entiende la tecla ","para determinar decimales. ¿Es posible corregir esto? Es decir, que de lo mismo si pulsan en el teclado la coma o el punto, que en los dos casos sirva y el calculo se realice. Creo haber visto la solución a este problema en un hilo de este mismo foro, pero no soy capaz de dar con el...
Os indico como ha quedado el AS del botón para uno de los cálculos:
on(release){
total.text=String (Number(conrea.text)*0.142349-Number(conrea.text)*1.14*0.05095-Number(conrea.text)*0.063669
+Number(potcon.text)*Number(diafac.text)*0.010855) ;
}

Última edición por bertoselecto; 20/04/2012 a las 09:16 Razón: NUEVA DUDA
  #13 (permalink)  
Antiguo 20/04/2012, 10:14
Avatar de Bandit
Moderador
 
Fecha de Ingreso: julio-2003
Ubicación: Lima - Perú
Mensajes: 16.726
Antigüedad: 21 años, 4 meses
Puntos: 406
Respuesta: Calculo interactivo

La coma no es aceptada en operaciones matemáticas para referirse a los decimales, tienes que usar el punto.
Ese código que publicas tiene el mismo nombre de instancia para los 3 primeros campos y eso está mal, cada uno de ellos debe de tener su propio nombre de instancia..

Espero haberte sido de ayuda.
__________________
Bandit.
Si no sabes estudia y si sabes enseña.
http://www.banditwebdesign.com/
  #14 (permalink)  
Antiguo 21/04/2012, 03:04
 
Fecha de Ingreso: abril-2012
Ubicación: EN SEVILLA
Mensajes: 7
Antigüedad: 12 años, 7 meses
Puntos: 0
Respuesta: Calculo interactivo

Si, la coma no la acepta. El problema es que habitualmente en las cifras, a nivel de escritura, utilizamos los puntos como separador de miles y las comas como separador de decimales, por ejemplo 2.358.668,22. Así es como uno está acostumbrado a hacerlo, y cuando ingresa en los campos de texto esa cifra, la calculadora no funciona a causa de la coma para los decimales. Creo que en AS existe una orden que da como resultado que una aplicación FLASH entienda "punto" cuando el ususario pulsa la tecla "coma", pero soy incapaz de dar con ella. Respecto al código que publico, funciona correctamente, te lo aseguro. Los tres primeros campos en la fórmula no es que tengan el mismo nombre, es que son el mismo campo. Es decir, si en (conrea.text) hay un 10, en (potcon.text) hay un 12 y en (diafac.text) un 8, la calculdora hace la iguiente operación:
10*0.142349-10*1.14*0.05095-10*0.063669 +12*8*0.010855=1,24805
  #15 (permalink)  
Antiguo 24/04/2012, 11:09
 
Fecha de Ingreso: abril-2008
Mensajes: 613
Antigüedad: 16 años, 7 meses
Puntos: 22
Respuesta: Calculo interactivo

Hola,
yo creo que tienes que poner un detector de comas y alertar al usuario que debe introducir los números decimales con puntos y sin formato separado por comas. Si no es así, no aceptas la operación.

saludos
__________________
Compartir es vivir
www.programador-php.com

Etiquetas: calculo, flash
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:43.