본문 바로가기

OM

D-day 구하기 2


Dday_02.mxml========================================================================================

<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute" width="300" height="250">
 
 <mx:Style>
  Application{
   backgroundColor : #ffffff;
   fontSize : 12;
  }
 </mx:Style>
 
 <mx:Script>
  <![CDATA[
   
   import mx.controls.*;
   import mx.validators.*;
   import mx.events.*;
     
   [Bindable]
   private var result:String;
   
   private var vResult:ValidationResultEvent;
     
   private function getDday(_yy:int, _mm:int, _dd:int):int
   {    
    var Dday:Date = new Date(_yy, _mm-1, _dd);
    var now:Date = new Date();
    var diff:Number = Dday.getTime() - now.getTime();
   
    return Math.abs(diff/1000/60/60/24);
   }
   
   private function NumberValidat():Boolean
         {
          var listeners:Array = [txtYear, txtMonth, txtDay];
          var isValid:Boolean = true;
          
          for each (var listener:Object in listeners)
          {
           numVal.listener = listener;
           vResult = numVal.validate(listener.text);
           if (vResult.type == ValidationResultEvent.INVALID)
           {
            isValid = false;
           }
          }
          
          return isValid;
         }
                 
   private function btnClick():void
   {    
    var isValid:Boolean = NumberValidat();
   
    if(!isValid)
    {
     return;
    }
    else if(int(txtYear.text)>2008 || int(txtMonth.text)>12 || int(txtDay.text)>31){
     Alert.show("입력값을 다시 한번 확인해 주세요.");
    }
    else{
     var year:int = int(txtYear.text);
     var month:int = int(txtMonth.text);
     var day:int = int(txtDay.text);
         
     result = getDday(year, month, day).toString();
     
     viewstack1.selectedIndex = 1;
    }
   }
  ]]>
 </mx:Script>
 
 <mx:NumberValidator id="numVal" property="text"
         allowNegative="false" domain="int"
      decimalPointCountError="숫자(정수)만 입력 가능합니다."
      invalidCharError="숫자(정수)만 입력 가능합니다."
      negativeError="숫자(정수)만 입력 가능합니다."
      requiredFieldError="필수입력 항목입니다."
      separationError="숫자(정수)만 입력 가능합니다." />
     
 <mx:ViewStack x="0" y="0" id="viewstack1" width="100%" height="100%">
  <mx:Canvas width="100%" height="100%" show="{txtYear.text=txtMonth.text=txtDay.text=''}">
   <mx:Label x="10" y="10" text="생일을 입력하세요" fontWeight="bold"/>
   <mx:TextInput x="10" y="106" width="60" maxChars="4" id="txtYear"/>
   <mx:TextInput x="108" y="106" width="40" maxChars="2" id="txtMonth"/>
   <mx:TextInput x="186" y="106" width="40" maxChars="2" id="txtDay"/>
   <mx:Label x="78" y="108" text="년"/>
   <mx:Label x="156" y="108" text="월"/>
   <mx:Label x="234" y="108" text="일"/>
   <mx:Button x="232" y="218" label="Click" buttonMode="true" click="btnClick()"/>
  </mx:Canvas>
 
  <mx:Canvas width="100%" height="100%">
   <mx:HBox x="0" y="106" width="100%" horizontalAlign="center">
    <mx:Label text="당신은 지금까지"/>
    <mx:Text text="{result+'일'}"/>
    <mx:Label text="살았습니다."/>
   </mx:HBox>
   <mx:Button x="232" y="218" label="Back" buttonMode="true" click="{viewstack1.selectedIndex=0}"/>
  </mx:Canvas>
 </mx:ViewStack>
 
</mx:Application>

=====================================================================================================

'OM' 카테고리의 다른 글

영어 학습 컨텐츠  (0) 2008.02.22
keyUtil  (0) 2008.02.09
타자게임  (0) 2008.02.09
달력을 이용한 다이어리  (0) 2008.02.08
달력  (0) 2008.02.07
D-day 구하기 1  (0) 2008.02.05
아날로그 시계  (0) 2008.02.04
디지털 시계  (0) 2008.02.03
동영상 플레이어  (0) 2008.01.11