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

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

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

You are not logged in.

Announcement

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


#1 2017-08-31 15:08:03

nori
Member

カスタムダイアログとif構文について

初歩的?な質問で申し訳ありません。 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 2017-08-31 18:50:01

mic
Member

Re: カスタムダイアログとif構文について

2択なら動きは同じですね。
選択肢が増えた時は3もスクリプト終了してしまいますが。

私は同じ理由で常に例2で書くようにしています。

Offline

#3 2017-08-31 22:02:54

Shin
Member

Re: カスタムダイアログとif構文について

文法としては、どちらでもいいでしょう。
ただ、処理としては、分岐の処理ですね。下の例では、その分岐の一方だけに注目して強制終了する、という書き方ですので、全体の流れが見にくくなると思います。
カスタムダイアログを表示
if(Get(最終メッセージ選択≠1)
  現在のスクリプト終了
Else
「走らせたいスクリプト本文が入る」
End if
とすると、後にも読みやすくなると思います。

Offline

#4 2017-09-01 09:20:55

チポ
Member

Re: カスタムダイアログとif構文について

「走らせたいスクリプト」終了で現在のスクリプト終了なら、
例1)の
  Else
    現在のスクリプト終了
が不要になりますね。

ではなく、
  End If
後もステップがあるのなら、
それは「走らせたいスクリプト」に組むことができ、
結局上記の2ステップは不要にできます。


「走らせたいスクリプト」
が長いとか、複雑なものなら、
サブスクリプトにして分けてもいいかもしれません。

Offline

#5 2017-09-04 09:16:27

nori
Member

Re: カスタムダイアログとif構文について

mic様 Shin様 チポ様
ドタバタしてましてお礼が遅くなり申し訳ありませんでした。
動きとしては同じとの事ですので、その後の動きによって書き方を変えてみます。
組んでる自分でも、後日見直すと頭の中に???が並ぶ時があるので
どのように描けば良いか毎度頭を悩ませてました。皆様のご意見を参考に
させて頂きます。

今後とも宜しくお願い致します。

Last edited by nori (2017-09-04 09:17:06)

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: 554.14 KiB (Peak: 582.36 KiB) ]