반응형

이 프로그램은 CD의 정보를 담을 수 있는 프로그램이다.

우선
두개의 팩키지로 클래스를 나누어 만들었다.

 첫째 오디오 씨디
 package
{
 public class AudioCDModel
 {
  public var num:String;//고유번호
  public var title:String;//제목
  public var artist:String;//가수
  public var releasedate:Date;//출시일자
  public var track:Array;//CD트랙
 }
}
 둘째 트랙 정보
package
{
 public class MusicModel
 {
  public var m_music:String;//음악제목
  public var m_time:int;//시간
  
  public function MusicModel(param_music:String,param_time:int)
  {
   m_music = param_music;
   m_time = param_time;  
  }
 

 }
}


그리고 예전 자바 프로그래밍 연습하듯
클래스와 연동하여 플랙스 액션스크립트에서 작동하게 하였다.

 <mx:Script>
 <![CDATA[
  //데이터 모델
  public var myCDs:Array= new Array();
  
  //초기 데이터 설정
  private function initMyCDs(event:Event):void
  {
   /*  CD1  */
   var myCD1:AudioCDModel = new AudioCDModel();
   myCD1.num = "B000JJ4GW0";
   myCD1.title ="U218 Singles";
   myCD1.artist = "U2"; // 가수
   //myCD1.releasedate = "";
   
    /* CD1->트랙 */
    var myTrack1:Array = new Array();
    //var myTrack1:AudioModel = new AudioModel();
    myTrack1.push( new MusicModel("Beautiful DAYs",270));
    myTrack1.push(new MusicModel("I Still Haven't Found What I'm Looking For",210));
    myTrack1.push(new MusicModel("Pride (In the Name of Love)", 178));
    myTrack1.push(new MusicModel("With or Without You", 280));
    
    myCD1.track = myTrack1;
   //내 씨디에 객체 추가
   myCDs.push(myCD1);
   /*  CD2  */
   var myCD2:AudioCDModel = new AudioCDModel();
   myCD2.num = "B000KCHZK6";
   myCD2.title ="Not Too Late";
   myCD2.artist = "U3"; // 가수
   myCD2.releasedate = new Date(2007, 1,30);
    /* CD2->트랙 */
    var myTrack2:Array = new Array();
    //var myTrack1:AudioModel = new AudioModel();
    myTrack2.push(new MusicModel("Wish I Could", 258));
    myTrack2.push(new MusicModel("Sinkin' Soon", 278));
    myTrack2.push(new MusicModel("The Sun Doesn't Like You", 179));
    
    myCD2.track=myTrack2;
    
   //내 씨디에 객체 추가
   myCDs.push(myCD2);
  }
  private function Result(event:Event):void
  {
   var strResult:String;
   

   for each(var objCd:AudioCDModel in myCDs)
   {
    strResult += "Artist: " + objCd.artist+ "\n";
    strResult += "Title:" +objCd.title+ "\n";
    
    if(objCd.releasedate != null)
    strResult += "Release Date:" +objCd.releasedate+ "\n";

    for each (var objMusic:MusicModel in objCd.track)
    {
     strResult += objMusic.m_music + " (Time: " + objMusic.m_time+"\n";
    }    
    
    strResult += "=====================================\n";
   }
   txtShow.text = strResult;

   
  }
  
 ]]>
</mx:Script>

 


문제는 처음에
널값이 들어간다는 것이다...
왜 그러지..흠..ㅡ.ㅡ

반응형

+ Recent posts