 | | Wide Studio Object Reference
| |
クラスの型
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を指定して、
登録したタイマープロシージャを解除します。
- 処理
-
- 引数
-
- 返値
- なし。
- 注意
- プロシージャが起動された後に delTriggerProc() が
呼び出されても無視されます。
- サンプル
-
long id = WSGIappTimer()->addTriggerProc(timer_proc,WS1000MS,object);
//タイマーを解除するには、この id で解除します。
long id = timer->delTriggerProc(id);
delTimerProc 関数の説明
- 書式
- void delTimerProc(long id)
- 機能
- addTimerProc() メンバ関数の返り値である登録IDを指定して、
登録したタイマープロシージャを解除して、定周期起動を
止めます。
- 処理
-
- 引数
-
- 返値
- なし。
- 注意
- 無効な登録IDは無視されます。
- サンプル
-
long id = WSGIappTimer()->addTimerProc(timer_proc,WS1000MS,object);
//タイマーを解除するには、この id で解除します。
long id = timer->delTimerProc(id);
Document Release 3.00 For Use with Wide Studio Release 3.00, Summer 2002 Wide Stuido Home | Up to Copyright(C) T. Hirabayashi, 1999-2002 | | Last modified: June 10, 2002 | |