Переменные Flash Builder - PullRequest
       12

Переменные Flash Builder

0 голосов
/ 07 марта 2012

Хорошо, я в своем уме. Я новичок, и я это понимаю, и прошло много времени с тех пор, как я занимался программированием со всей искренностью Тем не менее, я пытаюсь вернуться к этому и сталкиваюсь с проблемами слева и справа.

Моя самая большая проблема связана с назначением переменных. В качестве побочного проекта я пытаюсь создать простой калькулятор с помощью FlashBuilder. Я знаю, что это не сделано, и, вероятно, у него много проблем. Так что любая помощь очень ценится!

Вот мой код. КАКИЕ. AM. I. пропал ???

<?xml version="1.0" encoding="utf-8"?>
<s:Application xmlns:fx="http://ns.adobe.com/mxml/2009" 
           xmlns:s="library://ns.adobe.com/flex/spark" 
           xmlns:mx="library://ns.adobe.com/flex/mx" minWidth="955" minHeight="600">

<fx:Script>
    <![CDATA[
        import mx.events.FlexEvent;
        import spark.components.FormItem
        import spark.components.TextArea;
        import spark.components.TextInput;

        public var n_1:Number
        public var n_2:Number
        public var ttl:Number = 0


    protected function added():void
    {
    ttl = n1 + n2;
    total.text = String(ttl);

    }
    ]]>
</fx:Script>



<fx:Declarations>

    <!-- Place non-visual elements (e.g., services, value objects) here -->
</fx:Declarations>


<s:Form id="Calc" x="28" y="27">
    <s:FormItem id="n1" label="1st #">
        <s:TextInput prompt="Number"/>
    </s:FormItem>
    <s:FormItem id="n2" label="2nd#">
        <s:TextInput prompt="Number"/>
    </s:FormItem>
    <s:FormItem label="Total=">
        <s:Label id="total"/>
    </s:FormItem>
</s:Form>
<s:Button id="add_bn" x="377" y="83" label="+" click="added()"/>
<s:Button id="minus_bn" x="377" y="123" label="-"/>
</s:Application>

1 Ответ

0 голосов
/ 08 марта 2012

Вы добавляете элемент формы с другим элементом формы, получая при этом не число (NaN).

Вам нужны текстовые значения TextInput как Number.

Вы также можете использовать привязку данных, но для работы с вашим примером:

<?xml version="1.0" encoding="utf-8"?>
<s:Application xmlns:fx="http://ns.adobe.com/mxml/2009"
               xmlns:s="library://ns.adobe.com/flex/spark"
               xmlns:mx="library://ns.adobe.com/flex/mx"
               minWidth="955"
               minHeight="600">

    <fx:Script>
        <![CDATA[
            import spark.components.FormItem;
            import spark.components.TextInput;

            public var n_1:Number;
            public var n_2:Number;
            public var ttl:Number = 0;

            protected function add_bn_clickHandler(event:MouseEvent):void
            {
                // get numbers from text field
                n_1 = Number(n1.text);
                n_2 = Number(n2.text);

                // total:
                ttl = n_1 + n_2;

                total.text = ttl.toString();
            }

            protected function minus_bn_clickHandler(event:MouseEvent):void
            {
                // get numbers from text field
                n_1 = Number(n1.text);
                n_2 = Number(n2.text);

                // total:
                ttl = n_1 - n_2;

                total.text = ttl.toString();
            }
        ]]>
    </fx:Script>


    <s:Form id="Calc"
            x="28"
            y="27">
        <s:FormItem label="1st #">
            <s:TextInput id="n1"
                         prompt="Number" />
        </s:FormItem>
        <s:FormItem label="2nd#">
            <s:TextInput id="n2"
                         prompt="Number" />
        </s:FormItem>
        <s:FormItem label="Total=">
            <s:Label id="total" />
        </s:FormItem>
    </s:Form>
    <s:Button id="add_bn"
              x="377"
              y="83"
              label="+"
              click="add_bn_clickHandler(event)" />
    <s:Button id="minus_bn"
              x="377"
              y="123"
              label="-"
              click="minus_bn_clickHandler(event)" />
</s:Application>
...