0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

経過時間により伸びる棒

Posted at

PowerAppsでアプリを作っていると下の図の様に
経過時間により伸びる棒みたいなものを作りたくなりますよね。
そんな時はこうします。

image.png

まずは今の時間を継続的に取得する為に
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の単位も分として時間差を計算する。
それに適当な定数を掛ける事で任意の倍率で
棒を伸ばす事ができる。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?