UWSC SLCTBOXについて

このQ&Aのポイント
  • UWSC SLCTBOXは複数のSLCTBOXを使う際の方法について質問です。
  • SLCTBOXを複数回使用する場合、選んだ選択肢以外の処理に飛んでしまうことがよくあります。SLCT_Xを使う視点でのアドバイスをお願いします。
  • 使用方法についてアドバイスをいただきたいです。
回答を見る
  • ベストアンサー

UWSC SLCTBOXについて

複数のSLCTBOXを使う際の質問です? ※今回はSLCT_BTNを使用し、複数選択はありません。 基本的な使用法に SELECT SLCTBOX( SLCT_BTN,・・・省略)  CASE SLCT_1   処理1  CASE SLCT_2   処理2   ・  CASE SLCT_X   処理X   DEFAULT   処理etc SELEND という形をどこかで見つけ、使っていました。 何度もこの形を組み込むと 選んだ選択肢(SLCT_X)以外の処理に飛んでしまうことがよくあります。 何度もSLCTBOXを使うスクリプトでは、SLCT_Xを用いた分岐は使えないのでしょうか? 一つの関数内で複数回使わなければ大丈夫なのでしょうか? 主にSLCT_Xを使う視点でのアドバイス等よろしくお願いします。 == ※他のプログラム言語は使ったことがなく独学でUWSC使ってます。

質問者が選んだベストアンサー

  • ベストアンサー
  • koi1234
  • ベストアンサー率53% (1866/3459)
回答No.2

SLCT_8 までのコードを4回繰り返すようなテストコードで試してみましたが 質問されてるような現象は確認できませんでした バージョンにもよるかもしれないので こういった質問は 使用環境を明確にしたほうがいいでしょう (OS/UWSCバージョン) ちなみに Win7 64ビット上で フリー版5.21使って確認しました あるかなと思ったのはタイムアウト値設定していて 選択したと思ってるだけでタイムアウトになったとか その現象が出る最小限のスクリプトをそのまま書いた方が話が早いかもしれません

その他の回答 (1)

回答No.1

> SLCT_Xを用いた分岐は使えないのでしょうか? SLCT_Xとは? SLCT_3やSLCT_4やSLCT_31とかをSLCT_Xで表記してるって事? 標準のUWSCでは、SLCT_Xってのは使えず、「SLCT_Xが定義されていません。」ってエラーが出るのが普通です。 SLCTBOX | UWSC コバヤシ式 http://canal22.org/kansu/slctbox/ 例えば、どこかで、 Const SLCT_X = 10 とかの変数や定数宣言してれば、SLCT_10か、無ければDefaultに飛びます。

GaGa0001
質問者

お礼

回答ありがとうございました。 記載表現を改め再度質問を投稿しようと思います。

GaGa0001
質問者

補足

適切な表現が出来ていなくてすいません。 SLCT_X などに使ってるXは 1,2,3,・・・,X という感じの「任意の整数X」という意味で使用しました。 UWSCコバヤシ式 のサイトは登録してよく参考にしております

