PowerAppsでアプリを作っていると下の図の様に
経過時間により伸びる棒みたいなものを作りたくなりますよね。
そんな時はこうします。
まずは今の時間を継続的に取得する為に
Timerコントロール
を配置する。
単位時間ごと時間を取得したいので
例えば
1秒毎ならDurationプロパティを1000
、
1分毎ならDurationプロパティを60000
に
設定する。
次に
Repeatプロパティ
AutoStartプロパティ
をそれぞれtrue
とする。
さらに、OnTimerEndプロパティ
に
Set(glbNow,Now())
と入力して単位時間ごとに現在時刻を取得する。
ここで時間によって長さを変えたいコントロールを挿入
する。
(例えばLabelコントロールだったりRectangle(長方形)コントロール)
そのコントロール
のWidthまたはHeightプロパティ
に
下記の様にコードを入力します。
DateDiff(DateAdd(Today(),8,TimeUnit.Hours),
DateAdd(Today(),Hour(glbNow)*60+Minute(glbNow),
TimeUnit.Minutes
),
TimeUnit.Minutes
)
【解説】
DateDiffiの開始日には開始させたい時間を持ってきたいので
DateAddを使い、
日付:適当な日付(打ち消すための)
単位の数:スタートさせたい時間
単位:とりあえず時間
を指定
終了日も同様に
DateAddを使い、
日付:上記開始日と同じ日付
単位の数:今回は分を利用する為に現在時刻の時間x60+分
単位:分
DateDiffの単位も分として時間差を計算する。
それに適当な定数を掛ける事で任意の倍率で
棒を伸ばす事ができる。