FAMLog
Get(システムプラットフォーム)関数とWindows Vista
July 27, 2007
FileMaker Pro(バージョン7以降)の「Get(システムプラットフォーム)関数」は、現在のプラットフォームを示す数値を返します。
Windows Vistaの場合には、この関数の戻り値はWindows 2000およびWindows XPの場合と同様に「-2」となります。そのため、FileMaker Pro 7以降では、Get(システムプラットフォーム)の結果が-2である場合には、現在のプラットフォームはWindowsであると判定することができます。
一方、Mac OS Xにおいて、FileMaker Pro 8.5以降ではGet(システムプラットフォーム)関数は「-1」もしくは「1」を返します。現在のプラットフォームがMac OS Xであるか判定したい場合には、Abs(Get(システムプラットフォーム))の結果が1であるか確認することになります。
[関連]Get(システムプラットフォーム)関数(FAMLog)
FileMaker Pro 9はFileMaker Pro 7のファイルフォーマットを踏襲
July 26, 2007
FileMaker Pro 9のデータファイルフォーマットは、バージョン7、8および8.5のファイルフォーマットを踏襲しています。同じファイルフォーマットであるため、FileMaker Pro 9では、FileMaker 7およびFileMaker 8.xのデータベースファイルを変換することなくそのまま開くことが可能です。
ただし、FileMaker Pro 9では新しい機能や関数が追加されているため、FileMaker Pro 9の新機能を利用して作成されたデータベースファイルをFileMaker Pro 7(FileMaker Developer 7)やFileMaker Pro 8.x(FileMaker Pro 8.x Advanced)で開いた場合には、該当部分が正常に動作しないことが推測されます。
FileMaker Pro 9で開いたり、作成したデータベースファイルを、バージョン8.5以下のFileMaker Proを使ってレイアウトやデータベース定義に関連する部分を変更しないことが推奨されるでしょう。
Get(ファイルパス)関数
July 10, 2007
FileMaker Proの「Get(ファイルパス)関数」は、現在アクティブなデータベースファイルの場所を示す完全パスを返します。
Mac OS Xでは「file:/ボリューム/フォルダ/ファイル名」の形式で値が返ります。一方、Windows環境では、ローカルファイルの完全パスは「file:/ドライブ:/フォルダ/ファイル名」の形式で値が返り、リモートファイルの場合には、完全パスは「file://ボリューム/フォルダ/ファイル名」となります。
なお、Mac OS XにおいてFileVaultの機能を有効にしている場合と、その機能を利用していない場合では、返ってくる値が異なるので注意が必要です。
[Mac OS XでFileVaultを無効にしている場合の例]
file:/VOLUMENAME/Users/USERNAME/Desktop/FILENAME.fp7
[Mac OS XでFileVaultを有効にしている場合の例]
file:/USERNAME/Desktop/FILENAME.fp7
Get(システムバージョン)関数
June 28, 2007
FileMaker Proの「Get(システムバージョン)関数」をスクリプト内で使用すると、スクリプトを実行しているユーザーのコンピューターに搭載されているオペレーティングシステムのバージョンが返されます。
FileMaker Pro 7、8および8.5では、この関数の戻り値は下記のようになります。
・「5.0」:Windows 2000の場合
・「5.1」:Windows XPの場合
・「10.4.9」:Mac OS X v10.4.9の場合
なお、Windows Vistaでは、Get(システムバージョン)関数の戻り値は「6.0」となります。
IWP export
June 18, 2007
FMWebschoolが、FileMaker 7以降のインスタントWeb公開機能においてCSV形式のエクスポート機能を実現可能にするFileMakerプラグイン「IWP export」を2007年6月12日に発表しています。
FileMaker 7以降のインスタントWeb公開機能では、通常では[レコードのエクスポート]スクリプトステップはWeb非互換です。IWP exportが提供する外部関数を使用することにより、インスタントWeb公開でCSV形式のファイルをエクスポートすることが可能になります。
IWP exportは、FileMaker Server互換のプラグインであり、FileMaker Pro(バージョン7〜8.5)だけでなく、FileMaker Server Advancedと共に使用することも可能です。価格は1ライセンスあたり49.99ドルであり、Developer Licenseも用意されています。
FileMaker関数・スクリプト+α事典
May 01, 2007
FileMaker Proの関数やスクリプトの基本や応用事例を解説した書籍「FileMaker 8 Functions and Scripts Desk Reference」の翻訳書「FileMaker関数・スクリプト+α事典」が発売されています。
この書籍は、Scott LoveとSteve Lane、Bob Bowersが執筆した「FileMaker 8 Functions and Scripts Desk Reference」の邦訳版であり、バージョン8.5のFileMaker Proにも対応した内容となっています。
FileMaker Proの関数やスクリプトのみならず、カスタム関数やFileMaker Serverのfmsadminコマンド、およびXML文法も紹介されており、リファレンス書として活用できます。
定価:3,360円(税込)
サイズ:A5
ページ数:724
著者:Scott Love、Steve Lane、Bob Bowers
訳者:さかいなおみ
監修:茂田カツノリ
出版社:ラトルズ
ISBN:978-4-89977-176-0[Amazon.co.jpで購入...]
GetAsURLEncoded関数
March 27, 2007
GetAsURLEncoded関数は、FileMaker 8.5で追加された関数であり、URLエンコードされた文字列を返します。
[構文]
GetAsURLEncoded(テキスト)
[例]
GetAsURLEncoded("FileMaker Pro")の戻り値:FileMaker%20Pro
GetAsURLEncoded("関数")の戻り値:%E9%96%A2%E6%95%B0
この関数は文字コードUTF-8でURLエンコードされる仕様となっているので、その点は注意が必要です。
fmxslt:set_session_object関数の引数
February 22, 2007
「FileMaker Server 8 Advanced カスタムWeb公開ガイド」には、fmxslt:set_session_object関数の引数としてノードセットや論理値を指定できることが記載されていますが、実際にはノードセットおよび論理値を指定することはできません。
fmxslt:set_session_object関数に渡されるオブジェクトは文字列として解釈されるようになっています。オブジェクトが文字列に変換されない場合はセッションに値が保存されず、FileMaker XSLT拡張関数のエラーコードは10100(原因不明のセッションエラー)が設定されます。また、空の文字列やnullを使用してセッションオブジェクトを設定しようとしても、上記と同様のエラーコード10100のエラーが発生します。このことは、fmxslt:set_session_timeout関数の件と同様、「FMS Web お読みください.pdf」にて言及されています。
なお、セッションの変数を削除する場合には、fmxslt:remove_session_object関数を使用します。
fmxslt:set_session_timeout関数
January 30, 2007
FileMaker Server AdvancedのXSLTを使用したカスタムWeb公開において、セッションのタイムアウトを個別に設定する場合にはfmxslt:set_session_timeout関数を使用します。
fmxslt:set_session_timeout(セッション名, 有効期間)
バージョン7および8のカスタムWeb公開ガイドでは、セッションタイムアウトの有効期間の数字は「分単位」で指定すると記載されていますが、実際には「秒単位」で指定します。
なお、この関数を使用しない場合には、管理コンソールで設定されている「セッションタイムアウト」の設定が使用されます。
Evaluate関数
December 25, 2006
Evaluate関数は、FileMaker 7で追加された関数です。引数で指定した式を計算式とみなして評価します。
[構文]
Evaluate(式)
Evaluate(式; [フィールド1; フィールド2; フィールド3; ...])
引数には式(テキスト式またはテキストフィールド)だけでなく、オプションでフィールドの一覧を指定することもできます。この場合、引数で指定したフィールドのいずれかの値が変更されると、式が再評価されて結果が更新されます。
[例]
Evaluate("Get(タイムスタンプ)"; [フィールドB; フィールドC])
Evaluate関数は、応用次第でさまざまな活用が可能であり、使いこなすことができればかなり役立つ関数です。
[関連]第15回 FileMaker Fun Night! イベントレポート(Knockin' on Seven's Door)
(2021/03/07追記:リンク先のページがなくなっていたので、リンクを削除しました。)