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() の第３パラメータが渡って来ます。
        WSCbase* object = (WSCbase*)data;
        object->setProperty(WSNlabelString,"Hello!");
      }
      void sample_event_procedure(WSCbase* object){
        //グローバルインスタンス関数 WSGIappTimer() で
        //タイマーインスタンスを取得します。
        WSDtimer* timer = WSGIappTimer();
        //１秒後に、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() の第３パラメータが渡って来ます。
        static int cnt = 0;
          cnt++;
          WSCbase* object = (WSCbase*)data;
          object->setProperty(WSNlabelString,cnt);
        }
        void sample_event_procedure(WSCbase* object){
          //グローバルインスタンス関数 WSGIappTimer() で
          //タイマーインスタンスを取得します。
          WSDtimer* timer = WSGIappTimer();
          //１秒後に、timer_proc() プロシージャを起動させます。
          timer->addTimerProc(timer_proc,WS1000MS,object);
        }

  ### delTriggerProc 関数の説明

  書式
    void delTriggerProc(long id)
  機能
    addTriggerProc 関数の返り値である登録ＩＤを指定して、 登録したタイマ処理関数を解除します。
  処理
  引数

    (in)long id | 登録ＩＤ

  返値
    なし。
  注意
    プロシージャが起動された後に delTriggerProc() が 呼び出されても無視されます。
  サンプル

          long id = WSGIappTimer()->addTriggerProc(timer_proc,WS1000MS,object);
          //タイマーを解除するには、この id で解除します。
          long id = timer->delTriggerProc(id);

  ### delTimerProc 関数の説明

  書式
    void delTimerProc(long id)
  機能
    addTimerProc 関数の返り値である登録ＩＤを指定して、 登録したタイマ処理関数を解除します。
  処理
  引数

    (in)long 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