CodeZine(コードジン)

特集ページ一覧

FileMaker Pro Advancedの強力なデバッグツール

ITエンジニアのためのFileMaker講座 第6回

  • LINEで送る
  • このエントリーをはてなブックマークに追加
2009/06/19 14:01
目次

データビューアの使い方

 データビューアには上部の「現在」と「監視」というタブを切り替えることで、現在のスクリプトで使用しているフィールド以外の値も参照することができます。また計算式を入力して直接結果を確認することができます。

図09 データビューアの監視タブの、プラスマークのボタンをクリックすることにより、フィールド名や変数また計算式を入力する[式の編集]ダイアログが表示されます。
図09 データビューアの監視タブの、プラスマークのボタンをクリックすることにより、フィールド名や変数また計算式を入力する[式の編集]ダイアログが表示されます。
図10 [式の編集]ダイアログで入力する値は、直接タイプすることもできますが、フィールド名のリストから監視するフィールドを指定したり、また、スクリプトで指定している計算式と同じ式を指定するといったことができます。
図10 [式の編集]ダイアログで入力する値は、直接タイプすることもできますが、フィールド名のリストから監視するフィールドを指定したり、また、スクリプトで指定している計算式と同じ式を指定するといったことができます。
図11 入力した式はリスト上に表示され、スクリプトデバッガでステップを進めている間、同時にその値の変化を監視することができます。
図11 入力した式はリスト上に表示され、スクリプトデバッガでステップを進めている間、同時にその値の変化を監視することができます。

 リストの式を編集するときは、式を選択し鉛筆マークボタンをクリックするか、直接式をダブルクリックして[式の編集]ダイアログに式を表示します。

 一度登録した式は、データビューアを閉じても入力した式は消去されないので、監視を継続することができます。そして、監視が終了したものから削除ボタンで削除します。

スクリプト作成のポイント

 ここで少し、本格的なスクリプト作成には欠かせないポイントを紹介します。

計算結果を一時的に保管するには

 計算結果を他の計算式で使用するため一時的に保管する場合には、変数を使用します。変数は[変数を設定]ステップで作成できます。また、変数には「$count」や「$item」のように「$」で始まるローカル変数と、「$$user」や「$$account」のように「$$」で始まるグローバル変数があり、保管された値のクリアのタイミングが違います。ローカル変数の場合はスクリプト終了時にクリアされ、グローバル変数の場合はファイルが閉じられた時にクリアされます。

図12 ローカル変数「$window」を作成し現在のウインドウ名をセットします。
図12 ローカル変数「$window」を作成し現在のウインドウ名をセットします。

スクリプトに値を渡すには

 ボタンをクリックして実行するスクリプトに引数を渡すには、[スクリプト指定]のスクリプトパラメータで指定します。引数の指定は、数字やテキストといった固定値や、フィールド名や計算式により状態が変化する値で行えます。また呼ばれたスクリプト側ではGet ( スクリプト引数 )関数を使用し値を受けとることができます。

図13 引数をスクリプトパラメータで指定します。
図13 引数をスクリプトパラメータで指定します。
図14 スクリプト中ではGet ( スクリプト引数 )関数で取得します。
図14 スクリプト中ではGet ( スクリプト引数 )関数で取得します。

スクリプトの実行結果を取得するには

 呼ばれたサブスクリプトでは実行結果を[現在スクリプト終了]ステップの引数にセットします。また元のメインスクリプトではGet ( スクリプトの結果 )関数で取得します。

修飾キーの種類を調べるには

 ボタンのクリック時に、「Ctrl」や「Shift」といった修飾キーを押しているかどうかを、呼ばれたスクリプト側で検出することができます。Get ( アクティブ修飾キー )関数により「Shift:1」「Ctrl:4」「Alt:8」などの修飾キーを数値で区別します。

 例えば、「Shift」と「Ctrl」が同時に押された場合は「5」となり複数押されている場合は合計した値となります。

 ちなみにスクリプトトリガで指定されたタイミングで修飾キーを検出するにはGet ( トリガ修飾キー )関数を使用します。

指定回数の処理を繰り返すための記述方法は

 繰り返しの処理では[Loop]から[End Loop]までのステップが繰り返し実行されます。また[Exit Loop If]ステップで指定された条件に一致するまで繰り返し実行されます。

図15 「$i」が「$max」より大きい場合、繰り返しの処理は終了します。
図15 「$i」が「$max」より大きい場合、繰り返しの処理は終了します。

まとめ

 今回はFileMaker Pro Advancedの「スクリプトデバッガ」と「データビューア」を中心に紹介しましたが、まだまだご紹介できない「カスタム関数の作成機能」や「メニューのカスタマイズ」などさまざまな機能が搭載されています。開発効率がアップするためにもFileMaker Pro Advancedを選択することをお進めします。



  • LINEで送る
  • このエントリーをはてなブックマークに追加

あなたにオススメ

著者プロフィール

  • 新居 雅行(ニイ マサユキ)

     テクニカルライター、デベロッパー、コンサルタントとして、Mac OS X、iPhone、FileMakerを中心に活動している。近著には「新 リレーションで極めるFileMaker」(共著/ラトルズ)、 「FileMaker Server大全」(ラトルズ)、「Mac OS Xシステム管理」(ラトル...

  • 西村 早苗(ニシムラ サナエ)

     メインフレームを利用した基幹業務のシステム設計やプログラムを経験、その後、1987年にファクトリーを設立。当時より、HyperCard、4th Dimension、dBase、FileMakerといったデータベースを利用したシステム開発やコンサルティング、執筆、トレーニングなどを担当。著書には、「...

バックナンバー

連載:ITエンジニアのためのFileMaker講座

もっと読む

All contents copyright © 2005-2021 Shoeisha Co., Ltd. All rights reserved. ver.1.5