Wide Studio Object Reference

| 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)
  機能
    この関数でプロシージャを登録すると、指定された時間間隔の 定周期でプロシージャが起動されます。
  処理
  引数

    (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.20
  For Use with Wide Studio Release 3.20, Winter 2002

  WideStudio Home | Up to

  Copyright(C) T. Hirabayashi, 1999-2002 |  | Last modified: Nov. 28, 2002