みんなに優しく、解りやすくをモットーに開設しています。 以下のルールを守りみんなで助け合いましょう。
1.ファイルメーカーで解らない事があればここで質問して下さい。 何方でも、ご質問・ご回答お願いします。 (優しく回答しましょう)
You are not logged in.
Pages: 1
FMP 17 Adv.
Win 10 Pro 64bit
ファイルを開いた時にオープニング画面を表示させ、その後指定した時間が経過すると別画面に変移するには、
スクリプト一時停止/続行で間隔を指定
レイアウト切り替え で実現出来るのですが、
このレイアウト切り替えが実行されるまでの残時間を表示させたいのですが、その方法が分かりません。
例えば、10秒後にレイアウト切り替えが実行されるまで、あと9秒、あと8秒・・・・・0秒 レイアウトが切り替わる
とする方法をご教示下さい。
よろしくお願いいたします。
Offline
<自己解決>
テーブル::回数 テキスト グローバル
フィールド設定[テーブル::回数;11]
Loop
__フィールド設定[テーブル::回数;テーブル::回数 - 1]
__ウインドウ内容の再表示[]
__スクリプト一時停止/続行[間隔(秒):1]
__If[テーブル::回数] ≤ 0
___現在のスクリプト終了[テキスト結果:]
__End If
End Loop
上記スクリプトで、ファイルを開いた際、回数10が表示され、1秒毎に減算表示
0でストップしました。
End Loopの後に、レイアウト切り替えを追加し、考えていた動作が実現出来ました。
もっと簡単な方法がありましたら、ご教示下さい
Offline
#2の解法は、「画面更新時チラツキ」や「時間遅延・不正確」、「画面操作不能」などの理由でお勧めできません。
本案件には「OnTimer スクリプトをインストール」を使うのが良いでしょう。
●スクリプト:カウントダウン OnTimer
・OnTimer スクリプトをインストール [“カウントダウン・スクリプト”; 間隔: 1]
●スクリプト:カウントダウン・スクリプト
・ 変数を設定 [$$カウント; 値:Case(IsEmpty($$カウント); 10; $$カウント-1)]
・ フィールド設定 [テーブル名::カウントダウン表示; $$カウント]
・If [$$カウント=0]
・ カスタムダイアログを表示 ["タイムアウト"; "タイムアウトしました¶次レイアウトへ移動します"]
・ フィールド設定 [テーブル名::カウントダウン表示; "タイムアウト"]
・ レイアウト切り替え [「次レイアウト名」]
・ 変数を設定 [$$カウント; 値:""]
・ OnTimer スクリプトをインストール []
・End If
(※「テーブル名::カウントダウン表示」は、新規追加のグローバルフィールドとします。)
Offline
Hiroさん
ありがとうございます。
多分、OnTimer スクリプトをインストールで実現出来るのではないか?と思っていたのですが、このOnTimer スクリプトをインストールの記述方法が分からなくって、前述した方法を考えた次第です。
ご教示頂いた方法を勉強、理解した上で、使わせて頂きます。
Offline
Pages: 1
[ Generated in 0.005 seconds, 9 queries executed - Memory usage: 553.33 KiB (Peak: 581.3 KiB) ]