ÀÌÀü Ç׸ñ´ÙÀ½ Ç׸ñ


ÇнÀ 5: JavaScript·Î À̺¥Æ® Çڵ鷯 ÀÛ¼º

ÀÌ ÇнÀ¿¡¼­´Â ÀÏ·ÃÀÇ À̺¥Æ® Çڵ鷯 ÀÛ¼º¿¡ ´ëÇÑ Áö½Ã»çÇ×À» Á¦°øÇÕ´Ï´Ù. ÀÌ ÇнÀ¿¡¼­´Â ±âº» º¸°í¼­ µðÀÚÀÎÀÌ Classic Models, Inc. µ¥ÀÌÅͺ£À̽º »ùÇÿ¡ µû¸¥´Ù°í °¡Á¤ÇÕ´Ï´Ù. º¸°í¼­ µðÀÚÀÎÀ» ½ÃÀÛÇÏ·Á¸é °í°´ À̸§¿¡ »ç¿ëÇÒ ¿­ÀÌ ÀÖ´Â °í°´ Å×À̺íÀ» Æ÷ÇÔÇϱ⸸ ÇÏ¸é µË´Ï´Ù. ÀÌ ÇнÀ¿¡¼­´Â À̸§¿¡ "Mini" ¹®ÀÚ¿­ÀÌ Æ÷ÇÔµÈ °í°´ÀÇ ¼ö¸¦ °è¼öÇÏ¿© ÆË¾÷ â¿¡ °á°ú¸¦ Ç¥½ÃÇÕ´Ï´Ù.

ÀÌ ÇнÀ¿¡¼­´Â ´ÙÀ½ Ÿ½ºÅ©¸¦ ¼öÇàÇÕ´Ï´Ù.

Ÿ½ºÅ© 1: º¸°í¼­ µðÀÚÀÎ ¿­±â

Classic Car »ùÇà µ¥ÀÌÅͺ£À̽º¸¦ »ç¿ëÇÏ°í °í°´ À̸§ Å×À̺íÀ» Ç¥½ÃÇÏ´Â º¸°í¼­ µðÀÚÀÎÀ» ¿©½Ê½Ã¿À.

  1. ÇÊ¿äÇÑ °æ¿ì â -> º¸±â Ç¥½Ã -> ³×ºñ°ÔÀÌÅ͸¦ ¼±ÅÃÇÏ¿© ³×ºñ°ÔÀÌÅ͸¦ ¿©½Ê½Ã¿À.
  2. ÀûÀýÇÑ º¸°í¼­ µðÀÚÀÎÀ» µÎ ¹ø Ŭ¸¯ÇϽʽÿÀ. ÆÄÀÏÀÌ ·¹À̾ƿô ÆíÁý±â¿¡¼­ ¿­¸³´Ï´Ù(±×¸² 22-4 ÂüÁ¶).

Ÿ½ºÅ© 2: Table.onCreate( ) ¸Þ¼Òµå¿¡¼­ Ä«¿îÅÍ ÀÛ¼º ¹× ÃʱâÈ­

