FileMaker Go 単体でお絵かきアプリっぽいことやるテスト

2012年04月27日 00:06

外部のアプリを使わず、Go単体でお絵かきアプリっぽい事をやってみました。Webビューアとcanvasとdataスキーム使ってます。取り敢えずiPhoneのみ対応。

途中、馬鹿な思い込みをして「GoでGetLayoutObjectAttribute()がJSの結果を返さなくなってる」なんて嘘をTwitterで流してしまいましたが、指摘してもらえて助かりました。

ファイルはいつものようにパブリックドメインに置きます。.fmp12ファイルを直に置いてるので、無料のGo12が入ったiPhoneで開けば、そのまま起動できます。

ぎこちなさは色々あるけど、現状のGoだけでこういう遊びができるのが確認できた。次はbase64をどうにかファイルに持ってくる方法を考えないと。それにしてもGoはもっさり。サムネイルでも生成してやんないと、Webビューアのデコードに時間かかりすぎです。

Comment(0) | TrackBack(0) | 設計・作り方

Windows用FileMakerクリップボードリソース編集ツール『FMClipboardEdit』をver.12に対応

2012年04月10日 17:23

FileMakerからクリップボードに取得できるリソースを、テキストで編集するためのWindows用自作ツールFMClipboardEdit』を、FileMaker 12に対応させました。

動作には.NET Framework 4が必要です。ライセンスはいつも通りパブリックドメイン。ソースはカッコ悪いので配りませんが、実行ファイルは配ろうが売ろうが自由です。

なお、対応させたといっても、新しいレイアウトオブジェクトのフォーマット「Mac-XML2」と、自分がver.10止まりだったため放置していたカスタム関数のフォーマット「Mac-XMFM」を取り扱えるようにしただけです。

元々本当に最低限の機能しか無い上に、「Getで検出済のタイプしかSet出来ない」というしょーもないバグもあり、他にも問題があるかも知れないので、了承の上お使い下さい。

使い方はツール同様シンプルです。

  1. FileMakerからテーブルやスクリプトなどをコピー
  2. FMClipboardEditで「Get Clipborad」
  3. エディタ部にコピーしたリソースのXMLコードが入力される
  4. コードをいじる
  5. 「Set Clipborad」でクリップボードに書き戻す
  6. FileMakerに貼り付ける

コピー可能なリソースが限られるので、Advancedでないと活用しにくいかも知れません。Advancedであれば、大量のレイアウトオブジェクト生成や、ver.12でも対応していないTOの一括書き換えなど、便利なシーンが沢山あります。ver.12ではレイアウトオブジェクトがCSSでいじれるので、エディタのマクロなどもうまく使えば、色々楽ができるかも知れません。

ver.12が出て、しばらくはフォーマットも安定するだろうから、もうちょっと気を入れて、スニペット管理機能ぐらいは付けたいです。

Comment(0) | TrackBack(0) | FileMakerについて

ExecuteSQL()とかテーマとCSSとか

2012年04月09日 16:00

ExecuteSQL()

困った仕様も多そうだけど、List()やGetNthRecord()と同じく便利な状況もありそう。

マニュアルは相変わらずそっけなさ過ぎ。

どこかでドキュメントが出るんだろうけど、ざっと見て分かったのは以下。

  • "?"プレースホルダを使ったバインドが可能(値はオプションとなってる第4引数に指定)
  • クエリのターゲットはテーブルではなくTO(テーブル名ではエラー)
  • 返り値は単一のテキスト…(フィールドとレコードの区切り文字は任意で指定)
  • SELECTはJOINとかUNIONとか効くけど、INSERTとかダメ?
  • Evaluate()通して実行した場合、エラーコードに"8309"とか"8310"とか返るのはどうしたものか

返り値がテンポラリなTOとして使えるとかいう仕様だったら感動したんですが、FileMakerはFileMaker…。FileMaker Dictionary 関数(bidonさんの記事です)とか導入するか、長めのリテラル区切りにしないとダメ。

テーマとCSS

わかったこと。

  • スタイルのエンジンはwebkitベース
  • 独自のセレクタやプロパティが追加されてる
  • 組み込みのテーマが40個(うち5個がGo向け)
  • テーマは以下のファイルで構成
    • manifest.xml:定義ファイル
    • manifest_言語コード.xml:言語別定義ファイル(manifest.xmlにオーバーライド)
    • テーマ名.css:メインのスタイルファイル
    • テーマ名_言語コード.css:言語別スタイルファイル(manifest_言語コード.xmlで読み込み指定)
  • テーマからは画像なども読み込める
    • 組み込みは全てPNG
    • SVGとか他のフォーマットが使えるかは不明
  • 内容がテキストのファイルは全てUTF-8のBOM付き
  • 自前のテーマも\Themesに放りこめば認識される
  • テーマのコードを変更した場合、反映されるのに条件がある?
  • セレクタ
    • :droptarget とか :normal とかの独自擬似セレクタあり
    • .self とか .icon とか .inner_border とかのクラスもあり
  • プロパティ
    • text-shadow とか trasition とか無視されるプロパティいっぱい
    • box-shadowはなぜかFileMaker側UIから触らせないけど有効
    • width とか height とか float とか display とか持ってるけど挙動がはっきりしてないものもある

