ホーム > デベロッパ > BREW プログラミング入門 > BREW のタイマー > - 2 / 2 -

BREW のタイマー - 2 / 2 -

SFXDate クラス

SFXDate クラスは、日付、時刻、曜日を管理する SophiaFramework のクラスです。

SophiaFramework によるアプリ

ウインドウに現在の日付、時刻、曜日を表示します。

使い方

SFXDate クラスを使うと、時刻を指定したフォーマットの文字列に変換できます。

// タイマーハンドラ
CALLBACK_IMPLEMENT_SFXTIMER(MainWindow, OnTimerExpired)
{
    // 現在時刻の取得
    SFXDate date(SFXDate::CurrentDate());

    // 年月日を表示
    _label1->SetTitle(date.Format("YYYY/MM/DD"));
    // 時分秒を表示
    _label2->SetTitle(date.Format("hh:mm:ss"));
    // 曜日を表示
    _label3->SetTitle(date.Format("WEEK"));

    // responder のコンテント領域 (描画領域) を再描画する
    Invoke(SFXEvent(SREVT_RESPONDER_RENDER, SRP16_RENDER_INVOKE, false));

    // タイマーを設定
    _timer.Schedule(TIMER_INTERVAL);
    return;
}

タイマー

SFXTimer クラスは、SophiaFramework で簡単にタイマーを実装するためのクラスです。

通常 static 関数として宣言しなければいけないコールバック関数を、クラスメンバ関数であるかのように宣言することができます。

MainWindow::MainWindow(SFRApplicationPtr app)
    : SFRTitleWindow(app, app->GetContentWorld(), "SFTimerApp") static_throws
{
    //(略)

    //クラスメンバ SFXTimer _timer;

    //タイマクラスの初期化
    _timer.Set(CALLBACK_FUNCTION(OnTimerExpired));

    // TIMER_INTERVAL ミリ秒後に OnTimerExpired が呼び出される。
    _timer.Schedule(TIMER_INTERVAL);
}