2010년 3월 28일 일요일

숫자 입력, 출력

 package
{
    import flash.display.Sprite;
    import flash.events.TextEvent;
    import flash.text.TextField;
    import flash.text.TextFieldType;
    import flash.events.KeyboardEvent;
  
    public class Main extends Sprite
    {
        private var _titleText:TextField = new TextField();
        private var _inputText0:TextField = new TextField();
        private var _inputText1:TextField = new TextField();
        private var _inputText2:TextField = new TextField();
        private var _dinamicText0:TextField = new TextField();
        private var _dinamicText1:TextField = new TextField();
        private var _dinamicText2:TextField = new TextField();
        private var _helpText:TextField = new TextField();
        private var _outPut:TextField = new TextField();
      
        public function Main()
        {
            _titleText.type = TextFieldType.DYNAMIC;
            _titleText.x = 50;
            _titleText.y = 20;
            _titleText.width = 200;
            _titleText.height = 20;
            _titleText.text = "평균 사용시간";
            addChild(_titleText);
          
            _inputText0.type = TextFieldType.INPUT;
            _inputText0.x = 50;
            _inputText0.y = 50;
            _inputText0.width = 60;
            _inputText0.height = 20;
            _inputText0.background = true;
            _inputText0.border = true;
            _inputText0.text = "";
            _inputText0.restrict = "0-9 \\.\\";
            addChild(_inputText0);

            _dinamicText0.type = TextFieldType.DYNAMIC;
            _dinamicText0.x = 50;
            _dinamicText0.y = 75;
            _dinamicText0.width = 200;
            _dinamicText0.height = 20;
            _dinamicText0.text = "0-10000숫자입력!";
            addChild(_dinamicText0);
          
            _inputText1.type = TextFieldType.INPUT;
            _inputText1.x = 50;
            _inputText1.y = 100;
            _inputText1.width = 60;
            _inputText1.height = 20;
            _inputText1.maxChars = 4;
            _inputText1.background = true;
            _inputText1.border = true;
            _inputText1.text = "";
            addChild(_inputText1);
          
            _dinamicText1.type = TextFieldType.DYNAMIC;
            _dinamicText1.x = 50;
            _dinamicText1.y = 125;
            _dinamicText1.width = 200;
            _dinamicText1.height = 20;
            _dinamicText1.text = "연산자입력:+,-,*,/";
            addChild(_dinamicText1);

            _inputText2.type = TextFieldType.INPUT;
            _inputText2.x = 50;
            _inputText2.y = 150;
            _inputText2.width = 60;
            _inputText2.height = 20;
            _inputText2.restrict = "0-9 \\.\\";
            _inputText2.background = true;
            _inputText2.border = true;
            _inputText2.text = "";
            addChild(_inputText2);

            _dinamicText2.type = TextFieldType.DYNAMIC;
            _dinamicText2.x = 50;
            _dinamicText2.y = 175;
            _dinamicText2.width = 200;
            _dinamicText2.height = 20;
            _dinamicText2.text = "0-10000숫자입력!";
            addChild(_dinamicText2);
          
            _helpText.type = TextFieldType.DYNAMIC;
            _helpText.x = 250;
            _helpText.y = 50;
            _helpText.width = 280;
            _helpText.height = 20;
            _helpText.background = true;
          
            _helpText.text = "<입력하시고 엔터를 꼭 눌러주세요>";
            addChild(_helpText);
          
            _outPut.type = TextFieldType.DYNAMIC;
            _outPut.x = 250;
            _outPut.y = 90;
            _outPut.width = 280;
            _outPut.height = 60;
            _outPut.background = true;
            _outPut.border = true;
            _outPut.text = "이곳에 결과값이 출력됩니다";
            addChild(_outPut);

            _inputText0.addEventListener(KeyboardEvent.KEY_DOWN, Finput);
            _inputText1.addEventListener(KeyboardEvent.KEY_DOWN, Finput);
            _inputText2.addEventListener(KeyboardEvent.KEY_DOWN, Finput);
        }
      
        private function Finput(event:KeyboardEvent):void
        {
            var vAnum:String = _inputText0.text;
            var vBnum:String = _inputText1.text;
            var vCnum:String = _inputText2.text;
          
            if (int(vAnum) >= 0 && int(vAnum) <= 10000)
            {          
                if (vBnum == "+" || vBnum == "-" || vBnum == "/" || vBnum == "*" || vBnum == "")
                {
                    _dinamicText1.text = "";
                    if (int(vCnum) >= 0 && int(vCnum) <= 10000)
                    {
                        switch (vBnum)
                        {
                            case "+" :
                            _outPut.text = String(int(vAnum) + int(vCnum));
                            break;
                            case "-" :
                            _outPut.text = String(int(vAnum) - int(vCnum));
                            break;
                            case "*" :
                            _outPut.text = String(int(vAnum) * int(vCnum));
                            break;
                            case "/" :
                            _outPut.text = String(int(vAnum) / int(vCnum));
                            break;
                        }
                    }
                    else
                    {
                        _outPut.text = "";
                        _dinamicText2.text = "0-10000사이의 값을 입력해야 합니다";
                    }
                }
                else
                    _dinamicText1.text = "지원하지 않는 연산자 입니다.";
            }
            else
                _dinamicText0.text = "0-10000사이의 값을 입력해야 합니다";
        }
    }
}