独自のセレクタやクラスは調査中。そのうちドキュメントは出るだろうから、それまでの繋ぎとして自分用に解析を進める。先々、テーマを作って共有できるサービスを作る予定。

その他

レスポンス

レイアウトエンジン変わったためか、描画が全体的にもっさりしてます。ver.7登場時にも言われてたみたいですが、今回も結構目に付く。ver.11で実用上問題なかった無理な描画も、12ではもっさりすぎて使えないかも。Evaluatorとか。これから最適化されるんでしょうか。

ヘルプの誤植

ローカライズを中華の人に外注したのか、「関数」を「函數」と表記している箇所が幾つもあります。厳密に言えば間違いとは言えないだろうけど、校正不足っぷりが嫌な感じ…。

バグ

すでに幾つか挙がってるみたい。でも探しにくい。

取り敢えずナレッジベースのRSSが取れるようになったのだけでも、昔よりはましか。

Comment(0) | TrackBack(0) | FileMakerについて

FileMaker Pro 12 レイアウトオブジェクトの内部コード

2012年04月05日 10:10

せっかく覗いたのでメモ。

コードはgistで貼ってるので、JavaScript動かないと見えません。ちなみにHTML扱いしたらハイライトしてくれた。


XML部分は従来とあんまり変わらないっぽい。見るべきはCSS部分で、多くの指定はWeb標準にあるもの。

独自指定はベンダープレフィクスとして「-fm-」付けていて、-fm-font-family(MS P明朝,shiftjis)なんていう面白いものも。"Self"セレクタによる自オブジェクトの扱いと、".inner_border"とかいうclassも面白い。

こういう構造であれば、FileMaker離れた独自のエディタ作って、クリップボード経由で放り込むのもあり得そう。


Comment(0) | TrackBack(0) | FileMakerについて

FileMaker Pro 12がリリースされました

2012年04月05日 00:35

待たせているお客さんもいるので早目にレビューしたいですが、時間取れなさそうなので、ひとまずめぼしいところをメモ。

Comment(0) | TrackBack(0) | FileMakerについて

IPAmj明朝とFileMaker

2012年03月27日 12:55

取り敢えずメモ。後でちゃんとやる。

戸籍や住基ネットワークの統一文字などを含めて6万字以上を収録した、IPAmj明朝。FileMakerでも学校や官公庁で異体字の取り扱いが問題になるケースがあるので、これが使えると幅が広がる。

問題はFileMakerが異体字セレクタに対応しているか。まず手元のWindowsXP + FileMaker 11 Advでは非対応。ipamjmを指定しても文字化け。後でOSXでも試すけど、Snow Leopardではどうなんだろうか。案件を考えると、Windows7でまず試さないとはいけない。

FileMakerの方は、11で試してないので何とも言えないけど、10と11でフォントのエンジンにそう違いがあるとは思えないので、FileMakerに新しいバージョンが出ないとダメか。

表示テストは、手軽にやるなら以下のサービスでコードを取得し、FileMakerに貼付け。

Windows環境であれば、上記サービスと同じ所の配布しているアプリケーションで、文字検索も可能。

それと、以下の記事にあるような、zshとかで生成でも良い。テストすべきコードがざっとわかってて、大量に処理するならシェルスクリプト書いた方が早い。

字形探しはGlyphWikiとかも。GlyphWikiやIVS検索の人にはほんと感謝。



※2012-03-28 追記
FileMakerって現時点でそもそもサロゲートペアには対応してたっけと思って試したらWinXP+FileMaker10で対応してた。OSX + 10はまだ試せてない。

Comment(0) | TrackBack(0) | 設計・作り方

モーダルなウィンドウを実現するには

2012年03月21日 15:49

レッスン用エントリです。

FileMakerでモーダルなウインドウを作る方法をまとめ、解説します。ただ、解りにくい箇所が多々あるので、今後見なおしていきます。

実際の解説は、今作りかけているFileMakerの解説サイト上に、試しに置いてみました。CMSはMODXで、今のところBootstrapをカスタマイズ無しに割り当てただけの、しょぼいサイトです。

Comment(0) | TrackBack(0) | レッスン用

タブパネルを使ったレイアウトオブジェクトの切替サンプル

2012年03月14日 20:32

FileMakerでは通常できない、入力に応じたコントロールの切替を、タブパネルを使って行うサンプルです。

使えるシーンは限られますが、丁寧なフォーム作りで役立つ場合があります。

Comment(0) | TrackBack(0) | 設計・作り方

「スクリプトを名前で実行」スクリプトステップが物凄く欲しい

2012年02月21日 13:18

もう、バインディングのためだけのしょうもないIf〜Else Ifや、使いまわせない制御構造を延々と修正して回るのは嫌です…。

以前、[要望] 「スクリプトを名前で実行」スクリプトステップという要望を書きましたが、再度、同じ要望を書きます。

今度はきちんとメリットを添えて、FileMaker社にも送ってみます。

続きを読む

Comment(1) | TrackBack(0) | 要望

スクリプトのひな型

2012年02月21日 12:09

レッスン用エントリです。


スクリプトには定番の処理構造が色々ありますが、デフォルトでは用意されていません。この辺をひな型として使いやすくしておくと、とても無駄が減ります。自分が使っているひな型から、汎用的なものを挙げておきます。

なお、ひな型はこのエントリに随時追加し、通知します。

続きを読む

Comment(0) | TrackBack(0) | レッスン用