関連するQ&A

  • UWSCについて

    お世話になります。 ご教授ください。 UWSCで処理をしたいものがあります。 SELECT MSGBOX("処理をしますか?",BTN_YES OR BTN_NO)     case BTN_YES          //はいを押したときの処理      case BTN_NO          //処理終了 SELEND はいを押したときはもちろん処理しますが、メッセージ表示のまま5分経過したら はいを押したときと同じ処理(case BTN_YESに進む)をしたいのです。 大変困っています。 どなたかよろしくお願いします。

  • UWSCでの関数定義は?

    只今UWSCにて画像クリックを自動化しようとしているのですが、CHKIMGとBTNを多用するため、関数にて引数に 画像のディレクトリ・検索範囲のx座標1・y座標1・x座標2・y座標2 を入れて呼び出したいと思っています。 説明には  PROCEDURE 関数名( 引数, Var 引数, 引数[], Var 引数[][], 引数=定数, .... )      処理 FEND と載っていたのですが、関数を作成するとメインの動作をしなくなってしまいました。 UWSCではどのように関数の定義と呼び出しをすればいいのでしょうか。 初歩的な質問で申し訳ないのですが、分かる方がいらっしゃったらお願いします。

  • UWSCの画像認識について

    プログラム初心者ですがUWSCでプログラムを作っています 画像認識において認識するべき画像が複数種類あるときのパターンができなくて困っています ifb CHKIMG("青空") x=G_IMG_X // 画像の座標をxへ代入 y=G_IMG_Y // 画像の座標をyへ代入 BTN(LEFT,CLICK,x,y,100) SLEEP(0.5) else Endif のように、単独の画像を認識し、その画像をクリックさせることはできるのですが 「青空」もしくは「夕空」もしくは「夜空」が出た時にその画像をクリックする のような命令をかくことができません ifb CHKIMG("青空" or "夕空" or"夜空") のような形でかければいいのですが、もちろんこれでは動きませんでした どうすればこれを実行できるようになるのか教えてくださいm(__)m

  • uwsc:#32770ダイアログにタイトルがない

    あるソフトを操作中、uwscを使ってダイアログボックスに自動応答しようとしているのですが、#32770というダイアログにタイトルがないため、区別ができず、困っています。 アイテムを取得するプログラムで、そのダイアログは、 GetID("","#32770") という形で、抜き出せました。 しかしそのソフトの操作中に、タイトルがない("")ダイアログが、複数現れ、そのたびに違う選択をすることもあり、タイトル無しのダイアログすべてに同じように応答するというわけにも行きません。 この場合の区別はどのようにつければよろしいでしょうか。ダイアログ内のコメントは、各々違いますので、それを基に対応できるかと考えたのですが、具体的にどうすればよいかわかりません。 お分かりの方がいれば、教えてください。よろしくお願いします。

  • UWSCで任意ボタンをおした時 複数条件分岐

    UWSCでのプログラムの書き方についての質問です。 ある任意のボタンをおした時に指定した画像があるか確かめてあれば 指定した画像をクリックさせたい場合の方法を教えていただきたいです。 EScボタンをを押すまで無限ループ。 条件が複数あるのでIFを使いたいとかんがえています 任意のボタンを押したことで、指定した画像と一致するものがあるか確かめ、 一致した場合、指定した画像をクリックする。 それを沢山作りたい。 追加していきたい。 いくつまでの条件分岐ができるのかわからないし、 どのコマンドを使えば良いのかもわからず1年近く四苦八苦していました。 一般的条件分岐だとIF関数ですが、 もっと楽な方法があれば お手数ではございますが 解説付きでご教授のほどよろしくお願いします。 --------------------- WHILE !GETKEYSTATE(VK_ESC) //ESCを押すまでループ   if GETKEYSTATE(VK_y) then //yが押されたら BTN(LEFT,CLICK,g_img_x,g_img_y) //画像1をクリック    elseif GETKEYSTATE(VK_u) then //uが押されたら chkimg("画像2.bmp")=true BTN(LEFT,CLICK,g_img_x,g_img_y) //画像2をクリック elseif GETKEYSTATE(VK_t) then //tが押されたら chkimg("画像3.bmp")=true BTN(LEFT,CLICK,g_img_x,g_img_y) //画像3をクリック elseif GETKEYSTATE(VK_a) then //aが押されたら chkimg("画像4.bmp")=true BTN(LEFT,CLICK,g_img_x,g_img_y) //画像4をクリック elseif GETKEYSTATE(VK_w) then //wが押されたら chkimg("画像5.bmp")=true BTN(LEFT,CLICK,g_img_x,g_img_y) //画像5をクリック endif wend --------------------- 上記が 自分で書いたプログラムなのですが、 間違いだらけと承知の上 恥を忍んで重ね重ねご教授のほど よろしくお願い申し上げます

  • UWSCでcall関数を連続して使おうとしてエラー

    UWSCの個別の複数のスクリプトを、連続して使用したいと考えています。 CALL関数を使えばいいのかと思って、単純に羅列してみましたが、一個目のスクリプトの終了以降進行しません。 call A.uws call B.uws call C.uws call D.uws という具合です。 (実際には、○.uwsという形ではなく ”” で囲ったフルパスです) Aが終わると、それで終了してしまいます。 仮にAの部分をコメントアウトすると、Bが始まって、Bで終了です。 本来希望しているのは、Aが終わるとBが始まり、Bが終わるとCが・・・・、 という形で順番に処理を進行してほしいです。 もしかして、矢継ぎ早に連続でABCDと重なって処理しているのでしょうか。 原因と対処方法をどうぞ教えてください。よろしくお願いします。

  • UWSCのスクリプトについて

    日々のルーチンワークで退屈な作業をPC様にやっていただこうとUWSCの学習をしています。 以前は記録して使用したのですが不定期にマウス座標が変わるようになったため.UWSを書いてみてます。ど素人ですがやっと画像をファイルに格納して作業ができるまでになりました。 使用環境はwin7です。 質問内容ですが手間が多いのと説明がへたなのでプログラムより質問内容が理解できないほうが心配です。出来るだけ分っていただけるように頑張りますのでご教授お願いします。 画像A 画像B 画像C 以上がWEBブラウザ上に表示されたときに以下の作業をします。 オーダーフォームの利用規約同意[ボタン]、確認画像[ボタン]、購入画像[ボタン]を押下する。 どれが表示されてもオーダーフォームの作業が発生します。 ほかの質問で以下のような回答があったので参考にしたのですが繰り返し探してはくれるのですが オーダーフォームの作業を書くことができません。。 ≪転記≫ WHILE (TRUE) //WENDまで無限ループ IFB (CHKIMG("A.bmp")=TRUE) THEN CHKIMG("1.bmp") //「1」画像の座標を調べる BTN(LEFT, G_IMG_X, G_IMG_Y) ELSE IFB (CHKIMG("B.bmp")=TRUE) THEN CHKIMG("2.bmp") //「2」画像の座標を調べる BTN(LEFT, G_IMG_X, G_IMG_Y) ELSE ・・・以下略・・・ ENDIF WEND 自分でも頑張ってみますがご教授頂けると幸いです。 よろしくおねがいいたします。

  • UWSCでスクリプトの組み方がわからないので、質問させて頂きます。

    UWSCでスクリプトの組み方がわからないので、質問させて頂きます。 自動処理したい内容としては ●アイウエオへのリンクへ ●ABCDEへのリンクにジャンプ ●12345へのリンクはここ という形で、複数のリンクがあるページで、「へのリンク」という文言が入った未クリックのリンクを1回のみクリックする、というマクロを組みたいです。 ページは3~5分おきくらいに更新して、新たに増えたリンクをまたクリックする、を繰り返したいです。 すでにクリック済みのvisitedになったリンクはクリックしない仕様が良いです。 上記の例の場合は3つすべてが「へのリンク」という文言が付属ですので該当としてクリックされ、メインウィンドウ中で3回遷移して3回戻ってくるという仕様になるかと思われます。 しかしメインウィンドウはそのままに、リンクは別ウィンドウ(タブ)で開き、表示が終了したらそれらのメインウィンドウ以外のタブは自動で閉じるという仕様でも結構です。 複数のサンプルスクリプトを見て、流用しようかとあれこれいじったのですが、それぞれのオブジェクトに//の脚注書きが無いので、なんの処理をしているのかがわからず、自作することが出来ませんでした。 どうぞよろしくお願いします。

  • UWSCで、スクリプトの実行時間を一定にするには

    ブラウザゲームで戦闘時にコマンドを入力するスクリプトを作ったのですが、 動かすと実行時間にばらつきがあり、1ターンの入力制限時間内に全員分のコマンド入力を終えられないことがあります。 作ったスクリプトをコピーしておきます。 (戦闘開始処理/省略) MMV(787,178,10) sleep(0.25) MMV(691,209,10) sleep(0.25) MMV(599,212,10) sleep(0.25) BTN(LEFT,CLICK,599,212,10) MMV(784,247,10) sleep(0.25) MMV(692,271,10) sleep(0.25) MMV(590,272,10) sleep(0.25) BTN(LEFT,CLICK,590,272,10) MMV(786,321,10) sleep(0.25) MMV(658,344,10) sleep(0.25) MMV(589,350,10) sleep(0.25) BTN(LEFT,CLICK,589,350,10) このスクリプトは 1:コマンドにマウスカーソルを合わせる 2:使用したいスキルにマウスカーソルを合わせる 3:スキルを使用する対象をクリック という手順を3キャラクター分行っていて、ラグなどに対応するためこれを5セット繰り返すようにしています。 sleepが実時間を基準に待機する関数だと聞いて使ってみたのですが、 制限時間である10秒以内に1セット完了できないことがあります。 どうすればスクリプトの実行時間を一定にできるのでしょうか?

  • switch文について

    お世話になります。switch文について教えてください。 分岐の条件を複数使用することは出来ますか。 たとえば switch(a) [ case "1": if (x == "0") { document.write(1x0); } else if (x == "1") { document.write(1x1); else { document.write(1x); break; } case "2": if (x == "0") { document.write(2x0); } else if (x == "1") { document.write(2x1); else if (y == "0") { document.write(2y0); else { document.write(2x); break; ] という構文は可能ですか。 case 2でx yの二分岐しても可能ですか。 教えてください。

    • ベストアンサー
    • Java

専門家に質問してみよう