Использование классический перечислимый взлом.
template<unsigned int n>
struct factorial {
enum { result = n * factorial<n - 1>::result };
};
template<>
struct factorial<0> {
enum { result = 1 };
};
Использование.
const unsigned int x = factorial<4>::result;
Факториал вычисляется полностью во время компиляции на основе шаблонного параметра n. Поэтому factorial< 4>:: результатом является константа, как только компилятор сделал свою работу.
посмотрите на свойство restrict в классе TextInput. Установите "0-9"
<s:TextInput id="textInput"
restrict="0-9"
widthInChars="20"
maxChars="20" />
<mx:TextInput id="textInput"
restrict="0-9"
widthInChars="20"
maxChars="20" />
Посмотрите на mx. validators.NumberValidator: http://livedocs.adobe.com/flex/3/langref/mx/validators/NumberValidator.html
Я не уверен, что именно вы хотите делать. Если вы просто хотите суммировать эти две строки, используйте следующий
{parseInt(txt1.text) + parseInt(txt2.text)}
ваш пример, просто объедините эти две строки. В этом одном примере попытка преобразовать текст в число, а затем суммировать эти два значения.
<?xml version="1.0"?>
<!-- Simple example to demonstrate the TextInput control. -->
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" viewSourceURL="srcview/index.html">
<mx:Panel title="Dodawanie dwóch liczb :)" height="279" width="238"
paddingTop="10" paddingLeft="10">
<mx:TextInput id="src"
restrict="0-9"
maxChars="20" />
<mx:TextInput id="dest"
restrict="0-9"
maxChars="20"/>
<mx:Button label="dodaj" click= "dodaj();" id="but"/>
<mx:Label text="Suma" width="59"/>
<mx:Label text="0" width="160" id="wynik"/>
</mx:Panel>
<mx:Script>
<![CDATA[
import mx.formatters.NumberBase;
public function dodaj():Number
{
var liczba:Number = Number(src.text) + Number(dest.text);
wynik.text = liczba.toString();
return 0;
}
]]>
</mx:Script>
</mx:Application>