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

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

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

You are not logged in.

Announcement

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


#1 2017-05-15 12:42:59

えん
Member

スクリプトの一時停止 再開の無効化

スクリプト内で特定のレイアウトで3秒間、一時停止させたいと思っております。

一時停止(3秒)で設定するとそのようになるのですが、その際にユーザーがEnterキーを押すと
再開されてしまいます。
ユーザーのキー入力を無視し、3秒間停止させることはできますでしょうか。

どなたかお助けいただけると助かります。

OS:Windows8.1
FM:FMpro13or14

Offline

#2 2017-05-15 13:07:53

Shin
Member

Re: スクリプトの一時停止 再開の無効化

トリガーでキー入力を拾っておいて無効にする、という処理で良いのでは。

それか、loop を組んでおいて,enter 押されても元に戻す,という処理でも良いかも。

Last edited by Shin (2017-05-15 13:08:56)

Offline

#3 2017-05-15 14:14:29

えん
Member

Re: スクリプトの一時停止 再開の無効化

Shin様

ご返信ありがとうございます。
不勉強で申し訳ございません。

①トリガーでキー入力を無効にする

トリガー
OnLayoutKeystoroke

スクリプト
If ( Code ( get(トリガキー入力)) >_ 1 )
無効
End If

「無効」というのは、何(スクリプトステップ)を入れれば良いのでしょうか。
また、Loop + 元に戻すでも結構ですので、具体的にご教示頂ければ助かります。

勝手言って申し訳ございませんが、よろしくお願いいたします。

Offline

#4 2017-05-15 14:39:09

Shin
Member

Re: スクリプトの一時停止 再開の無効化

スクリプト終了で、返り値として偽をかえしておき、もう一度スクリプトを停止させておきます。

loop で処理するなら

変数を設定[$time ; Get ( 時刻 ) + 3]
Loop
 スクリプト一時停止[$time - Get ( 時刻 )]
 ExitLoop if ( $time < Get ( 時刻 ) )
end loop

Last edited by Shin (2017-05-15 14:39:38)

Offline

#5 2017-05-15 14:41:12

Moz
Member

Re: スクリプトの一時停止 再開の無効化

一時停止を使わないやり方一例

変数を設定[$開始時間 ; Get ( 現在の時刻 UTC ミリ秒 ) ]
Loop
 Exit Loop If [ Get ( 現在の時刻 UTC ミリ秒 ) - $開始時間 ≥ 3000 ]
End Loop

ESC でスクリプトを終了されるのもイヤなら冒頭に[ユーザによる強制終了を許可(オフ)]

Offline

#6 2017-05-15 16:39:15

えん
Member

Re: スクリプトの一時停止 再開の無効化

Shin様 Moz様

ありがとうございました。
無事、思っていた通りの動作が出来ました。
感謝申し上げます。

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, 9 queries executed - Memory usage: 553.23 KiB (Peak: 581.15 KiB) ]