今から父になるから俺の悩みを聞いてくれ。

子ども産まれるんで育児とか生き方について書きます。映画とか心理学とかITとかの趣味についても書きます。

FileMakerの勉強 vol.7(第11章)

どもっす勉強する。

 

  『FileMakerMasterBook 初級編』第11章(スクリプトの実行)

ここからはスクリプト。ってなんなのかというと、なんだろ、一言で言えば機能のことだ。例えばはてなブログとかでも、画面上部のヘッダー部分に色々ボタンが付いてて、押すと画面が切り替わったりする。そういう機能をスクリプトによって追加できる。

FileMakerスクリプト

一般的なWEBサイトのそういう機能はPHPとかJavaScriptとかで(たぶん)作られている。じゃあFileMakerはどんな言語で機能を持たせるんですか、というと専用のやつがある。

名前が付いてんのかしらないが、FileMakerにはスクリプトを書く画面が用意されててそこでスクリプトを作成可能だ。少し書いてみたが、関数? 的なものが全て日本語で表現されているらしく、まあ使いやすい。

こんな画面。

f:id:MaximoNelson49:20171003192033j:image

画像が見づらくて大変恐縮だが、右側にたくさんの三角形がついてる一覧がある。これが選択できるスクリプトであり、これらの機能を組み合わせて、実現させたい機能を作る、というわけだ。

また、一応これもプログラミングなので、分岐や繰り返しといった処理も可能である。

 スクリプトの実行

機能を作っても、その機能を実行させられなければ使いようがない。テキストにはそこらへんのことも書いてあった。

「何を起因にスクリプトを実行するか」については、大きく3つあるそうだ。

①ファイルのスクリプトトリガ

特定のFileMakerファイルを開けた時に処理が走る。

②レイアウトのスクリプトトリガ

特定のレイアウトを開いた時に処理が走る。

③レイアウトオブジェクトのスクリプトトリガ

 特定のレイアウトオブジェクト(ボタンとか、フィールドとか)がアクティブになったとき、処理が走る。

こういう何かのイベント(ボタン押すとか)によって処理が走るプログラミング言語イベントハンドラ(イベントで制御する)言語って言ったりする。PHPとかJavaScriptとかもたしかイベントハンドラ言語で、まあスクリプト言語ってイベントハンドラなのかもね。ここらへんは適当言ってます。

スクリプトからスクリプトを呼ぶ

システム作ったりしたことある人ならすぐ分かると思うけど、スクリプトから別のスクリプトを呼び出すことも可能だ。

例えば①一から十までの要素を合計してフィールドAに設定するというスクリプトと、②一から十までの要素を合計してフィールドBに設定するというスクリプトを書きたいとする。

このとき、一から十までを合計するってのはスクリプト①②に共通する処理だ。スクリプト①②の作成時にいちいち書くより、一から十までを合計するって処理をスクリプト③として独立させ、スクリプト①②を作るときにスクリプト③を呼び出すほうが楽だ。

んで、処理がより複雑になるほど、こういうことは増える。またこのような共通化を目指さずとも、単にスクリプトが長大になることを嫌ってスクリプトを機能ごとに分けることもある。

 

第11章はこんな感じ。やっと開発らしいところまできた。次も引き続きスクリプトだ。