【第67回】ロータス博士のWinActor塾~シナリオファイル呼び出しⅢ
よし、今日も元気にWinActorのお勉強じゃ!
今回は「シナリオファイル呼び出し」の変数の受け渡しについて学んでいこう。
前から言ってた例のやつですね。
僕にもわかるように丁寧にお願いします!
そうじゃな…せっかくじゃからシナリオを作ってみようかのう。
そのほうが覚えやすいじゃろう。
それは助かります!早速いきましょう!
変数を渡す
WinActorの「シナリオファイル呼び出し」では、単純に他のシナリオファイルを実行するだけでなく
呼び出し元のシナリオから値を持っていき、呼び出し先の変数にセットしてから実行するということが可能です。
例えばシナリオBの持つ変数Bに何らかの数値を入れた状態で実行したい場合、
そのように設定すれば呼び出し時に変数Bの値を入力した状態で実行することができます。
この設定は「シナリオファイル呼び出し」ノードのプロパティで行います。
シナリオBの変数BにシナリオAの変数Aを入れた状態で実行する、といったことも可能です。
また、値を渡した場合、受け取る側の変数に初期値が入っていても上書きされます。
つまり呼び出し元のほうで、これから実行するシナリオの変数の中を設定できるということじゃ。
これは何度も呼び出すようなシチュエーションで
変数の中身だけ変えて動かしたいという場合に有効じゃな。
なるほど、なるほど。
やっぱり実際にシナリオが動いてるところを見たいです。
いや、もちろん完全に理解はしてるんですけどね?
そ、そうか…。では作ってみようかのう。
前回のように「シナリオA」と「シナリオB」の2つを使うぞ。
わかりやすいフォルダに準備しておこう。
準備ができたら実践スタートじゃ!
シナリオBの作成
まずはシナリオB(呼び出される側)のシナリオから作成します。
どちらから作成しても構いませんが、呼び出される側から作成したほうが後に楽になります。
今回の例では設定された値を2倍して表示するシナリオを作成します。
シナリオ全体図
変数
変数は上図の2つを作成しておきます。どちらも初期値は空のままで構いません。
各ノードのプロパティ
それぞれ次のように設定しましょう。
これで「計算値」の値を2倍した結果を「計算結果」に格納し、待機ボックスに表示するシナリオが完成しました。
名前を「シナリオB」として保存しましょう。保存したら閉じてしまっても大丈夫です。
ちなみに変数の初期値を入れていないので、このシナリオ単体では機能しません。
続いて、このシナリオBを呼び出すためのシナリオAを作成します。
シナリオAの作成と実行結果
シナリオAはシナリオBを呼び出すだけのものを作成します。
ただし、シナリオBで計算ができるように、呼び出す際に値を設定します。
値を直接入力することもできますが、今回は変数を設定してみましょう。
シナリオ全体図
変数
「数値」の中の値をシナリオBに受け渡します。初期値には好きな数値を入れてください。
例では10を入れています。
シナリオファイル呼び出しの設定
ここまで準備ができたら「シナリオファイル呼び出し」ノードのプロパティを開いて設定していきましょう。
まずは呼び出すファイルを指定します。プロパティを開き「…」を押します。
このボタンを押すと、ファイル選択のウィンドウが出てきます。
予め作成しておいた「シナリオB」を選択します。
シナリオBを選択したら「開く」を押して決定します。
プロパティの「シナリオファイル名」にファイルパスが設定されます。
続いて、受け渡す値を設定します。緑色の+マークのボタンを押しましょう。
最初は何も設定されていないので少し見えにくいですが、ボタンのすぐ下のリストに行が追加されています。
赤枠の部分をダブルクリックすると、呼び出し先シナリオ(シナリオB)の変数を選択できます。
このとき、シナリオBを作成していないとリストに変数が表示されません。
シナリオAから作成してしまったときはリストが出ませんが、手動で変数名を入力することも可能です。
その場合、必ず受け渡し先のシナリオ内の変数名と同じ名前になるようにしましょう。
同じ要領で右側の「値」も設定します。
ここには、このシナリオで用意した「数値」という名前の変数を設定します。
上図の状態になればOKです。変数名に「計算値」、値に「数値」が入っているでしょうか。
これで、呼び出し先シナリオの「計算値」という名前の変数に、こちらの「数値」という変数の値を設定した状態で実行するということになります。
ここまで設定できたらシナリオは完成です。
実行して結果を見てみましょう。
実行結果
この例では「数値」に10を入れていたので、10がシナリオBの「計算値」に渡されて実行されました。
結果、10を2倍した数=20が待機ボックスに表示されています。
値が2倍されていれば成功です。
プロパティの+マークで行を増やせば、複数の変数に値を受け渡すこともできます。
さて、どうじゃったかな?
うまく値を受け渡せたかのう。
やっぱり実際に作ってみると理解度が段違いですね!
もうシナリオファイル呼び出しはマスターしましたよ!
それはよかった!
シナリオファイル呼び出しは値を渡すだけでなく受け取ることもできるからのう。
次回はそれをやってみよう。
あ…そうなんですね。
そっか、受け取りかあ。そういうパターンもあるのか。
なんじゃ急にテンション下げおって…。
そんなに難しくはないから安心するのじゃ。
とりあえず今日このあたりでおしまいじゃ!また次回!
関連記事こちらの記事も合わせてどうぞ。
2024.11.05
【第105回】ロータス博士のWinActor塾~新しい画像マッチング画面
2024.09.27
【第104回】ロータス博士のWinActor塾~ガイド利用シナリオ(作成編)
2024.09.10