Comunidad de diseño web y desarrollo en internet online

Sumar dos numeros, problema de Cast?

Citar            
MensajeEscrito el 24 Nov 2007 05:21 pm
Ya llevo unas horas intentando con el tipico ejemplo de sumar dos numeros que vienen de dos TextInput, tal vez alguno de uds. me pueda echar una mano, no he podido con el cast... va el code:

Código :

<?xml version="1.0"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml">
   <mx:Panel width="250" height="200" layout="absolute" horizontalAlign="center" verticalAlign="middle" title="Sum Calculator">
      <mx:TextInput x="35" y="10" id="txt1"/>
      <mx:TextInput x="35" y="40" id="txt2"/>
      <mx:Button x="90.5" y="70" label="Calc" id="mybutton" click="calculate();"/>
      <mx:Text x="100" y="115" text="Text" id="myresult"/>
   </mx:Panel>
   <mx:Script>
      <![CDATA[
         private var a:Number;
         private var b:Number;
         private var c:String;
         private function calculate():void {
            a = txt1.text as Number;
            b = txt2.text as Number;
            c = (a + b) as String;
            myresult.text = c;
         }
      ]]>
   </mx:Script>
</mx:Application>

Que anda mal?. Ya estuve buscando por ahi y no encontre sino para AS2. Usar Number(txt1.text) como que no anda en AS3. Bye!

Saludos y muchas gracias de antemano! ^^

Por EdiWorks

114 de clabLevel

1 tutorial

Genero:Masculino  

Hot City

firefox
Citar            
MensajeEscrito el 26 Nov 2007 02:56 pm
Y funciona también en AS3:

Código :

var result:String = (Number (txt1.text) + Number(txt2.text)) as String;

Por Zah

BOFH

4290 de clabLevel

27 tutoriales
5 articulos

  Bastard Operators From Hell Editores

Zaragoza, España

firefox
Citar            
MensajeEscrito el 27 Nov 2007 03:35 am
Hola gracias por responder!

Parece que no opera con el 'as' la cuestión, le hice un pequeño cambiecillo invoncando el constructor de String, y sirve!, así para el que lo llegue a necesitar (solo pongo el ActionScript):

Código :

         private function calculate():void {
            myresult.text = new String(Number(txt1.text) + Number(txt2.text));
         }

Estructurándolo un poco me quedó así:

Código :

         private function calculate():void {
            a = new Number(txt1.text);
            b = new Number(txt2.text);
            myresult.text = new String(a + b);
         }

Y pues para terminar de jugar, le añadí unos slider vinculados a los TextInput, un ejercicio interesante para los que estamos aprendiendo... código completo:

Código :

   
<?xml version="1.0"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml">
   <mx:Panel width="250" height="200" layout="absolute" horizontalAlign="center" verticalAlign="middle" title="Sum Calculator" id="panel1">
      <mx:TextInput x="10" y="21" id="txt1" width="86"/>
      <mx:TextInput x="10" y="51" id="txt2" width="86"/>
      <mx:Button x="90.5" y="85" label="Calc" id="mybutton" click="calculate();"/>
      <mx:Text x="84.5" y="115" text="Resultado" id="myresult" textAlign="center"/>
      <mx:HSlider x="111" y="20" width="100" id="slider_1" minimum="0" maximum="20" snapInterval="1" enabled="true" change="settext_1();"/>
      <mx:HSlider x="111" y="50" width="100" id="slider_2" minimum="0" maximum="20" snapInterval="1" enabled="true" change="settext_2();"/>
   </mx:Panel>
   <mx:Script>
      <![CDATA[
         private var a:Number;
         private var b:Number;
         private function calculate():void {
            a = new Number(txt1.text);
            b = new Number(txt2.text);
            myresult.text = new String(a + b);
         }
         private function settext_1():void {
            txt1.text = new String(slider_1.value);
         }
         private function settext_2():void {
            txt2.text = new String(slider_2.value);
         }         
      ]]>
   </mx:Script>
</mx:Application>


Bien, seguiré explorando... mil gracias por vuestra ayuda! Espero que esto le sirva a otra persona =D

Por EdiWorks

114 de clabLevel

1 tutorial

Genero:Masculino  

Hot City

firefox

 

Cristalab BabyBlue v4 + V4 © 2011 Cristalab
Powered by ClabEngines v4, HTML5, love and ponies.