みんなに優しく、解りやすくをモットーに開設しています。 以下のルールを守りみんなで助け合いましょう。
1.ファイルメーカーで解らない事があればここで質問して下さい。 何方でも、ご質問・ご回答お願いします。 (優しく回答しましょう)
You are not logged in.
Pages: 1
初歩的?な質問で申し訳ありません。 FMPro15
※カスタムダイアログの選択肢は"OK"と"キャンセル"の2択とします
例1)
カスタムダイアログを表示
if(Get(最終メッセージ選択=1)
「走らせたいスクリプト本文が入る」
Else
現在のスクリプト終了
End if
例2)
カスタムダイアログを表示
if(Get(最終メッセージ選択≠1)
現在のスクリプト終了
End if
「走らせたいスクリプト本文が入る」
例1と例2では内部的にも動きは同じでしょうか?
通常は上のパターンで書くのですが、スクリプトが長い場合やスクリプト内にもif構文が入る場合に
下の方が最後のEnd ifも不要で見やすいのかな?と思いました。
宜しくお願い致します。
Last edited by nori (2017-08-31 15:09:08)
Offline
2択なら動きは同じですね。
選択肢が増えた時は3もスクリプト終了してしまいますが。
私は同じ理由で常に例2で書くようにしています。
Offline
文法としては、どちらでもいいでしょう。
ただ、処理としては、分岐の処理ですね。下の例では、その分岐の一方だけに注目して強制終了する、という書き方ですので、全体の流れが見にくくなると思います。
カスタムダイアログを表示
if(Get(最終メッセージ選択≠1)
現在のスクリプト終了
Else
「走らせたいスクリプト本文が入る」
End if
とすると、後にも読みやすくなると思います。
Offline
「走らせたいスクリプト」終了で現在のスクリプト終了なら、
例1)の
Else
現在のスクリプト終了
が不要になりますね。
ではなく、
End If
後もステップがあるのなら、
それは「走らせたいスクリプト」に組むことができ、
結局上記の2ステップは不要にできます。
「走らせたいスクリプト」
が長いとか、複雑なものなら、
サブスクリプトにして分けてもいいかもしれません。
Offline
mic様 Shin様 チポ様
ドタバタしてましてお礼が遅くなり申し訳ありませんでした。
動きとしては同じとの事ですので、その後の動きによって書き方を変えてみます。
組んでる自分でも、後日見直すと頭の中に???が並ぶ時があるので
どのように描けば良いか毎度頭を悩ませてました。皆様のご意見を参考に
させて頂きます。
今後とも宜しくお願い致します。
Last edited by nori (2017-09-04 09:17:06)
Offline
Pages: 1
[ Generated in 0.005 seconds, 7 queries executed - Memory usage: 554.14 KiB (Peak: 582.36 KiB) ]