Wide Studio Object Reference

Wide Studio Home
Up to


クラスの型

WSDtimer

メソッド関数仕様



WSGIappTimer 関数の説明

書式
WSDtimer* WSGIappTimer()
機能
アプリケーションにひとつ存在するタイマーの グローバルインスタンスを取得します。
処理
引数
なし。
返値
タイマーインスタンスへのポインタ
注意
この関数はグローバル関数であり、メンバ関数ではありませんので ご注意ください。 また、返されたポインタを開放してはいけません。
サンプル
addTriggerProc() を参照してください.



addTriggerProc 関数の説明

書式
long addTriggerProc(WStimerProc proc,WSCuchar rate,void* data)
機能
この関数でプロシージャを登録すると、指定された時間間隔後に 一度だけプロシージャが起動されます。
処理
引数
(in)WStimerProc proc 起動するプロシージャ
(in)WSCuchar rate 時間間隔識別子
(in)void* data プロシージャに引き渡されるデータ

rate で指定する時間間隔識別子
WS250MS 250 ms 後
WS500MS 500 ms 後
WS750MS 750 ms 後
WS1000MS 1000 ms 後
WS1250MS 1250 ms 後
WS1500MS 1500 ms 後
WS1750MS 1750 ms 後
WS2000MS 2000 ms 後
WS2250MS 2250 ms 後
WS2500MS 2500 ms 後
WS2750MS 2750 ms 後
中略 中略
WS19750MS 19750 ms 後
WS20000MS 20000 ms 後
返値
登録 ID
注意
WStimerProc は次の様に定義されています。
typedef void (*WStimerProc)(WSCuchar,void*);
下記の例では、例えば、イベントプロシージャ sample_event_procedure() が WSCvbtn の様なもので起動された場合、一秒後に timer_proc() がタイマーから呼び出され Hello! と表示するものです。
サンプル
                  
void timer_proc(WSCuchar clock,void* data){
//一回起動の場合は、clock パラメータは使用しません。
//data は、addTriggerProc() の第3パラメータが渡って来ます。
  WSCbase* object = (WSCbase*)data;
  object->setProperty(WSNlabelString,"Hello!");
}
void sample_event_procedure(WSCbase* object){
  //グローバルインスタンス関数 WSGIappTimer() で
  //タイマーインスタンスを取得します。
  WSDtimer* timer = WSGIappTimer();
  //1秒後に、timer_proc() プロシージャを起動させます。
  timer->addTriggerProc(timer_proc,WS1000MS,object);
}



addTimerProc 関数の説明

書式
long addTimerProc(WStimerProc proc,WSCuchar rate,void* data)
機能
この関数でプロシージャを登録すると、指定された時間間隔の 定周期でプロシージャが起動されます。
処理
引数
(in)WStimerProc proc 起動するプロシージャ
(in)WSCuchar rate 時間間隔識別子
(in)void* data プロシージャに引き渡されるデータ

rate で指定する時間間隔識別子
WS250MS 250 ms
WS500MS 500 ms
WS750MS 750 ms
WS1000MS 1000 ms
WS1250MS 1250 ms
WS1500MS 1500 ms
WS1750MS 1750 ms
WS2000MS 2000 ms
WS2250MS 2250 ms
WS2500MS 2500 ms
WS2750MS 2750 ms
中略 中略
WS19750MS 19750 ms
WS20000MS 20000 ms
返値
登録 ID
注意
WStimerProc は次の様に定義されています。
typedef void (*WStimerProc)(WSCuchar,void*);
下記の例では、例えば、イベントプロシージャ sample_event_procedure() が WSCvbtn の様なもので起動された場合、一秒毎に timer_proc() がタイマーから呼び出され、数字が カウントアップされていきます。
サンプル
                  
void timer_proc(WSCuchar clock,void* data){
//clock パラメータは 250MS 単位でカウントアップされます。
//時間経過を見るのに使います。 
//data は、addTimerProc() の第3パラメータが渡って来ます。
static int cnt = 0;
  cnt++;
  WSCbase* object = (WSCbase*)data;
  object->setProperty(WSNlabelString,cnt);
}
void sample_event_procedure(WSCbase* object){
  //グローバルインスタンス関数 WSGIappTimer() で
  //タイマーインスタンスを取得します。
  WSDtimer* timer = WSGIappTimer();
  //1秒後に、timer_proc() プロシージャを起動させます。
  timer->addTimerProc(timer_proc,WS1000MS,object);
}



delTriggerProc 関数の説明

書式
void delTriggerProc(long id)
機能
addTriggerProc() メンバ関数の返り値である登録IDを指定して、 登録したタイマープロシージャを解除します。
処理
引数
(in)long id 登録ID

返値
なし。
注意
プロシージャが起動された後に delTriggerProc() が 呼び出されても無視されます。
サンプル
                  
  long id = WSGIappTimer()->addTriggerProc(timer_proc,WS1000MS,object);
  //タイマーを解除するには、この id で解除します。
  long id = timer->delTriggerProc(id);



delTimerProc 関数の説明

書式
void delTimerProc(long id)
機能
addTimerProc() メンバ関数の返り値である登録IDを指定して、 登録したタイマープロシージャを解除して、定周期起動を 止めます。
処理
引数
(in)long id 登録ID

返値
なし。
注意
無効な登録IDは無視されます。
サンプル
                  
  long id = WSGIappTimer()->addTimerProc(timer_proc,WS1000MS,object);
  //タイマーを解除するには、この id で解除します。
  long id = timer->delTimerProc(id);


Document Release 2.0

For Use with Wide Studio Release 2.0, Spring 2002


Wide Stuido Home | Up to

Copyright(C) T. Hirabayashi, 1999-2002 Last modified: January 01, 2002