業務ハックLab -とある情シスの備忘録-

とある情シスの備忘録的なものです。

【スポンサーリンク】

タイムキーパーアプリを作ってみた

皆さんこんにちは。
業務ハックLabのよーよんです。

本日はPower Appsでタイムキーパーアプリを作ってみたので、その作り方について書いていきたいと思います。

タイムキーパーアプリって?

f:id:yo-yon:20210628182509p:plain
はい、まずタイムキーパーアプリって何?って思われる方もいらっしゃると思いますが要はプレゼンなどの発表時間を設定して、時間を視覚+聴覚でお知らせするアプリです。
LTなどの発表は時間が決められていますが気づいたら時間オーバーなんてこともあります。
それを防ぐために、アプリ上でカウントダウンを表示し、かつ既定の持ち時間の半分を過ぎたらベルを鳴らし、終了時間になったらもう一回鳴らすといった作りのものになっています。

タイムキーパーアプリの作り方

それでは早速作り方に行ってみしょう!
今回はPower Appsで新規アプリ作成画面を立ち上げたところから説明を開始しますね。

  1. Screenの「OnVisible」に変数を代入します。
    ここではUpdateContext関数を使用して変数を設定します。
    各変数ですが下記のコントロールで使用します。
    変数名 関連コントロール 用途
    varTimerS Timer1のStartプロパティ Timer1のStartプロパティのコントロールに使用します
    varTimerOverS Timer2のStartプロパティ Timer2のStartプロパティのコントロールに使用します
    varSLabel Notes01_LのVisibleプロパティ Notes01_LのVisibleプロパティのコントロールに使用します
    varTimerV Timer1のVisibleプロパティ Timer1のVisibleプロパティのコントロールに使用します
    varTimerOverV Timer2のVisibleプロパティ Timer2のVisibleプロパティのコントロールに使用します
    それぞれStartプロパティやVisibleプロパティに変数を代入することで動的に開始や可視不可視のコントロールができるようになります。

  2. 画面へ下記コントロールを配置します。
    コントロール コントロール 用途
    ラベル TimerTime_L プレゼン、LT時間の入力欄を解りやすくするため配置
    テキスト T_Time プレゼン、LT時間を入力
    ラベル Minute_L 時間の単位(分)を解りやすくするため配置
    タイマー Timer1 カウントダウン用に使用
    タイマー Timer2 終了時間オーバーした際のカウント用に使用
    ボタン Strat_B カウントダウンを開始するために使用
    ボタン Stop_B カウントダウンを一時停止するために使用
    ボタン Reset_B カウントダウンをリセットするために使用
    オーディオ Audiohalfway 時間の半分が経過した際にベル音を鳴らすために使用
    適当な音源を拾ってきて割り当てしてください
    オーディオ AudioEnd 時間が終了した際にベル音を鳴らすために使用
    適当な音源を拾ってきて割り当てしてください
    アイコン Icon1~Icon5 時間の経過を解りやすくするために使用
    ラベル Notes01_L 注記のラベルを表示するために使用(カウントダウン開始前)
    ラベル Notes02_L 注記のラベルを表示するために使用(カウントダウン開始後)
  3. 「Timer1」の設定を行います。
    プロパティ 設定値 説明
    Text 下記参照 Textプロパティはタイマーの表示形式を決めるところです。
    今回はカウントダウンする形式にします。
    Duration T_Time*60*1000 Durationプロパティはタイマーの時間を決めるところです。
    単位はミリ秒にです。
    Start varTimerS Startプロパティはタイマーのスタートをコントロールするところです。
    trueになることで開始されます。
    OnTimerEnd 下記参照 OnTimerEndプロパティはタイマー終了時のアプリへの挙動を設定できます。
    今回は変数の値を変更します。
    Visible varTimerV Visibleプロパティは可視不可視のコントロールを設定できます。
    trueが可視、falseで不可視になります。
  4. 「Timer2」の設定を行います。
    プロパティ 設定値 説明
    Text 下記参照 Textプロパティはタイマーの表示形式を決めるところです。
    Timer2はカウントアップする形式にします。
    Start varTimerOverS Startプロパティはタイマーのスタートをコントロールするところです。
    trueになることで開始されます。
    Visible varTimerOverV Visibleプロパティは可視不可視のコントロールを設定できます。
    trueが可視、falseで不可視になります。

    Startプロパティに「varTimerOverS」、Visibleプロパティに「varTimerOverV」設定することでTimer1の終了時にonTimerEndでそれぞれの値が「true」に変わるため、自動的にタイマースタートと可視状態になるといった動きをつけることができます。

  5. 「Strat_B」の設定を行います。
    プロパティ 設定値 説明
    OnSelect 下記参照 OnSelectプロパティは選択した際のアプリへの挙動を設定できます。
  6. 「Stop_B」の設定を行います。
    プロパティ 設定値 説明
    OnSelect 下記参照 OnSelectプロパティは選択した際のアプリへの挙動を設定できます。
  7. 「Reset_B」の設定を行います。
    プロパティ 設定値 説明
    OnSelect 下記参照 OnSelectプロパティは選択した際のアプリへの挙動を設定できます。
  8. 「Audiohalfway」の設定を行います。
    プロパティ 設定値 説明
    Start 下記参照 Startプロパティはオーディオのスタートをコントロールするところです。
    trueになることで開始されます。
    Visible false Visibleプロパティは可視不可視のコントロールを設定できます。
    trueが可視、falseで不可視になります。

    Startプロパティにこの設定をすることでTimer1のDurationが半分になるとAudiohalfwayが開始されるといった動きにできます。

  9. 「AudioEnd」の設定を行います。
    プロパティ 設定値 説明
    Start 下記参照 Startプロパティはオーディオのスタートをコントロールするところです。
    trueになることで開始されます。
    Visible false Visibleプロパティは可視不可視のコントロールを設定できます。
    trueが可視、falseで不可視になります。

    Startプロパティにこの設定をすることでTimer1のDurationが0になるとAudioEndが開始されるといった動きにできます。

  10. 「Icon1~Icon5」の設定を行います。
    Visible 下記参照 Visibleプロパティは可視不可視のコントロールを設定できます。
    trueが可視、falseで不可視になります。

    上記設定をすることで持ち時間を等分して経過時間ごとに表示されるような動きをつけることができます。

  11. 「Notes01_L」の設定を行います。
    Visible varSLabel Visibleプロパティは可視不可視のコントロールを設定できます。
    trueが可視、falseで不可視になります。

    Visibleプロパティに変数「varSLabel」を設定をすることでStrat_Bクリック時に「varSLabel」の値が「false」になり本ラベルが不可視状態になるといった動きをつけることができます。

  12. 「Notes02_L」の設定を行います。
    Visible 下記参照 Visibleプロパティは可視不可視のコントロールを設定できます。
    trueが可視、falseで不可視になります。

    Visibleプロパティにこの設定をすることでTimer1のDurationが0になると可視状態になるといった動きをつけることができます。

あとはお好みで背景やタイトルをつければ完成です。
実際の動きはこんな感じ。

ふと思ったけど、これポモドーロ・テクニックにも応用できそうですね。
何はともあれ作成自体は一から作り始めて1.5時間くらいで完成しました。
このアプリはデータベースなどを一切使ってないのでPower Appsに慣れていない方でも作れると思います。
是非是非作ってみてください。
それでは皆さん良い業務ハックライフを~


免責事項