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

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

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

You are not logged in.

Announcement

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


#1 2015-06-16 22:15:03

ohlq
Member

特定のフィールドを入力中(アクティブ中)にヘルプテキストを表示したい

FM13を使用しております。

特定のフィールドを編集中にヘルプテキストを表示したいのですが、何か良い方法はあるでしょうか。
(例:フィールドに入力中、フィールドのそばに”このフィールドには**に関する情報を入力してください”と表示する)

下記、自分が試してダメだった例
・ポップアップヘルプ
=>入力中に表示してくれるわけではないのでボツ、

・フィールドに対してオブジェクトトリガを利用する
=>実装上楽な方法が思いつかない、下準備が多いのでボツ(わざわざこのための新規フィールドが必要?)

・ヘルプテキストとして、あらかじめテキストを配置し、
次の場合にオブジェクトを隠す+Get(アクティブフィールド名)
=>条件式内で動的にアクティブフィールド名を取得できないのでボツ

Offline

#2 2015-06-16 23:13:56

Shin
Member

Re: 特定のフィールドを入力中(アクティブ中)にヘルプテキストを表示したい

OnObjectEnter で、カスタムダイアログを表示させれば良いのでは。
または、ポップオーバーは使えないでしょうか。

Offline

#3 2015-06-17 07:35:54

Moz
Member

Re: 特定のフィールドを入力中(アクティブ中)にヘルプテキストを表示したい

・ヘルプテキストとして、あらかじめテキストを配置し、
次の場合にオブジェクトを隠す+Get(アクティブフィールド名)
=>条件式内で動的にアクティブフィールド名を取得できないのでボツ

ボツ案の変更で一案
ヘルプテキストをグローバル変数で定義してマージ変数としてレイアウト上に配置、
ヘルプテキストを表示したいフィールドに OnObjectEnter / Exit トリガを設定します。
Enter トリガのスクリプトでアクティブフィールド名に基づくヘルプテキストを変数に設定、
Exit トリガのスクリプトで変数を空白に。(好みでオブジェクトを隠すも併用)

カスタムダイアログ、ポップオーバーは背面のウインドウの操作ができなくなるので、
入力開始時にユーザに注意を促す目的では有効ですが、
ヘルプを表示しながら入力を行いたい場合には適しません。

Last edited by Moz (2015-06-17 07:36:58)

Offline

#4 2015-06-17 08:56:01

Shin
Member

Re: 特定のフィールドを入力中(アクティブ中)にヘルプテキストを表示したい

カスタムダイアログは、作成の手間は増えますが、その中でフィールドへの入力は可能ですので、メッセージを表示させて、個別にフィールドへ入力させる、という作業には適しています。
私は、特に注意が必要な入力にはよく使っています。

Offline

#5 2015-06-17 11:58:14

ohlq
Member

Re: 特定のフィールドを入力中(アクティブ中)にヘルプテキストを表示したい

Shin様、Moz様、ご回答ありがとうございます。
今回は短いID入力に対しての簡潔な誘導メッセージだけですのでMoz様の方針でいきたいと思います。
長文自由記入ならカスタムダイアログ系が良いと思いました。

しかし、グローバル変数は初めてで、うまくいきませんでした。
ローカル変数で試した場合でのテストはうまくいくのですが、
グローバル変数を使用した場合で、マージ変数での出力は、なぜか"滅多に"表示されません。
(入力を何度も繰り返すと時々表示される)
表示される場合の再現性が分かりません。
また、確認のためフィールドにグローバル変数を出力しましたが変数には値が入っていないようです。
FileMakerのグローバル変数のスコープが実際にはグローバルじゃない?動的になってない?何か勘違いしていますでしょうか。


以下、自分がしたこと、
1.フィールド"fuga"にスクリプトトリガ"OnObjectEnter"=>スクリプト"piyo"起動
2.スクリプト"piyo"
変数を設定
  名前 $$hoge
  値 "hogehoge"
3.レイアウト上にテキスト配置 <<$$hoge>>

実施、フィールド"fuga"を編集、極まれに"hogehoge"が表示される

Last edited by ohlq (2015-06-17 12:07:31)

Offline

#6 2015-06-17 12:06:17

Moz
Member

Re: 特定のフィールドを入力中(アクティブ中)にヘルプテキストを表示したい

グローバル変数をどのように設定していますか?

[変数を設定]スクリプトステップで $$変数名 で設定できるはずです。

スクリプトでグローバル変数の値を書き換え、
マージ変数に反映させるには[ウインドウ内容の再表示]または[オブジェクトの更新]を利用しましょう。

Offline

#7 2015-06-17 12:11:52

ohlq
Member

Re: 特定のフィールドを入力中(アクティブ中)にヘルプテキストを表示したい

投稿内容再編集中にお返事を頂いていたようで、
[ウインドウ内容の再表示]または[オブジェクトの更新]、こういうのもあるのか!

ご指摘通りで、無事解決しました。
勉強になりました、ありがとうございました。

Offline

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

Board footer

Powered by FluxBB
Modified by Visman

[ Generated in 0.006 seconds, 7 queries executed - Memory usage: 517.75 KiB (Peak: 522.29 KiB) ]