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); }
記事掲載プログラムのソースコード
SophiaFramework UNIVERSE を使用して作成したソースコード
timerapp_sf.zip (SophiaFramework UNIVERSE 5.1)