WideStudio/MWT Logo
WideStudio/MWT
Programming Guide
WideStudio/MWT Index
Table of contents


ŸÀ̸Ӹ¦ »ç¿ëÇϱ⿡´Â

ŸÀÌ¸Ó °´Ã¼¸¦ »ç¿ëÇÔÀ¸·Î¼­ ÀÏÁ¤½Ã°£ °æ°úÈÄÀÇ Ã³¸®³ª ÀÏÁ¤½Ã°£°£°ÝÀÇ Ã³¸®¸¦ ½ÇÇàÇÒ¼öÀÖ½À´Ï´Ù.

ŸÀÌ¸Ó Å¬·¡½º ÀνºÅϽº Á¢±Ù(access) ÇÔ¼ö
WSDtimer WSGIappTimer()



ÀÏÁ¤½Ã°£ °æ°úÈÄÀÇ Ã³¸®¸¦ Çϱ⿡´Â

ÀÏÁ¤½Ã°£ °æ°úÈÄÀÇ Ã³¸®¸¦ Çϱ⿡´Â, ¿ì¼± ŸÀ̸ӿ¡¼­ ±âµ¿µÇ¿© 󸮸¦ ½ÇÇàÇÏ´Â ÇÔ¼ö¸¦ ¸¶·ÃÇÕ´Ï´Ù. ´ÙÀ½¿¡ ŸÀÌ¸Ó °´Ã¼¿¡ ´ëÇؼ­ Æ®¸®°Å(trigger) ±âµ¿À¸·Î ±× ½ÇÇà ÇÔ¼ö¸¦ µî·ÏÇÕ´Ï´Ù.

ŸÀ̸ӵî·Ï ¸â¹ö ÇÔ¼ö ±â´É
addTriggerProc() Æ®¸®°Å(trigger) ±âµ¿µî·Ï ÇÔ¼ö
delTriggerProc() Æ®¸®°Å(trigger) ±âµ¿ »èÁ¦ ÇÔ¼ö

#include <WSDtimer.h>
// ŸÀ̸ӿ¡¼­ ±âµ¿µÇ´Â ó¸® ÇÔ¼öÀÇ »ùÇÃ
void triggerHandler(unsigned char clock,void* data){
   //clock ´Â 250ms ¸¶´Ù ¿Ã¶ó°¡´Â Ä«¿îÆ®
   //data ´Â ŸÀ̸ӵî·ÏÇÒ¶§ ¿Å°ÜÁø µ¥ÀÌÅÍ

   //¿©±â¼­ ŸÀÌ¸Ó Ã³¸®¸¦ ÇÑ´Ù...
}

void event_procedure(WSCbase* obj){
  //¿©±â¼­ ÁöÁ¤µÈ µ¥ÀÌÅÍ°¡ ŸÀÌ¸Ó Ã³¸® ÇÔ¼ö¿¡ ¿Å°ÜÁø´Ù.
  void*  data = (void*)1234;
  //ÀÏÁ¤½Ã°£ °æ°úÈÄ¿¡ 1¹ø ±âµ¿Çϴ ŸÀÌ¸Ó ÇÔ¼öÀÇ µî·Ï  //1000ms ÈÄ¿¡ ±âµ¿
  long id = WSGIappTimer()->addTriggerProc( triggerHandler,WS1000MS,data );
  // ŸÀ̸Ӹ¦ µµÁß¿¡¼­ ¸ØÃâ °æ¿ì´Â
  WSGIappTimer()->delTriggerProc( id );
}

triggerHandler() ÇÔ¼ö¿¡´Â ŸÀ̸ӿ¡¼­ ±âµ¿µÇ¿© ½ÇÇàÇÒ Ã³¸®¸¦ ¾¹´Ï´Ù. triggerHahdler() ÇÔ¼ö¿¡ µ¥ÀÌÅ͸¦ ÁÙ °æ¿ì´Â addTriggerProc() ÀÇ Á¦3Àμö¿¡ void* ·Î ³Ñ±é´Ï´Ù. addTriggerProc() ÀÇ °á°ú°ªÀº ŸÀÌ¸Ó Ã³¸®ÀÇ ID °¡ µ¹¾Æ¿É´Ï´Ù. Ȥ½Ã ±× ŸÀÌ¸Ó Ã³¸®¸¦ ¸ØÃâ °æ¿ì´Â delTriggerProc() ·Î ±× ID ¸¦ ÁöÁ¤ÇÕ´Ï´Ù.

¶ÇÇÑ À̺¥Æ® ÇÁ·Î½ÃÀúÀÇ °æ¿ì¿Í ´Þ¸® ŸÀÌ¸Ó Ã³¸® ÇÔ¼öÀÇ °æ¿ì´Â °´Ã¼ÀÇ °»½Å 󸮰¡ ¾ÈºÒ¸®±â¶§¹®¿¡ °´Ã¼ÀÇ ¼Ó¼ºÄ¡µîÀ» º¯°æÇÑ °æ¿ì¿¡´Â update()¸¦ ºÒ·¯ ¹¦È­ °»½ÅÀ» ÇØÁÖ¼¼¿ä.

// ŸÀ̸ӿ¡¼­ ±âµ¿µÇ´Â ó¸® ÇÔ¼öÀÇ »ùÇÃ
void timerHandler(unsigned char clock,void* data){
   WSCbase* object = (WSCbase*)data;
   object->setProperty(WSNlabelString," ½Ã°£ÀÔ´Ï´Ù");
   object->update(); // °´Ã¼ÀÇ ¹¦È­ °»½Å
}



