みんなに優しく、解りやすくをモットーに開設しています。 以下のルールを守りみんなで助け合いましょう。
1.ファイルメーカーで解らない事があればここで質問して下さい。 何方でも、ご質問・ご回答お願いします。 (優しく回答しましょう)
You are not logged in.
Pages: 1
施設の点検票データベースをファイルメーカーで作成しています。
点検写真を保存するオブジェクトフィールドが多数あり(点検写真1,2,3....など)、点検作業時はiPadを使用して
写真を撮影するための手順を最短にするために、オブジェクトフィールドに
スクリプトトリガ設定→OnObjectEnter→スクリプト実行
【スクリプト】
デバイスから挿入[タイプ: カメラ; カメラ: バック; 解像度: 大]
としています。
これで撮影は問題ないのですが、点検作業用写真なので、後から拡大表示して中身を確認する必要があります。
確認作業はPC画面上で行います。なので、
IF [ Get(デバイス)=3 ] ※3はiPadです
で、スクリプトを分岐させようと思ったのですが、画像を拡大させるスクリプトで行き詰まりました。
拡大画像表示用の新規レイアウト、そこに拡大画像表示用の新規グローバルオブジェクトフィールドを配置して、
①グローバルオブジェクトフィールドに画像を設定
②レイアウト切り替え
とやれば出来そうな気がするのですが、「スクリプトトリガ設定→OnObjectEnter」で呼び出されるスクリプト
であること、写真を格納するオブジェクトフィールドは多数あることから、どう処理していいかわかりません。
良い方法があれば、アドバイスをお願いいたします。
Offline
スクリプトトリガではなくボタンで良いのでは?
ただフィールドそのものをトリガやボタンに使ってしまうと本来の挿入メニューが使えません。
画像の入れ替えを考えてボタンで撮影とプレビューを選択しても良いかと思います。
ボタンバーやポップオーバーを利用すればレイアウトの面積も節約できます。
汎用的に使いたいのであれば、引数で Base64Encode した画像を渡し、
スクリプト内で Base64Decode すればプレビュー用のスクリプトやレイアウトは1つで済みます。
Get ( デバイス ) を使っているので FileMaker Pro 13 以降だと思いますが
ボタンバーは FileMaker Pro 14 以降で、Base64Encode は FileMaker Pro 13 以降で利用できます。
Offline
はい、ファイルメーカーのバージョンは14です。
ボタンだと、撮影対象のフィールドを指定する必要があると思いますが、これを避けたいと思っています。
(対象フィールドを明示的に指定しなくても、可能なのでしょうか?)
【レイアウト:施設A】
点検写真フィールド1、2、、、、、13
【レイアウト:施設B】
点検写真フィールド1、2、、、、、8
【レイアウト:施設C】
点検写真フィールド1、2、、、、、15
というように施設種類ごとにレイアウトが30近くあり、出来れば
「スクリプト内で対象フィールドを指定することなく、1つのスクリプトで」
①iPadから1クリックでカメラ起動 ②PCから画像プレビュー を実現したいです。
ボタンバー、ポップオーバーはまだ使ってみたことがありません。不勉強ですみません。
Offline
自己解決したので、書いておきます。
If [Get(デバイス)=3]
デバイスから挿入 [タイプ: カメラ; カメラ: バック; 解像度: 大]
Else
フィールド設定 [テーブル名::g拡大画像; Get(アクティブフィールド内容)]
変数を設定 [$$レイアウト名; 値: Get(レイアウト名)]
レイアウト切り替え [拡大表示用レイアウト]
End If
これで
①iPadでオブジェクトフィールドをクリックしたときは「カメラ起動」で即写真が撮れ
②PCでオブジェクトフィールドをクリックしたときは「画像を拡大表示」
が実現できました。
Offline
Pages: 1
[ Generated in 0.009 seconds, 11 queries executed - Memory usage: 508.81 KiB (Peak: 513.35 KiB) ]