1 名前:デフォルトの名無しさん mailto:sage [2018/09/24(月) 12:13:49.92 ID:an35jPjo.net] UWSC初心者用スレです わかってる人はこっち 自動化ツールUWSC使いよ集まれ21 egg.5ch.net/test/read.cgi/software/1533818531/ 降臨される神々においては相手を人と思わず猿と思し召されるよう 何卒お願い申し上げます
876 名前:デフォルトの名無しさん mailto:sage [2021/03/17(水) 20:12:09.19 ID:dsWxXXVG.net] >>822 勉強なります。そうですかプルダウンはめんどうなんですね プルダウンは諦めて手動にしようかと思います。
877 名前:デフォルトの名無しさん mailto:sage [2021/03/17(水) 21:35:38.19 ID:oFq5eIyC.net] プルダウンメニューから選ぶというのがよくわからない
878 名前:デフォルトの名無しさん mailto:sage [2021/03/18(木) 07:40:23.96 ID:8urs7GkO.net] >>825 防犯カメラ複数台登録して視聴ソフトを起動させると すべて1台目のIPが指定されてしまうのです。 なのでプルダウン(ドロップダウン)から機器登録されている IPアドレスを選択してあげないといけないんです
879 名前:デフォルトの名無しさん mailto:sage [2021/03/18(木) 08:15:40.32 ID:YmFQF9g2.net] 全部を一つでは出来ないよ 所詮はアプリじゃなくてスクリプトだからさ やろうと思えば出来るけど、状態を保持してる何かするのは難しい 今上がってるもので言うと 複数の監視カメラの視聴アプリとやらを一括で起動するのは特に問題ないよね 同時に整列させるのはちょっとハードル高いから考え方変えて、同じアプリを後から整列させるなら多少は簡単にできる (ただ、uwscでやる必要性はあまり感じない) プルダウンから自動で選ぶはまだちょっと意味が分からない リストからカメラ指定して起動したいってこと? それとも起動済みの視聴アプリをリストにして、それを選んで何か操作したいということ? 後者はアプリがタイトルバーに何か色つけてくれてればやりようあるけど、そうじゃないなら難しいよ
880 名前:デフォルトの名無しさん mailto:sage [2021/03/18(木) 09:52:39.16 ID:JPJY5VhO.net] たとえば一つの例として「Fit Win」というアプリがあって 指定したアプリを整列させるだけならこういうアプリもある プルダウンから選ぶは座標クリックしていく原始的なやり方しかないだろうね 整列して同じ座標へウィンドウを固定させたら比較的簡単にできるし 視聴ソフトはあまり詳しくないので調べてみたら「smart viewer」というフリーのソフトが複数カメラ、複数画面に対応してるようだけど こういうソフトじゃないと駄目なの?機器が対応してないと駄目だろうけどLAN接続するタイプなら割と対応してるっぽいが? このソフトを採用している警備会社があるようだから悪くないと思うけどな
881 名前:デフォルトの名無しさん [2021/03/18(木) 10:40:06.48 ID:Y5jTQtWf.net] ネットワークドライブのuwsファイルを認識しないのですが、みなさんの環境でもそうですか? \\ORE-PC\UWS\hoge.uws をダブルクリックすると問題なく起動しますが、 \\ORE-PCをZドライブに割り当てて、 Z:\UWS\hoge.uwsをダブルクリックするとFILE NOT FOUNDってでる。 右クリ→メモ帳だと問題なく開けるので、UWSCの仕様なんでしょうかね・・
882 名前:デフォルトの名無しさん mailto:sage [2021/03/18(木) 11:08:31.02 ID:JPJY5VhO.net] ダブルクリックして起動? ランチャーとかUWSCから起動させるのは駄目? ネットワークドライブを割り当てるとかはやってないのでわかりませんね
883 名前:827 mailto:sage [2021/03/18(木) 12:13:19.45 ID:Y5jTQtWf.net] windowsのショートカットでも、ランチャーに登録してもダメですね。 だけど、UWSC本体からファイル開く→再生だといけますね・・・なんだこりゃ
884 名前:デフォルトの名無しさん mailto:sage [2021/03/18(木) 12:38:28.87 ID:Sp8r4MHz.net] コマンドプロンプトで実行できるなら、hoge.uwsがあるフォルダにUWSC.exeを入れて BATファイルに UWSC.exe hoge.uws と書いてBATファイルで実行する手もある
885 名前:827 mailto:sage [2021/03/18(木) 13:45:17.72 ID:Y5jTQtWf.net] >>832 やってみたら見事に FILE not found :hoge.uws が返ってきました。目の前にあるんですけどね・・
886 名前:デフォルトの名無しさん mailto:sage [2021/03/18(木) 14:05:23.77 ID:Y5jTQtWf.net] >だけど、UWSC本体からファイル開く→再生だといけますね・・・なんだこりゃ 改めてやったら、そもそもUWSC本体→開くでZドライブが見えない。 なんで開けたつもりになったんだろう・・謎 ショートカットは見えるので叩くとやっぱFILE not found
887 名前:デフォルトの名無しさん mailto:sage [2021/03/18(木) 14:25:56.67 ID:Sp8r4MHz.net] EXEファイルにするか、iexpress.exeでパッケージ化するか https://wikiwiki.jp/gutchie/%E8%87%AA%E5%8B%95%E5%8C%96%E3%83%84%E3%83%BC%E3%83%AB/UWSC#y1bf8470
888 名前:デフォルトの名無しさん mailto:sage [2021/03/24(水) 22:16:20.39 ID:SjAM6MJ0.net] 子ウィンドウを取得して操作したいのですがなかなか上手くいきません ID=GETID("親ウインドウのタイトル") idLength=GETALLWIN(ID) FOR i = 0 TO idLength-1 PRINT STATUS(ALL_WIN_ID[i],ST_TITLE) NEXT ↑を実行したところ、返ってきたのは子ウィンドウではなく 子ウィンドウ内の要素でした。(ボタン、チェックボックス、ラジオボタン) ID=GETID("親タイトル",,,"子タイトル") PRINT ↑は-1になります やり方間違ってますか
889 名前:デフォルトの名無しさん mailto:sage [2021/03/24(水) 23:30:49.98 ID:ffF9L6R4.net] //ウィンドウIDを全て取得してみてIDとタイトルを調べる方法もある n = GETALLWIN() FOR i = 0 TO n-1 PRINT ALL_WIN_ID[i] + " " +STATUS(ALL_WIN_ID[i],ST_TITLE) LOGPRINT(TRUE,100,50,800,1100) NEXT msgbox("stop")
890 名前:デフォルトの名無しさん mailto:sage [2021/03/25(木) 00:14:40.63 ID:dnI+vm3S.net] >>837 実行してみると 親ウィンドウのタイトルが、ウインドウの数+1表示されました という事は自分が子ウインドウだと思っていたものは全て親ウインドウという事かな? 今日は遅いのでまた明日やってみます ありがとうございました
891 名前:デフォルトの名無しさん mailto:sage [2021/04/09(金) 09:20:46.01 ID:vJdMFfhi.net] Windowsのユーザーを切り替えて、各ユーザーごとにマクロを実施していきたいの
892 名前:セけど、ユーザー切り替えはUWSCでは難しいですか? [] [ここ壊れてます]
893 名前:デフォルトの名無しさん mailto:sage [2021/04/09(金) 09:27:52.43 ID:Aph6z+sk.net] 何したいか分かんないけどユーザー指定して操作対象のアプリ起動するんじゃダメなん?
894 名前:デフォルトの名無しさん mailto:sage [2021/04/09(金) 11:17:30.70 ID:RfO7RRDz.net] UWSCの範囲を超えるこえど 動かしたいユーザー列挙しといて レジストリに自動ログオンと自動実行の仕掛け作っとけばいけそう 再起動→次のユーザーで自動ログオンして自動実行という流れで
895 名前:デフォルトの名無しさん mailto:sage [2021/04/09(金) 11:58:31.99 ID:AGu16ZxP.net] ユーザー分の台数を用意すればいい 10ユーザーいるなら10台用意するとかね
896 名前:デフォルトの名無しさん [2021/04/13(火) 14:47:03.51 ID:IqZsL8m5.net] 神様ちょっと助けておくれ・・・ ブラウザのスクロールバーのボタン3回クリックの1セットを、 1セット×回数で10回行いたい(=最後は30回クリック) forでかけ算すればいいんじゃね?とひらめいたが動くわけがなかった。
897 名前:デフォルトの名無しさん mailto:sage [2021/04/13(火) 15:08:40.06 ID:IqZsL8m5.net] for t=1 to 10 CHKIMG("scroll-down.bmp") c=t*3 repeat BTN(LEFT,CLICK, G_IMG_X,G_IMG_Y ,30) sleep(1) until c >c next untilの書き方にモヤモヤしているが・・・とりあえずエラーは出ない 永久にクリックし続けるだけで。
898 名前:デフォルトの名無しさん mailto:sage [2021/04/13(火) 15:14:05.98 ID:C7npRUyM.net] ブラウザの右下隅に下向きのボタンがあるが、それをクリックするという事かな?
899 名前:デフォルトの名無しさん mailto:sage [2021/04/13(火) 15:16:34.28 ID:IqZsL8m5.net] そうです。 ブラウザ上での作業を自動化したくて。 ボタンにかんしてはscroll-down.bmpで判定してます。 forのt使って repeat BTN(LEFT,CLICK, G_IMG_X,G_IMG_Y ,30) sleep(1) until t >t*3 にしてみましたがこれも永遠にクリック(tが1なんだから4で止まって欲しいのに・・・)
900 名前:デフォルトの名無しさん mailto:sage [2021/04/13(火) 16:03:51.33 ID:M7vT5OZZ.net] c > c ワロタ この不等式がおかしいと思わないってヤバない? プログラムじゃなくて数学、いや算数レベルやん
901 名前:デフォルトの名無しさん mailto:sage [2021/04/13(火) 16:11:32.97 ID:C7npRUyM.net] //FORの入れ子でOK //1回目 1*3、2回目 2*3・・・10回目 10*3 CHKIMG("scroll-down.bmp") FOR i = 1 TO 10 FOR x = 1 TO i*3 SLEEP(1) BTN(LEFT,CLICK,G_IMG_X+5,G_IMG_Y+5) NEXT NEXT msgbox("クリック完了")
902 名前:デフォルトの名無しさん mailto:sage [2021/04/13(火) 16:36:03.26 ID:IqZsL8m5.net] いろいろ試してる間にごちゃごちゃしてきたのですみませんね; UWSCではforしか使ったことがないもので >>848 入れ子でいいはずですよね・・・(同じコードだ・・・) もう一回ためしてみます。 ありがとう。
903 名前:デフォルトの名無しさん mailto:sage [2021/04/16(金) 14:51:43.21 ID:uD9tfUyH.net] プログラムファイルから消した文言が表示されエラーになってしまいます IFB CHKIMG ("C〜.BMP")を("C〜.PNG")に書き換えしたのですが、NOT FOUND 〜BMP となります (appdataなど削除し)ソフトの入れ直しや、違う名前のプログラムファイルを作成などしましたが改善せず。terapadを使用して書いてます ご教示お願いします
904 名前:デフォルトの名無しさん mailto:sage [2021/04/16(金) 14:53:20.85 ID:hdR99Jx3.net] 違うファイルを読み込んでいる
905 名前:デフォルトの名無しさん mailto:sage [2021/04/16(金) 15:17:51.55 ID:jul+q2bh.net] 実行してるファイルと編集してるファイルが違ってたとかよくある 何でこのバグ消えねぇんだ?と思ってよく見たら違ってたと
906 名前:デフォルトの名無しさん mailto:sage [2021/04/16(金) 21:43:26.23 ID:Qutb4gNt.net] CHKIMGはBMPしか使えないからそのエラーになるだけで消した文が影響している訳ではない BMPに戻せ
907 名前:デフォルトの名無しさん mailto:sage [2021/04/16(金) 21:59:57.64 ID:9Ra8nUSr.net] ちゃんとエラーメッセージ読むタイプと読まないタイプの違いが出たな
908 名前:デフォルトの名無しさん mailto:sage [2021/04/16(金) 23:08:42.23 ID:mtyX36ii.net] おお!出来ました! 皆様ありがとうございます
909 名前:デフォルトの名無しさん [2021/04/23(金) 04:45:57.46 ID:GWiJhS53.net] for文について困っていることがあります。 下記の処理Aのみ 繰り返す際に処理回数を1増やしたいです。 BTN(LEFT,CLICK,13,167,10) For i = 1 to 100 KBD(VK_RALT,DOWN,50) KBD(VK_RIGHT,CLICK,50) KBD(VK_UP,CLICK,50) //処理A ※ ここの処理だけ 1回目は1回実行 2回目は2回実行 3回目は3回実行… にしたい KBD(VK_RALT,UP,50) NEXT 調べましたがどうしてもわかりませんでした。 for文の中の処理回数を増やす方法をご存じでしたら、教えていただけたら幸いです。 よろしくお願いします。
910 名前:デフォルトの名無しさん mailto:sage [2021/04/23(金) 05:45:45.21 ID:2JaREPAx.net] For i = 1 to 100 KBD(VK_RALT,DOWN,50) KBD(VK_RIGHT,CLICK,50) For j = 1 to i KBD(VK_UP,CLICK,50) //処理A ※ ここの処理だけ 1回目は1回実行 2回目は2回実行 3回目は3回実行… にしたい Next KBD(VK_RALT,UP,50) Next
911 名前:デフォルトの名無しさん mailto:sage [2021/04/23(金) 05:56:06.69 ID:kWPc6e52.net] やるじゃん!
912 名前:デフォルトの名無しさん [2021/04/23(金) 06:00:49.79 ID:GWiJhS53.net] >>857 できました! なるほどfor文の中にfor文を入れて他の変数にiを代入すればいいんですね… お忙しいところ教えていただきありがとうございました
913 名前:デフォルトの名無しさん mailto:sage [2021/04/23(金) 12:41:11.27 ID:Fs/FdOQM.net] いや別に代入はいらんけど…
914 名前:デフォルトの名無しさん mailto:sage [2021/04/23(金) 13:40:06.30 ID:gAgD293m.net] 動けばいいんだよ 猿相手に説明してもしゃーない
915 名前:デフォルトの名無しさん mailto:sage [2021/04/23(金) 14:54:53.39 ID:zpT46eZ/.net] キーキー喚いて他人に噛み付くだけの猿は本当にしょうがないよな
916 名前:デフォルトの名無しさん mailto:sage [2021/04/23(金) 15:13:24.53 ID:gAgD293m.net] >>1 読んでないのかな
917 名前:デフォルトの名無しさん mailto:sage [2021/04/23(金) 15:35:59.73 ID:Qd1iaOGD.net] 無能な猿はすっこんでろって
918 名前:デフォルトの名無しさん mailto:sage [2021/04/23(金) 18:49:02.98 ID:k2R/iVu9.net] サルモンキーウッキー
919 名前:デフォルトの名無しさん mailto:sage [2021/04/30(金) 21:19:57.52 ID:gWvSQQ0Q.net] メモ帳上だと正常に機能するけど、動かしたいソフト上だと特定のキー(十字キーとかシフトキー)だけ受け付けないんだけどなにかわかるかな? 記録は出来て、中身を見るとちゃんとキーも入ってるけど再生時に特定のキーが無視されちゃう
920 名前:デフォルトの名無しさん mailto:sage [2021/05/01(土) 02:52:48.63 ID:MA8kI4AW.net] まず「動かしたいソフト」の名前を書け
921 名前:デフォルトの名無しさん [2021/05/14(金) 14:13:35.87 ID:2RtqhEo0.net] 画像1と画像2のどちらかを認識した場合、認識した画像の座標を取得して処理Aを行いたいです IFB CHKIMG( "画像1.bmp", , , , , , -1, IMG_MSK_BGR1) BTN(LEFT, CLICK, G_IMG_X, G_IMG_Y)//処理A ELSEIF CHKIMG( "画像2.bmp", , , , , , -1, IMG_MSK_BGR1) BTN(LEFT, CLICK, G_IMG_X, G_IMG_Y)//処理A ENDIF 処理Aは同じですが、いまはこうして分けています 今後、画像3、画像4と増えていく可能性があるので毎回分けて記述しなくても良い方法はないでしょうか IFB CHKIMG( "画像1.bmp", , , , , , -1, IMG_MSK_BGR1) OR CHKIMG( "画像2.bmp", , , , , , -1, IMG_MSK_BGR1) BTN(LEFT, CLICK, G_IMG_X, G_IMG_Y)//処理A このようにORを使って画像1が表示されてる最中に実行してみたところ、画像座標の取得に失敗してしまい処理Aが動作しませんでした (PRINTで座標を確認してみたら-99999とかになってました)
922 名前:デフォルトの名無しさん mailto:sage [2021/05/14(金) 15:09:08.52 ID:K8K4yQFj.net] getdirでファイル一覧取ってきてfor-in-nextで画像ファイルの分だけループ回せばいいと思う
923 名前:デフォルトの名無しさん mailto:sage [2021/05/14(金) 16:43:30.17 ID:iQwZsiAA.net] chkimgxを使えばもっと簡単に書けるが、使わないなら //画像1.bmp〜画像2.bmpを検索してどれかを認識したら処理Aを実行しループを抜ける FOR x = 1 TO 2 IFB CHKIMG("画像" + x + ".bmp", , , , , , -1, IMG_MSK_BGR1) //処理A BTN(LEFT, CLICK, G_IMG_X, G_IMG_Y) BREAK ENDIF NEXT
924 名前:デフォルトの名無しさん [2021/05/14(金) 17:02:47.72 ID:2RtqhEo0.net] >>869-870 ありがとうございます、ですがすいません 文にしたときにわかりづらかったので変えていたのですが、 実際の画像ファイルはファイル毎に名前を変えていて連番ではなく、画像を認識する場所もそれぞれ異なります
925 名前:デフォルトの名無しさん mailto:sage [2021/05/14(金) 17:37:15.98 ID:iQwZsiAA.net] //BMPファイルの数を取得する //BMPファイルは同じフォルダに入れておくこと N = GETDIR(GET_CUR_DIR,"*.BMP",TRUE,0) //GETDIR_FILES配列にはGETDIRで取得したBMPファイルのファイル名が全て入る //BMPファイルを検索してどれかを認識したら処理Aを実行しループを抜ける //CHKIMGで座標指定しないなら、パラメータ無指定でもOK FOR x = 0 TO N-1 IFB CHKIMG(GETDIR_FILES[x]) //処理A BTN(LEFT, CLICK, G_IMG_X, G_IMG_Y) BREAK ENDIF NEXT
926 名前:デフォルトの名無しさん mailto:sage [2021/05/14(金) 22:43:48.66 ID:6hlMfvtI.net] >>871 >画像を認識する場所もそれぞれ異なります ってこういうことかな CONST e_bmp=0 CONST e_xOffset=1 CONST e_yOffset=2 // 画像と認識位置のセット DIM aMultidim[][2] = "a.bmp",2,3 _ ,"b.bmp",-1,-1 _ ,"c.bmp",0,1 DIM i DIM iLastSet = length(aMultidim) - 1 FOR i = 0 TO iLastSet IFB TRUE = CHKIMG(aMultidim[i][e_bmp]) THEN // 発見位置にオフセットを加味してクリック BTN(LEFT, CLICK , G_IMG_X,+aMultidim[i][e_xOffset] _ , G_IMG_Y+aMultidim[i][e_yOffsetOffset]) ENDIF NEXT
927 名前:デフォルトの名無しさん mailto:sage [2021/05/15(土) 02:20:59.88 ID:d0kD+s8i.net] やっぱchkimgxで組んだら? わざわざ配列でチェック座標管理しなくて済むし
928 名前:デフォルトの名無しさん mailto:sage [2021/05/15(土) 15:01:39.06 ID:M0a+Mlf6.net] 明確に座標が違うなら配列作ってforで回す方がいいと思うがね
929 名前:デフォルトの名無しさん [2021/05/18(火) 01:52:43.80 ID:IPcsF0ko.net] すいません、返事が遅れました >>872-873 の方法でいじりながら様子を見てみます、ありがとうございます しかし元々の記述よりだいぶ複雑になるんですね… CHKIMGXはなぜかウインドウがピカピカ光って煩わしいのでなるべく使わないようにしてます 別件ですがもうひとつ質問です ランダムに表示される画像xを参照して処理を行う001.uwsというもののほかに、同じ画像xを参照するものの001.uwsとは異なる処理を行う002.uwsや003.uwsを作る予定です ・A.uwsの中身 WHILE TRUE CALL B.uws CALL C.uws CALL 001.uws//処理が終わったらA.uwsに戻ってこさせたいので、ループ処理にはしていない WEND いまUWSCにはこのように記述したA.uwsを読み込ませています 説明が難しいのですが001.uwsと002.uwsを使う場面が明確に異なるので、 CHKIMGで画像1を認識したら、画像2や画像3を認識するまで以降002.uwsや003.uwsなど特定のuwsだけを読み込まなくなり、 逆に画像2を認識したら、画像1や画像3を認識するまで以降001.uwsや003.uwsだけを読み込まないようにしたいです IFB CHKIMG( "画像1.bmp", , , , , , -1, IMG_MSK_BGR1) CALL 001.uws ELSEIF CHKIMG( "画像2.bmp", , , , , , -1, IMG_MSK_BGR1) CALL 002.uws ELSEIF CHKIMG( "画像3.bmp", , , , , , -1, IMG_MSK_BGR1) CALL 003.uws ENDIF このように記述すれば良いのでしょうが、001.uws〜003.uwsはループ処理させたくないのと、画像1〜3は常に表示されているわけではないので困ってます なにか良い解決策はないでしょうか
930 名前:デフォルトの名無しさん mailto:sage [2021/05/18(火) 06:01:50.96 ID:UDGz656x.net] ちょっと話しは逸れるけど そもそもいちいちcallする必要あるのかな 関数化しちゃいかんの?
931 名前:デフォルトの名無しさん mailto:sage [2021/05/18(火) 10:17:39.32 ID:wQ5og2t5.net] 定期的に出てくるけどCALLを関数代わりにしてる奴は頭おかしいからスルーして大丈夫
932 名前:デフォルトの名無しさん mailto:sage [2021/05/18(火) 10:19:50.75 ID:qh33yYe/.net] むしろファイルをcallできる言語仕様に驚きを禁じ得ない
933 名前:デフォルトの名無しさん mailto:sage [2021/05/18(火) 10:31:01.04 ID:4dF+L4dN.net] そこは include とか import と同じじゃないの 単機能を関数的に呼び出すのがおかしいってだけで
934 名前:デフォルトの名無しさん mailto:sage [2021/05/18(火) 10:37:54.61 ID:qh33yYe/.net] まあ確かにDLLと同じようなもんだと言われたらそれまでだけど 関数ポインタをディスパッチするような手間いらずで初心者でも手軽に使える点は評価したい
935 名前:デフォルトの名無しさん mailto:sage [2021/05/18(火) 10:42:00.07 ID:t/eWMALd.net] callもスクリプト単体で動くようにすると結構便利だけどな スクリプトは実行時に読み込まれてるみたいだし関数と変わらん気がするが
936 名前:デフォルトの名無しさん mailto:sage [2021/05/18(火) 11:10:02.73 ID:qh33yYe/.net] 利便性を優先すると使うための手続きが複雑になる このトレードオフは言語開発者の永遠のテーマだろうな
937 名前:デフォルトの名無しさん mailto:sage [2021/05/18(火) 11:14:19.63 ID:4dF+L4dN.net] たぶん上の人は関数自体使い慣れなくてだいぶ抵抗があるんだろうな 老婆心的にはスマートな使い方教えたいけど 自分でメリット感じられないとなかなか移行は難しそうだ
938 名前:デフォルトの名無しさん mailto:sage [2021/05/18(火) 11:30:39.35 ID:qh33yYe/.net] DLLを使った方がカッコイイからというくだらん理由で どう見ても静的リンクでいいだろうという場面でやたらDLLを使いたがる人もいる シンプルにEXE一本で動かせるのにランタイムライブラリという必要条件が増えるけど 素人は複雑イコール技術が高度と感じることがあるのでなんとも言えない
939 名前:デフォルトの名無しさん mailto:sage [2021/05/18(火) 12:16:39.91 ID:AZFZk1uK.net] そもそも、起動した時点でcall先のファイルは一括して読み込まれるってのを分かってないよね だから、読み込まないようにしたいっていう一文が出てくる
940 名前:デフォルトの名無しさん mailto:sage [2021/05/18(火) 12:24:17.39 ID:4dF+L4dN.net] >>886 それはそうなんだろうけど 874の人は関数的に使ってるから読み込ませたくない=実行させたくない って意図でしょう それはそうと874の実際の質問内容考えてる人俺含めていない件w 後ででもしっかり読んでみようと思ってるけど論理問題のようだから意図や齟齬たどるの面倒よね
941 名前:デフォルトの名無しさん mailto:sage [2021/05/18(火) 13:30:39.30 ID:9AUeHlwd.net] >>876 CALLの使い方を間違ってる
942 名前:デフォルトの名無しさん mailto:sage [2021/05/18(火) 13:51:29.74 ID:qh33yYe/.net] CALLの正しい使い方のお手本を出してくれるそうだから よく聞くように
943 名前:デフォルトの名無しさん mailto:sage [2021/05/18(火) 14:17:24.85 ID:XOsT82We.net] 874です 以前、こちらのスレで長々と書くのではなく、ひとつの処理に対してひとつのファイルにしてCALLで読み込ませろって書いてあったのを読んだ気がしてそうしてました よろしくおねがいします
944 名前:デフォルトの名無しさん mailto:sage [2021/05/18(火) 16:19:21.98 ID:KFxGhSSQ.net] CALLは意味が沢山あって意外と日本人に馴染みのない言葉だから仕方ないね
945 名前:デフォルトの名無しさん mailto:sage [2021/05/18(火) 16:53:51.17 ID:9AUeHlwd.net] >ランダムに表示される画像xを参照して処理を行う001.uwsというもののほかに、同じ画像xを参照するものの001.uwsとは異なる処理を行う002.uwsや003.uwsを作る予定です ファイルを分ける必要がない 動けばどう書いても良いけど、難しく考えすぎて面倒くさい書き方をしてるようにしか思えん
946 名前:デフォルトの名無しさん mailto:sage [2021/05/18(火) 16:58:47.86 ID:0sQ29iV7.net] 関数の使い方を覚えるべきだよね
947 名前:デフォルトの名無しさん mailto:sage [2021/05/18(火) 20:28:58.68 ID:9AUeHlwd.net] 認識した画像ごとに処理を分ける例 IFBでダラダラ書くより読みやすく書ける WHILE TRUE SELECT TRUE CASE CHKIMG("画像1.bmp") 処理1 CASE CHKIMG("画像2.bmp") 処理2 CASE CHKIMG("画像3.bmp") 処理3 DEFAULT 例外処理 //例外処理 SELEND WEND
948 名前:デフォルトの名無しさん mailto:sage [2021/05/18(火) 21:40:52.44 ID:pImCnyq0.net] >>894 これは凄い発想 caseに式や関数使えるとか知らなんだ
949 名前:デフォルトの名無しさん mailto:sage [2021/05/18(火) 22:21:22.88 ID:wQ5og2t5.net] CALLしてるファイルの中でも関数化してるわけじゃなさそうだし ファイルが増えればそのうち変数がバグってどこが原因か分からなくなる
950 名前:デフォルトの名無しさん [2021/05/20(木) 05:48:05.89 ID:xogd6JER.net] 874です CALLにしていた処理をまとめる方向で修正してます >>894 自分はIFB〜ELSEIFとの違いがわからず悩んでいます CASE CHKIMG("画像1.bmp")で画像を読み取れば、 IFB〜ELSEIFと同じひとつの処理に対してENDIFが必要ないってことでしょうか?
951 名前:デフォルトの名無しさん mailto:sage [2021/05/20(木) 09:42:02.88 ID:j8DWMRqC.net] >>897 書いてある通り>>894 にとってはselectの方が読みやすいってだけだろ IFBとELSEIFで段差ができる部分が揃う CASEの方が文字数少ない CHKIMGは書き方のバリエーションだからIFBと違いはないのでは
952 名前:デフォルトの名無しさん mailto:sage [2021/05/20(木) 11:13:41.40 ID:1BZg1gED.net] コードの可読性を意識し
953 名前:ト書いてるだけだがね 可読性の概念とかは プログラミング 可読性 でググれ 動けばどうでも良いという主義ならそれはそれで [] [ここ壊れてます]
954 名前:デフォルトの名無しさん mailto:sage [2021/05/20(木) 11:22:16.62 ID:HONoZ+FD.net] 892のコンセプトしだいだけど メンテナンス性拡張性とか加味するとifのほうがいいかもね
955 名前:デフォルトの名無しさん mailto:sage [2021/05/20(木) 12:20:19.57 ID:1BZg1gED.net] CASE CHKIMG("画像1.bmp") AND (CC = 1) とかIFBの条件式と同じように書けるし、どうでも良い事ではあるがね
956 名前:デフォルトの名無しさん mailto:sage [2021/05/20(木) 13:26:28.17 ID:dsnUQ917.net] on N goto 1000,1100,1200,1300…でいけるよ
957 名前:デフォルトの名無しさん [2021/05/21(金) 08:55:27.51 ID:jCHc9CEs.net] 874です メインにしてるuwsの中に複数の処理をまとめた処理群AをCALLで呼び出してましたが、処理群Aをクラス化して、処理群Aのなかの各処理をPROCEDUREなどでメインのuwsに記述する CALL 処理群A.uws クラス名は処理群A、関数名は処理Aと処理B IFB CHKIMG( "画像1.bmp", , , , , , -1, IMG_MSK_BGR1) 処理群A.処理A ELSEIF CHKIMG( "画像2.bmp", , , , , , -1, IMG_MSK_BGR1) 処理群A.処理B ENDIF CALLの使い方はこれで大丈夫でしょうか?
958 名前:デフォルトの名無しさん mailto:sage [2021/05/21(金) 09:47:46.96 ID:hKnIbAZ8.net] UWSCってクラス使えたんだっけ!?使ったことなかった >>903 それはともかくそれでいいと思うよ 処理A,Bを他のスクリプトから使わず規模も大きくないなら CALL使わず1ファイル内の関数だけで済ますんでいいと思うけど ----.uws ここから IFB CHKIMG( "画像1.bmp", , , , , , -1, IMG_MSK_BGR1) 処理A() ELSEIF CHKIMG( "画像2.bmp", , , , , , -1, IMG_MSK_BGR1) 処理B() ENDIF procedure 処理A() //Aの処理 fend procedure 処理B() //Bの処理 fend ----.uws ここまで あと下部のprocedureをクラス化せずそのまま別ファイルにしてCALLするんでも動くよ 知ってるかもだけど念の為
959 名前:デフォルトの名無しさん mailto:sage [2021/05/21(金) 12:44:57.04 ID:04KdsCb/.net] 話をループさせるなよw
960 名前:デフォルトの名無しさん mailto:sage [2021/05/21(金) 12:55:06.38 ID:hKnIbAZ8.net] スクリプト直CALLしてたのをクラス関数CALLにはしたけど それはそれでいいがもっと簡単にはできるよ って話なのでループではないと思うが 902みたいな関数の一番簡単な使い方も把握してるのか怪しかったし
961 名前:デフォルトの名無しさん [2021/05/24(月) 09:07:34.94 ID:j7BJolv/.net] CHKIMGの色幅がCHKIMGX1でも認識するくらいシビアな画像でも CHKIMGXにすると判定できなくなる場合ってどうすれば良いですか? CHKIMG使うしかないですか?
962 名前:デフォルトの名無しさん mailto:sage [2021/05/24(月) 15:27:04.53 ID:j7BJolv/.net] 読み直したら間違えてた CHKIMGX1じゃなくてIMG_MSK_BGR1で認識するくらいシビア
963 名前:デフォルトの名無しさん mailto:sage [2021/05/24(月) 15:38:58.41 ID:ULoozdN2.net] chkimgで認識できてchkimgxで認識できないってのがよくわからないんだけど chkimgxのthresholdとかcolorの引数弄っても認識できてないの?
964 名前:デフォルトの名無しさん mailto:sage [2021/05/24(月) 15:47:05.47 ID:/wIz9r2w.net] >>909 画像によってはchkimgで認識してchkimgxだとしないのがあるね 見た目で緑系色が多いと認識しない感じ
965 名前:デフォルトの名無しさん mailto:sage [2021/05/24(月) 16:22:49.00 ID:ULoozdN2.net] >>910 chkimgxはキャプチャしたイメージをグレースケール化するので色は引数のcolorを弄らない限り関係ない
966 名前:デフォルトの名無しさん mailto:sage [2021/05/24(月) 16:30:11.09 ID:jIebElNo.net] btnでクリックできなくなったね。
967 名前:デフォルトの名無しさん mailto:sage [2021/05/24(月) 17:28:10.19 ID:VAxBPl7R.net] >>911 ソースのコメントみる限り、色指定した場合はグレースケール化と読めるが 指定した色とどれだけ近いかでグレースケール化した画像を使って マッチングの計算を行う 文字の色などを指定することで背景の変化に強いマッチング判定を行う
968 名前:デフォルトの名無しさん mailto:sage [2021/05/24(月) 18:21:59.68 ID:qg+aTsN4.net] >>913 ソースコードの関数も確認した 色指定あるときはgrayscale化
969 名前:デフォルトの名無しさん mailto:sage [2021/05/26(水) 08:10:53.62 ID:K14fqcy/.net] CHKIMGからのクリックができなくなってるなぁ。 画像認識まではするけど、クリックはしない。 管理権限で起動しても、だめだったなぁ。 WINDOWSのアップデート前後で変わってるから、そ
970 名前:アかなぁ。 [] [ここ壊れてます]
971 名前:デフォルトの名無しさん mailto:sage [2021/05/26(水) 11:01:01.07 ID:XORx725k.net] >>915 ついに使えなくなったか
972 名前:デフォルトの名無しさん mailto:sage [2021/05/26(水) 13:05:07.61 ID:yYro70ts.net] アップデートは停止してるからわからないけど 使えなくなるならアップデートはしないでおこう。人柱サンキュー!ワハハハ!
973 名前:デフォルトの名無しさん mailto:sage [2021/05/26(水) 13:56:10.97 ID:9QyAf03y.net] バージョン 2004のままにしておくか
974 名前:デフォルトの名無しさん mailto:sage [2021/05/26(水) 14:14:16.02 ID:eqZO3XDC.net] Windows はいじらないほうがいいですね。
975 名前:デフォルトの名無しさん mailto:sage [2021/05/26(水) 17:01:33.65 ID:9QyAf03y.net] WEBツールの仕様変更でCLICKが使えなくなったのをDOWN,UPで対応させてるがバージョン変わったら使えなくなるんだろうか 待ち時間をランダムにして人間がクリックしてるように偽装して何とかなってる BTN(LEFT,DOWN,G_IMG_X,G_IMG_Y,(RANDOM(500)+2000)) BTN(LEFT,UP,G_IMG_X,G_IMG_Y,RANDOM(500))
976 名前:デフォルトの名無しさん mailto:sage [2021/06/03(木) 12:51:13.08 ID:q8TMEvZw.net] MEMUというandroidエミュを使っているんですが MOUSEORGでMEMUのウィンドウIDを指定して裏マクロにしようとすると、CHKIMGやPEEKCOLOR1回ごとにウィンドウの周りが白くなって一瞬(0.1秒くらい?)だけフリーズします 例えばIFB並べてCHKIMGの画像6個探すときは6回分のプチフリーズしてループ、6個のうち上から3個目がヒットするときは3回分の長さのフリーズの後に処理が始まるみたいになります SAVEIMGの取得をMEMUのウィンドウIDではなくデスクトップにして、クリップボードからPEEKCOLORすれば止まらずに動きますが裏マクロになりませんし… キーボードマッピング(MEMUの機能)で設定したキーをKBDで押すときは上のプチフリーズは起こらないんですが