アプリ版:「スタンプのみでお礼する」機能のリリースについて

他の人が書いたプログラムを読んでいるのですが、
そのなかで、

Do
DoEvents
処理
Loop Until (0)

というDo文がありました。

この(0)というのはどのような意味なのでしょうか?
どのような状態になるまでLoopし続けるのでしょうか?

よろしくお願いいたします。

A 回答 (1件)

Untilの後には、ブール型 (Boolean)つまり、True又はFalseに評価できる式を書かなければいけません。



で、Boolean型でなければならないところに、数値を指定した場合、
VBは、その数値をBoolean型に変換しようとします。

その際、「0」は「False」に、「0以外」は「True」に変換されます。

つまり、
---------------------
Do
DoEvents
処理
Loop Until (0)
---------------------
は、
---------------------
Do
DoEvents
処理
Loop Until False
---------------------
と、同じ意味で、「絶対にTrueにならない」=「所謂無限ループ」になります。
#多分「処理」のどこかに、Loopを終了する判定が行われているのではないでしょうか?
    • good
    • 0
この回答へのお礼

さっそくのご回答ありがとうございます!

処理の中にいくつか条件式があるのですが、
dsuekichiさんの仰る通り、いずれの条件式も最後は
『Exit Function』又は『Exit Do』となっています。

条件式のどれかに当てはまるまでLoopし続けるという意味なのですね。

おかげさまでスッキリしました。
ありがとうございました。

お礼日時:2007/09/28 19:30

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!