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

UWSCでの質問です。
変数を変数で指定することは可能でしょうか?

joken = 1
ka_mes = "OK"
hi_mes = "NG"
ifb joken = 1 then
hensu = ka
else
hensu = hi
msgbox(hensu + "_mes") // ←この結果として「OK」と表示させたい

簡略化していますので、この例では、素直にif文のthenとelseにmsgbox命令を書けばいいのですが、実際のプログラムはhensuを何度も使うためそうもいきません。
よろしくお願いします。

A 回答 (4件)

// こういうこと?


joken = 1
ka_mes = "OK"
hi_mes = "NG"
ifb joken = 1 then
 hensu = "ka"
else
 hensu = "hi"
endif
msgbox(eval(hensu + "_mes"))

この回答への補足

もしかして、眠たい詩人さんですか?
いつも、サイトを参考にさせてもらってます。
拙い質問ですが、質問の意図を汲み取ってご回答頂きありがとうございました。

補足日時:2008/12/01 04:07
    • good
    • 0
この回答へのお礼

ありがとうございます。
やりたいのはこういうことです!

助かりました。

お礼日時:2008/12/01 04:06

UWSCは連想配列が使えるようなので、そっちの方がより近いやり方になりますか。



HashTbl mes
mes["ka"] = "OK"
mes["hi"] = "NG"

ifb joken = 1 then
hensu = "ka"
else
hensu = "hi"
endif
msgbox(mes[hensu])
    • good
    • 0
この回答へのお礼

ありがとうございました。

お礼日時:2008/12/01 04:12

なんでそんなトリッキーなことがしたいのでしょうか?


っていうのと、そんな器用な真似は出来ないと思います。

代替案としては配列使うくらいですかねぇ。

dim mes[1] = "OK", "NG"
ifb joken = 1 then
hensu = 0
else
hensu = 1
endif
msgbox(mes[hensu])
    • good
    • 0

使ったことはないので直感で書きますが、


ifb (joken = 1) then
hensu = ha_mes
else
hensu = hi_mes
endif
msgbox(hensu)
では駄目なんですか?
変数の中身を別の変数に入れる、なんて普通にできると思うんですが……

この回答への補足

ご回答ありがとうございます。

言葉が足らず申し訳ありません。
ご回答頂いた方法はもちろん可能です。

ただ、今回やりたいのは、「hensu + "_mes"」みたいに変数名自体を可変で設定したいのです。

よろしくお願いします。

補足日時:2008/11/30 09:31
    • good
    • 0

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