À̸§¿¡ Mini ¹®ÀÚ¿­ÀÌ Æ÷ÇÔµÈ °í°´ÀÇ ¼ö¸¦ °è¼öÇÏ·Á¸é ¸ÕÀú ±Û·Î¹ú Ä«¿îÅ͸¦ ¼±¾ðÇÑ ÈÄ °ªÀ» 0À¸·Î ¼³Á¤ÇØ¾ß ÇÕ´Ï´Ù. Table.onCreate( ) ¸Þ¼Òµå´Â ÇàÀ» °Ë»öÇϱâ Àü¿¡ ½ÇÇàµÇ¹Ç·Î ÀÌ Å¸½ºÅ©¸¦ ¼öÇàÇÏ´Â µ¥ °¡Àå ÀûÀýÇÕ´Ï´Ù. Row.onCreate( ) ¸Þ¼Òµå¿¡¼­ Á¶°ÇºÎ·Î ÀÌ Ä«¿îÅ͸¦ ´Ã¸³´Ï´Ù.

  1. ·¹À̾ƿô¿¡¼­ Å×ÀÌºí ¿ÞÂÊ ÇÏ´Ü ±¸¼®¿¡ Ä¿¼­¸¦ ³õ°í Å×À̺íÀ» ¼±ÅÃÇϽʽÿÀ. Å×ÀÌºí ¾ÆÀÌÄÜÀÌ ³ªÅ¸³³´Ï´Ù(±×¸² 22-5 ÂüÁ¶).
  2. ½ºÅ©¸³Æ® ÅÇÀ» ¼±ÅÃÇϽʽÿÀ. ½ºÅ©¸³Æ® ÅÇÀÌ ³ªÅ¸³³´Ï´Ù(±×¸² 22-6 ÂüÁ¶).
  3. ½ºÅ©¸³Æ® â¿¡¼­ onCreate( ) ¸Þ¼ÒµåÀÇ ´ÙÀ½ ÄÚµå ÇàÀ» ÀÔ·ÂÇϽʽÿÀ.
  4. countOfMinis = 0; 
    
  5. º¸°í¼­¸¦ ½ÇÇàÇÏ¿© Äڵ忡 ¿À·ù°¡ ¾ø´ÂÁö È®ÀÎÇÏ·Á¸é ¹Ì¸®º¸±â¸¦ ¼±ÅÃÇϽʽÿÀ.
  6. JavaScript ¿À·ù ¸Þ½ÃÁö°¡ ³ªÅ¸³ª´Â º¸°í¼­ ÇÏ´ÜÀ¸·Î À̵¿ÇϽʽÿÀ. ¿À·ù°¡ ¾øÀ¸¸é º¸°í¼­°¡ ³ªÅ¸³³´Ï´Ù(±×¸² 22-7 ÂüÁ¶).
  7. ¿À·ù ¸Þ½ÃÁö°¡ ³ªÅ¸³­ °æ¿ì ¸í·É¹®À» À߸ø ÀÔ·ÂÇÑ °ÍÀÏ ¼ö ÀÖ½À´Ï´Ù. ±×·² °æ¿ì ´Ù½Ã ½ºÅ©¸³Æ® âÀ¸·Î µ¹¾Æ°¡ ¹æ±Ý ¼öÁ¤ÇÑ ¸Þ¼Òµå¸¦ ¼±ÅÃÇÏ°í ¿À·ù¸¦ Á¤Á¤ÇÑ ÈÄ ¹Ì¸®º¸±â¸¦ ´Ù½Ã ¼±ÅÃÇϽʽÿÀ.

Ÿ½ºÅ© 3: Row.onCreate( ) ¸Þ¼Òµå¿¡¼­ Á¶°ÇºÎ·Î Ä«¿îÅÍ ´Ã¸®±â

