UWSC初心者用スレです
わかってる人はこっち
自動化ツールUWSC使いよ集まれ21
http://egg.5ch.net/test/read.cgi/software/1533818531/
降臨される神々においては相手を人と思わず猿と思し召されるよう
何卒お願い申し上げます
UWSC初心者用スレ
レス数が900を超えています。1000を超えると表示できなくなるよ。
2018/09/24(月) 12:13:49.92ID:an35jPjo
812デフォルトの名無しさん
2021/03/15(月) 00:36:16.10ID:/ZCKQNsi 複数個起動できないソフトなのでは?
813デフォルトの名無しさん
2021/03/15(月) 01:08:44.19ID:v5Yi3qmH ああ!そういうことか!(´・ω・`)意味が分かったかもしれない!!
ID = EXEC("あああ") ←この『ID』=という部分が自分で決めれるんすね!?
例えばaaa = EXEC("あああ")と書いて次の行に
ACW(aaa,1583,450,330,460,0)とすると
録画機能みたいなのを利用してたのでIDと書くルールなのかと思ってました…
>>812
いえ、複数個起動はできるソフトで、一応動くには動くのですが
設定ファイルから実行するとアクティブなウインドウが切り替わらず一つのウィンドウだけが座標を行ったり来たりする感じでした
ID = EXEC("あああ") ←この『ID』=という部分が自分で決めれるんすね!?
例えばaaa = EXEC("あああ")と書いて次の行に
ACW(aaa,1583,450,330,460,0)とすると
録画機能みたいなのを利用してたのでIDと書くルールなのかと思ってました…
>>812
いえ、複数個起動はできるソフトで、一応動くには動くのですが
設定ファイルから実行するとアクティブなウインドウが切り替わらず一つのウィンドウだけが座標を行ったり来たりする感じでした
814デフォルトの名無しさん
2021/03/15(月) 01:09:40.14ID:v5Yi3qmH わ
815デフォルトの名無しさん
2021/03/15(月) 09:32:47.13ID:+CyRHPpu なるほどなぁ
そのレベルからの解説でも需要があるのか
UWSCの需要はまだ枯れてないか
そのレベルからの解説でも需要があるのか
UWSCの需要はまだ枯れてないか
816デフォルトの名無しさん
2021/03/17(水) 06:59:58.16ID:TjD9TcDJ817デフォルトの名無しさん
2021/03/17(水) 07:01:40.55ID:TjD9TcDJ818807
2021/03/17(水) 16:54:27.51ID:dsWxXXVG 皆のお陰様でちょとだけ理解ができてきました
あわよくばもう一点だけ教えて欲しいのです
>>808さんが教えてくれた方法は何故か上手く動いてくれませんでした
起動の遅れ?とかが関係あるのかとSLEEPを挟んでみたりしたのですがうまくいかず
でもそのまんまコピペするとメモ帳はその様に動きました。
そこで>>811さんの教えて貰った様に起動させた後にGETIDってので戻り値?というのをID1〜6に指定
これで思惑通り動きました!でも解せないというか理解できてないんです。
ID1 = GETID("電卓") ってのは「電卓っていうウィンドウIDを返せ」「それをID1と仮名する!」という意味であってますか?
だとすると電卓が複数個起動してたらどれのウィンドウIDを戻すのか分からなくなる気がするのは気の所為でしょうか
それとも順番に書いてるからアクティブなウィンドウから値を引っ張ってきてるのでしょうか?
1・自動で起動させてアプリを並べる。
2・別の設定ファイルでウィンドウにあるプルダウンメニューから自動で選ぶ
をやりたくて、1はできたのですが2を行う場合、GETIDではできませんでした。
初心者のクセに基礎も分からず意味不明なこと言ってるかもしれませんが、最後にしますのでお願いします…
あわよくばもう一点だけ教えて欲しいのです
>>808さんが教えてくれた方法は何故か上手く動いてくれませんでした
起動の遅れ?とかが関係あるのかとSLEEPを挟んでみたりしたのですがうまくいかず
でもそのまんまコピペするとメモ帳はその様に動きました。
そこで>>811さんの教えて貰った様に起動させた後にGETIDってので戻り値?というのをID1〜6に指定
これで思惑通り動きました!でも解せないというか理解できてないんです。
ID1 = GETID("電卓") ってのは「電卓っていうウィンドウIDを返せ」「それをID1と仮名する!」という意味であってますか?
だとすると電卓が複数個起動してたらどれのウィンドウIDを戻すのか分からなくなる気がするのは気の所為でしょうか
それとも順番に書いてるからアクティブなウィンドウから値を引っ張ってきてるのでしょうか?
1・自動で起動させてアプリを並べる。
2・別の設定ファイルでウィンドウにあるプルダウンメニューから自動で選ぶ
をやりたくて、1はできたのですが2を行う場合、GETIDではできませんでした。
初心者のクセに基礎も分からず意味不明なこと言ってるかもしれませんが、最後にしますのでお願いします…
819デフォルトの名無しさん
2021/03/17(水) 19:42:27.72ID:0BuFiOnf 最初から言ってる設定ファイルがなんなのか分からん
どっかて買ったマクロ集かなんか?
まあ他の部分は推測と合っている
どっかて買ったマクロ集かなんか?
まあ他の部分は推測と合っている
820デフォルトの名無しさん
2021/03/17(水) 19:56:01.39ID:+PPxZeIs 省略しないで書くなら、
ID = GETID("電卓", "ApplicationFrameWindow", -1)
となるが、めんどいから省略してる
//IDはIDの数値を入れる変数なので、変数名は何でも良い
//変数は数値や文字を入れておく箱のようなイメージ
//UWSCには変数の型は無いので、数字でも文字でも区別なく入れられる
//変数の宣言 使いたい所で変数を作れるの必須ではないが、使う変数を決めておく意味で宣言しておいた方が良いとは思う
DIM ID1,ID2,ID3
EXEC(GET_SYS_DIR+"\calc.exe")
SLEEP(2)
ID1 = GETID("電卓")
ACW(ID1,100,100,500,500,0)
msgbox(ID1)
EXEC(GET_SYS_DIR+"\calc.exe")
SLEEP(2)
ID2 = GETID("電卓")
ACW(ID2,600,100,500,500,0)
msgbox(ID2)
EXEC(GET_SYS_DIR+"\calc.exe")
SLEEP(2)
ID3 = GETID("電卓")
ACW(ID3,1100,100,500,500,0)
msgbox(ID3)
//こうすると、起動した順にIDが1,2,3と割り振られてる事が分かる
//プルダウンメニューから選ぶのはUWSCでも出来るけどめんどい
ID = GETID("電卓", "ApplicationFrameWindow", -1)
となるが、めんどいから省略してる
//IDはIDの数値を入れる変数なので、変数名は何でも良い
//変数は数値や文字を入れておく箱のようなイメージ
//UWSCには変数の型は無いので、数字でも文字でも区別なく入れられる
//変数の宣言 使いたい所で変数を作れるの必須ではないが、使う変数を決めておく意味で宣言しておいた方が良いとは思う
DIM ID1,ID2,ID3
EXEC(GET_SYS_DIR+"\calc.exe")
SLEEP(2)
ID1 = GETID("電卓")
ACW(ID1,100,100,500,500,0)
msgbox(ID1)
EXEC(GET_SYS_DIR+"\calc.exe")
SLEEP(2)
ID2 = GETID("電卓")
ACW(ID2,600,100,500,500,0)
msgbox(ID2)
EXEC(GET_SYS_DIR+"\calc.exe")
SLEEP(2)
ID3 = GETID("電卓")
ACW(ID3,1100,100,500,500,0)
msgbox(ID3)
//こうすると、起動した順にIDが1,2,3と割り振られてる事が分かる
//プルダウンメニューから選ぶのはUWSCでも出来るけどめんどい
821デフォルトの名無しさん
2021/03/17(水) 20:02:51.61ID:dsWxXXVG >>819
すんません、設定ファイルじゃなくてuwsファイルでした。
ということは、同名アプリ起動後に別のuwsファイルでIDを取得するには
マウスで座標指定してクリック→ウィンドウをアクティブに→ * = GETIDみたいなのを書いてやると良いわけですね
ありがとうございます挑戦してみます
すんません、設定ファイルじゃなくてuwsファイルでした。
ということは、同名アプリ起動後に別のuwsファイルでIDを取得するには
マウスで座標指定してクリック→ウィンドウをアクティブに→ * = GETIDみたいなのを書いてやると良いわけですね
ありがとうございます挑戦してみます
822デフォルトの名無しさん
2021/03/17(水) 20:12:09.19ID:dsWxXXVG823デフォルトの名無しさん
2021/03/17(水) 21:35:38.19ID:oFq5eIyC プルダウンメニューから選ぶというのがよくわからない
824デフォルトの名無しさん
2021/03/18(木) 07:40:23.96ID:8urs7GkO >>823
防犯カメラ複数台登録して視聴ソフトを起動させると
すべて1台目のIPが指定されてしまうのです。
なのでプルダウン(ドロップダウン)から機器登録されている
IPアドレスを選択してあげないといけないんです
防犯カメラ複数台登録して視聴ソフトを起動させると
すべて1台目のIPが指定されてしまうのです。
なのでプルダウン(ドロップダウン)から機器登録されている
IPアドレスを選択してあげないといけないんです
825デフォルトの名無しさん
2021/03/18(木) 08:15:40.32ID:YmFQF9g2 全部を一つでは出来ないよ
所詮はアプリじゃなくてスクリプトだからさ
やろうと思えば出来るけど、状態を保持してる何かするのは難しい
今上がってるもので言うと
複数の監視カメラの視聴アプリとやらを一括で起動するのは特に問題ないよね
同時に整列させるのはちょっとハードル高いから考え方変えて、同じアプリを後から整列させるなら多少は簡単にできる
(ただ、uwscでやる必要性はあまり感じない)
プルダウンから自動で選ぶはまだちょっと意味が分からない
リストからカメラ指定して起動したいってこと?
それとも起動済みの視聴アプリをリストにして、それを選んで何か操作したいということ?
後者はアプリがタイトルバーに何か色つけてくれてればやりようあるけど、そうじゃないなら難しいよ
所詮はアプリじゃなくてスクリプトだからさ
やろうと思えば出来るけど、状態を保持してる何かするのは難しい
今上がってるもので言うと
複数の監視カメラの視聴アプリとやらを一括で起動するのは特に問題ないよね
同時に整列させるのはちょっとハードル高いから考え方変えて、同じアプリを後から整列させるなら多少は簡単にできる
(ただ、uwscでやる必要性はあまり感じない)
プルダウンから自動で選ぶはまだちょっと意味が分からない
リストからカメラ指定して起動したいってこと?
それとも起動済みの視聴アプリをリストにして、それを選んで何か操作したいということ?
後者はアプリがタイトルバーに何か色つけてくれてればやりようあるけど、そうじゃないなら難しいよ
826デフォルトの名無しさん
2021/03/18(木) 09:52:39.16ID:JPJY5VhO たとえば一つの例として「Fit Win」というアプリがあって
指定したアプリを整列させるだけならこういうアプリもある
プルダウンから選ぶは座標クリックしていく原始的なやり方しかないだろうね
整列して同じ座標へウィンドウを固定させたら比較的簡単にできるし
視聴ソフトはあまり詳しくないので調べてみたら「smart viewer」というフリーのソフトが複数カメラ、複数画面に対応してるようだけど
こういうソフトじゃないと駄目なの?機器が対応してないと駄目だろうけどLAN接続するタイプなら割と対応してるっぽいが?
このソフトを採用している警備会社があるようだから悪くないと思うけどな
指定したアプリを整列させるだけならこういうアプリもある
プルダウンから選ぶは座標クリックしていく原始的なやり方しかないだろうね
整列して同じ座標へウィンドウを固定させたら比較的簡単にできるし
視聴ソフトはあまり詳しくないので調べてみたら「smart viewer」というフリーのソフトが複数カメラ、複数画面に対応してるようだけど
こういうソフトじゃないと駄目なの?機器が対応してないと駄目だろうけどLAN接続するタイプなら割と対応してるっぽいが?
このソフトを採用している警備会社があるようだから悪くないと思うけどな
827デフォルトの名無しさん
2021/03/18(木) 10:40:06.48ID:Y5jTQtWf ネットワークドライブのuwsファイルを認識しないのですが、みなさんの環境でもそうですか?
\\ORE-PC\UWS\hoge.uws をダブルクリックすると問題なく起動しますが、
\\ORE-PCをZドライブに割り当てて、
Z:\UWS\hoge.uwsをダブルクリックするとFILE NOT FOUNDってでる。
右クリ→メモ帳だと問題なく開けるので、UWSCの仕様なんでしょうかね・・
\\ORE-PC\UWS\hoge.uws をダブルクリックすると問題なく起動しますが、
\\ORE-PCをZドライブに割り当てて、
Z:\UWS\hoge.uwsをダブルクリックするとFILE NOT FOUNDってでる。
右クリ→メモ帳だと問題なく開けるので、UWSCの仕様なんでしょうかね・・
828デフォルトの名無しさん
2021/03/18(木) 11:08:31.02ID:JPJY5VhO ダブルクリックして起動?
ランチャーとかUWSCから起動させるのは駄目?
ネットワークドライブを割り当てるとかはやってないのでわかりませんね
ランチャーとかUWSCから起動させるのは駄目?
ネットワークドライブを割り当てるとかはやってないのでわかりませんね
829827
2021/03/18(木) 12:13:19.45ID:Y5jTQtWf windowsのショートカットでも、ランチャーに登録してもダメですね。
だけど、UWSC本体からファイル開く→再生だといけますね・・・なんだこりゃ
だけど、UWSC本体からファイル開く→再生だといけますね・・・なんだこりゃ
830デフォルトの名無しさん
2021/03/18(木) 12:38:28.87ID:Sp8r4MHz コマンドプロンプトで実行できるなら、hoge.uwsがあるフォルダにUWSC.exeを入れて
BATファイルに
UWSC.exe hoge.uws
と書いてBATファイルで実行する手もある
BATファイルに
UWSC.exe hoge.uws
と書いてBATファイルで実行する手もある
831827
2021/03/18(木) 13:45:17.72ID:Y5jTQtWf832デフォルトの名無しさん
2021/03/18(木) 14:05:23.77ID:Y5jTQtWf >だけど、UWSC本体からファイル開く→再生だといけますね・・・なんだこりゃ
改めてやったら、そもそもUWSC本体→開くでZドライブが見えない。
なんで開けたつもりになったんだろう・・謎
ショートカットは見えるので叩くとやっぱFILE not found
改めてやったら、そもそもUWSC本体→開くでZドライブが見えない。
なんで開けたつもりになったんだろう・・謎
ショートカットは見えるので叩くとやっぱFILE not found
833デフォルトの名無しさん
2021/03/18(木) 14:25:56.67ID:Sp8r4MHz 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
https://wikiwiki.jp/gutchie/%E8%87%AA%E5%8B%95%E5%8C%96%E3%83%84%E3%83%BC%E3%83%AB/UWSC#y1bf8470
834デフォルトの名無しさん
2021/03/24(水) 22:16:20.39ID:SjAM6MJ0 子ウィンドウを取得して操作したいのですがなかなか上手くいきません
ID=GETID("親ウインドウのタイトル")
idLength=GETALLWIN(ID)
FOR i = 0 TO idLength-1
PRINT STATUS(ALL_WIN_ID[i],ST_TITLE)
NEXT
↑を実行したところ、返ってきたのは子ウィンドウではなく
子ウィンドウ内の要素でした。(ボタン、チェックボックス、ラジオボタン)
ID=GETID("親タイトル",,,"子タイトル")
PRINT
↑は-1になります
やり方間違ってますか
ID=GETID("親ウインドウのタイトル")
idLength=GETALLWIN(ID)
FOR i = 0 TO idLength-1
PRINT STATUS(ALL_WIN_ID[i],ST_TITLE)
NEXT
↑を実行したところ、返ってきたのは子ウィンドウではなく
子ウィンドウ内の要素でした。(ボタン、チェックボックス、ラジオボタン)
ID=GETID("親タイトル",,,"子タイトル")
↑は-1になります
やり方間違ってますか
835デフォルトの名無しさん
2021/03/24(水) 23:30:49.98ID:ffF9L6R4 //ウィンドウ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")
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")
836デフォルトの名無しさん
2021/03/25(木) 00:14:40.63ID:dnI+vm3S >>835
実行してみると
親ウィンドウのタイトルが、ウインドウの数+1表示されました
という事は自分が子ウインドウだと思っていたものは全て親ウインドウという事かな?
今日は遅いのでまた明日やってみます
ありがとうございました
実行してみると
親ウィンドウのタイトルが、ウインドウの数+1表示されました
という事は自分が子ウインドウだと思っていたものは全て親ウインドウという事かな?
今日は遅いのでまた明日やってみます
ありがとうございました
837デフォルトの名無しさん
2021/04/09(金) 09:20:46.01ID:vJdMFfhi Windowsのユーザーを切り替えて、各ユーザーごとにマクロを実施していきたいのだけど、ユーザー切り替えはUWSCでは難しいですか?
838デフォルトの名無しさん
2021/04/09(金) 09:27:52.43ID:Aph6z+sk 何したいか分かんないけどユーザー指定して操作対象のアプリ起動するんじゃダメなん?
839デフォルトの名無しさん
2021/04/09(金) 11:17:30.70ID:RfO7RRDz UWSCの範囲を超えるこえど
動かしたいユーザー列挙しといて
レジストリに自動ログオンと自動実行の仕掛け作っとけばいけそう
再起動→次のユーザーで自動ログオンして自動実行という流れで
動かしたいユーザー列挙しといて
レジストリに自動ログオンと自動実行の仕掛け作っとけばいけそう
再起動→次のユーザーで自動ログオンして自動実行という流れで
840デフォルトの名無しさん
2021/04/09(金) 11:58:31.99ID:AGu16ZxP ユーザー分の台数を用意すればいい
10ユーザーいるなら10台用意するとかね
10ユーザーいるなら10台用意するとかね
841デフォルトの名無しさん
2021/04/13(火) 14:47:03.51ID:IqZsL8m5 神様ちょっと助けておくれ・・・
ブラウザのスクロールバーのボタン3回クリックの1セットを、
1セット×回数で10回行いたい(=最後は30回クリック)
forでかけ算すればいいんじゃね?とひらめいたが動くわけがなかった。
ブラウザのスクロールバーのボタン3回クリックの1セットを、
1セット×回数で10回行いたい(=最後は30回クリック)
forでかけ算すればいいんじゃね?とひらめいたが動くわけがなかった。
842デフォルトの名無しさん
2021/04/13(火) 15:08:40.06ID:IqZsL8m5 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の書き方にモヤモヤしているが・・・とりあえずエラーは出ない
永久にクリックし続けるだけで。
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の書き方にモヤモヤしているが・・・とりあえずエラーは出ない
永久にクリックし続けるだけで。
843デフォルトの名無しさん
2021/04/13(火) 15:14:05.98ID:C7npRUyM ブラウザの右下隅に下向きのボタンがあるが、それをクリックするという事かな?
844デフォルトの名無しさん
2021/04/13(火) 15:16:34.28ID:IqZsL8m5 そうです。
ブラウザ上での作業を自動化したくて。
ボタンにかんしては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で止まって欲しいのに・・・)
ブラウザ上での作業を自動化したくて。
ボタンにかんしては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で止まって欲しいのに・・・)
845デフォルトの名無しさん
2021/04/13(火) 16:03:51.33ID:M7vT5OZZ c > c
ワロタ
この不等式がおかしいと思わないってヤバない?
プログラムじゃなくて数学、いや算数レベルやん
ワロタ
この不等式がおかしいと思わないってヤバない?
プログラムじゃなくて数学、いや算数レベルやん
846デフォルトの名無しさん
2021/04/13(火) 16:11:32.97ID:C7npRUyM //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("クリック完了")
//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("クリック完了")
847デフォルトの名無しさん
2021/04/13(火) 16:36:03.26ID:IqZsL8m5 いろいろ試してる間にごちゃごちゃしてきたのですみませんね;
UWSCではforしか使ったことがないもので
>>846
入れ子でいいはずですよね・・・(同じコードだ・・・)
もう一回ためしてみます。
ありがとう。
UWSCではforしか使ったことがないもので
>>846
入れ子でいいはずですよね・・・(同じコードだ・・・)
もう一回ためしてみます。
ありがとう。
848デフォルトの名無しさん
2021/04/16(金) 14:51:43.21ID:uD9tfUyH プログラムファイルから消した文言が表示されエラーになってしまいます
IFB CHKIMG ("C〜.BMP")を("C〜.PNG")に書き換えしたのですが、NOT FOUND 〜BMP となります
(appdataなど削除し)ソフトの入れ直しや、違う名前のプログラムファイルを作成などしましたが改善せず。terapadを使用して書いてます
ご教示お願いします
IFB CHKIMG ("C〜.BMP")を("C〜.PNG")に書き換えしたのですが、NOT FOUND 〜BMP となります
(appdataなど削除し)ソフトの入れ直しや、違う名前のプログラムファイルを作成などしましたが改善せず。terapadを使用して書いてます
ご教示お願いします
849デフォルトの名無しさん
2021/04/16(金) 14:53:20.85ID:hdR99Jx3 違うファイルを読み込んでいる
850デフォルトの名無しさん
2021/04/16(金) 15:17:51.55ID:jul+q2bh 実行してるファイルと編集してるファイルが違ってたとかよくある
何でこのバグ消えねぇんだ?と思ってよく見たら違ってたと
何でこのバグ消えねぇんだ?と思ってよく見たら違ってたと
851デフォルトの名無しさん
2021/04/16(金) 21:43:26.23ID:Qutb4gNt CHKIMGはBMPしか使えないからそのエラーになるだけで消した文が影響している訳ではない
BMPに戻せ
BMPに戻せ
852デフォルトの名無しさん
2021/04/16(金) 21:59:57.64ID:9Ra8nUSr ちゃんとエラーメッセージ読むタイプと読まないタイプの違いが出たな
853デフォルトの名無しさん
2021/04/16(金) 23:08:42.23ID:mtyX36ii おお!出来ました!
皆様ありがとうございます
皆様ありがとうございます
854デフォルトの名無しさん
2021/04/23(金) 04:45:57.46ID:GWiJhS53 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文の中の処理回数を増やす方法をご存じでしたら、教えていただけたら幸いです。
よろしくお願いします。
下記の処理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文の中の処理回数を増やす方法をご存じでしたら、教えていただけたら幸いです。
よろしくお願いします。
855デフォルトの名無しさん
2021/04/23(金) 05:45:45.21ID:2JaREPAx 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
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
856デフォルトの名無しさん
2021/04/23(金) 05:56:06.69ID:kWPc6e52 やるじゃん!
857デフォルトの名無しさん
2021/04/23(金) 06:00:49.79ID:GWiJhS53858デフォルトの名無しさん
2021/04/23(金) 12:41:11.27ID:Fs/FdOQM いや別に代入はいらんけど…
859デフォルトの名無しさん
2021/04/23(金) 13:40:06.30ID:gAgD293m 動けばいいんだよ
猿相手に説明してもしゃーない
猿相手に説明してもしゃーない
860デフォルトの名無しさん
2021/04/23(金) 14:54:53.39ID:zpT46eZ/ キーキー喚いて他人に噛み付くだけの猿は本当にしょうがないよな
861デフォルトの名無しさん
2021/04/23(金) 15:13:24.53ID:gAgD293m >>1読んでないのかな
862デフォルトの名無しさん
2021/04/23(金) 15:35:59.73ID:Qd1iaOGD 無能な猿はすっこんでろって
863デフォルトの名無しさん
2021/04/23(金) 18:49:02.98ID:k2R/iVu9 サルモンキーウッキー
864デフォルトの名無しさん
2021/04/30(金) 21:19:57.52ID:gWvSQQ0Q メモ帳上だと正常に機能するけど、動かしたいソフト上だと特定のキー(十字キーとかシフトキー)だけ受け付けないんだけどなにかわかるかな?
記録は出来て、中身を見るとちゃんとキーも入ってるけど再生時に特定のキーが無視されちゃう
記録は出来て、中身を見るとちゃんとキーも入ってるけど再生時に特定のキーが無視されちゃう
865デフォルトの名無しさん
2021/05/01(土) 02:52:48.63ID:MA8kI4AW まず「動かしたいソフト」の名前を書け
866デフォルトの名無しさん
2021/05/14(金) 14:13:35.87ID:2RtqhEo0 画像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とかになってました)
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とかになってました)
867デフォルトの名無しさん
2021/05/14(金) 15:09:08.52ID:K8K4yQFj getdirでファイル一覧取ってきてfor-in-nextで画像ファイルの分だけループ回せばいいと思う
868デフォルトの名無しさん
2021/05/14(金) 16:43:30.17ID:iQwZsiAA 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
//画像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
869デフォルトの名無しさん
2021/05/14(金) 17:02:47.72ID:2RtqhEo0 >>867-868
ありがとうございます、ですがすいません
文にしたときにわかりづらかったので変えていたのですが、
実際の画像ファイルはファイル毎に名前を変えていて連番ではなく、画像を認識する場所もそれぞれ異なります
ありがとうございます、ですがすいません
文にしたときにわかりづらかったので変えていたのですが、
実際の画像ファイルはファイル毎に名前を変えていて連番ではなく、画像を認識する場所もそれぞれ異なります
870デフォルトの名無しさん
2021/05/14(金) 17:37:15.98ID:iQwZsiAA //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
//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
871デフォルトの名無しさん
2021/05/14(金) 22:43:48.66ID:6hlMfvtI >>869
>画像を認識する場所もそれぞれ異なります
ってこういうことかな
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
>画像を認識する場所もそれぞれ異なります
ってこういうことかな
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
872デフォルトの名無しさん
2021/05/15(土) 02:20:59.88ID:d0kD+s8i やっぱchkimgxで組んだら?
わざわざ配列でチェック座標管理しなくて済むし
わざわざ配列でチェック座標管理しなくて済むし
873デフォルトの名無しさん
2021/05/15(土) 15:01:39.06ID:M0a+Mlf6 明確に座標が違うなら配列作ってforで回す方がいいと思うがね
874デフォルトの名無しさん
2021/05/18(火) 01:52:43.80ID:IPcsF0ko すいません、返事が遅れました
>>870-871の方法でいじりながら様子を見てみます、ありがとうございます
しかし元々の記述よりだいぶ複雑になるんですね…
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は常に表示されているわけではないので困ってます
なにか良い解決策はないでしょうか
>>870-871の方法でいじりながら様子を見てみます、ありがとうございます
しかし元々の記述よりだいぶ複雑になるんですね…
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は常に表示されているわけではないので困ってます
なにか良い解決策はないでしょうか
875デフォルトの名無しさん
2021/05/18(火) 06:01:50.96ID:UDGz656x ちょっと話しは逸れるけど
そもそもいちいちcallする必要あるのかな
関数化しちゃいかんの?
そもそもいちいちcallする必要あるのかな
関数化しちゃいかんの?
876デフォルトの名無しさん
2021/05/18(火) 10:17:39.32ID:wQ5og2t5 定期的に出てくるけどCALLを関数代わりにしてる奴は頭おかしいからスルーして大丈夫
877デフォルトの名無しさん
2021/05/18(火) 10:19:50.75ID:qh33yYe/ むしろファイルをcallできる言語仕様に驚きを禁じ得ない
878デフォルトの名無しさん
2021/05/18(火) 10:31:01.04ID:4dF+L4dN そこは include とか import と同じじゃないの
単機能を関数的に呼び出すのがおかしいってだけで
単機能を関数的に呼び出すのがおかしいってだけで
879デフォルトの名無しさん
2021/05/18(火) 10:37:54.61ID:qh33yYe/ まあ確かにDLLと同じようなもんだと言われたらそれまでだけど
関数ポインタをディスパッチするような手間いらずで初心者でも手軽に使える点は評価したい
関数ポインタをディスパッチするような手間いらずで初心者でも手軽に使える点は評価したい
880デフォルトの名無しさん
2021/05/18(火) 10:42:00.07ID:t/eWMALd callもスクリプト単体で動くようにすると結構便利だけどな
スクリプトは実行時に読み込まれてるみたいだし関数と変わらん気がするが
スクリプトは実行時に読み込まれてるみたいだし関数と変わらん気がするが
881デフォルトの名無しさん
2021/05/18(火) 11:10:02.73ID:qh33yYe/ 利便性を優先すると使うための手続きが複雑になる
このトレードオフは言語開発者の永遠のテーマだろうな
このトレードオフは言語開発者の永遠のテーマだろうな
882デフォルトの名無しさん
2021/05/18(火) 11:14:19.63ID:4dF+L4dN たぶん上の人は関数自体使い慣れなくてだいぶ抵抗があるんだろうな
老婆心的にはスマートな使い方教えたいけど
自分でメリット感じられないとなかなか移行は難しそうだ
老婆心的にはスマートな使い方教えたいけど
自分でメリット感じられないとなかなか移行は難しそうだ
883デフォルトの名無しさん
2021/05/18(火) 11:30:39.35ID:qh33yYe/ DLLを使った方がカッコイイからというくだらん理由で
どう見ても静的リンクでいいだろうという場面でやたらDLLを使いたがる人もいる
シンプルにEXE一本で動かせるのにランタイムライブラリという必要条件が増えるけど
素人は複雑イコール技術が高度と感じることがあるのでなんとも言えない
どう見ても静的リンクでいいだろうという場面でやたらDLLを使いたがる人もいる
シンプルにEXE一本で動かせるのにランタイムライブラリという必要条件が増えるけど
素人は複雑イコール技術が高度と感じることがあるのでなんとも言えない
884デフォルトの名無しさん
2021/05/18(火) 12:16:39.91ID:AZFZk1uK そもそも、起動した時点でcall先のファイルは一括して読み込まれるってのを分かってないよね
だから、読み込まないようにしたいっていう一文が出てくる
だから、読み込まないようにしたいっていう一文が出てくる
885デフォルトの名無しさん
2021/05/18(火) 12:24:17.39ID:4dF+L4dN >>884
それはそうなんだろうけど
874の人は関数的に使ってるから読み込ませたくない=実行させたくない って意図でしょう
それはそうと874の実際の質問内容考えてる人俺含めていない件w
後ででもしっかり読んでみようと思ってるけど論理問題のようだから意図や齟齬たどるの面倒よね
それはそうなんだろうけど
874の人は関数的に使ってるから読み込ませたくない=実行させたくない って意図でしょう
それはそうと874の実際の質問内容考えてる人俺含めていない件w
後ででもしっかり読んでみようと思ってるけど論理問題のようだから意図や齟齬たどるの面倒よね
886デフォルトの名無しさん
2021/05/18(火) 13:30:39.30ID:9AUeHlwd >>874
CALLの使い方を間違ってる
CALLの使い方を間違ってる
887デフォルトの名無しさん
2021/05/18(火) 13:51:29.74ID:qh33yYe/ CALLの正しい使い方のお手本を出してくれるそうだから
よく聞くように
よく聞くように
888デフォルトの名無しさん
2021/05/18(火) 14:17:24.85ID:XOsT82We 874です
以前、こちらのスレで長々と書くのではなく、ひとつの処理に対してひとつのファイルにしてCALLで読み込ませろって書いてあったのを読んだ気がしてそうしてました
よろしくおねがいします
以前、こちらのスレで長々と書くのではなく、ひとつの処理に対してひとつのファイルにしてCALLで読み込ませろって書いてあったのを読んだ気がしてそうしてました
よろしくおねがいします
889デフォルトの名無しさん
2021/05/18(火) 16:19:21.98ID:KFxGhSSQ CALLは意味が沢山あって意外と日本人に馴染みのない言葉だから仕方ないね
890デフォルトの名無しさん
2021/05/18(火) 16:53:51.17ID:9AUeHlwd >ランダムに表示される画像xを参照して処理を行う001.uwsというもののほかに、同じ画像xを参照するものの001.uwsとは異なる処理を行う002.uwsや003.uwsを作る予定です
ファイルを分ける必要がない
動けばどう書いても良いけど、難しく考えすぎて面倒くさい書き方をしてるようにしか思えん
ファイルを分ける必要がない
動けばどう書いても良いけど、難しく考えすぎて面倒くさい書き方をしてるようにしか思えん
891デフォルトの名無しさん
2021/05/18(火) 16:58:47.86ID:0sQ29iV7 関数の使い方を覚えるべきだよね
892デフォルトの名無しさん
2021/05/18(火) 20:28:58.68ID:9AUeHlwd 認識した画像ごとに処理を分ける例
IFBでダラダラ書くより読みやすく書ける
WHILE TRUE
SELECT TRUE
CASE CHKIMG("画像1.bmp")
処理1
CASE CHKIMG("画像2.bmp")
処理2
CASE CHKIMG("画像3.bmp")
処理3
DEFAULT
例外処理 //例外処理
SELEND
WEND
IFBでダラダラ書くより読みやすく書ける
WHILE TRUE
SELECT TRUE
CASE CHKIMG("画像1.bmp")
処理1
CASE CHKIMG("画像2.bmp")
処理2
CASE CHKIMG("画像3.bmp")
処理3
DEFAULT
例外処理 //例外処理
SELEND
WEND
893デフォルトの名無しさん
2021/05/18(火) 21:40:52.44ID:pImCnyq0894デフォルトの名無しさん
2021/05/18(火) 22:21:22.88ID:wQ5og2t5 CALLしてるファイルの中でも関数化してるわけじゃなさそうだし
ファイルが増えればそのうち変数がバグってどこが原因か分からなくなる
ファイルが増えればそのうち変数がバグってどこが原因か分からなくなる
895デフォルトの名無しさん
2021/05/20(木) 05:48:05.89ID:xogd6JER 874です
CALLにしていた処理をまとめる方向で修正してます
>>892
自分はIFB〜ELSEIFとの違いがわからず悩んでいます
CASE CHKIMG("画像1.bmp")で画像を読み取れば、
IFB〜ELSEIFと同じひとつの処理に対してENDIFが必要ないってことでしょうか?
CALLにしていた処理をまとめる方向で修正してます
>>892
自分はIFB〜ELSEIFとの違いがわからず悩んでいます
CASE CHKIMG("画像1.bmp")で画像を読み取れば、
IFB〜ELSEIFと同じひとつの処理に対してENDIFが必要ないってことでしょうか?
896デフォルトの名無しさん
2021/05/20(木) 09:42:02.88ID:j8DWMRqC897デフォルトの名無しさん
2021/05/20(木) 11:13:41.40ID:1BZg1gED コードの可読性を意識して書いてるだけだがね
可読性の概念とかは プログラミング 可読性 でググれ
動けばどうでも良いという主義ならそれはそれで
可読性の概念とかは プログラミング 可読性 でググれ
動けばどうでも良いという主義ならそれはそれで
898デフォルトの名無しさん
2021/05/20(木) 11:22:16.62ID:HONoZ+FD 892のコンセプトしだいだけど
メンテナンス性拡張性とか加味するとifのほうがいいかもね
メンテナンス性拡張性とか加味するとifのほうがいいかもね
899デフォルトの名無しさん
2021/05/20(木) 12:20:19.57ID:1BZg1gED CASE CHKIMG("画像1.bmp") AND (CC = 1)
とかIFBの条件式と同じように書けるし、どうでも良い事ではあるがね
とかIFBの条件式と同じように書けるし、どうでも良い事ではあるがね
900デフォルトの名無しさん
2021/05/20(木) 13:26:28.17ID:dsnUQ917 on N goto 1000,1100,1200,1300…でいけるよ
901デフォルトの名無しさん
2021/05/21(金) 08:55:27.51ID:jCHc9CEs 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の使い方はこれで大丈夫でしょうか?
メインにしてる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の使い方はこれで大丈夫でしょうか?
902デフォルトの名無しさん
2021/05/21(金) 09:47:46.96ID:hKnIbAZ8 UWSCってクラス使えたんだっけ!?使ったことなかった
>>901
それはともかくそれでいいと思うよ
処理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するんでも動くよ
知ってるかもだけど念の為
>>901
それはともかくそれでいいと思うよ
処理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するんでも動くよ
知ってるかもだけど念の為
903デフォルトの名無しさん
2021/05/21(金) 12:44:57.04ID:04KdsCb/ 話をループさせるなよw
904デフォルトの名無しさん
2021/05/21(金) 12:55:06.38ID:hKnIbAZ8 スクリプト直CALLしてたのをクラス関数CALLにはしたけど
それはそれでいいがもっと簡単にはできるよ
って話なのでループではないと思うが
902みたいな関数の一番簡単な使い方も把握してるのか怪しかったし
それはそれでいいがもっと簡単にはできるよ
って話なのでループではないと思うが
902みたいな関数の一番簡単な使い方も把握してるのか怪しかったし
905デフォルトの名無しさん
2021/05/24(月) 09:07:34.94ID:j7BJolv/ CHKIMGの色幅がCHKIMGX1でも認識するくらいシビアな画像でも
CHKIMGXにすると判定できなくなる場合ってどうすれば良いですか?
CHKIMG使うしかないですか?
CHKIMGXにすると判定できなくなる場合ってどうすれば良いですか?
CHKIMG使うしかないですか?
906デフォルトの名無しさん
2021/05/24(月) 15:27:04.53ID:j7BJolv/ 読み直したら間違えてた
CHKIMGX1じゃなくてIMG_MSK_BGR1で認識するくらいシビア
CHKIMGX1じゃなくてIMG_MSK_BGR1で認識するくらいシビア
907デフォルトの名無しさん
2021/05/24(月) 15:38:58.41ID:ULoozdN2 chkimgで認識できてchkimgxで認識できないってのがよくわからないんだけど
chkimgxのthresholdとかcolorの引数弄っても認識できてないの?
chkimgxのthresholdとかcolorの引数弄っても認識できてないの?
908デフォルトの名無しさん
2021/05/24(月) 15:47:05.47ID:/wIz9r2w909デフォルトの名無しさん
2021/05/24(月) 16:22:49.00ID:ULoozdN2 >>908
chkimgxはキャプチャしたイメージをグレースケール化するので色は引数のcolorを弄らない限り関係ない
chkimgxはキャプチャしたイメージをグレースケール化するので色は引数のcolorを弄らない限り関係ない
910デフォルトの名無しさん
2021/05/24(月) 16:30:11.09ID:jIebElNo btnでクリックできなくなったね。
911デフォルトの名無しさん
2021/05/24(月) 17:28:10.19ID:VAxBPl7R >>909
ソースのコメントみる限り、色指定した場合はグレースケール化と読めるが
指定した色とどれだけ近いかでグレースケール化した画像を使って マッチングの計算を行う
文字の色などを指定することで背景の変化に強いマッチング判定を行う
ソースのコメントみる限り、色指定した場合はグレースケール化と読めるが
指定した色とどれだけ近いかでグレースケール化した画像を使って マッチングの計算を行う
文字の色などを指定することで背景の変化に強いマッチング判定を行う
レス数が900を超えています。1000を超えると表示できなくなるよ。
