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?

More than 1 year has passed since last update.

FileMakerでプログレスバー

Last updated at Posted at 2021-11-22

はじめに

FM-1グランプリでの予選第3回レビューで、FM-SCのプログレスバー機能について「ここだけのモジュールとかあると」と、ご示唆をいただいたので、プログレスバーの部分のみ残したファイル(モジュールと言えるのか?)を作成してみました。

実際の動き

20211121_ProgressBar.gif

解説

サンプルファイルを見れば分かると思いますが、簡単な解説。

  • 0から100までの自然数でプログレスを表すグローバル変数($$PROGRESS)を用意。
  • 100個の繰り返しを持つ計算値のグローバル繰り返しフィールドを作成。
    • 計算値は「Get ( 計算式繰り返し位置番号 )」。
  • 条件付き書式を設定。Selfが$$HEAD.OF.PROGRESS.BARと$$TAIL.OF.PROGRESS.BAR変数の間の値を取る際には、背景色を変える。

あとは、$$HEAD.OF.PROGRESS.BARと$$TAIL.OF.PROGRESS.BAR変数を適宜設定するようにすれば、プログレスバーっぽくなる。単純にプログレスをゼロから増加させるだけなら、$$TAIL.OF.PROGRESS.BARをゼロに固定して、$$HEAD.OF.PROGRESS.BARだけ100までカウントさせればよい。

上記3つを含めたすべてのグローバル変数の管理方法についてはこちらの記事を参照してください。

導入の仕方

  1. サンプルファイルから"f_ProgressBar.number"フィールドを、コピーし、導入先のテーブルにペースト。
  2. サンプルファイルから、~~AppSpecificFunctions~~にある、Set、Get関数をインポートする(全部で10個)。
  3. サンプルファイルのレイアウトから、該当オブジェクト(繰り返しフィールド)をコピーし、導入先のレイアウトへペーストする。

実際には、導入先システムに合わせてプログレスを評価する必要があるので、思い通りに動かすには、もう少し手間がかかる。サンプルファイルでの設定を参考にして欲しい。サンプルファイルではループ処理で繰り返し評価させているが、OnTimerスクリプトでもよいかも知れない。

サンプルファイル

GitHubからダウンロードできます。

アカウントはadmin、user、fm1の3つが用意されており、いずれのパスワードもアカウントと同じです。
いずれのアカウントも完全アクセスにしてあります。
ファイルオプションでuserでログインするようにしてあります。

FM-SCの最新版はこちらから。

謝辞

FM-1グランプリでいただいたレビューを理由に、当サンプルファイルを作りましたが、プログレスバーはFM-SCで試しながら作っていたので、FM-SCではそこまで待ち時間ができないこともあり、プログレスバー自体をゆっくり眺めることがありませんでした。このサンプルファイルを作って、その点はとても満足しました。FM-1グランプリに感謝。
出来ているレベルが段違いに高いけど、これを見て、繰り返しフィールドでプログレスバーいけんじゃない? と思いました。先人達の投稿に感謝。

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?