À̸§¿¡ Mini ¹®ÀÚ¿­ÀÌ Æ÷ÇÔµÈ °í°´ÀÇ ¼ö¸¦ °è¼öÇÏ·Á¸é °¢ °í°´ÀÇ À̸§À» Á¶»çÇϰí ÇØ´ç ¹®ÀÚ¿­ÀÌ ³ª¿Ã ¶§¸¶´Ù Ä«¿îÅ͸¦ Çϳª¾¿ ´Ã·Á¾ß ÇÕ´Ï´Ù. ÀÌ Å¸½ºÅ©´Â ³í¸®ÀûÀ¸·Î µ¥ÀÌÅÍ ¼Ò½º¿¡¼­ µ¥ÀÌÅÍ ÇàÀ» ¸ðµÎ °Ë»öÇÒ ¶§ ½ÇÇàµÇ´Â Row.onCreate( ) ¸Þ¼Òµå¿¡¼­ ¼öÇàµË´Ï´Ù.

  1. ·¹À̾ƿô¿¡¼­ ÇàÀ» ¼±ÅÃÇÑ ÈÄ ½ºÅ©¸³Æ®¸¦ ¼±ÅÃÇϽʽÿÀ.
  2. ½ºÅ©¸³Æ® â »ó´Ü¿¡¼­ ¸Þ¼Òµå ¸ñ·ÏÀ» Ç®´Ù¿îÇÏ¿© onCreate¸¦ ¼±ÅÃÇϽʽÿÀ(±×¸² 22-8 ÂüÁ¶).
  3. ½ºÅ©¸³Æ® â¿¡¼­ ´ÙÀ½ JavaScript ÄÚµå ÇàÀ» ÀÔ·ÂÇϽʽÿÀ.
  4. row=this.getRowData( ); 
    
    this ´ÙÀ½¿¡ ¸¶Ä§Ç¥¸¦ ÀÔ·ÂÇÒ ¶§ »ç¿ë °¡´ÉÇÑ ¸ðµç ¸Þ¼Òµå ¹× Ư¼º(getRowData Æ÷ÇÔ)ÀÌ µé¾î ÀÖ´Â ÆË¾÷ÀÌ ³ªÅ¸³­´Ù´Â Á¡¿¡ ÁÖÀÇÇϽʽÿÀ. ÀÌ ÄÚµå ÇàÀº getExpressionValue( ) ¸Þ¼Òµå¸¦ »ç¿ëÇÏ´Â IRowDataÀÇ ÀνºÅϽº¸¦ °¡Á®¿Í ÇØ´ç ÇàÀÇ ÇÑ ¿­¿¡ ´ëÇÑ ÄÁÅÙÃ÷¸¦ °¡Á®¿É´Ï´Ù.
  5. ¹æ±Ý ÀÔ·ÂÇÑ Çà ¾Æ·¡¿¡ ´ÙÀ½ JavaScript ÇàÀ» ÀÔ·ÂÇϽʽÿÀ.
  6. CustName=row.getExpressionValue( "row[CUSTOMERNAME]" ); 
    
    ÀÌ ÄÚµå ÇàÀº µ¥ÀÌÅÍ ¼¼Æ®ÀÇ CUSTOMERNAME ¿­¿¡¼­ ÆÄ»ýµÈ Å×ÀÌºí ¿­ÀÇ ÄÁÅÙÃ÷¸¦ ¸®ÅÏÇÕ´Ï´Ù.
  7. Table.onCreate( ) ¸Þ¼Òµå¿¡¼­ Ä«¿îÅÍ ÀÛ¼º ¹× ÃʱâÈ­¿¡¼­ ÀÛ¼ºÇÑ Ä«¿îÅ͸¦ Á¶°ÇºÎ·Î ´Ã¸®´Â ´ÙÀ½ ÄÚµå ÇàÀ» ÀÔ·ÂÇϽʽÿÀ.
  8. if( CustName.indexOf( "Mini" ) != -1 ) countOfMinis += 1; 
    
    JavaScript ÆÈ·¹Æ®¸¦ »ç¿ëÇÏ¿© ´ÙÀ½ÀÇ °¢ ¿ä¼Ò¸¦ ÀÌÀü Çà¿¡ »ðÀÔÇÒ ¼ö ÀÖ½À´Ï´Ù.
    • indexOf( )
    • ±âº»(JavaScript) ¿ÀºêÁ§Æ® -> ¹®ÀÚ¿­ ÇÔ¼ö -> indexOf( ) ¼±ÅÃ
    • !=
    • ¿¬»êÀÚ -> ºñ±³ -> != ¼±ÅÃ
    • +=
    • ¿¬»êÀÚ -> ÁöÁ¤ > += ¼±ÅÃ
  9. º¸°í¼­¸¦ ´Ù½Ã ½ÇÇàÇϵµ·Ï ¹Ì¸®º¸±â¸¦ ¼±ÅÃÇÏ¿© ÀÛ¼ºÇÑ Äڵ忡 ¿À·ù°¡ ¾ø´ÂÁö È®ÀÎÇϽʽÿÀ.

Ÿ½ºÅ© 4: ReportDesign.afterFactory( ) ¸Þ¼Òµå¸¦ »ç¿ëÇÏ¿©
°á°ú Ç¥½Ã

