サクサク読めて、アプリ限定の機能も多数!
トップへ戻る
iPhone 16
filemaker-kou.seesaa.net
レッスン用エントリです。 スクリプトには定番の処理構造が色々ありますが、デフォルトでは用意されていません。この辺をひな型として使いやすくしておくと、とても無駄が減ります。自分が使っているひな型から、汎用的なものを挙げておきます。 なお、ひな型はこのエントリに随時追加し、通知します。 制御構造 ループ(変数カウンタを使用) スクリプトでループ処理を行う場合の基本形 変数を設定 [$num; 値:100] 変数を設定 [$i; 値:1] Loop Exit Loop If [$i > $num] # # 実行したい処理 # 変数を設定 [$i; 値:$i + 1] End Loop 動作 $i が1ループごとに1加算されるカウンタで、$num がループ回数です。 いわゆるforループ的なものになります。 注意 $num 数値として評価出来ない値を指定すると、無限ループとなるので注意が必要です。
FileMakerで「分離モデル」と呼ばれる設計は、何度か実践した経験から、強い要請が無ければ採用していません。最大の理由は、そこまでやるならFileMakerじゃなくていいじゃない、というもの。何か違う言語やフレームワークを習得した方が、余程目指す要求を満たせる筈。 そういう考えで切り捨ててきた分離モデルを、どうにも採用する必要のある案件が来ました。最近まともに検討していなかったし、FileMakerのバージョンの進展で改善もあるだろうから、もう一度分離モデルを頭から認識し直そうと思います。 まずは、Webで見つかる参考になりそうな情報源を、なるだけ集めました。 総論・入門 Key Concepts in FileMaker 7 ~Mapping New Territory~ FMProjp もう古いけれど、基本は今でも通じる、有名な文書。分離モデルの直接的な解説は無いけど、必要となる設
[sevensdoor.com]のイベント、第68回 すぐにver.11にアップデートしたくなるセキュリティの話 / 変数の使い方一覧集で、変数についての話題が取り上げられてました。 その中で「Let()に於ける変数定義時には$記号を用いない方が良い」という解説がされています。この点について、色んな場でこれまできちんと取り扱って来なかった、で、反省も兼ねて少しだけおさらいします。 FileMakerの変数は「$$のグローバル変数、$のローカル変数の2種類」とよく紹介されますし、自分でも過去にそう説明をしてきています。しかし実際には「$なしで宣言するLet()内で有効な変数」を加わわります。これら3種の変数にはスコープと寿命に違いがあり、マニュアルなどに書いてある解説だけではちょっと分かり難いです。 $$グローバル変数 この変数のスコープと寿命は、ファイルに依存します。ファイルとは、この変数
FileMakerのプラグインに、360Worksの開発提供している『ScriptMaster』という有名なものがあります。 このプラグインは、FileMakerにGroovyの実行機能を追加するもので、FileMaker単体ではほぼ不可能な、様々な処理を可能にします。 そのScriptMasterを少し使ってみて、幾つか要点も見えてきたので、メモしておきます。なお、ドキュメントきちんと読まずに書いてるので、公式アナウンスにはもっと良い情報があると思います。 ScriptMasterについて 元々、動作の不安定さや検証の手間、そしてコストの面から、FileMakerでのプラグインの利用にあまり関心がありませんでした。しかしScriptMasterを使ってみて、インハウスや個人的な範囲であれば、積極的に使っていこうと考えを改めました。 Groovyで処理が書けるという以外にも良い点は色々あり
以前『FMClipboardBroker』もどきをWindowsで作るでやりかけたまま放置していたFileMaker開発の補助ツールを、ひとまず使える所まで作りました。 FileMaker上でクリップボードに格納可能な要素をテキスト編集するツールで、株式会社キー・プランニングさんの『FMClipboardBroker』と同じようなものです。 自分の需要が復活したので久しぶりに試してみたら、えらくあっさり出来ました。Windowsでの開発で『FMClipboardBroker』が羨ましかったんですが、これでFileMakerのリファクタリングがうんと楽になります。 概要 FileMaker上でクリップボードに格納可能な各要素を、エディタで編集可能にした上で、再度FileMakerに取り込めるようセットする、というツールです。 『FMClipboardBroker』や『Clip Manager
メーリングリストの投稿を元に、データベースデザインレポート(DDR)から書き出したXMLファイルを、FileMakerに取り込み、定義や参照構造を閲覧するための仕組みを作っています。まだまだアルファ以下の状態ですが、必要な構成や処理の流れは確認できたので、現状をアップします。 ファイルのダウンロード 計算フィールドの計算式での、フィールドへの参照情報しか取り扱えませんが、現在の状態のファイルが以下からダウンロードできます。 DDRXMLReader.zip 展開すると、本体となるfp7ファイルと、XML読み込み用のXSLTファイルが入ったディレクトリがあります。これらの位置関係さえ壊さなければ、置き場はどこでも大丈夫な筈です。但しWindows XPでしか試していないので、別の環境ではパスの処理に失敗するかも知れません。 含まれるファイルは全てパブリックドメインとします。バグもあるでしょう
FileMaker Goがでてしばらく経ちますが、未だ使い込めていません。サンプルで付属した『Sample Inventory』があんまりなので、自分用に個人用途の在庫管理を作ってみていますが、レイアウトであれこれ悩んで、ロジックを組む前にちょっと止まっています。しかもiPhone版 / iPad版それぞれ購入しているのに、触っているのはiPhone版ばかり。 そんな状態ですが色々と感想もたまり、行きそびれたFileMakerPro Kyushu Users Meeting | FM Talkers Aug.2010 - みんなで触ろう FileMaker Go! -へネタ提供も兼ねて、現時点の気がついたことをまとめます。 なお、基本的にiPhone版をスタンドアロンで試した場合の情報です。サーバーなりのホストを通した場合や、iPad版では該当しない事もあると思います。 全体的な感想 多量
株式会社キー・プランニングさんから、FileMaker関連のデベロッパ向けユーティリティーが2つ公開されてます。 実用的に作られているようで、紹介見てると是非使いたいんですが、残念ながらMac用のみ。そこで、Windows環境用に似たツールを作ってみようと思います。かなり簡単に、基本部分まではたどり着きました。 公開されたツールは、Excelへの入力からFileMakerのテーブル定義を作成する『TableClipper』と、クリップボードを介して様々なオブジェクトのエディタ編集を可能にする『FMClipboardBroker』の2つです。 同じくクリップボード経由で入出力を行うmyFMbutlerの『Clip Manager』は、使い勝手が悪い上、無用に複雑なんで無視してたんですが、こちらのは実用的な作りな作りで、是非使ってみたくなりました。 しかし残念ながら、このツール類がインハウスの
強烈なデスマーチを終えて、久しぶりにFileMaker触ってます。 別件でGoogle App Engineを使っていて、ふと思い付いたので、GAEからFileMakerにアクセスするテストをしてみました。PyFileMakerを使います。 なお、公開可能なFileMaker Serverが手持ちになかったので、Google App Engineはローカルでの実行のみ試しています。どこかにオープンなFileMaker Serverがあったら試してみたいので、教えてください。 ライブラリを探す PythonからFileMakerへのアクセスは、確かそういうプロジェクトがあったなと思い、探してみました。 PyFileMaker 2.5 - FAMLog FAMLogにやや昔の記事が上がっていました。PyFileMakerという、FX.php同様、XML Web公開のコネクタです。現在はGoog
Windows版FileMakerで、印刷に異様な時間がかかるという方が度々いらっしゃいます。このブログ以外、まともにこの問題を取扱う場所が無いためか、「FileMaker 印刷 遅い」といったアクセスが、毎日10件前後あります。特に、印刷やデザイン業界のユーザーに多いのだろうと思います。 本来はきちんとまとめ記事を上げるべきですが、間に合っていないので、臨時的にこの記事を投稿しました。FileMakerのWindows版で印刷に異様な時間がかかっている方は、以下の記事を参考に、問題が解決する可能性があります。 [バグ] Windows版FileMakerで印刷に異常な時間がかかる 「印刷に異常な時間がかかる」の原因と再現について FileMaker全然関係ないです。 GoogleのApp Engine、SDK 1.7.2が出ました。バグフィックス中心で、新機能や変更は少なめ。 ざっくり訳
先頭に指定文字を含む行の抽出の続き。 MLにはその後も幾つか投稿があって、色々違う実現方法が提示されてます。FileMakerでループ的な処理を書く方法が並んでいて面白いので、まとめてみました。 カスタム関数で 給前さんが提示していた方法。FMPro.jp : カスタム関数 : GetKeyLine 関数で公開されています。 スクリプト以外のループといえば、まずカスタム関数による再帰が思い浮かびます。 FileMakerの計算式は関数型言語のそれに近いもので、文としてのループはありません。ループ的な処理は基本的に、再帰を使う事になります。再帰を使えば、後述の面倒なスクリプトや繰り返しフィールドを使わなくて済むので、とても強力です。 但し、カスタム関数に限らず、再帰の発生する計算式の場合、回数の上限という最大の問題があります。しかも書き方によって上限が変わってきます。 例えば以下の様に書くと
割合表現専用と言ってよく、値も強制的にパーセント表示されます。 唯一、複数の値を表現出来ません。指定しても無視され、先頭の値のみが描画されます。 指定したのみ分離して強調、といった指定もありません。実にシンプル。 円グラフの例 データの渡し方 チャートには、表現したいデータを渡す必要があり、3つの方法が用意されています。どの方法も、従来のFileMakerで行う集計の延長にあるものなので、既に集計済みの値を算出しているソリューションには、すぐに組み込めます。 対象レコード(Current Found Set) 一番解りやすい渡し方で、集計フィールドの結果を利用するのに向いています。 現在の対象レコードがチャートにデータとして渡されます。その際「Show data points for &groups of records when sorted」オプションが有効であれば、ソート済みのグルー
2012-10-09追記 印刷に異常な時間がかかる場合の対処について この記事の情報はやや古く、適切な対処などがわかりやすく掲載されていません。本来はきちんとまとめ記事を用意するべきですが、なかなかしっかりまとめ終わってません。でも「FileMaker 印刷 遅い」といったキーワードで毎日幾つかずつアクセスがあるので、せめて対処方法だけでも簡潔に掲載します。 原因(らしきもの) OSにインストールされた大量のフォント。少量でも、マシンスペックが低ければ影響が出る可能性あり。 対処方法 ※公式にアナウンスがあったわけでも、絶対的な確証があるわけでもないので、結果に責任はもてません。が、効果のあった方はそこそこいます。 可能な限りフォントを減らす。どうしても減らせない場合は、対象アプリケーション独自のフォント環境が無いか調べたり、以下の様なフォント管理ツールを利用する。 NexusFont:
このページを最初にブックマークしてみませんか?
『FileMakerを考える』の新着エントリーを見る
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く