0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

PowerApps 動的なコンテンツを作る際に必須な、タイマーについて

Posted at

PowerAppsで動的なコンテンツを作ろうと思ったら、タイマーが必須です。ほぼすべてのコントロールが、ユーザーの動作(OnSelectプロパティなど)による変化のみに留まるため、ユーザーの操作なしにコンテンツを動かすためには、タイマーコントロールによる制御が必要だからです。

たとえば、配置したオブジェクトを左から右に動かしたいと思っても、タイマーコントロールがなければ、ボタンを押した際にXの値を増加させるなどの方法により、ユーザーの操作に依存することなります。

そこでタイマーコントロールを使用し、OnTimerEndプロパティなどに処理を記入して、繰り返し実行することで、自動的に動いているように見せることができます。

たとえば、時計の表示についてもそうで、タイマーのTextプロパティに以下のように書いたとします。

Text(Now(),"hh:mm:ss")

一見問題なく見えますが、これをプレビュー表示すると表示した時間のままピクリとも動きません。
Textプロパティに書いただけでは現在の時間を更新してくれないからです。
この場合は、Textプロパティには以下のように変数を設定します。

Text(_Nowtime,"hh:mm:ss")

そして、タイマーのOnTimerEndプロパティもしくはOnTimerStartプロパティに

UpdateContext({_Nowtime:Now()})

と記入することで、タイマーが終わる(始まる)毎に、現在の時刻を取得してくれます。
タイマーの長さ(Duration)は、1000ミリ秒(1秒)にしておけば、毎秒更新してくれるので、時計としては十分機能を果たしてくれると思います。

また、初めに例としてあげた、オブジェクトを左から右に動かそうと思ったら
そのオブジェクトのXプロパティに変数を設定し

初期位置 + _move

タイマーのOnTimerEndプロパティもしくはOnTimerStartプロパティに

UpdateContext({_move: _move + 5});

と書くことで、オブジェクトの位置が右へと動いていきます。

応用次第で色んなことができるので、好きなコントロールの一つです。

0
1
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
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?