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

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

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

You are not logged in.

Announcement

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


#1 2017-03-06 11:58:03

リターンキーとエンターキーの改行について

FilemakerAdvanced12
win10

いつもお世話になっております。

タイトルの件につきまして。

リターンキーを押すとフィールド上で改行されますが
テンキーのエンターを押すとフィールドからアウトしてしまいます。

テンキーのエンターでも改行されるようにできますでしょうか。

Offline

#2 2017-03-06 13:50:01

Hiro
Member

Re: リターンキーとエンターキーの改行について

テンキーは単列データの入力に特化したものだから仕様的にも実務的にも無理な要求でないかな?

Offline

#3 2017-03-06 14:16:01

シャチ
Member

Re: リターンキーとエンターキーの改行について

あくまでも擬似的な話ですが、
スクリプトトリガで修飾キーを押した時に
開業を挿入することは可能なんですが
enter自体がフィールドから外に出てしまう機能のようなので
そのスクリプトで元のフィールドに戻すステプが必要になる。
目下、その機能をどうするか探しているけど
・フィールドへ移動 ではフィールド指定が汎用にできないので
・オブジェクトに移動を使うと スクリプトの最初にオブジェクト名を拾えると思うので
こっちが使えるかと思うけど。

単純にenterだけでは現状無理かなぁ?

昔、何かで設定できたように思った
OSの設定だったかな? 申し訳ないけどWinもフルキーボードもないので
検証ができません。

Offline

#4 2017-03-06 14:29:01

チポ
Member

Re: リターンキーとエンターキーの改行について

取得関数
  Get ( トリガーキー入力 )
でトリガとなったキーを返します。

Code ( Get ( トリガーキー入力 ) ) = 10
がenterキーです。

これで改行コードを入力すればいいですね。

そのフィールドにカーソルを戻すには、
  フィールドへ移動 [そのフィールド]
  現在のスクリプト終了[結果: 0]
で可能です。

このスクリプトを
  OnObjectKeystroke
で実行させます。

Offline

#5 2017-03-06 14:34:18

シャチ
Member

Re: リターンキーとエンターキーの改行について

できましたかぁ。
Macで11で検証してたのがいかんかったかなぁ
Get ( トリガーキー入力 ) がうまく拾えなくて
それに
フィールドへ移動 [そのフィールド]
ってあったっけ?いつからあったっけ??

でも、よかったできるようで

Offline

#6 2017-03-06 14:41:32

シャチ
Member

Re: リターンキーとエンターキーの改行について

勘違いした [そのフィールド]って指定することだよねぇ。
私、、汎用にするのにどうしたらって思ってたんだ。
アァ、勘違い勘違い
それにしても Get ( トリガーキー入力 )  がうまく動かなかった原因がわからない。
まだ検証中

Offline

#7 2017-03-06 15:22:28

Shin
Member

Re: リターンキーとエンターキーの改行について

シャチさん、MacOS と Windows で動きが少し違うので。また、デスクトップ用のフルキーボードと、ノート用のキーボードでも動きが違う事が有るし、デスクトップ用のテンキーの無いキーボードだと違う動きの物も有るし、その辺りの理解も必要です。

フィールドへ移動を汎用にするには、オブジェクト名を付けておいて、トリガーの中でオブジェクト名を取り出し、オブジェクト名へ移動、を行います。フィールドへ移動は、たまに、そのフィールドが複数配置してあると、違う方のオブジェクトへ飛んでしまう事が有るので、要注意です。

Offline

#8 2017-03-06 15:54:42

シャチ
Member

Re: リターンキーとエンターキーの改行について

Shinさんの書かれていることわかります。
それを無視して
Mac環境で FMP12とOSは古いやつで フルキーボードがあったので
それと
miniキーボードにUSBのテンキーをつけて
という変な環境で作ったサンプルをアップしました。
http://yahoo.jp/box/N5Jozb


これは
元のフィールドに戻るのは フィールド名やオブジェクト名を使わないので
汎用になるかな?
ただ、他の環境で動くかどうかはわからないので
一度試してみてください
同じフィールドを並べて左がトリガ付き、右がトリガなしで動きの違いがわかると思います。

フィールドヘ戻るのはトリガのステップに
現在のスクリプトの終了[0]
で元のフィールドから動きません。
ほかの環境でも動いてくれるといいのだけど。



****
追記
Win7とFMP12でも動きました

Last edited by シャチ (2017-03-06 17:22:53)

Offline

#9 2017-03-06 17:50:59

Re: リターンキーとエンターキーの改行について

皆さんいろいろと調べて頂きありがとうございます!

無事出来ました!

Offline

#10 2017-03-06 20:37:35

wader
Member

Re: リターンキーとエンターキーの改行について

チポ wrote:

取得関数
  Get ( トリガーキー入力 )
でトリガとなったキーを返します。

Code ( Get ( トリガーキー入力 ) ) = 10
がenterキーです。

これで改行コードを入力すればいいですね。

そのフィールドにカーソルを戻すには、
  フィールドへ移動 [そのフィールド]
  現在のスクリプト終了[結果: 0]
で可能です。

このスクリプトを
  OnObjectKeystroke
で実行させます。

Keystrokeのトリガはイベントの処理前なので、「結果:0」を返せばイベントがキャンセル=キー入力はなかったことになる
つまりこの場合
改行文字を挿入
スクリプト終了「0」
の2ステップでいいはずです。

Offline

#11 2017-03-06 20:57:21

シャチ
Member

Re: リターンキーとエンターキーの改行について

なるほどぉ
ただ、その改行文字を入れるのがちょっと驚き
¶ を設定すると その ¶ そのものが表示されるので
入力のダイアログで それこそRetuenを押すのが肝要でした。
あぁそれと「選択」は外すですね。

頭良くなりました。
ありがとうございました

Last edited by シャチ (2017-03-07 09:42:36)

Offline

#12 2017-03-07 09:24:24

チポ
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.005 seconds, 7 queries executed - Memory usage: 525.35 KiB (Peak: 546.26 KiB) ]