flashbuilder变量
好吧,我已经束手无策了。我是个书呆子,我明白这一点,我已经有一段时间没有真诚地做过编程了。这就是说,我正试图回到它,并陷入左右的问题 我最大的问题是分配变量。作为一个辅助项目,我正在尝试使用FlashBuilder创建一个简单的计算器。我知道它还没有完成,而且可能有多个问题。因此,非常感谢您的帮助 这是到目前为止我的代码。什么。是一、失踪flashbuilder变量,flash,flash-builder,Flash,Flash Builder,好吧,我已经束手无策了。我是个书呆子,我明白这一点,我已经有一段时间没有真诚地做过编程了。这就是说,我正试图回到它,并陷入左右的问题 我最大的问题是分配变量。作为一个辅助项目,我正在尝试使用FlashBuilder创建一个简单的计算器。我知道它还没有完成,而且可能有多个问题。因此,非常感谢您的帮助 这是到目前为止我的代码。什么。是一、失踪 <?xml version="1.0" encoding="utf-8"?> <s:Application xmlns:fx="http:/
<?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>
您正在将一个表单项与另一个表单项一起添加,因此没有收到数字(
NaN
)
您需要的是文本输入
文本值作为数字
您也可以使用数据绑定,但要使用您的示例:
<?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>
谢谢!既然我是个笨蛋,我会问。。。为什么需要使函数名更长?我知道“clickHandler”必须在他们的页面上,但其余部分包括下划线是必要的还是仅仅为了清晰起见?再次感谢!名字完全取决于你——其实并不重要。实际上,由于我同时添加了加法和减法,所以我只是使用flashbuilder自动生成了[ctrl+space]方法存根。它还添加了您的函数中缺少的事件。”“Handler”或“onClick”命名约定不是必需的,但很好。你所拥有的没问题,明白了。谢谢,我还有一个问题,我不确定我是应该在这里提问还是创建一个新问题。。。但是我怎样才能让它一遍又一遍地做呢?我知道如何执行If-Else循环或and-Until循环,但我是否需要将此代码放入一个单独的类中,然后将其放入循环中或执行其他操作?我不确定-它会在按下add/subtract按钮时执行,以便您可以根据需要重新计算。您可以为下一次计算添加清除按钮。如果您想在许多地方重用此代码,可以将其放置在MXML组件中。我不确定你想循环什么。在一个单独的问题中回答可能更容易,或者让我知道您在循环中试图完成什么。我会问另一个问题。这只是一个起点。但谢谢你迄今为止的回答!