• 締切済み

UWSCの定義について

UWSCで特定の位置の色の情報をR,G,Bそれぞれの変数にそれぞれのR,G,Bの値を入れるプログラムを書いたのですが別の関数がから RGBcolor(変数1,変数2) の形で呼び出しても PROCEDURE RGBcolor(pointx,pointy) RGBtemp = PeekColor(pointx,pointy) R = RGBtemp And $FF G =( RGBtemp And $FF00 ) / $100 B =( RGBtemp And $FF0000 ) / $10000 FEND が 2行目の RGBtemp = PeekColor(pointx,pointy) の部分で「定義が間違っています」というエラーが出るのですが何の定義が間違っててなぜエラーが出るのでしょうか?

みんなの回答

noname#194317
noname#194317
回答No.1

そのスクリプトをコピペした実験スクリプトを動かしてみましたが、正常に動きましたよ。 PUBLIC R,G,B ACW(GETID("メモ帳")) tx=600 ty=400 RGBcolor(tx,ty) msgbox(R) msgbox(G) msgbox(B) PROCEDURE RGBcolor(pointx,pointy) RGBtemp = PeekColor(pointx,pointy) R = RGBtemp And $FF G =( RGBtemp And $FF00 ) / $100 B =( RGBtemp And $FF0000 ) / $10000 FEND と言うことで考えられるのは、括弧の開き閉じの対応が崩れているとかの、構文や打ち込みミスが怪しそうですね。 ところで上記の実験スクリプトでは、変数R,G,Bはグローバル変数として宣言してあります。じゃないと、Procedureでは関数じゃなくて手続きなので、値を返せませんから。まあ言うまでもないと思いますが。

kazakiri_112
質問者

お礼

自己解決しますた どうやら渡す値のほうの座標を代入してなかったようです R,G,Bについては問題なかったです

関連するQ&A

専門家に質問してみよう