メモのコツを教えてください!

UWSCのcall制御文を使って
呼び出し元から呼び出されるスクリプトに値を引き渡したいときは
CALL UWSCファイル ([Param1, Param2 ......])
のようにファイル名の後に値を入れればPARAM_STR[]に入り引き渡されることは分かったのですが
逆に呼び出されるファイルから呼び出し元に値を引き渡したいときはどうすればいいのか分かりません

たとえば
親.UWS
call 子.UWS
IFB FLAG=0
PRINT "はい"
ELSEIF FLAG=1
PRINT "いいえ"


子.UWS
FLAG=0
FLAG=1

のように子で出した変数を親に引き継ぎたいです

A 回答 (1件)

結構強引な方法ですが、Windowsの環境変数を使うなんて作戦はどうです?



子.UWS
FLAG=1
DOSCMD("SET UWSFLAG="+FLAG) //環境変数UWSFLAGに、変数FLAGの値を出力

親.UWS
RETFLAG=DOSCMD("SET UWSFLAG") //環境変数読み出し
RETFLAG=COPY(RETFLAG,LENGTH(RETFLAG),1) //環境変数の末尾1文字を取り出す
DOSCMD("SET UWSFLAG=") //環境変数の消去

この後、
MSGBOX(RETFLAG) ----> 1と表示されます。

ちなみに、RETFLAG=DOSCMD("SET UWSFLAG") で変数RETFLAGの中身はテキストで、"UWSFLAG=1" です。
    • good
    • 0
この回答へのお礼

回答ありがとうございます
教えて
頂いたスクリプトを動かしてみたところ
メッセージボックスが空白で
CALLを親の先頭に置いたり色々試してみましたがどうにもうまくいかないようで(;´∀`)
どうやらうまくいかないようです

お礼日時:2015/10/18 17:08

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

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


おすすめ情報