ホーム -> ラボ -> Tech -> FileMakerTips:インターバルを置いて初期画面へ戻る

ラボ

2013.04.25
FileMakerTips:インターバルを置いて初期画面へ戻る

前の記事「iCADEとFilemakerGOの連携例」は実際に納品先のあるソリューションの途中の状態を一般化してご紹介したものです。で、実際の設置には、細かい調整が入ります。ここでは、一人の操作が終わった後インターバルを置いて初期画面へ戻る方法についてご紹介します。

概要解説

科学館の展示も企業で使用するシステムにも「初期画面」というものが存在します。一通りの操作を終えたら、初期画面に戻るというのは普通に望まれるものですね。
C#などのプログラム言語や、ActionScript 3.0などのスクリプト言語にはきちんとそれを管理するための関数などが用意されています。しかし、FileMakerはデータベース。「スクリプト」なるものはありますが、プログラム言語やスクリプト言語のそれほど多彩に用意されているわけではありません。

ここでは、少し力業にはなりますが、ユーザーの操作をきっかけ後、インターバルを置いて一度きり実行させるスクリプトの作り方を紹介します。

■サンプルファイル
サンプルファイル

使い方

たぶん、サンプルを見てもらえば「なんだー」と一発で分るくらい簡単なスクリプトの組み合わせです。 でも、FileMakerは発想がイノチ!知っていると知らないでは出来上がりに大きな差がでますよね。


○ファイル構成
a)元のファイル.fp7
 含まれているスクリプトは2つ
 1)count10を呼ぶ

 ※このcount10のopenスクリプトの引数にインターバルの秒数を指定しておきます。

 2)動かしたいスクリプト

 ここには、指定したインターバルの後に実行したい処理内容を用意しておきます。ここでは単純にレイアウトを切り替えているだけですが、通常は値を初期値に戻したりする内容が並ぶのではないでしょうか?

b)count10.fp7
 含まれているスクリプトは2つ
 1)open

 ※OnTimerスクリプトをインストールすると、指定の間隔で毎回スクリプトが呼ばれます。なので、OnTimerスクリプトはゲームで言う毎フレームで描画更新を行うというずーっと処理し続けるものが適しています。
 今回は1度だけ実行してそのあとはStopさせたいので、別ファイルでこのスクリプトを呼ぶようにしています。
 秒数の指定を Get( スクリプト引数 ) にしているので、元のファイルで引数の数値を変更すればこの待ちの時間も変化します。

 2)timerStart

 一度だけ実行したいものなので、元のファイルのスクリプトを呼んだら、自分自身は閉じておきます。
 これによって、ユーザーの操作をきっかけにしたスクリプトを一度だけ発動できます。

目から鱗が一枚くらい落ちたかな?
みなさんのFileMakerライフがもっと便利に、もっと素敵になりますように♪

このページを編集する(内部専用)