ÀÏÁ¤½Ã°£°£°Ý¸¶´Ù 󸮸¦ Çϱ⿡´Â

ÀÏÁ¤½Ã°£°£°Ý¸¶´Ù 󸮸¦ Çϱ⿡´Â ¿ì¼± ŸÀ̸ӿ¡¼­ ±âµ¿µÇ¿© 󸮸¦ ÇÏ´Â ÇÔ¼ö¸¦ ¸¶·ÃÇÕ´Ï´Ù. ´ÙÀ½¿¡ ŸÀÌ¸Ó °´Ã¼¿¡ ´ëÇؼ­ ŸÀÌ¸Ó ±âµ¿À¸·Î ±× ½ÇÇà ÇÔ¼ö¸¦ µî·ÏÇÕ´Ï´Ù.

ŸÀ̸ӵî·Ï ¸â¹ö ÇÔ¼ö ±â´É
addTimerProc() ŸÀÌ¸Ó ±âµ¿µî·Ï ÇÔ¼ö
delTimerProc() ŸÀÌ¸Ó ±âµ¿ »èÁ¦ ÇÔ¼ö

#include <WSDtimer.h>
// ŸÀ̸ӿ¡¼­ ±âµ¿µÇ´Â ó¸® ÇÔ¼öÀÇ »ùÇÃ
void timerHandler(unsigned char clock,void* data){
   //clock ´Â 250ms ¸¶´Ù ¿Ã¶ó°¡´Â Ä«¿îÆ®
   //data ´Â ŸÀ̸ӵî·ÏÇÒ¶§ ¿Å°ÜÁø µ¥ÀÌÅÍ

   //¿©±â¼­ ŸÀÌ¸Ó Ã³¸®¸¦ ÇÑ´Ù...
}

void event_procedure(WSCbase* obj){
  //¿©±â¼­ ÁöÁ¤µÈ µ¥ÀÌÅÍ°¡ ŸÀÌ¸Ó Ã³¸® ÇÔ¼ö¿¡ ¿Å°ÜÁø´Ù.
  void*  data = (void*)1234;
  //ÀÏÁ¤½Ã°£¸¶´Ù ±âµ¿µÇ´Â ŸÀÌ¸Ó ÇÔ¼öÀÇ µî·Ï //500ms ¸¶´ÙÀÇ ±âµ¿
  long id = WSGIappTimer()->addTimerProc( timerHandler,WS500MS,data );
  // ŸÀ̸Ӹ¦ µµÁß¿¡¼­ ¸ØÃâ °æ¿ì´Â
  WSGIappTimer()->delTimerProc( id );
}

timerHandler() ÇÔ¼ö¿¡´Â ŸÀ̸ӿ¡¼­ ±âµ¿µÇ¿© ½ÇÇàÇÒ Ã³¸®¸¦ ¾¹´Ï´Ù timerHahdler() ÇÔ¼ö¿¡ µ¥ÀÌÅ͸¦ ÁÙ°æ¿ì¿¡´Â addTimerProc() ÀÇ Á¦3 Àμö¿¡ void* ·Î ³Ñ±é´Ï´Ù. addTimerProc() ÀÇ °á°úÄ¡´Â ŸÀÌ¸Ó Ã³¸®ÀÇ ID °¡ µ¹¾Æ¿É´Ï´Ù. Ȥ½Ã ±× ŸÀÌ¸Ó Ã³¸®¸¦ ¸ØÃâ °æ¿ì¿¡´Â delTimerProc() ·Î ±× ID ¸¦ ÁöÁ¤ÇÕ´Ï´Ù.

¶ÇÇÑ À̺¥Æ® ÇÁ·Î½ÃÀúÀÇ °æ¿ì¿Í ´Þ¸® ŸÀÌ¸Ó Ã³¸® ÇÔ¼öÀÇ °æ¿ì¿¡´Â °´Ã¼ÀÇ °»½Å 󸮰¡ ¾ÈºÒ¸®±â¶§¹®·¹ °´Ã¼ÀÇ ¼Ó¼ºÄ¡µîÀ» º¯°æÇÑ °æ¿ì¿¡´Â update()¸¦ ºÒ·¯ ¹¦È­ °»½ÅÀ» ÇØÁÖ¼¼¿ä. ´õ±¸³ª ÁöÁ¤ ÇÒ¼öÀִ ŸÀ̸ÓÀÇ °£°ÝÀº WS250MS,WS500MS,WS750MS,WS1000MS,WS1250MS,... µîÀÇ 250ms °£°ÝÀÇ °ªÀÔ´Ï´Ù.

// ŸÀ̸ӿ¡¼­ ±âµ¿µÇ´Â ó¸® ÇÔ¼öÀÇ »ùÇÃ
void timerHandler(unsigned char clock,void* data){
   WSCbase* object = (WSCbase*)data;
   object->setProperty(WSNlabelString," ½Ã°£ÀÔ´Ï´Ù");
   object->update(); // °´Ã¼ÀÇ ¹¦È­ °»½Å
}


Document Release 3.90 for WideStudio/MWT ver 3.90, Jul 2005


WideStudio/MWT documents index | Table of contents

Copyright(C) WideStudio/MWT Development Team, 1999-2005 Last modified: Jul 31, 2005