Wide Studio Object Reference

Wide Studio Home
Up to


クラスの型

WSDtimer

メソッド関数仕様



WSGIappTimer 関数の説明

書式
WSDtimer* WSGIappTimer()
機能
アプリケーションに1つ存在するタイマーの グローバルインスタンスを取得します。
処理
引数
なし。
返値
タイマーインスタンスへのポインタ
注意
この関数はグローバル関数です。 返されたポインタを解放してはいけません。
サンプル
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)
機能
タイマ処理関数を登録する関数です。この関数で登録された タイマ処理関数は、指定した時間間隔で定周的に起動されます。 登録したタイマ関数の起動を停止したい場合は、 delTimerProc 関数を用います。
処理
引数
(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 3.70

For Use with Wide Studio Release 3.70, Spring 2004


WideStudio Home | Up to

Copyright(C) WideStudio Development Team, 1999-2004 Last modified: May. 25, 2004