初心者のFileMaker pro Q&A (旧掲示板)

みんなに優しく、解りやすくをモットーに開設しています。 以下のルールを守りみんなで助け合いましょう。

1.ファイルメーカーで解らない事があればここで質問して下さい。 何方でも、ご質問・ご回答お願いします。 (優しく回答しましょう)

You are not logged in.

Announcement

新しい掲示板は、こちら:https://fm-aid.com/forum/t/filemaker


#1 2017-02-14 00:08:59

ちゅめ
Guest

filemaker goでのiphoneとipadの判別について

昨日質問したのですが、質問内容が違ってきたので別タイトルで投稿致しました。
ちなみに昨日は「iPhoneで使用した場合、上部ナビゲーションのレイアウトが収まらない」で質問しました。
色々と調べましてGet ( システムプラットフォーム )を使用してiphone用にレイアウトを作り、起動時にPCとiphoneで別レイアウトを自動で表示する事が出来ました。

今度はさらにiphoneとipadを判別したいのですが、自分で試した所ipadでもiphone用レイアウトが表示されてしまうのでどうしたらよいか教えて頂きたいです。

今のスクリプトを記載しておきます。
If 〔Get(システムプラットフォーム)=1〕
      レイアウト切り替え〔「Web用」〕
Else If 〔Get(システムプラットフォーム)=3〕
      If 〔PatternCount ( Get ( アプリケーションバージョン ) ; "Go_ipad" ) 〕
      レイアウト切り替え〔「ipad用」〕
     Else If  〔PatternCount ( Get ( アプリケーションバージョン ) ; "Go" ) 〕
      レイアウト切り替え〔「iphone用」〕
     End If
Elese
    現在のスクリプト終了
End If
とやっています。
正直見よう見まねでやってみたのでご指摘頂ければと思います。

宜しくお願い致します。

使用はMacでFilemaker Pro アドバンス14を使用しています。

#2 2017-02-14 09:24:10

Shin
Member

Re: filemaker goでのiphoneとipadの判別について

エミュレータを使っている等の特殊な状況を除いて、MacOS や Windows で Get ( アプリケーションバージョン )  が  "Go_ipad"、”Go" を返す事は無いので、
If 〔Get(システムプラットフォーム)=1〕
      レイアウト切り替え〔「Web用」〕
Else If 〔PatternCount ( Get ( アプリケーションバージョン ) ; "Go_ipad" ) 〕
      レイアウト切り替え〔「ipad用」〕
Else If  〔PatternCount ( Get ( アプリケーションバージョン ) ; "Go" ) 〕
      レイアウト切り替え〔「iphone用」〕
End If
で良いのでは。

Offline

#3 2017-02-14 10:00:59

ちゅめ
Guest

Re: filemaker goでのiphoneとipadの判別について

Shin様

ありがとうございます。
教えて頂いたようにスクリプトを変更したのですが、iPadでもiphoneと同じになってしまいました。
スクリプトトリガが間違っているかもしれないのですが、今OnRecordLoadにスクリプトをかけていますがこれで大丈夫でしょうか?

#4 2017-02-14 10:01:21

Moz
Member

Re: filemaker goでのiphoneとipadの判別について

iPad 以外では「iPad」が Get ( アプリケーションバージョン ) で戻らないので
PatternCount ( Get ( アプリケーションバージョン ) ; "iPad" ) だけで大丈夫ですよ。

Offline

#5 2017-02-14 10:02:50

Moz
Member

Re: filemaker goでのiphoneとipadの判別について

レイアウトが切り替わった際に適切なレイアウトに切り替えるなら
OnLayoutEnter で良いでしょう。レコード切り替わるたびにレイアウト切り替わったら堪らんですよ。
https://www.filemaker.com/help/15/fmp/j … enter.html

Last edited by Moz (2017-02-14 10:03:10)

Offline

#6 2017-02-14 10:03:16

tim
Guest

Re: filemaker goでのiphoneとipadの判別について

Get(システムプラットフォーム)=1
は、Macの場合だけどなんで
レイアウト切り替え〔「Web用」〕
なのかな?
WEBDなら4ですが。
WEBDとGoでしか使わないシステム?

Case()でレイアウト名を返した方がすっきりするけど、レイアウト名を変えた時に自動的に連動しなくなる。

昔のGoは、iPhone用のがiPadでも動きましたけど、今はどうなのかな。

#7 2017-02-14 10:30:37

Moz
Member

Re: filemaker goでのiphoneとipadの判別について

FileMaker Go 15 は iPhone 用を iPad で表示はできません。
以下の検討も如何?
スターターソリューションにサンプルも入っていますよ。

Get ( デバイス )
https://www.filemaker.com/help/15/fmp/j … evice.html

Offline

#8 2017-02-14 11:38:30

tim
Guest

Re: filemaker goでのiphoneとipadの判別について

そうですか。
すると、iPadなのにiPhoneレイアウトになるというのは、どこか関数が変な結果になっててデフォルトがiPhone用のレイアウト、ぐらいしか思いつかない。
「その他の場合」のレイアウトが指定してないので、何か指定してみたら。
Goではデバッガが使えないので、デバッグ用のアカウントで開いてる場合だけ関数の結果をレイアウトに表示するとかが必要ですね。

#9 2017-02-14 12:46:25

Shin
Member

Re: filemaker goでのiphoneとipadの判別について

Go でのデバッガは無理なのですが、関数の戻り値を確認する程度ならば、カスタムダイアログ等に標示させてみればいいでしょう。

Offline

#10 2017-02-14 13:35:32

ちゅめ
Guest

Re: filemaker goでのiphoneとipadの判別について

皆様ありがとうございます!

無事に出来るようになりました。
どんなレイアウトにするか考えて作りこんでみたいと思います。
ありがとうございました!

Registered users online in this topic: 0, guests: 1
[Bot] ClaudeBot

Board footer

Powered by FluxBB
Modified by Visman

[ Generated in 0.005 seconds, 9 queries executed - Memory usage: 521.96 KiB (Peak: 526.87 KiB) ]