À̸§¿¡ Mini ¹®ÀÚ¿­ÀÌ Æ÷ÇÔµÈ °í°´ÀÇ °è¼ö¸¦ Ç¥½ÃÇÏ·Á¸é Å×À̺íÀÇ ¸ðµç ÇàÀ» ó¸®ÇÑ ÈÄ ½ÇÇàÇÏ´Â ¸Þ¼Òµå¿¡ Äڵ带 »ðÀÔÇÕ´Ï´Ù. ÀÌ ÄÚµå´Â ³í¸®ÀûÀ¸·Î ReportDesign.afterFactory( ) ¸Þ¼Òµå¿¡¼­ ¼öÇàµË´Ï´Ù.

  1. ¾Æ¿ô¶óÀο¡¼­ º¸°í¼­ µðÀÚÀÎÀ» ¼±ÅÃÇϽʽÿÀ(±×¸² 22-9 ÂüÁ¶).
  2. ½ºÅ©¸³Æ® â µå·Ó ´Ù¿î ¸ñ·Ï¿¡¼­ afterFactory( ) ¸Þ¼Òµå¸¦ ¼±ÅÃÇϽʽÿÀ.
  3. afterFactory( ) ¸Þ¼Òµå¿¡ ´ÙÀ½ Äڵ带 ÀÔ·ÂÇϽʽÿÀ.
  4. importPackage( Packages.javax.swing ); 
    frame = new JFrame( "Count of Minis = " + countOfMinis ); 
    frame.setBounds( 310, 220, 300, 20 ); 
    frame.show( ); 
    
  5. °á°ú¸¦ º¸·Á¸é ¹Ì¸®º¸±â¸¦ ¼±ÅÃÇϽʽÿÀ. Äڵ忡 ¿À·ù°¡ ¾øÀ¸¸é ±×¸² 22-10¿¡ ³ª¿Â °Í°ú ºñ½ÁÇÑ º¸°í¼­°¡ ³ªÅ¸³³´Ï´Ù.

Mini °è¼ö âÀÌ ³ªÅ¸³ªÁö ¾ÊÀ¸¸é Eclipse â µÚ¿¡¼­ ã¾Æº¸½Ê½Ã¿À. ±×·¡µµ Mini °è¼ö âÀÌ ³ªÅ¸³ªÁö ¾Ê´Â °æ¿ì °¡Àå °¡´É¼ºÀÌ ³ôÀº ÀÌÀ¯´Â ÄÚµå Ç׸ñ Áß Çϳª¿¡ ¿À·ù°¡ »ý°Ü ½ºÅ©¸³Æ® ¿À·ù°¡ ¹ß»ýÇÑ °ÍÀÏ ¼ö ÀÖ½À´Ï´Ù.

½ºÅ©¸³Æ® ¿À·ù·Î ÀǽɵǴ °æ¿ì ¸ðµç ½ºÅ©¸³Æ® ¿À·ù ¸Þ½ÃÁö°¡ ³ªÅ¸³ª´Â º¸°í¼­ÀÇ ÇÏ´ÜÀ¸·Î À̵¿ÇϽʽÿÀ. ´ëºÎºÐÀÇ °æ¿ì ´õÇϱ⠺ÎÈ£(+) ¿·¿¡ °£´ÜÇÑ ¿À·ù ¸Þ½ÃÁö°¡ ³ªÅ¸³³´Ï´Ù. ´õÇϱ⠺ÎÈ£´Â °£´ÜÇÑ ¿À·ù ¸Þ½ÃÁö¸¦ ÆîÃľ߸¸ Ç¥½ÃµÇ´Â º¸´Ù ÀÚ¼¼ÇÑ ¿À·ù ¸Þ½ÃÁö°¡ ÀÖÀ½À» Ç¥½ÃÇÕ´Ï´Ù. °£´ÜÇÑ ¿À·ù ¸Þ½ÃÁö¸¦ ÆîÄ¡·Á¸é ´õÇϱ⠺ÎÈ£¸¦ ¼±ÅÃÇϽʽÿÀ. º¸´Ù ÀÚ¼¼ÇÑ ¿À·ù ¸Þ½ÃÁö¸¦ º¸·Á¸é ¾Æ·¡·Î À̵¿ÇϽʽÿÀ.


(c) Copyright Actuate Corporation 2006

ÀÌÀü Ç׸ñ´ÙÀ½ Ç׸ñ