001-スクリプトトリガを自分なりにまとめた。
まいど。
ねみぃ。
FileMakerの新機能「スクリプトトリガ」ちょっとじってみた。
俺なりのまとめ。
■OnObjectEnter→クリックしたら動く
って書いたけど「さわったら動く」って感じ。
マウスだろうが、タブだろうが、そのフィールドにきたら動く。
…ってことは、スクリプトで移動した場合はどうなる?
■OnObjectKeystroke→キーが動いたら動く
こいつと似てるのが
■OnObjectModefy→一文字でも入力・削除されたら動く
こいつ。
うごきがとても似ているんだ。ぱっとさわると。
どこが違うかって言うと、key〜のほうは例えば「→」とか横キー動かしてもスクリプトが動く。
Modefyのほうは「→」でも動かないわけだ。
そうなるとKeyのほうはどういうシチュエーションで使うんだろう。
■OnObjectSave→フィールドを変更して、フィールドを出る時に動く
これも同じように
■OnObjectExit→フィールドを出る時に動く
ってのと似ている。
上記が「文字に対して」と考えるならこいつは「フィールドの値に対して」って感じ。
フィールドの値を変更したあとに他のフィールドに移動すると、その時は、SaveもExitも両方動く。
でも通り過ぎただけだと、Saveの方は動作しない。
(関係ないけど「君が〜通り過ぎた、後に〜 何が 残るだろう〜」って歌があった)
こいいつも、スクリプトでフィールドを移動した場合はどうなるんだろう?
■実用面で考えるとどうよ?
なんかのデモであったけど、日付を変更した時に
元の日付より若い日付だったら何もしないけど、先の日付になったら遅延のメールを送るか問い合わせるって動作があった。
この場合はスクリプトトリガを複数指定する必要があるんだろうな。
例えば、
フィールドに入った瞬間に、変数に元の日付をいれる。→OnObjectEnterっていう風にダブルで使うんだろうなぁ。
フィールドを変更して出る時にスクリプトで変数の日付と現在の日付を比較する。必要ならメール→OnObjectSave
ああ、今気がついたけど、スクリプトトリガの並び順は上から下に時系列になってるね。
上のトリガから実行される訳だ!
■FileMakerの面白いところ
プログラムが出来る人や、phpやMYSQLなどが触れる人には、FileMakerなんて意味ないって人もいるのかもしれない。
でも、FileMakerはFileMakerでやっぱり面白い。
印刷レイアウトに特化してるのも一つの特徴だしね。
なので、例えば
とあるフィールドに入って、キーが押されるたびに空メールを自分宛てに送り付けるとかそういうことが言語を書かずにできるわけだ。意味ないけど。
そんなのならものの3分でできる。
でもさ、ほんと入力のチェックを入力中、入力完了のタイミングでできるようになった。
これってオペレーターの入力を常にチェックできるって事だよね。
ってことはさ、サポート動作も出来るわけで、
ってことはさ、machineに不慣れな人とか、用はより素人な人に操作をお願いする事も出来るようになるわけさ。
わーーたのしいね。
俺は楽しい。色々アイディアがふくらむから。
やっぱ機能はさわんないと駄目だね!
まだまだがんばろう。
(そしていまだにevalate関数がつかえない俺。ははは)
Evaluate関数 - FAMLog
タグ【FileMaker】