プロが教えるわが家の防犯対策術!

UWSCについての質問です
指定の画像がある場合、スクリプトを実行させるというのは分かりますが
逆に、画像が無い場合にのみ、特定のスクリプトを実行させるという事は可能でしょうか?

具体例としては
指定の画像がある場合は何もせず
指定の画像が消えた場合 msgbox("画像が消えました") とメッセージボックスを表示させる

よろしくお願い致します

A 回答 (1件)

こうすればできます。

簡単でしょ?

If ChkImg("探したい画像.bmp")=FALSE Then MsgBox("ないっぽいですぅ")

ただし、初めからなかった場合もこれで引っかかってしまうので、一度表示されてから消えたというのを検出したければ、次のようにする必要があります。

//初期化
あった=FALSE
//画像探しのループ
//目的の画像が一度見つかってそれが消えるまで回り続ける
Whlie TURE
  //他にやりたい処理があるならここに書く
  //画像の判定
  If ChkImg("探したい画像.bmp") Then あった=TRUE
  Ifb あった AND ChkImg("探したい画像.bmp")=FALSE
    MsgBox("消えたみたいですぅ")
    あった=FALSE
  EndIf
Wend

ついでに言うと、If文はTRUEかFALSEかを判定する文であり、関数だろうが式だろうが、判定できるのはTRUEかFALSEだけです。しかし逆を言うと、ChkImg関数のように結果がTRUEかFALSEで返る関数であれば、=TRUEなどといちいち書く必要はありません。なのでUWSCのサンプルでは、TRUEかFALSEを返す関数がIf文内にある場合、=TRUEという表記を省略しています。その方がスクリプトの見た目が簡潔にできますから。なのでサンプルがもしこれを省略していなかったら、この質問をする前に気付いていたでしょうね。
    • good
    • 0
この回答へのお礼

ChkImg関数について詳しく理解できてなかったみたいです。
画像があった場合TRUE、無かった場合FALSEを返すと言うのを見落としておりました。

While ChkImg("Check.bmp")
Wend
以下画像が消えてからの処理

とすることで上手く動作してくれました。
回答者様の例も、とても参考になりました。
今後活用できそうな機会もありそうです。
ありがとうございました。

お礼日時:2011/02/20 19:38

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

このQ&Aを見た人はこんなQ&Aも見ています


このQ&Aを見た人がよく見るQ&A