1 名前:名無しさん@お腹いっぱい。 [2015/11/11(水) 13:45:28.80 ID:+oPzgSay0.net] Windowsの作業を自動化するツール フリーソフト版とシェアウェア版の2種類がある ttp://www.uwsc.info/download.html ●UWSC 掲示板(※作成依頼掲示版ではありません) 質問の際には自力で作ったスクリプトを晒すか、具体的な解らない場所を提示すること 上級者が常駐、たまに作者も現れるため過去ログには有益情報の宝庫 www3.rocketbbs.com/13/bbs.cgi?id=umiumi www3.bigcosmic.com/board/s/board.cgi?id=umiumi&mode=past ●UWSC - Wikipedia ja.wikipedia.org/wiki/UWSC ●使い方・基礎解説学習サイト uwsc.g.hatena.ne.jp/cx20/20100131/1264938584 www.confrage.com/uwsc/ necro.jp/dev/uwsc/ park14.wakwak.com/~simizu/uwsc/fruwsc.html canal22.org/ big.tm.land.to/handbook/uwsc.htm www.game-rev.com/review/gameut/uwsc.html ●スクリプトテンプレサイト izagne.com/uwsc/ scripts.web.fc2.com/ www.nagomi-jp.net/~liners/ nem.symphonic-net.com/uwsct/0610uwsct.html siromasa.digi2.jp/uwsc/ iriyak.adam.ne.jp/uwsc.html 前スレ 自動化ツールUWSC使いよ集まれ15 anago.2ch.net/test/read.cgi/software/1436671958/
414 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/01/27(水) 11:19:55.96 ID:4oyilgdN0.net] ハードスイッチがついたモニタを買う モニタのコンセントを抜く ハードスイッチがついてないモニタってなんだ?一体型?
415 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/01/27(水) 11:47:36.48 ID:12Zxt+CV0.net] 隣のPCのモニタの開いてる端子に繋いでマルチモニタとして認識させたら行けたわ・・・ (隣のPCモニタの表示は切り替えず元のまま) 無理矢理感MAXだけど仕方ないね こんなところで仕様変更有るとは想像もしてなくて参った
416 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/01/27(水) 12:08:40.68 ID:x0sPMmFo0.net] 一部のゲームとかソフトとかでGetkeyとか使えなくなってたりしてるの確認してる ウィンドウ指定するとき右クリック入れてからやるようにしてるからその辺使えないと困る うぃん10使ってたの1時間未満ですぐに戻した 戻してもいいなら戻したほうがいいのではとも思う た
417 名前:だよくある質問でchromeがmouseorgでバックグラウンド画像認識しようとしたらできないって人がいるけど win10だと出来るっていうことは確認した >>188 の件 [] [ここ壊れてます]
418 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/01/27(水) 18:55:11.83 ID:baMEr/z1e] //test.uws DIM A=999999999999999 PRINT A //999999999999999 PRINT A+1 //1E15 上記のテストで変数が15桁まで対応してるのがわかる
419 名前:名無しさん@お腹いっぱい。 [2016/01/28(木) 20:52:58.52 ID:ARfwwneo0.net] 皆さんこんばんは スケジュール機能で40以上登録したいのですが、増やすにはどうしたら良いでしょうか?
420 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/01/28(木) 21:16:25.64 ID:vsEjcj1E0.net] UWSC.INIの [SCHEDULE] MaxNumber=**←ここいじれ
421 名前:名無しさん@お腹いっぱい。 [2016/01/28(木) 21:28:21.68 ID:ARfwwneo0.net] >>394 できたーーーーーーー!!!! ありがとう!マジ感謝!ちゅちゅちゅちゅちゅ
422 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/01/29(金) 10:51:30.38 ID:jpG6pbsk0.net] YOU ! EXITしちゃいなよ!
423 名前:名無しさん@お腹いっぱい。 [2016/01/30(土) 03:55:44.75 ID:M5n6V6080.net] >>390 たとえば俺の Lenovo のノーパソだと Fn+F2 キーでモニタOFFにできるんだけど これならBIOSレベルでやってるだろうから大丈夫だったりするんじゃないかな。
424 名前:名無しさん@お腹いっぱい。 [2016/01/30(土) 04:03:53.47 ID:Kxa/SQA40.net] 今日始めたばかりなのでわからない事だらけですがよろしくお願いします 下記の作業をさせたい場合どうすればいいですか? ・画像1がある時に画像1をクリック ・画像2がある時に画像2をクリック ・画像3がある時に画像3をクリック 同じ画像が同時に出てくる事はありません 画像が出てくるのに少し時間がかかるので見つかるまで再検索 下記の文で実行したところ最初の時点で画像は出ていてもクリックをしてくれません エラーも吐かずずっと再生状態のまま何もしてくれませんでした 一応自分なりに調べてみたのですが解決しなかったので知恵をお貸しください repeat sleep(0.2) until chkimg(
425 名前:名無しさん@お腹いっぱい。 [2016/01/30(土) 04:05:13.35 ID:Kxa/SQA40.net] すいません、尻切れになってしまいした 試してみた文はこれです repeat sleep(0.2) until chkimg("1.bmp")=true BTN(LEFT, CLICK, G_IMG_X, G_IMG_Y) repeat sleep(0.2) until chkimg("2.bmp")=true BTN(LEFT, CLICK, G_IMG_X, G_IMG_Y) repeat sleep(0.2) until chkimg("3.bmp")=true BTN(LEFT, CLICK, G_IMG_X, G_IMG_Y)
426 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/01/30(土) 04:16:36.53 ID:Q6ySmrDa0.net] そりゃ画像見つかるまでループで順番に1、2、3ってやったら 画像2か3が出た場合、画像1のチェックを延々やるだけになるに決まってるだろ ループ1回の間に3つチェックにしないと IFBで3段階入れ子にするとかしないと
427 名前:名無しさん@お腹いっぱい。 [2016/01/30(土) 04:19:51.66 ID:Kxa/SQA40.net] 言葉が足りませんでした repeat sleep(0.2) until chkimg("1.bmp")=true BTN(LEFT, CLICK, G_IMG_X, G_IMG_Y) これだけでも無理で何もクリックしてくれず IFB chkimg(".bmp")=true then BTN(LEFT, CLICK, G_IMG_X, G_IMG_Y) endif これでも無理でした
428 名前:名無しさん@お腹いっぱい。 [2016/01/30(土) 04:21:57.44 ID:Kxa/SQA40.net] IFB chkimg("1.bmp")=true then BTN(LEFT, CLICK, G_IMG_X, G_IMG_Y) endif でした、連投すいません 画像のファイル名は各種番号のみで24ビットbmp形式 uwscの実行ファイルと同じところに置いています
429 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/01/30(土) 04:41:16.12 ID:RmoOYQCx0.net] IFB chkimg("1.bmp")がFALSEなら、画像が間違ってるとしか言いようがない
430 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/01/30(土) 05:15:28.84 ID:Q6ySmrDa0.net] うん、>>398 で言ってるやりたいこと以前に画像が検出できてないだけじゃん
431 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/01/30(土) 06:28:10.77 ID:Fh+9y7iS0.net] >>398 は見当違いな事言ってるように見えるが 画像2や画像3以前に画像1の時点でダメなんだろ 画像1のみでやってもミスってんだから
432 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/01/30(土) 09:07:24.64 ID:2SEEQedG0.net] どこまで行ったのかを確認できるようにログを残すようにしてるんだけど普通何の関数使うんだろ 今はSendStrでやってるんだけど
433 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/01/30(土) 09:31:52.50 ID:Q6ySmrDa0.net] ? PRINT使えば普通にログ残るだろ? わざわざ別の方法でログ取ってるのか?
434 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/01/30(土) 10:03:26.42 ID:BggHBUaW0.net] uwsc
435 名前:うそつかない 1.bmp一致しない 画像変えるよろし [] [ここ壊れてます]
436 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/01/30(土) 10:09:18.79 ID:2SEEQedG0.net] なんだよそれちょっと調べてくるわ
437 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/01/30(土) 14:56:11.94 ID:RmoOYQCx0.net] 最近のchromeの更新でflashの表示のされ方がかわったっぽい気がする 以前に作った画像が認識されず、システムの復元で戻したら認識された
438 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/01/30(土) 14:58:21.22 ID:t4gyFyGY0.net] ChromeはFlash内蔵しちゃったからな
439 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/01/30(土) 17:12:41.00 ID:TzbPvxq50.net] 昔からIEが上手く操作できなくて悩んでたんだけど print IE.document.getElementsByTagName("tr")[2].getElementsByTagName("td")[5].getElementsByTagName("div")[1].style.width); を print IE.document.getElementsByTagName("tr").item(2).getElementsByTagName("td").item(5).getElementsByTagName("div").item(1).style.width って書かないとだめな事をついさっき知った 多分これで今まで挫折したほとんどの操作ができる気がする これについて勉強したいんだけどどこかに記載ってある?
440 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/01/30(土) 17:22:29.38 ID:xqf/0swG0.net] 最近getElementsByTagNameなんか使ったこと無いわ… querySelectorばっかり
441 名前:名無しさん@お腹いっぱい。 [2016/01/30(土) 19:15:44.12 ID:M5n6V6080.net] >>412 XPath で記述して展開させたらシンプル
442 名前:名無しさん@お腹いっぱい。 [2016/01/30(土) 20:53:56.31 ID:CxNcpNVU0.net] 最近はじめたのですがUWSCスクリプト編集に最適なおすすめエディタはなんですか? とりあえずnotepad++を使ってますが「\」が使えのがイマイチだと思ってます
443 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/01/30(土) 21:20:46.06 ID:Pytl/RXf0.net] atom
444 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/01/31(日) 00:29:08.15 ID:osD6olzu0.net] サクラエディタのUWSCキーワードモード
445 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/01/31(日) 00:30:58.41 ID:TDN+J1+m0.net] 標準で関数名に色が付くMeryでいいんじゃね? つづりで間違って悩んだりもしないだろうし
446 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/01/31(日) 00:51:01.33 ID:pVIrtpdo0.net] >>416-418 ありがとうございます いろいろ試してみます
447 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/01/31(日) 06:56:23.26 ID:MAkpvZ6c0.net] >>403-405 ,402 ありがとうごさいました 画像を差し替えたところ成功しました
448 名前:名無しさん@お腹いっぱい。 [2016/01/31(日) 08:29:30.29 ID:kKfsHKLi0.net] 質問なのですが、UWSCでサーチエンジンと言うソフトを操作しようと思っても 全く動作してくれません。これは自動化するにあたって、UWSCでは操作ができないアプリもあるということなのでしょうか?? ご教授いただけると幸いです。
449 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/01/31(日) 08:38:31.98 ID:sUTMeQpI0.net] できないアプリもある
450 名前:名無しさん@お腹いっぱい。 [2016/01/31(日) 09:35:09.11 ID:/i6usHVb0.net] >>422 やはりですか、、、それがわかっただけでも得るものは大きいです
451 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/01/31(日) 15:04:22.93 ID:W6132sy20.net] 戻り値が配列になるものを使う場合ってあらかじめ宣言するときは 配列だって明示的に(?)定義しないのね エラー dim a[2] dim b[3][2] dim i a = split("a b c") for i = 0 to 3 b[i] = split("a b c") next dim a dim b[3] で動く functionの配列戻しが上手くいかないでしばらく頭抱えてた
452 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/01/31(日) 15:20:17.78 ID:cL2tI1rC0.net] Split()の返値はSafeArrayだから定義するならSafeArray()じゃない?
453 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/01/31(日) 19:30:07.95 ID:SGnnlRSc0.net] >>424 a = split("a b c") for i = 0 to resize(a) print a[i] next これだけでもうごくみたいだけど・・・どうなの?
454 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/01/31(日) 20:05:32.38 ID:W6132sy20.net] 普段はEXPLICITしてるから dim a[] = split("a b c") とかって書いて悩んでた SafeArrayを定義するときは配列じゃないなんてきいてないよままん まあ正確には二次元だったのもあって dim a[3][5] for i = 0 to n a[i][] = 関数(i) //←ここ
455 名前: next の書き方がわかんなかった dim a[3] にすれば通るのねってことで土日が終わった [] [ここ壊れてます]
456 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/01/31(日) 20:16:13.80 ID:rJZHZ5Hk0.net] そうですか
457 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/01/31(日) 20:28:40.93 ID:cL2tI1rC0.net] >>427 >戻値 = SPLIT( 文字列, [区切文字列, 空文字処理フラグ, 数値処理フラグ] ) >戻値 > 作成された一次元配列(SAFEARRAY型) 返値がSafeArrayなのにDIM定義の配列で受けるのがおかしいだろって 遠回しに言ったつもりだったんだけど・・・
458 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/01/31(日) 20:48:30.79 ID:W6132sy20.net] SAFEARRAYとはなんぞやDIMとの違いはって HELPみてもさっぱり載ってないもんでよくわかんなかったのです 戻値 = SAFEARRAY( [下限, 上限]) ↑の定義はどこでするのん?みたいな
459 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/01/31(日) 21:06:58.46 ID:RkOVI4vxn] 気になって見ていたら本当に載ってなくてワロタ
460 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/01/31(日) 21:04:45.22 ID:mevx1vWE0.net] SAFEARRAYはメモリ内での並び順が保証されている配列で宣言したければ普通の変数としてDIMしたら良いだけの話
461 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/01/31(日) 22:04:46.46 ID:ymVVdFl90.net] リファレンス見たり、マクロ記録してコピペして作るクソ汚いコードなら簡単なやりたい事作れるようになってきたんだけど、スッキリした綺麗なコーティングとかは何を勉強すれば出来るようになるの?
462 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/01/31(日) 22:28:54.39 ID:h2MIJWcH0.net] 他人の綺麗なコードを見て弄って真似をする
463 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/02/01(月) 00:06:56.18 ID:ODrpB13q0.net] あとこれ X = CALCARRAY( split("1 2 3"),CALC_ADD) が駄目で a = split("1 2 3") X = CALCARRAY(a,CALC_ADD) でないと動かないのもよく分からないです 配列なのかなんなのか ヘルプ読んでも <変数> 変数に型はありません(SAFEARRAY型がないとは言ってない) って感じでわけわかめ
464 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/02/01(月) 00:37:00.65 ID:+rnmEAjm0.net] 変数の名前で後になって困ることが多い ・適当に名づけて似たような変数名があふれてごっちゃに ・名前を決めかねて、後から読むと意味の読み取れない変数名に ・コードをなおしていくうち、当初の意図とは違うコードになり意味が合わなくなる ・コピペしてきたコードなので意味が合わなくなる こういうのを最初から見越してきちんと決めていくと良いコードになるのかなあ でも、変数使うときって、思考の中心は「こういうコードを作ろう」だから、 変数名に気を取られると「こういうコードを作ろう」の中身を忘れちゃったりするんだよな
465 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/02/01(月) 00:42:55.69 ID:baaBe9/W0.net] せっかく日本語使えるんだから日本語でつけちゃえばいい
466 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/02/01(月) 01:03:00.84 ID:VsiPttLF0.net] 単純にスコープの管理が甘いと思う 広いスコープの変数なら「何を保持しているのか」が中心にした方が良い UWSCはクラスのインスタンスを作れないから オブジェクト指向的に変数を管理し難いのが難点だよね それでも自分はある程度の規模のスクリプトならクラスを造って変数を管理するけれどね
467 名前:429 mailto:sage [2016/02/01(月) 01:45:10.84 ID:+rnmEAjm0.net] >>438 そういうものがあるのか 関数まとめて別ファイルに入れてこっちで呼び出して……みたいなことやってるからちょうど良さそう オブジェクト指向と言う名前は聞いたことある、程度の初心者だけど、いい機会だから勉強してみるよ ありがとう
468 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/02/01(月) 02:55:35.27 ID:BoGYQ2nB0.net] 名前が決まらないのはその目的(責務)が明確になってないのが原因でもある
469 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/02/01(月) 08:25:33.84 ID:8RvGbPw20.net] 未熟な自分では考えてもできなかったのでご教授ください t=
470 名前:GETTIME() While True ifb CHKIMG("A.bmp") sleep(1.0) BTN(LEFT, CLICK, G_IMG_X, G_IMG_Y) t=GETTIME() else (中略) ifb CHKIMG("H.bmp") sleep(1.0) BTN(LEFT, CLICK, G_IMG_X, G_IMG_Y) t=GETTIME() else ifb ((GETTIME()-t)>3) Then BTN(LEFT,CLICK,100,100,0.5) t=GETTIME() endif (中略) endif sleep(0.1) WEND これらを実行する時 ifb CHKIMG("A.bmp") BTN(LEFT, CLICK, G_IMG_X, G_IMG_Y) t=GETTIME() に限り「画像Xがある時のみ行う」としたいのです 全てに対してとするならできたのですが1つ目文に対してのみというのができなくて詰まってしまいました [] [ここ壊れてます]
471 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/02/01(月) 09:04:45.92 ID:g7iI5XSU0.net] if X and A elseif !A endif
472 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/02/01(月) 09:33:11.94 ID:pZZgy3PS0.net] ifb CHKIMG("X.bmp") AND CHKIMG("A.bmp") こんだけのことやんけ
473 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/02/01(月) 15:18:36.89 ID:hzvm75kL0.net] option shortcircuit付けてな
474 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/02/01(月) 16:00:59.79 ID:Th0k4/oZ0.net] 本体のホットキーを使わずに一時停止をやりたいんですけど こんな感じの関数を随所随所で呼び出すしかないんでしょうか? PROCEDURE ESC_PAUSE IF !GETKEYSTATE(VK_ESC) then exit SLEEP(0.1) REPEAT SLEEP(0.1) UNTIL GETKEYSTATE(VK_ESC) SLEEP(0.1) FEND
475 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/02/01(月) 16:12:58.29 ID:hzvm75kL0.net] 使わずにっていうのは、本体の一時停止をやりたくないのか それとも本体に設定されたホットキー以外のキーで一時停止したいのか どっち?
476 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/02/01(月) 17:12:39.88 ID:Th0k4/oZ0.net] 本体の一時停止ホットキーは、2つ以上のキーで面倒なのと スクリプト内でやれば、好みの条件に出来るかなと思いまして たとえば、マウスカーソルの位置とか PROCEDURE MOUSE_PAUSE IF G_MOUSE_X<1000 then exit Repeat SLEEP(0.1) Until G_MOUSE_X<1000 FEND
477 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/02/01(月) 17:20:38.17 ID:Th0k4/oZ0.net] あと、本体の一時停止ホットキーは 本体から動かしてるスクリプトには有効ですが ランチャー等から起動した別のスクリプトには無効みたいです
478 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/02/01(月) 17:38:04.47 ID:PbXPJngC0.net] >>447 停止処理はSETHOTKEYで呼び出し 停止処理からの復帰は停止処理内でGETKEYSTATE dim i sethotkey(VK_A,,"proc_Pause") while true i= i+1 fukidasi(i) sleep(0.5) wend procedure proc_Pause() repeat sleep(0.5) until GETKEYSTATE(VK_ESC) fend aで処理中断 escで中断からの復帰 中断復帰後は中断時の処理から続いてる事も確認できる sethotkeyでコードの頭に登録すればそれ以降の処理内で一々中断用のコード書かなくてもいいから保守性も高いよ
479 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/02/01(月) 17:41:43.95 ID:hzvm75kL0.net] UIが無い別プロセスのスクリプトにも有効なのは有効だよ。 ただ、2つ以上のスクリプトが動作してると、キーが消費されちゃうので 連打するとか押しっぱなしにするとかしないと効かない。 あーでも一時停止は連打はダメか。 停止のホットキーは押しっぱなしで全プロセス停止に効く。 本体を一時停止してもいいなら、SETHOTKEYで任意のキーを押した時に UWSC本体に一時停止のホットキーを送るってのもありかと。 あと停止はループさせるよりMSGBOXとか出す方が便利とは思うが。
480 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/02/01(月) 21:11:01.64 ID:Th0k4/oZ0.net] レス、ありがとうございます >>449 おぉー、ホットキーを設定するやり方ですか 仮想キー限定のようですが、これはいい方法ですね >>450 MSGBOXを使うと、解除がちょっと面倒なんで・・・ あと、UWSC本体を起動せず 下記スクリプトをショートカットから実行した場合 一時停止ホットキーは機能しませんでした for j=1 to 10000 fukidasi(j) SLEEP(0.5) next
481 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/02/02(火) 07:05:55.13 ID:Mf47p9PS0.net] >>451 ttp://uproda.2ch-library.com/916238SO2/lib916238.uws 俺はこんな感じでやってる 実際に使うときはウィンドウ指定してアクティブ時にキーチェック
482 名前:オてる [] [ここ壊れてます]
483 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/02/04(木) 13:22:20.05 ID:bYNIn2Du0.net] Google Speech API と組み合わせて音声入力させるものって作れるかなあ?
484 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/02/04(木) 14:03:46.64 ID:fyQC3oxA0.net] すみません、UWSCってこのスレで初めて知ったんですが、業務で利用されてる方いらっしゃいますか?
485 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/02/04(木) 15:21:36.98 ID:ja3vwQ+v0.net] いますよー
486 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/02/04(木) 17:34:50.27 ID:cVw67MCx0.net] 詰まったので質問させて下さい。 現在BluestacksとUWSCを使用して自動マクロを運用しています。 また、離籍時にteamviewerを使用してリモートで操作もしています。 相対座標を使用し、通常は問題なく使えるのですが teamviewer使用時が問題で、セッション終わり毎にダイアログが発生し、そのせいでループが抜けなくなり手間が増えている状態です。 質問なのですが id=GETID("Bluestacks App Player","WindowsForms10.Window.") MOUSEORG(id, MORG_DIRECT) 上記のように指定しても画像検索はできますが座標がおかしくなってまともに動きません。 座標を直接指定しても、画像の場所に直接クリックにしても常に左上の端のみをクリックする状態となっています。 どのように指定をすればいいでしょうか?
487 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/02/04(木) 18:42:53.73 ID:Ml8C21Ff0.net] mouseorgは通用するアプリとしないものがあると何度いわれたらry
488 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/02/04(木) 19:06:31.07 ID:zrOVrXZR0.net] >>456 teamviewer昨日導入したわ。タイムリーな。ツムツムかな? 俺はダイアログ消す方で解消したわ。 UWSCのスケジュールの指定ウィンドウが現れた時で、ダイアログを消すスクリプト登録したらいい感じ。
489 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/02/04(木) 19:21:35.52 ID:cVw67MCx0.net] >>457 ありがとうございます。 自分では通用するのかどうかがわからなかったのと、画像検索はできたので方法があるのかと思い聞いてみました。 申し訳ありませんでした。 >>458 そうだったんですね。 俺は別のゲームです。 プログラミング初心者の為勉強しながらになりますが頑張って組んでみます。 ありがとうございます。
490 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/02/04(木) 19:25:47.32 ID:I350w/WA0.net] >>456 MORG_DIRECTをMORG_CLIENT変える
491 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/02/04(木) 21:48:42.30 ID:DIbZWkUk0.net] BTN(LEFT,CLICK,1200,150,150) と BTN(LEFT,CLICK,1000,150,150) どちらかランダムで一つクリックさせたい場合ってどうやればいいですか?
492 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/02/04(木) 21:57:51.63 ID:EqtNr8zt0.net] ランダムで分岐させたら良い
493 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/02/04(木) 22:23:24.65 ID:4BmdWrRw0.net] >>461 BTN(LEFT,CLICK,1000+RANDOM(2)*200,150,150)
494 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/02/04(木) 23:36:39.04 ID:bosOw8Gy0.net] 整数化しないとひどいことになりそう
495 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/02/04(木) 23:42:01.07 ID:EqtNr8zt0.net] 個人的には速度や短さを競うコードコンテスト以外では 結果的にやりたいことになるコードではなく やりたいことをそのままコードにした方が良いと考えるかな メンテで正しく動作しなくなる種になるからね
496 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/02/05(金) 00:29:23.88 ID:Gg6PibGB0.net] >>460 今ってbluestacksをバックグラウンドで動かせるようになったの?
497 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/02/05(金) 02:27:59.12 ID:AORidpJX0.net] >>463 ありがとうございます
498 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/02/05(金) 02:37:46.36 ID:/HWKBYw70.net] プログラミングのプの字も知らないけどUWSCで初挑戦中 画像認識でAの画像が出るまでBの操作を繰り返す Aが出たらその画像をクリックしてCの操作へ これはrepeat-untilでいいですか?
499 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/02/05(金) 04:19:16.20 ID:i6SfBH8K0.net] いいよ(´・ω・`) とにかく自分で書いて試してみるのが上達の近道
500 名前:だよ あとUWSCの本があるからブックオフで見かけたら買うといいよ [] [ここ壊れてます]
501 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/02/05(金) 06:07:19.13 ID:/HWKBYw70.net] ありがとうございます 色々調べ回って393のような形で処理に成功しました これを順不同にするにはどうしたらいいでしょうか a,b,cの画像を出てきた順にクリックしたいとして repeat sleep(0.2) until chkimg("a.bmp")=true or chking("b.bmp")=true or chking("c.bmp") btn(left,click,g_img_x,g_img_y) これを3つ羅列するとできると思うんですが 長ったらしくなるのでこれをスマートに収めるにはfor〜nextで挟めば大丈夫でしょうか
502 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/02/05(金) 09:15:41.63 ID:YVt32lCs0.net] ツムツムはMORG_DIRECT使えますか?
503 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/02/05(金) 09:18:42.14 ID:AKW1xg3y0.net] >>460 ありがとうございます。 試してみましたが、バックグラウンドで動くわけではないのですね。 リモートする際はchromeのリモートデスクトップ使用でダイアログに邪魔される事もなくなりましたのでこのまま使用していきます。
504 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/02/05(金) 12:28:03.94 ID:/waBKm5O0.net] >>470 それ一つで動作するが OPTION SHORTCIRCUITを設定しない標準状態だと g_img_x,g_img_yの中にchking("c.bmp")の結果しか入らないので これを設定する
505 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/02/05(金) 18:09:16.28 ID:YVt32lCs0.net] 使えませんでした
506 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/02/06(土) 13:49:52.63 ID:E2a0obR10.net] >>470 散々既出だけど、画像があればクリックしてTRUEを返すCLKIMG関数を自作する。 while true clkimg(
507 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/02/06(土) 13:57:39.57 ID:E2a0obR10.net] なんかカキコが壊れた。 clickImage uwsc でググると過去スレに自作例が出てくるな。 while true ifb clickImage("1.bmp") then //1のクリックに成功した時の処理 endif ifb clickImage("2.bmp") then //2のクリックに成功した時の処理 endif ifb clickImage("3.bmp") then //3のクリックに成功した時の処理 endif wend ごく基本的な構造化なのでまだ早いとかやめてね…
508 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/02/06(土) 14:00:17.77 ID:E2a0obR10.net] クリック後に個別の処理が不要なら clickImage("1.bmp"); clickImage("2.bmp"); clickImage("3.bmp") で済んじゃう
509 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/02/06(土) 21:35:39.00 ID:4Jvgc2PX0.net] かなり初歩的な質問なのですが調べてもあまり分からなかったので質問させて頂きます。 UWSCでログファイルが更新され続ける拡張子がtxtなどのファイルを監視し、目的のログが現れた場合 キーを送信 ってできますでしょうか? やり方を教えて頂きたいです。
510 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/02/06(土) 22:15:37.28 ID:k3CjFpd40.net] ・日本語をきちんと使えるようにする ・UWSCを勉強する たったこれだけで実現できるようになるよ あとは君の努力次第だから頑張ってね
511 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/02/06(土) 22:35:58.37 ID:0QAMOn/70.net] シェアウェア版って結構高いねそれでも業務に使える?一台に一ライセンス必要みたいだけど
512 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/02/06(土) 22:47:44.53 ID:sPS5RQrH0.net] >>480 何度もバカなの?
513 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/02/06(土) 22:57:49.59 ID:2YduAXx90.net] >>478 質問がごちゃごちゃし過ぎで、丸投げしたいようにしか見えない どのように監視できないのか どのようにログの検索ができないのか どのようにキー送信ができないのか
514 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/02/07(日) 00:40:38.55 ID:puxzTe8g0.net] >>456 これに便乗なんだけど MORG_DIRECTで動作するAndroidのエミュレータってありますか?
515 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/02/07(日) 06:08:59.16 ID:I92VPPhw0.net] uwscって自由すぎて逆に戸惑うことが多くね? TOTAL = MYCALC(300,400) //計算結果を出力 PRINT TOTAL FUNCTION MYCALC(VAL1, VAL2) ADD = VAL1 + VAL2 RESULT = ADD FEND ------------------------------------------------- PRINT MYCALC(300,400) FUNCTION MYCALC(VAL1, VAL2) ADD = VAL1 + VAL2 RESULT = ADD FEND PRINT文にFUNCUTION関数直接書いても出力されるんだな
516 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/02/07(日) 06:13:42.80 ID:mZHgAHcI0.net] 関数の引数に関数を入れるのは普通 出来ない言語の方が珍しい
517 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/02/07(日) 06:14:43.21 ID:oQyphb55
] [ここ壊れてます]
518 名前:0.net mailto: >>481 そう、パかなの。一台に六千円てことは百台で六十万てことでしょ? exe化したらライセンスフリーってことはexe化したもなのなら配布自由ってことか、配布したPC全部にライセンスいるのかの思ったよ。やっぱり馬鹿だったんだな俺 [] [ここ壊れてます]
519 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/02/07(日) 07:45:41.55 ID:JTReqb1J0.net] 気づけてよかったね
520 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/02/07(日) 07:48:35.49 ID:TPGZWfB40.net] 今までで割引キャンペーンとかってやったことある? やってくれれば買うんだけどな
521 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/02/07(日) 12:25:34.39 ID:DbLS0yGv0.net] 関数の引数に関数を入れる、が関数ポインタとかラムダ式、リスナクラスの話に聞こえてちょっとビックリしたw
522 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/02/07(日) 12:30:27.93 ID:UmG8NUOx0.net] あっしには何を言ってるのかさっぱり
523 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/02/07(日) 15:28:50.99 ID:cJXx45gX0.net] >>487 気付かせてくれてありがとう
524 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/02/07(日) 19:18:51.61 ID:I92VPPhw0.net] >>485 そうなんだ、知らなかった 教本みたいなサイトって丁寧に関数書くから 他人のコード見た時に「なんだこれ!」ってなってびっくりしたわ ついでに聞きたいんだけどさ --------------------------------------------------------------- クリック("ボタン")// FUNCTION クリック(name) IFB CHKIMG(name + ".bmp",0) BTN(LEFT,CLICK,G_IMG_X,G_IMG_Y) KBD(VK_a,CLICK) ENDIF RESULT FEND ------------------------------------------------------------- こうやってCHKIMGの画像ファイル名を関数の引数?を使って好きに変えれるようにしたんだけど 同じようにKBD(VK_a,CLICK) のVK_aの部分も変えられるように出来ないかね?
525 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/02/07(日) 19:28:24.73 ID:mZHgAHcI0.net] VK_Aとかは定数だから変数に入れたり計算させても大丈夫だよ 例えば VK_A + 1 と VK_B は同じだったりとかね
526 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/02/07(日) 19:34:53.46 ID:I92VPPhw0.net] へー、面白いな 今やってみたら出来たよ ありがとう
527 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/02/07(日) 19:48:58.52 ID:C1KScm550.net] コードが難読化するからコーディング規約で禁止してるところも多いけどまぁ便利だよね
528 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/02/07(日) 20:25:57.04 ID:Op3LiiL10.net] そもそも関数という形はそういう書き方をするためのものだろう。 受け取るだけの変数を毎回経由するなら戻り値なんて機能は不要だし。
529 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/02/08(月) 17:06:48.25 ID:T9ZC/Zyz0.net] 質問したい A処理 └B処理 └C処理 という感じの処理があって、これをFUNCTION ABC()にまとめた ABC(Aへの引数) と書くとCまで行くようになっている だけどA処理を飛ばしてB処理の部分を利用したいこともある AB飛ばしてC処理をしたい時もある そういう場合にABC(0,Bへの引数,0)やABC(0,0,Cへの引数)と書けば処理ができるように作ってみたんだけど これ以外に簡便なやり方って無いかな? i.imgur.com/TdIP4wY.jpg ------------------------------ FUNCTION ABC(Aへの引数,Bへの引数,Cへの引数,戻り値) RESULT = False |IFB !Aへの引数=0 | (A) 処理 |ELSE | |IFB !Aへの引数=0 | | (B) Aの値を継承して処理 | |ELSE | | (B') Bへの引数を使って処理 | | |IFB !Aへの引数=0 | | | (C) Bの値を継承して処理 | | |RESULT = True | | |ELSEIF Aへの引数=0 and !Bへの引数=0 | | | (C') B'の値を継承して処理 | | |RESULT = True | | |ELSEIF Aへの引数=0 and Bへの引数=0 | | | (C'') Cへの引数を使って処理 | | |RESULT = True | | |ELSE | | |RESULT = False | | |ENDIF | |ENDIF |ENDIF FEND ------------------------------
530 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/02/08(月) 17:56:33.03 ID:uvOD7Pon0.net] 引数以外の継承したい変数をPUBLICにするとか参照渡しにして ABC各処理を別関数に 関数A 関数B 関数C ABC全部処理する関数ABC BとCだけ呼ぶ関数BC みたいに呼べばいいんでないの
531 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/02/08(月) 17:58:10.02 ID:657cwzrg0.net] ・継承という用語はプログラミングにおいて特別な意味を持つので別の表現を使うべし。 ・サンプルプログラムの条件分岐に既に無意味な部分がありどうしたいのかが読み取れない。 今の状態だと
532 名前:7,11-12行目は絶対に実行されない。 ・引数第4項が戻り値であるにもかかわらずvar宣言がない、関数内でも使われていない。 実行され得ない部分を削って最適化するとこんな感じ。やっぱり意図がわからない。 FUNCTION doABC(Aへの引数, Bへの引数, Cへの引数) RESULT = False IFB !Aへの引数=0 doA(Aへの引数) ELSE doB(Bへの引数) IFB !Bへの引数=0 doC(Bへの引数) ELSE doC(Cへの引数) ENDIF RESULT = True ENDIF FEND [] [ここ壊れてます]
533 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/02/08(月) 17:58:53.91 ID:657cwzrg0.net] 要件ベースでまとめると、 (1) Aへの引数のみ指定すると、doA(Aへの引数), doB(Aへの引数), doC(Aへの引数) の順で実行 (2) Bへの引数のみ指定すると、doB(Bへの引数) のみ実行 (3) Cへの引数のみ指定すると、doC(Cへの引数) のみ実行 解1 関数 doA(paramA), doB(paramB), doC(paramC) を定義し、 関数 doABC(paramABC) 内で上記関数を使用する。 (1)はdoABC(Aへの引数) , (2)はdoB(Bへの引数) , (3)はdoC(Cへの引数) を実行する。 解2 各ケースをあくまで一つの関数にまとめ、引数の指定の仕方のみで制御したい場合。 PROCEDURE doABC(Aへの引数, Bへの引数, Cへの引数) RESULT = False IFB !Aへの引数=0 doA(Aへの引数); doB(Aへの引数); doC(Aへの引数) ELSE IFB !Bへの引数=0 doB(Bへの引数) ELSEIF !Cへの引数=0 doC(Cへの引数) ENDIF ENDIF FEND メリットは特に無い。
534 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/02/08(月) 18:43:19.51 ID:T9ZC/Zyz0.net] >>498-500 ありがとう >>500 ごめんなさい、勘違いしてた 関数の中に関数入れて呼び出すとエラーになる気がしてたけど違ったみたい 素直に解1の方法でやります
535 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/02/08(月) 19:45:49.25 ID:y9zJENvU0.net] hashtbl lists lists["あ"] = "a10 a20 a30" lists["い"] = "b100 b200" lists["う"] = "c1 c2 c3 c4" //上記の場合3*2*4=24通りの全組み合わせを出力するprintCombination //あ=a10, い=b100, う=c1 //・・・ //あ=a30, い=b200, う=c4 printCombination(lists) procedure printCombination(lists[]) product = 1 for key in lists product = product * length(split(lists[key])) next for i = 0 to product - 1 q = i hashtbl outHash for key in lists values = split(lists[key]) r = q mod length(values) q = int(q / length(values)) outHash[key] = key + "=" + values[r] next print join(outHash, ", ") next fend
536 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/02/08(月) 19:54:28.61 ID:y9zJENvU0.net] 質問です printCombinationという関数を書いてみたんですが、 もっとスマートな方法ないでしょうか? やりたいことはコメントに書いてあるとおりです すべての組み合わせを出力したい(もちろん別の組み合わせでも動くような感じで)
537 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/02/08(月) 20:28:28.46 ID:KECwy5hV0.net] これじゃいかんのか? DIM ary1[2] = "a10","a20","a30" DIM ary2[1] = "b100","b200" DIM ary3[3] = "c1","c2","c3","c4" for a1 in ary1 for a2 in ary2 for a3 in ary3 print a1 + a2 + a3 next next next どうしてもハッシュ使いたいなら上の三行で配列宣言したあとにハッシュリストからsplit使って配列にぶっこめばええんちゃうん
538 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/02/08(月) 22:06:55.05 ID:7q7uQHpo0.net] 帰宅中に松屋で飯食いながら考えた。 hashtbl lists lists[
539 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/02/08(月) 22:09:05.76 ID:7q7uQHpo0.net] 帰宅中に松屋で飯食いながら考えた。 hashtbl lists lists["あ"] = "a10 a20 a30"; lists["い"] = "b100 b200"; lists["う"] = "c1 c2 c3 c4" const SPLT_V = " "; const SPLT_R = "<#CR>"; const SPLT_C = ", " print structCombinationCSV(lists, 1) function structCombinationCSV(lists[], cu
540 名前:rLv) key = lists[curLv-1, HASH_KEY] curRows = split(lists[curLv-1, HASH_VAL], SPLT_V) combinationCSV = "" ifb curLv >= length(lists) then for curIdx=0 to length(curRows)-1 combinationCSV = combinationCSV + key + "=" + curRows[curIdx] + SPLT_R next else childRows = split(structCombinationCSV(lists, curLv+1), SPLT_R) for curIdx=0 to length(curRows)-1 for childIdx=0 to length(childRows)-1 combinationCSV = combinationCSV + key + "=" + curRows[curIdx] + SPLT_C + childRows[childIdx] + SPLT_R next next endif result = combinationCSV fend っしゃぁ! [] [ここ壊れてます]
541 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/02/08(月) 22:29:31.74 ID:kO8wU/DR0.net] 500 Internal Server Error
542 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/02/09(火) 00:41:55.44 ID:l/ELWwG70.net] 複雑すぎワロタ
543 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/02/09(火) 10:19:05.55 ID:dxLnf7NN0.net] 松屋で飯食いながら仕事ができるタイプか
544 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/02/09(火) 12:33:29.38 ID:qpHYw0y/0.net] すげえレベル高いな
545 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/02/09(火) 12:40:47.60 ID:kzjhglVU0.net] えっ!?あのお客さん…ウチで飯食いながらコーディングしてる!?
546 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/02/09(火) 12:47:42.64 ID:XfpXz+/C0.net] >>504 それだと関数化するとき困るんじゃね? ary2までしかないときは動かないし ary4まであってもちゃんと動かない
547 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/02/09(火) 17:31:23.26 ID:FV1/KP6n0.net] >>506 は入れ子になってるくり返しで使われる再帰処理だね。 再帰を終わらす終了条件が最初あって、次にやりたい事ってふうに見ると分かる。
548 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/02/09(火) 18:04:46.21 ID:+8zDwgB90.net] そっか項目数だけじゃなく要素数も変わるのか なら関数化するならこんな感じかな //配列組み合わせ生成関数 戻り値は配列を返す FUNCTION fnc_ArryComb(strarry[]) DIM tmpstr[0],tmp //文字列 DIM i,j,k,l,m=0,tmpcount = 1,maxcount = 1,preCount = 1 //整数 CONST cnt_SPLSTR = "," for i = 0 to LENGTH(strarry) - 1 maxcount =maxcount * LENGTH(SPLIT(strarry[i],cnt_SPLSTR)) next resize(tmpstr,maxcount-1) //結果格納用の変数を引数に合わせてリサイズ m=0;i=0 //未使用再利用変数の初期化 repeat //順列組み合わせの作成 tmpcount = 1 for l = m to LENGTH(strarry) - 1 tmpcount = tmpcount * LENGTH(SPLIT(strarry[l],cnt_SPLSTR)) next for l = 1 to maxcount / tmpcount for tmp in SPLIT(strarry[i],",") for j = 0 to tmpcount / LENGTH(SPLIT(strarry[i],cnt_SPLSTR)) - 1 tmpstr[k] = tmpstr[k] + " " + tmp k=k+1 next next next m=m+1;k=0;i=i+1 //カウンターの整理 until i >= LENGTH(strarry) result = slice(tmpstr,0,maxcount-1) fend //関数ここまで
549 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/02/09(火) 18:06:08.69 ID:+8zDwgB90.net] 関数Callのサンプルはこんなかんじ //関数の呼び出し部 hashtbl lists DIM strarry[0] DIM i //ここで入力する項目数を増やしたりlistsの要素数を増やしたり減らしたりする lists["あ"] = "a10,a20,a30"; lists["い"] = "b100,b200"; lists["う"] = "c1,c2,c3";lists["ぼんば"] = "d1,d2,d3" resize(strarry,length(lists)-1) //ハッシュの要素数で配列をリサイズ for i= 0 to length(lists) - 1 strarry[i]=lists[i,HASH_VAL] next fukidasi(join(fnc_ArryComb(strarry),"<#CR>")) msgbox("終わり") //呼び出し部ここまで
550 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/02/09(火) 19:17:28.30 ID:GXdSKXvs0.net] 自作関数って引数を設定した場合、引数の数を合わせないと「引数の数が合いません」ってエラー出るけれど ""を使えば引数を省略できるのか chkimgみたいなデフォルト関数は引数省略できるからどうやるのかなーってずっと悩んでたわ UWSC: 引数を省略できる関数をつくる blogs.yahoo.co.jp/nullpage_vwxyz/52255157.html
551 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/02/09(火) 19:24:17.43 ID:4bdWm2Pw0.net] 引数の省略はデフォルト値を関数宣言時に代入しているか否かだ
552 名前:関数の呼び出し時に変数を使用しているが場合によってはデフォルト値にしたい時はEMPTY(定数)を代入する [] [ここ壊れてます]
553 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/02/09(火) 19:29:44.25 ID:+8zDwgB90.net] ""てかデフォルト値であればtrueでも1でもなんか指定してあげればいいだけね ただまぁプロ版使ってるけどこんな関数用意して procedure procsmp(t=true,m=1,n="オイヨイヨ") t=false fend こんな感じで呼ぶと procsmp(,,"へい") デバッガでは通るのにスクリプトファイルをUWSCで実行するとsyntaxエラー出たりと 環境で動作変わるからあんま使わない方が良いと思ってる
554 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/02/09(火) 19:34:33.12 ID:GXdSKXvs0.net] なんでもいいのか
555 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/02/09(火) 19:59:33.20 ID:p4ai4XIh0.net] >>514-515 この方法もいいね。予め全体サイズを把握してからトップダウンで計画的に構築する感じだね。
556 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/02/09(火) 20:25:23.95 ID:+8zDwgB90.net] 2chは改行制限のおかげでどうやって可読性上げつつコンパクト化するか必死で考えるから質問に答えるだけで色々勉強になるのよね 今回はslice関数をうまいこと使えたので良かった カウンター使い過ぎだけど
557 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/02/10(水) 07:52:47.08 ID:Z7PL/WtA0.net] 例示された処理方法よりも長いし遅くなってないか?
558 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/02/10(水) 08:45:28.77 ID:+W75uBK+0.net] つか質問者のコードが素手にかなりスマートなのに もっとスマートって要求だから釣りなんだろうなw
559 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/02/10(水) 09:04:15.50 ID:MxWBE2100.net] 2進数表記で 111 なら処理三つ 011なら処理二つ みたいなの
560 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/02/10(水) 10:37:39.26 ID:R/okCavp0.net] www.nminoru.jp/~nminoru/programming/bitcount.html
561 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/02/10(水) 11:26:49.90 ID:wTSkFc930.net] phpならarray_shift使ってかなり短くできたがUWSCで組めない
562 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/02/10(水) 12:19:18.86 ID:mXr4GQ/h0.net] 悩みようがないだろ コード書いてみろ 添削してやんよ
563 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/02/10(水) 12:25:07.38 ID:wTSkFc930.net] 添削というか、移植してくれ。sliceとか使うのかな $lists["あ"] = "a10 a20 a30"; $lists["い"] = "b100 b200"; $lists["う"] = "c1 c2 c3 c4"; print implode("<br>\n",(combi($lists))); function combi($lists){ $l_cur = array_shift($lists); $l_cur_arr = explode(" ",$l_cur); if(count($lists)>0){ while($l_cur_1 = array_shift($l_cur_arr)){ foreach(combi($lists) as $extra){ $res[] = $l_cur_1." ".$extra; } } }else{ return explode(" ",$l_cur); } return $res; }
564 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/02/10(水) 12:45:52.49 ID:R/okCavp0.net] そっちかよw
565 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/02/10(水) 12:54:34.10 ID:wTSkFc930.net] すまぬ499をベースにやろうとしてみたけど 5行目で「listsが定義されていません」エラーになる理由がもうわからない UWSCの配列もよく分からない hashtbl lists lists["あ"] = "a10 a20 a30"; lists["い"] = "b100 b200"; lists["う"] = "c1 c2 c3 c4" print combi(lists) function combi(lists) res = "" l_cur = lists[0] SHIFTARRAY(lists,-1); l_cur_arr = split(l_cur," "); if length(lists)>0 then while length(l_cur_arr)>0 l_cur_1 = l_cur_arr[0] SHIFTARRAY(l_cur_arr,-1) for extra in combi(lists) res = res + l_cur_1+" "+extra+"<#CR>" next wend else result = l_cur_arr endif result = res fend
566 名前:名無しさん@お腹いっぱい。 [2016/02/10(水) 14:26:42.18 ID:Lx2sic3p0.net] >>530 関数定義の方の変数が配列として定義されてないから
567 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/02/10(水) 17:16:00.23 ID:cNgK9kX70.net] 連想配列を、多次元で使うのは無理ですか? 可能であれば、方法を教えてください
568 名前:名無しさん@お腹いっぱい。 [2016/02/10(水) 19:45:44.31 ID:CFiYTXoe0.net] www.dotup.org/uploda
569 名前:/www.dotup.org733222.txt.html 少し長いのでうpろだに上げましたm(_ _"m) 質問です。 おそらくこの〜〜〜〜部分に稀に出てくる画像があるのですが、 処理をどう書いたら稀に出てくる画像を検出して押してループ出来ますかね? そして出ないときはスルーしてループしてくれると良いのですが.... 中々調べてもパッとしたものが出てこないので困ってます... [] [ここ壊れてます]
570 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/02/10(水) 22:49:09.18 ID:UdxSvPdk0.net] >>533 質問の趣旨が今一つかめないけどCASE1〜8の処理をループさせながら定期的に特定の画像をチェックしたいってことでいいのかな それならとりあえず全ケース文の先頭にその稀に出現する画像をチェックする処理入れればいいのでは ただこれだけそっくりな処理をケース分けするなら状態遷移用のパラメータ持たせた配列用意して回した方がすっきりするね
571 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/02/10(水) 22:55:35.86 ID:UdxSvPdk0.net] >>533 とりあえずこんな感じ? 細かい部分は適当なので後は自分でいじって dim tmpstr dim def_StateParam[8] dim VWS = 1 def_StateParam[1] = "CASE1,400,200,0,30,1.5,画像9.bmp,1,1,0" def_StateParam[2] = "CASE2,400,200,0,30,1.5,画像2.bmp,2,1,0" def_StateParam[3] = "CASE3,400,200,0,30,1.5,画像3.bmp,3,1,0" def_StateParam[4] = "CASE4,400,200,0,30,1.5,画像4.bmp,4,1,0.1" def_StateParam[5] = "CASE5,400,200,0,30,1.5,画像4.bmp,5,1,0" def_StateParam[6] = "CASE6,400,200,0,30,1.5,画像4.bmp,6,1,0" def_StateParam[7] = "CASE7,400,200,0,30,1.5,画像4.bmp,7,1,0" def_StateParam[8] = "CASE8,400,200,0,30,1.5,画像5.bmp,8,1,0" while true tmpstr = split(def_StateParam[VWS],",") fukidasi(tmpstr[0],val(tmpstr[1]),val(tmpstr[2]),val(tmpstr[3]),val(tmpstr[4]),,,) SLEEP(val(tmpstr[5])) fukidasi() //ここに稀に出現する画像をチェックする処理を書く IF VWS = 4 THEN WHILE (CHKIMG(tmpstr[6])=FALSE) SLEEP(val(tmpstr[9])) WEND ENDIF IFb Chkimg(tmpstr[6]) Then MMV(G_IMG_X, G_IMG_Y) BTN(LEFT,CLICK) VSW = val(tmpstr[7]) ELSE VSW = val(tmpstr[8]) ENDIF wend
572 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/02/10(水) 23:00:18.61 ID:UdxSvPdk0.net] まちがった こっちで dim tmpstr, def_StateParam[8], VWS = 1 def_StateParam[1] = "CASE1,400,200,0,30,1.5,画像9.bmp,1,1,0" def_StateParam[2] = "CASE2,400,200,0,30,1.5,画像2.bmp,2,1,0" def_StateParam[3] = "CASE3,400,200,0,30,1.5,画像3.bmp,3,1,0" def_StateParam[4] = "CASE4,400,200,0,30,1.5,画像4.bmp,4,1,0.1" def_StateParam[5] = "CASE5,400,200,0,30,1.5,画像4.bmp,5,1,0" def_StateParam[6] = "CASE6,400,200,0,30,1.5,画像4.bmp,6,1,0" def_StateParam[7] = "CASE7,400,200,0,30,1.5,画像4.bmp,7,1,0" def_StateParam[8] = "CASE8,400,200,0,30,1.5,画像5.bmp,8,1,0" while true tmpstr = split(def_StateParam[VWS],",") fukidasi(tmpstr[0],val(tmpstr[1]),val(tmpstr[2]),val(tmpstr[3]),val(tmpstr[4]),,,) SLEEP(val(tmpstr[5])) fukidasi() //ここに稀に出現する画像をチェックする処理を書く IF VWS = 4 THEN WHILE (CHKIMG(tmpstr[6])=FALSE) SLEEP(val(tmpstr[9])) WEND ELSE IFb Chkimg(tmpstr[6]) Then MMV(G_IMG_X, G_IMG_Y) BTN(LEFT,CLICK) VSW = val(tmpstr[7]) ELSE VSW = val(tmpstr[8]) ENDIF ENDIF wend
573 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/02/11(木) 01:00:59.88 ID:2xnip+Tc0.net] せめて構造体が使えればねぇ
574 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/02/11(木) 01:02:56.58 ID:PFox1uTL0.net] もしかしてselect処理毎に稀の画像チェックしたいけどselendの前に書いちゃって 毎回通らなくてうまくいかないよ!っていうことだったりするのかな?
575 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/02/11(木) 01:21:45.52 ID:0c+JQyo+0.net] classで構造体っぽい物は作れるけど複数のインスタンス持てるわけでもないしあんま意味ないのがな
576 名前:名無しさん@お腹いっぱい。 [2016/02/11(木) 02:19:21.45 ID:ZBhxJU1k0.net] PowerShell ではクラスを扱えるけど、クラスを作れなかったと思う。 UWSC も、クラスのデータを他言語から受け取って接着剤みたいに使えばいいんじゃね?
577 名前:526 mailto:sage [2016/02/11(木) 03:35:07.99 ID:b+3w0CHx0.net] UWSC使い始めてまだ2日目で色々酷くてすみません( ;∀;) やりたいこととして無限ループを行い、ゲーム内の画像を検出してクリックして放置が できるようにしたかったのですが、先述の通り稀に押さないと進めない物が出てきまして、それのせいでCASE1に飛ばされてしまい マクロが止まるという事態が起きてました。
578 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/02/11(木) 03:39:32.11 ID:b+3w0CHx0.net] >>534 527さんの解釈で合ってます! 色々検索したり、知恵袋使って質問していたのですがその仕組みが作れませんでした... >>536 529さんのが自分からすると高度すぎてよく分からない状態です( ;∀;)
579 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/02/11(木) 04:06:02.47 ID:BAwW+2D
] [ここ壊れてます]
580 名前:70.net mailto: エフェクトや透過処理等で素材画像とは完全一致しないケースがある クリックはあくまでイベントを送ってみようとするだけで溢れる可能性がある 次のループに入ってクリックをキャンセルしまったり やり直しが出来ない重要なクリックの場合は クリックを受け付けたか何らかの方法で確認しないと安定しなかったりする 動く時と動かない時があるのは大抵この辺 [] [ここ壊れてます]
581 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/02/11(木) 04:17:43.34 ID:TCAo9itq0.net] 始めて2日の>>541 に>>536 見せても意味理解できないんじゃないかなあ プログラム初心者とは書いてないけれど、どうなんだろう 始めて2週間の俺が低レベルなプログラムを書いてみる WHILE !GETKEYSTATE(VK_ESC) REPEAT IFB CHKIMG("画像9.bmp") BTN(LEFT,CLICK) ELSE BREAK ENDIF IFB CHKIMG("画像2.bmp") BTN(LEFT,CLICK) ELSE BREAK ENDIF ・ ・ ・ UNTIL FALSE WEND ん? これでよくね? 見つからない場合にBREAKすれば最初に戻るんだろ?
582 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/02/11(木) 12:23:32.74 ID:z++B2lkF0.net] >>544 状態遷移を省いちゃダメでしょ
583 名前:521 mailto:sage [2016/02/11(木) 13:16:17.89 ID:okUdFipF0.net] >>502 のやついまさらで「あ・い・う」も略しちゃってるけどやっと一応できた 配列の順次追加・戻り値・shiftに苦労したが勉強になって楽しかった 空の配列宣言が分からなくて if ref[0]<>""とか不恰好なのが入ってる dim res[] = ""に代わる中身0の配列宣言分かりましたら教えてください 行数も構造もあまり499と代わらなくなっちゃったかな dim lists[] = "a10 a20 a30","b100 b200","c1 c2 c3 c4" print join(combi(lists),"<#CR>") function combi(lists[]) dim res[] = "" l_cur = lists[0]; lists_s = slice(lists,1,length(lists)-1) l_cur_arr = split(l_cur," ") if length(lists_s)>0 then while length(l_cur_arr)>0 l_cur_1 = l_cur_arr[0] l_cur_arr = slice(l_cur_arr,1,length(l_cur_arr)-1) for extra in combi(lists_s) if res[0]<>"" then Resize(res,length(res)) res[length(res)-1] = l_cur_1+" "+extra+"" next wend result = slice(res,0,length(res)-1) else result = l_cur_arr endif fend
584 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/02/11(木) 13:26:13.37 ID:IFP6rTWM0.net] emptyとかvartypeとかそういう話でなく?
585 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/02/11(木) 13:32:44.65 ID:okUdFipF0.net] >>547 ごめんよく分からない。多分違うかな dim res[] = ""の部分の時点でlength 1 になっちゃうから length 0 の状態で宣言できるとそこは解決だと思うのだが
586 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/02/11(木) 14:11:26.72 ID:PFox1uTL0.net] >>542 単純に書くならこうなる while 1 if chkimg("稀?") elseif chkimg("9?") elseif chkimg("2?") elseif chkimg("3?") endif sleep(3)//? wend VSWでの全体の管理が必要なのかも怪しい VSWに捕らわれすぎてやりたいことが出来なくなってる可能性もある まぁそれぞれの画像の条件(出方・消え方)がいまいちわからないから・・・
587 名前:名無しさん@お腹いっぱい。 [2016/02/11(木) 19:58:05.91 ID:RBcXi3Gt0.net] 教えて下さい。 このソフトを使ってExcelシートに入力されている値を別の計算ソフトへ 自動で入力するというようなことはできますか?
588 名前:名無しさん@お腹いっぱい。 [2016/02/11(木) 20:29:19.42 ID:WYFXkEVH0.net] www.dotup.org/uploda/www.dotup.org734791.zip.html
589 名前:名無しさん@お腹いっぱい。 [2016/02/11(木) 21:05:25.66 ID:z8n8XQ1d0.net] >>524 msgbox(bitcount(7)) //3 msgbox(bitcount(3)) //2 function bitcount(n) if n<>0 then result=result+n mod 2+bitcount(int(n/2)) fend
590 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/02/12(金) 00:04:53.83 ID:k6qMW81B0.net] 素人でこの言語最近知ったんだが、これ最強の言語じゃね?なんであまり知られてないの?
591 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/02/12(金) 00:12:52.00 ID:9BztTFw/0.net] いや、言語っていうか・・・
592 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/02/12(金) 00:45:52.84 ID:ywMkiNaR0.net] >>553 素人判断はやめましょう
593 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/02/12(金) 00:51:12.45 ID:GKVk0beF0.net] ゲームを自動化すると楽しく学べるね(´・ω・`)
594 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/02/12(金) 00:54:49.48 ID:8lgU0Jr00.net] やっちゃいけない領域な気がするけどね!
595 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/02/12(金) 01:26:26.97 ID:g/t37I2b0.net] 言語というよりも録画再生機能が好き
596 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/02/12(金) 08:54:55.690943 ID:k6qMW81B0.net] いや、本当に素人でもブラウザとソフトウェアの自動連携を作れるってのはすごいと思うんやけど。なんで知られてないん?
597 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/02/12(金) 08:56:56.102247 ID:4JLZMnR80.net] お前の類友が無知だからかな
598 名前:名無しさん@お腹いっぱい。 [2016/02/12(金) 10:04:21.88 ID:i4qbzSJ40.net] 時間どうなってんのそれ
599 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/02/12(金) 13:27:19.60 ID:cKYrB2r90.net] >>549 元コード見るとすべてのステージで異なる画像を判別に使用してるわけじゃないから無理じゃね 画像4チェックのときだけケース分けするにしてもそれなら一括でステージ管理したほうがよさげ
600 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/02/12(金) 15:17:28.05 ID:8lgU0Jr00.net] >>562 不明な点が多すぎて基本的なやつになった
601 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/02/12(金) 16:30:11.66 ID:cKYrB2r90.net] >>546 UWSCで空配列は宣言できないからslice関数を使って普通の変数に入れる 初期値指定みたいに文字列使いたい場合はsplit関数も組み合わせる DIM x = slice(SPLIT("a,b,c,d",",")) print x[2] x=slice(SPLIT("e,f,g,h,i,j",",")) print x[2] DIM y = slice(SPLIT("w,x,y,z",",")) DIM z = slice(y) print z[2] これ使えばよくある空配列の宣言に近いことはできる
602 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/02/12(金) 16:42:46.02 ID:cKYrB2r90.net] >>546 もちろんslice関数での変数x初期化前にlength(x)すると0は返ってくるけど 単純にxの文字列長が返ってきてるだけで要素数では無い点には注意が必要 戻値的には同じだから十分使えるけどね
603 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/02/12(金) 17:09:37.34 ID:UbZzXFO50.net] >>564 おー、ありがとう >>564 を直接どう使えばいいか分からなかったけど (「変数x初期化前にlength(x)すると0は返ってくる」てのがどういう状態の時か分からず) >>546 の宣言部分を DIM res = slice(SPLIT("",",")) と 空文字列のsliceから取得したらlength 0で宣言できた あとはphpと同じようにshiftarrayの戻り値としてあふれた値取得できたり 式ひとつで配列に値を追加できるとかなりシンプルに出来るんだが そこはUWSCの仕様ってことであきらめるしかなさそうかな〜
604 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/02/12(金) 17:20:03.48 ID:cKYrB2r90.net] >>566 言い方悪かった >変数x初期化前にlength(x)すると0は返ってくる DIM x //初期値を与えない print length(x) //xの文字列長0が返る x = slice(SPLIT("a,b,c",",")) length(x) //x[]の要素数の3が返る って意味だったんだけど確かに宣言時に slice(SPLIT("",",")) で初期値設定しておいたほうが 後からコード見たとき変数の用途が解りやすくていいね 使わせてもらいます
605 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/02/12(金) 17:32:07.53 ID:bdQKZ6P80.net] 長さ0のsafearrayはこれで作れる safearray(0,-1)
606 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/02/12(金) 17:37:10.80 ID:ckS+rd0L0.net] phpはデフォで色々な関数が用意されてるだけなんだから array_shiftと同じ関数を自作すりゃいい
607 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/02/12(金) 17:42:19.65 ID:UbZzXFO50.net] >>567 なるほど> DIM x しかしそれだとその後のResizeで「配列ではありません」エラーになっちゃうな いずれにしても宣言わかってよかったですありがとう 1行での配列の追加もその線で出来ないかと res = slice(split(join(res,","),",")) とトリッキーにやってみたが上手く行かず もし出来たらまた貼らせていただくかも >>568 おー、ほんとだスッキリ >>56
608 名前:9 元の配列操作しつつ戻り値も得るって出来るのかな? [] [ここ壊れてます]
609 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/02/12(金) 19:27:59.43 ID:k6qMW81B0.net] ブラウザ操作する場合、uwscとエクセルvbaはどちらがいいの?同じ? それなら、ページが多いエクセルの方が良くね。
610 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/02/12(金) 19:32:42.63 ID:dphmFixd0.net] COM操作で解決する範囲の自動化なら同じなので自分が使いやすい方でやれば良いのです
611 名前:名無しさん@お腹いっぱい。 [2016/02/12(金) 19:53:59.16 ID:i4qbzSJ40.net] alert窓 を閉じるのは VBA では基本的に出来ないと思う。 でも、出ることが分かってる「ファイルを保存する」ダイアログは SendKeys でコントロールできるらしい。
612 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/02/13(土) 01:10:16.19 ID:smbIwZzf0.net] UWSCでクワインとなるソースコードを教えてください なるべく最短で、出力はmsgboxでお願いします
613 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/02/13(土) 01:15:32.21 ID:hFFChm3k0.net] 誰かがそれを出してもwikiとかに追記に行くなよ
614 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/02/13(土) 09:26:54.53 ID:7eVjLkIC0.net] MOUSEORG(id,0) if chkimgx(img_name, id) then btn(left, click, G_IMGX_X, G_IMGX_Y) これだと画像より少し左上にずれてクリックする 修正して使ってきたがこれってしかたないのか?
615 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/02/13(土) 14:16:58.30 ID:9elgN/hL0.net] statusでウィンドウの幅と高さとクライアント幅とクライアント高さ この辺が違ってたらその可能性もある
616 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/02/13(土) 18:52:01.69 ID:abY5DV330.net] >>576 使用した画像の一番左上を原点とするからだよ だから何も指示しないと左上に行く
617 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/02/13(土) 19:32:42.79 ID:AtiKTq4d0.net] 569の言う左上って画像の中心より左上って意味なのか? 画像の左上角より左上なのかと思った
618 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/02/13(土) 19:56:20.37 ID:2icoSvut0.net] chkimgってサーチ範囲の座標記述すると見た目が悪くなるのが嫌いなんだけど 俺が作ってるのはサーチ範囲は変わらないから全部同じ数字入れるのがだるい かといって書かないと遅くなるらしいし 良い方法ないかな 新しく関数作って固定させるぐらいしか思いつかん chkimgA() function chkimgA(PARAM_IMG) ifb chkimg( "PARAM_IMG" + ".bmp", 1, x1, y1, x2, y2) result = true else result = false endif fend
619 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/02/13(土) 20:07:46.86 ID:hFFChm3k0.net] 基本的には関数化しかない 例外を記述する時に楽するためにデフォルト引数使うと良いかもね
620 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/02/13(土) 20:08:01.19 ID:JoYsMZYi0.net] 定数作れよ
621 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/02/13(土) 20:15:10.67 ID:2icoSvut0.net] >>581 やっぱそうか デフォルト引数ってのは function chkimgA(PARAM_IMG="") みたいに書けばいいってこと? >>582 定数作れってのはCONST使えって言うこと?
622 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/02/13(土) 20:26:32.08 ID:hFFChm3k0.net] 全部聞いていたら何も造れないぞ 少しは考えろ //デフォルトの範囲(面倒だからXのみ) CONST checkImageRange_X = 100 checkImage("test1") //デフォルト引数な呼び出し checkImage("test2", 200) //例外的な呼び出し procedure checkImage(imageName, x = checkImageRange_X) Print imageName + "=" + x Fend
623 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/02/13(土) 20:37:26.58 ID:2icoSvut0.net] ごめん、全部聞いたつもりじゃなくて言葉の意味、意図がわからないから聞いただけなんだ
624 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/02/13(土) 21:11:34.08 ID:2icoSvut0.net] デフォルト引数とかCONSTについての知識があまりないからググって考えたんだけど >>584 は例外を引数で指定するためのやり方、ということだよね? 自作関数そのものの機能としては>>580 で問題ないよね? 俺は例外の場合は普通にCHKIMG関数を使おうと思っていたんだけど、
625 名前:>584のやり方で例外のために記述を加えたほうがいいのはどうして? [] [ここ壊れてます]
626 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/02/13(土) 21:19:16.44 ID:JoYsMZYi0.net] >例外の場合は普通にCHKIMG関数を使おうと思っていたんだけど だったら関数作んなくていいって 定数作れ
627 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/02/13(土) 21:30:44.76 ID:hFFChm3k0.net] デフォルトな条件なら呼び出し側がシンプルに成る 前後の処理を共通化できるってのが基本的なメリット 同じ処理を複数の箇所に記述すると変更する必要が生じた時に 対応が漏れる恐れがある 少し上にあった条件を配列に入れてループで回すコードみたいに 回りくどくても変更に対応しやすいコードの方が便利かもねって話
628 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/02/13(土) 21:39:33.04 ID:2icoSvut0.net] >>587 ごめん、その定数作れの意味がわからない >>588 関連の話として、例外を指定できる方法を教えてくれたということかな? どうもありがとう
629 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/02/13(土) 21:43:21.10 ID:AtiKTq4d0.net] >>580 なんで関数内にif文書いてるの? function chkimgA(〜) result = chkimg(〜 fend これだけでいいじゃん
630 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/02/13(土) 23:11:25.36 ID:eCDlWNP70.net] 初心者の質問です。 fukidasi(
631 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/02/13(土) 23:15:10.41 ID:eCDlWNP70.net] あれ、切れちゃった 初心者の質問です。 fukidasi("ゲームウィンドウ上でSキー") //Sキー入力待ちの告知 While !(GETKEYSTATE(VK_S)) //Sキー入力まで無限ループ sleep(0.1) Wend fukidasi() //入力待ち告知の吹き出しを消す winid = getid(GET_ACTIVE_WIN) この某hpのサンプルコード使ってbluestacksのID取得をして MOUSORG(winid,0,0)では動くのですがそれ以外の数値だと動きません (id,2,2)でバックで動かしたいのですがどうすれば直りますか?
632 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/02/14(日) 00:41:28.44 ID:V4/m1Afh0.net] 仮想環境を操作するのはUWSCでは無理
633 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/02/14(日) 08:59:07.59 ID:4bRrPD2X0.net] >>593 なるほど バックで動かすのはあきらめます ありがとうございました
634 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/02/14(日) 09:05:22.19 ID:c3uHBcDI0.net] 自分が裏だと描画を控えるアプリに対して 描画させる事は基本的に前面にするしかない
635 名前:名無しさん@お腹いっぱい。 [2016/02/14(日) 09:28:54.14 ID:Oo27r2AD0.net] 以前書いた奴 ID = GETID("BlueStacks App Player","WindowsForms10.Window.") // MOUSEORG( ID, MORG_CLIENT or MORG_DIRECT, MORG_BACK ) // MORG_DIRECT だとAndroidが反応してしまう。 // MOUSEORG( ID, MORG_CLIENT ) // MORG_CLIENT だと ChkImgX と標準関数とで原点位置が食い違う。 MOUSEORG( ID ) >>593-594 の流れはおかしい。 仮想環境でも画像で操縦は可能だし >>592 は「MOUSORG(winid,0,0)」では動くと書いてるのに。 >>595 BlueStacks は裏でも描画する XP時代は隠れた部分は描画されなかったけど
636 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/02/14(日) 11:08:44.73 ID:4bRrPD2X0.net] >>596 よく考えたらそうですね・・・ その後の処理はifb CHKIMG→BTNでクリックさせる→スリープ1秒 を何パターンも作ってるだけの簡単な ゲーム操作をさせるマクロなんですが色々ぐぐっても原因わからずでした
637 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/02/15(月) 01:57:12.49 ID:0dWxJSmB0.net] 画像検索の特殊変数G_IMG_X,G_IMG_Yってのは ローカル変数扱いなんでしょうか? 画像検索でヒットしたG_IMG_X,G_IMG_Yの値を 別の関数で使いたい場合は、引数で渡すか グローバル変数を使うかしかないんでしょうか?
638 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/02/15(月) 07:11:02.66 ID:X50nyRyC0.net] >>598 グローバルだったとしても、そういうのは引数で渡す癖をつけたほうがいいよ。 グローバル変数に入れなおすのもNG。
639 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/02/15(月) 12:48:14.51 ID:fuyjfYD1
] [ここ壊れてます]
640 名前:0.net mailto: 引数が増え過ぎてきた場合、普通はどうしたらいいの?構造体もないし [] [ここ壊れてます]
641 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/02/15(月) 14:28:14.98 ID:lRH39zN60.net] >>600 個人的にはそれが必要な情報なら引数にする事を厭わないかな でもクラス(モジュール)を使って必要な情報を整理して保持できるならそっちを優先する グローバル変数は最後の手段だけどクラスのメンバ変数は使用を躊躇する必要ないしね
642 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/02/15(月) 15:17:21.06 ID:mpgO3egX0.net] 引数を配列で渡すとか、関数を分割するとか
643 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/02/15(月) 17:00:42.69 ID:ml/Gl3ot0.net] ワシにはなんのこったかさっぱり UWSCはプログラミング未経験者が使うツールだと思ってた
644 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/02/15(月) 18:51:08.74 ID:iW+KTqvB0.net] >>603 その話題について知りたいなら素直に知りたいって書いたほうが得だよ 逆にどうでもいいなら黙ってようよ
645 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/02/15(月) 18:55:50.05 ID:iV3+q7Ob0.net] うざいからお前出てって
646 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/02/15(月) 20:36:48.80 ID:ml/Gl3ot0.net] わかったよもう来ないよ そのかわり質問スレに誘導してくれ
647 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/02/15(月) 20:47:06.23 ID:TntgXZj60.net] >>606 うざいと言われてるのは>>604 の方だと思うがな
648 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/02/15(月) 20:54:00.51 ID:VKY0mmNh0.net] もっと短いクワイン書けないでしょうか?自分の実力ではこれが限界です UWSC上級の人よろしくお願いします a=chr(34);b=
649 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/02/15(月) 21:00:29.60 ID:VKY0mmNh0.net] なんか切れたんでこっちに貼りました https://gist.github.com/anonymous/e522e8a7f110f3238185
650 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/02/15(月) 21:24:10.17 ID:ekeGmjS90.net] 特定の武器を一回だけ使って元の武器に戻す 特定の武器に持ち替えて使用する ↑ここまではUWSCでできるんだけど 直前に持っていた武器に戻す ↑識別方法がなくて諦めた
651 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/02/15(月) 21:45:50.39 ID:k4y1Ql7g0.net] 日記か
652 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/02/15(月) 22:00:26.19 ID:0XdlPD550.net] 最近恥ずかしげもなくゲームマクロの質問ばかりだな
653 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/02/15(月) 22:05:32.67 ID:GSjAFn9q0.net] >>610 お前が何を見て直前に持っていた武器だと認識するのかを そのままコードに書けばできるだろ お前も認識できないなら知らん
654 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/02/15(月) 22:21:08.17 ID:ZQ5I0KNy0.net] >>603 特定の画像出現をポーリングで待機しながらタイムアウトとか考えるのは組み込みに近いから 言語自体はシンプルだけどコード書くのはそこそこ経験必要よ
655 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/02/15(月) 22:37:12.48 ID:ScNC+Izw0.net] ゲームで使うのはいけないけど 楽しく学べるから一番上達が早いのよね (´・ω・`)
656 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/02/15(月) 22:42:37.20 ID:6/AzYlfK0.net] >ゲームで使うのはいけないけど どういうこと?
657 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/02/15(月) 23:01:56.67 ID:TntgXZj60.net] ゲームマクロ使用がいけないことであるっていう常識が無い奴がいるのは戦慄を覚えるね
658 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/02/15(月) 23:08:31.27 ID:6/AzYlfK0.net] ソフトが良くてゲームがいけない意味が分からん 最近もパズドラ攻略機械組んでる動画みてただすげえって思ったけど もともとゲーム内にプログラム要素あるのもあるし
659 名前:imi mailto:sage [2016/02/15(月) 23:11:18.16 ID:Et+z3L6S0.net] 君規約とか一切読まないタイプ?
660 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/02/15(月) 23:12:37.28 ID:ZQ5I0KNy0.net] オフゲなら好きに汁オンゲなら垢バンされても泣かない ここはマクロの善悪を語る場ではないので
661 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/02/15(月) 23:12:46.12 ID:lRH39zN60.net] 利用規約違反になるので本来公言するもんじゃないのよ だからゲームのためのノウハウ教えてと言われると供与できない 建前でゲームじゃないフリしてろ
662 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/02/15(月) 23:15:05.33
] [ここ壊れてます]
663 名前: ID:6/AzYlfK0.net mailto: あんまり読まないけどマクロ禁止とか書いてあるんか そういうのって一定ジャンルのみとか一部じゃないの [] [ここ壊れてます]
664 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/02/15(月) 23:18:49.53 ID:lRH39zN60.net] 許されているジャンルならそのスレでマクロの話をすれば良い
665 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/02/15(月) 23:23:35.26 ID:6/AzYlfK0.net] あー課金したりネットワークで他人と競う系のゲームか 自分そういうのぜんぜんやらないからな 「ゲーム」って一まとめで言うのは御幣あるじゃないか ゲーム名明記してない限り規約に違反してるかどうかは分からんわけでしょ >>623 その論理だとすべてのマクロの話Windowsスレとか別スレでしろって話になっちゃうんじゃ
666 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/02/15(月) 23:30:04.89 ID:lRH39zN60.net] 利用規約にマクロが禁止されているツールならそうなるかもね だから規約違反しているか判断できないゲームの話はするのは勝手けど 供与は出来ないからボカせというのが私の主張
667 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/02/15(月) 23:31:45.80 ID:0XdlPD550.net] いやー規約違反云々もあるが 調べもしない子供が多いからここでゲームの質問は暗黙の了解でNGだったんだが 最近は普通に受け入れられるようになったんだなーと思った
668 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/02/16(火) 00:26:03.06 ID:Qfud2JiX0.net] ゲームの規約はUWSCの規約じゃないからそれ自体はどうでもいいんだけどね。 「何をやりたいか」を有効な言葉に変換できずに、ゲームの動作そのまま質問しちゃうような人だと 自分で何もせず結局全部丸投げしてくる人ばかりだから叩かれたというだけ。
669 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/02/16(火) 00:44:27.17 ID:i6aChOQJ0.net] ゲーム関連で荒れなかった試しがないからな
670 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/02/16(火) 02:56:23.77 ID:QoFwoTib0.net] A⇔Bって決まってるなら AからBは出来るんだから(Bを探した?) その逆をやればいい(Aを探す?) もし途中からAと同種のやつがもりもり増えていくとかだとめんどいけど まぁAが増える可能性もあるということはBも増える可能性があるわけで・・・
671 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/02/17(水) 04:35:41.66 ID:kb0x6ds+0.net] ゲームのプレイ行為そのものが報酬であるとデザインされたオフゲと違って、 ネトゲはゲームのプレイ行為を手段として主に自己顕示による自己実現気分を 味わうヤクであり、ソシャゲはそのヤクの販売ルート拡大とマネタイズに 成功した事業なのである。 仮想自己実現を売り物にするネトゲ・ソシャゲ業者にとって、 ゲームのプレイ行為そのものが報酬となる程に、 ゲームそのものを工夫して面白くするのは過剰品質であり粗利が減るので、 あえて、いわゆるクリックゲーと呼ばれる、ゲームというより単重労働を ユーザーに課すのが通例であり、これを自動化されては産業革命が起きてしまい 商売が成り立たないので規約で禁止する率はほぼ100%。 よってゲームの自動化需要で圧倒的多数はソシャゲであり、ほぼ無確認でも間違いない。 そしてゲーム開始時にソシャゲ業者から口を酸っぱくして明示的に禁止されていることに 気づかず、臆面もなく赤の他人にホイホイ業者との契約違反方法を聞いて恥じない愚者は 知能的にプログラミングを教える段階にない。
672 名前:名無しさん@お腹いっぱい。 [2016/02/17(水) 04:53:53.69 ID:hPLvEUTu0.net] このスレでゲームの話題が禁止されてるのは オンライン/オフラインに限らず全てなので 別にゲームの規約違反とは関係ないと思うよ。 たぶん、ゲームの質問するやつって常に新規で初歩的な質問なんで それ以外の話ができないとかそんなんだろ。
673 名前:名無しさん@お腹いっぱい。 [2016/02/17(水) 04:57:14.01 ID:hPLvEUTu0.net] ソシャゲではこういうことはないけど、一般的なオンラインゲームでは ゲーム側でUWSCが
674 名前:動かないようにされてるから、そういうのは関係あるかも > 42 :名無しさん@お腹いっぱい。:2012/04/27(金) 08:17:32.89 ID:n7YHJBnV0 > 作成したマクロをオンラインゲームで実行しようとすると動作しませんでした > ググってUWSCをUNKOに変更してもダメでした・・・ > ゲーム側でマクロ対策されてたら出来ないのでしょうか? > > 43 :名無しさん@お腹いっぱい。:2012/04/27(金) 10:16:31.41 ID:hwEpQpsX0 > >>43 > マクロ対策されてたら出来ないから > 仮想PCでゲーム走らせてやるんだよ [] [ここ壊れてます]
675 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/02/17(水) 04:57:20.17 ID:pIoDNX4q0.net] そんなゲーム業者の都合なんてどうでもいいことだろう。 重要なのは、このスレの住人が答えたくなるような質問ができるかどうかだ。
676 名前:名無しさん@お腹いっぱい。 [2016/02/17(水) 05:06:46.52 ID:hPLvEUTu0.net] ゲームの仮想化では必需品だった VMware Player も開発中止になっちゃって今後どうしたらいいのやら。 マイクロソフトの Hyper-V を VMware Player のように使うことは可能だけど マイクロソフト製品は画面表示に通信系の技術を使ってて 帯域を減らすために画像圧縮を使ってるせいで 常に画面はノイズが入った状態で UWSC の画像認識では動かない・・・。 Hyper-V で音を出すためには Windows Server または Ultimate が必要だ。 7月までなら無償アップグレードが可能だから、 とりあえず Hyper-V 環境の Winddows を一つくらい 無償アップグレードしといたほうがいいかも。 音を出す程度のことでそんなことが必要なくらい、Hyper-V は不便なんだぞー。 そして、ほかの仮想化ソフトは全然使い物にならないんだぞー ※ Mac の Parallelsだけは例外 KVM とかは Linux では安定して動くらしいけど Windows は満足に動かせないらしい。 設定もめんどくさいし。
677 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/02/17(水) 05:25:15.26 ID:GIOAQLSV0.net] 煽りとかじゃないんだけどゲーム以外だと何に使ってるの?
678 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/02/17(水) 06:32:41.54 ID:beI7tmqh0.net] >>635 業務
679 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/02/17(水) 08:13:26.19 ID:/1ajP00K0.net] ゲームの話になると仮想環境とかUWSC対策の回避方法の話ばかりになる ゲーム操作一般スレ作っておいて誘導したほうがお互いのためにもいいよ
680 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/02/17(水) 08:15:00.12 ID:rcyqh9600.net] 動画見てるときにでてくる広告クリック
681 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/02/17(水) 08:21:56.99 ID:91rSfnp00.net] Windows起動時に窓を残したまま立ち上がる常駐アプリ(LINEとか)のウィンドウクローズ マイドキュメントの定時バックアップ、手動でWindows終了した時のバックアップの自動化 株取引アプリの起動時、アプリ側で保存されない設定の自動セット チャートアプリで毎回同じ流れの操作をダブルクリックで実行
682 名前:名無しさん@お腹いっぱい。 [2016/02/17(水) 10:58:48.44 ID:dGarNdwa0.net] バックグラウンドで動いてて欲しいけどよく止まるソフトの異常検知と再起動 ビューアで見ている画像にフォルダ名をつけてマイドキュメントにコピー
683 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/02/17(水) 11:10:03.79 ID:7mLT8oDH0.net] SPEAK関数使ったマクロでカーナビ音声認識機能のデバッグ 海外向けナビは音声認識機能がデフォルトなので全ての機能に音声認識が割り当てられてるから人の手でやると超大変
684 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/02/17(水) 19:23:28.68 ID:CDYU1lyI0.net] >>638 スケベ
685 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/02/17(水) 23:05:55.63 ID:Z2OJH21P0.net] a〜z+1〜9の中からランダムに入力したい場合ってどうやればいいですか?
686 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/02/17(水) 23:38:43.99 ID:7mLT8oDH0.net] >>643 ざっくり設計 1.該当のAscii文字コードが入った配列を作成 2.配列の添
687 名前:数をランダムで生成 3.chr関数を使って文字に変換 Ascii文字コードでA と aは別物なので必要に応じて修正拡張 //関数呼び出しサンプル 戻り値はstr print fnc_RandomStr() //0-9,a-zをランダムで生成する関数 function fnc_RandomStr() dim ts[35],i for i= 0 to 9 ts[i] = Asc("0")+i next for i= 10 to 35 ts[i] = Asc("W")+i next result = chr(ts[random(36)]) fend [] [ここ壊れてます]
688 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/02/17(水) 23:44:26.11 ID:Y0AJ5NIx0.net] kbd(random(VK_Z - VK_0) + VK_0) とかでいいんでない?
689 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/02/17(水) 23:53:36.29 ID:7mLT8oDH0.net] それだとVK_0からVK_Z-1までの文字コード出すだけだから 58(:)-64(@)の記号まで含まれちゃうし多分Zは出てこないね
690 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/02/17(水) 23:54:40.60 ID:5diPod+M0.net] 丸投げに応じるなよ・・・
691 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/02/17(水) 23:56:59.22 ID:7mLT8oDH0.net] ランダムでの文字列生成はたまにコード書いておかないと大事な事抜け落ちるからな
692 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/02/18(木) 00:03:21.41 ID:eoG2gd950.net] >>648 わかる、一回の実行で使い回す頻度を考えて準備と取得は分けたりもするよね グローバル変数を汚染をしないためにもクラス使った方が良いパターンだと思う >>647 自分も丸投げは検索キーワードを教える位までかな でも対処は個人の自由かと (勿論ツッコミを入れるのも自由だと思うので非難はしていない)
693 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/02/18(木) 00:17:37.78 ID:OlbQAj/J0.net] >>649 そうそう 引数に渡すクラス内の配列サイズ取得してrandomの範囲決めて関数自体は汎用化させた方がスマートだったね randomの取得範囲が以下か未満かもたまに怪しくなるしランダム文字列生成ではいつもコードレビューが厳しくなる
694 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/02/18(木) 00:43:39.97 ID:RFqQoptg0.net] >>649 >>2 ●質問したい方へ 「○○作れますか?」→ 可能か不可能かを聞いているのなら答えは「作れる」 「○○が作りたい」→ 自分が作れば?並大抵の事ならググれば似たようなスクリプトや知識が見つかる 「○○作って下さい」→ 依頼スレじゃありません。 過去ログを見る、検索する等、自分で出来る事を書き込む前にするように。 自力で作ったのを晒すか、具体的な解らない場所を提示して、改善点や解決策を求めるようにしましょう。 備考:PRI NT文を利用してデバッグする。管理者権限で起動してみる。AEROを切る。fcuc.uwsを走らせてみる。 丸投げに対応する奴は荒らしと同類 この手のスレでは鉄則だろ
695 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/02/18(木) 00:49:06.01 ID:YGG8mhQL0.net] コードを晒す目的でオススメのWebサイトありますか
696 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/02/18(木) 00:52:04.81 ID:OlbQAj/J0.net] この話題止めね? コード書いた本人が自分のためにコード書いてんだからコピペ張るよりコード張ろうぜ
697 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/02/18(木) 01:11:07.18 ID:MFRYafp00.net] そもそも>>643 を見ただけでは丸投げかどうかわからないと思うが
698 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/02/18(木) 02:06:21.02 ID:dUe+VgX70.net] 丸投げでも面白い問題ならパズルのように解きたくなるものもある 解かれないってことは問題がうんこ
699 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/02/18(木) 08:09:18.41 ID:PV/kQd7A0.net] より短いクワインができました https://gist.github.com/anonymous/3043708044a56e98104e
700 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/02/18(木) 08:33:26.58 ID:HYi07iZS0.net] ヘルプにある仮想キーコードの説明って、プログラマ経験者前提過ぎなんだよね。 ↓こういうのテンプレに入れようぜ www.comrade.co.jp/f
701 名前:tp/km2/manual/Properties/VKeyCode.htm [] [ここ壊れてます]
702 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/02/18(木) 08:38:09.64 ID:HYi07iZS0.net] あとこれな SendStrによる文字列送信 siromasa.html.xdomain.jp/uwsc/u_term/75_Mojinyuuryoku.html
703 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/02/18(木) 08:39:32.11 ID:eoG2gd950.net] ヘルプファイルの 「スクリプト」「その他項目」「予約後、関数一覧」 の「定義済み仮想キー」にあるのよ
704 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/02/18(木) 19:09:42.48 ID:HYi07iZS0.net] いや、仮想キーが定数であることも、具体的な値も書いてないでしょ。 Aに1加算したらBになるって、 何のプログラミング経験もなくあのヘルプだけ見て判る人は相当才能あるよw
705 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/02/18(木) 22:34:44.95 ID:8Ev3PTaE0.net] そらそういう使い方をして欲しくないからでしょ
706 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/02/18(木) 23:06:12.24 ID:6tMhXUrt0.net] 確かに予約語なんていつ内部値が切り替わるかわからんし それこそ今後メインストリームがUnicode一辺倒になってUWSCが内部処理含めてUnicode対応なんて事が起きたら 現状VK_の内部値がAsciiコードである前提で書かれてるソースなんて不具合でまくる予感しかしないもんな 初心者なりに変にテクニックに依らず素直なコード書けるってのも十分に才能ではあるわけだし
707 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/02/19(金) 07:52:42.34 ID:TWzjjF0u0.net] s=split("s=split( msgbox(s[0]+chr(34)+join(s)+chr(34)+s[2]) );eval(s[1])");eval(s[1])
708 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/02/19(金) 11:27:58.73 ID:IPiQDr2h0.net] Googleの画像認識/分類API、Cloud Vision APIが誰でも使える公開ベータへ jp.techcrunch.com/2016/02/19/20160218google-opens-its-cloud-vision-api-to-all-developers/ こういうのってuwscでもなんとかして使えるようにしたりできるのかな やっぱり他の言語学ばなきゃダメか
709 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/02/19(金) 12:05:56.90 ID:2x32U0G20.net] それの使い方って、単に画像データをPOSTするだけでいいんじゃないの?
710 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/02/22(月) 01:02:46.99 ID:P6qbXDjw0.net] DIM hoge[2][2] = 0,1,2, 3,4,5, 6,7,8 たとえば、こんな感じで二次元配列を定義しまして hoge[0][2] + hoge[1][2] + hoge[2][2] を求めたいんですけど CALCARRAYで出すには、どう書けばいいんでしょうか? 試しに、MSGBOX( CALCARRAY(hoge[][2],CALC_ADD,0,2) ) としてみましたが、「21」と表示されました どうも、hoge[2][0] + hoge[2][1] + hoge[2][2]を計算してるようです CALCARRAYでは、無理ですか?
711 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/02/22(月) 01:51:26.70 ID:wzprd0m10.net] デバッグすればわかるけれど hoge[][2] では内部的に hoge[2] として扱われている CALCARRAYを使って合計や平均を求めたいなら 行列から指定列を抽出した配列を返す必要がある DIM hoge[][2] = 0,1,2, 3,4,5, 6,7,8 print CALCARRAY(GetColumnArray(hoge, 2), CALC_ADD) Function GetColumnArray(array[][], column) rowLength = Length(array) - 1 columnLength = Length(array[0]) - 1 result = SAFEARRAY(0, rowLength) If 0 < rowLength And 0 < column And column <= columnLength Then For i = 0 To Length(array) - 1 result[i] = array[i][column] Next EndIf Fend
712 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/02/22(月) 02:02:09.37 ID:wzprd0m10.net] 補足すると合計や平均等の単機能なら関数内で直接計算させた方が当然ながら速いからね 合計も欲しいし平均も欲しい等のケースなら一旦指定列の配列を変数に入れるためにこんな感じの関数を使った方が効率が良くなる
713 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/02/22(月) 06:06:44.36 ID:P6qbXDjw0.net] >>667 ありがとうございました
714 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/02/23(火) 20:44:15.98 ID:gO96bxCq0.net] 上にもあったけどやっぱ配列系関数は説明が難しいなー なんか通常の宣言と混ざる傾向にある このヘルプ少し配列について改善できないかね ><変数> > 変数に型はありません
715 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/02/23(火) 21:03:47.15 ID:iXx0mMI80.net] そこの補足で十分だと思うけれどなぁ ローカル変数には宣言は要りません(Option指定で変更可:DIM 変数名) 多次元配列には宣言が必要: DIM 変数名[数] (配列での初期値代入: DIM X[2]=1,2,3 配列数の省略可 DIM X[]=1,2,3 ) 個人的には再利用するスコープが短いローカル変数は意図的に宣言しないようにしている (宣言する=グローバル変数かモジュール変数か配列)
716 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/02/25(木) 09:24:51.24 ID:x6EjoBIB0.net] × 過去ログには有益情報の宝庫 ○ 過去ログには有益情報がたくさんある ○ 過去ログは有益情報の宝庫
717 名前:名無しさん@お腹いっぱい。 [2016/02/25(木) 16:03:26.26 ID:fkkSYKXG0.net] 質問です ループでフォルダ監視し待機、ファイルが送られたら動作実行しまた待機 これのプログラム終了時に1回だけ別の動作を実行させる方法無いでしょうか? 出来ればダイアログなしで 別のバッチファイルでも実行しUWSCの常駐終了後実行とか出来ればいいんですが 方法が分かりません、宜しくお願いします
718 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/02/25(木) 16:08:19.62 ID:ukh1Qs010.net] >>673 なにを悩んでるのかよくわからない こんな感じじゃないの while true if ファイルが北 then ファイルが来た時の処理 endif if 終了アクション then 最後の処理 終了処理 endif wend
719 名前:666 mailto:sage [2016/02/25(木) 16:55:06.89 ID:fkkSYKXG0.net] >>674 終了アクションは閉じる以外無いんですが どうやって検知すれば良いのでしょうか?
720 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/02/25(木) 17:09:05.93 ID:ukh1Qs010.net] >>675 プロセスの終了で強制終了してるとかってこと? 使用状況によるけど、そういうスクリプトなら 終了用の空ファイルを送る、そのためのスクリプト組むとか
721 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/02/25(木) 17:19:09.87 ID:sdAeFe3E0.net] PRINT GET_CUR_DIR DOSCMD("cd /d C:\Windows\System32") PRINT GET_CUR_DIR なんでカレントディレクトリが変わらないのだろう?
722 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/02/25(木) 17:32:30.68 ID:/glPAZis0.net] DOSCMD(チャイルドプロセス)のカレントディレクトリしか移動していないから スクリプトでファイル操作する時はフルパス操作した方がいいよ
723 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/02/25(木) 17:35:42.52 ID:fkkSYKXG0.net] >>676 自己解決しました有難うございました 画面上にダイアログ無しでタスクバーからの終了です 方法は/nl でもう一個起動GETID
724 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/02/25(木) 20:34:49.03 ID:sdAeFe3E0.net] >>678 あぁ なるほど・・・ ggったらDOSCMDで出来るみたいに書いてあったけどダメなんだね カレントディレクトリの変更はAPIか何か使わないとダメなのか PRINT GET_CUR_DIR DEF_DLL SetCurrentDirectoryA(string) : long: kernel32 IF !SetCurrentDirectoryA("C:\Windows\System32") THEN PRINT "error" PRINT GET_CUR_DIR こんな感じで問題ないかな? 助かりました。ありがとう♪
725 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/02/27(土) 01:15:28.83 ID:VvH2GmY20.net] 画像A 画像B 画像C がランダムに現れて画像Aと画像Cが出た時は画像を左クリックする。 ググりながら下記内容にしたのですが、もっと処理速度と言うかクリックするまでの時間を早くするためには どのようにすればいいでしょうか。 今回はじめてしたので間違いだらけな内容かもしれません。 k_id = GetID("k - Mozilla Firefox") If k_id = -1 Then
726 名前:ExitExit CtrlWin(k_id, ACTIVATE) px = Status(k_id, ST_X) + 42 py = Status(k_id, ST_Y) + 42 sx = 350 + px sy = 570 + py Sleep(1) While Status(k_id, ST_ACTIVE) Ifb ChkImg("AAA.bmp", 0, px, py, sx, sy) Btn(LEFT, CLICK, G_IMG_X+30, G_IMG_Y+16) Endif Ifb ChkImg("CCC.bmp", 0, px, py, sx, sy) Btn(LEFT, CLICK, G_IMG_X+30, G_IMG_Y+16) Endif Wend [] [ここ壊れてます]
727 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/02/27(土) 01:20:46.23 ID:OyTefc3Z0.net] Sleep(1)をSleep(0.1)にしたら?
728 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/02/27(土) 01:29:14.52 ID:f7poLGup0.net] chkimg("aaa.bmp",ほにゃほにゃ) or chkimg("ccc.bmp",ほにゃほにゃ) とやったほうが良いんじゃないか?
729 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/02/27(土) 01:35:13.96 ID:VvH2GmY20.net] >>682 >>683 ありがとうございます、変更してみます。
730 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/02/27(土) 02:04:58.57 ID:VvH2GmY20.net] >>683 While Status(k_id, ST_ACTIVE) Ifb ChkImgchkimg("aaa.bmp",ほにゃほにゃ) or chkimg("ccc.bmp",ほにゃほにゃ) Btn(LEFT, CLICK, G_IMG_X+30, G_IMG_Y+16) と変更したところ画像Aクリックしない 画像Cクリックするになりました。 試しに以下に変更したところ逆の結果になりました Ifb ChkImgchkimg("ccc.bmp",ほにゃほにゃ) or chkimg("aaa.bmp",ほにゃほにゃ) 後の記述のみ実行されるようです。 自分でもググッて解決策を探してみます。
731 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/02/27(土) 02:14:04.68 ID:+U0TNGIH0.net] chkimgでorする場合は 最初にOPTION SHORTCIRCITを宣言しとかなダメよ 前者が存在しても後者の判定してまうから
732 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/02/27(土) 02:14:41.87 ID:+U0TNGIH0.net] というか>>683 はそこまで教えてあげないと
733 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/02/27(土) 02:55:14.02 ID:mDOHEmLU0.net] これが終わったらこれ、みたいな単純な流れ作業は書けるようになったので すごろくのようにあっちこっちに飛ぶ条件を付けていこうと思うんですが 文字だけだと順番が訳わからなくなりそうなんですがやってれば目が慣れてくるものですか?
734 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/02/27(土) 03:03:43.45 ID:VvH2GmY20.net] >>686 ありがとうございます。 OPTION SHORTCIRCITを宣言したところ Ifb ChkImgchkimg("aaa.bmp",ほにゃほにゃ) or chkimg("ccc.bmp",ほにゃほにゃ) での処理ができるようになりました。 >>682 >>683 >>686 みなさんのご教示により 最初に記載した物より、早くなりました。 低スペPCの為、どこまで出来るか分かりませんが 色々調べながらやってみます。
735 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/02/27(土) 03:31:25.12 ID:DVc62XNO0.net] >>689 もしwin7使ってるならデスクトップコンポジションを切るとchkimgが速くなるよ
736 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/02/27(土) 13:19:18.71 ID:EORKr9mx0.net] 画像Aと画像Cが出た時は画像を左クリック and?or? ???? ってなってるんだけど
737 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/02/27(土) 13:21:01.50 ID:Iow3jdwl0.net] ?
738 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/02/27(土) 13:38:04.37 ID:38mQ0onS0.net] 両方を満たすなら当然ANDだけど 少し上の短絡評価の話で混乱しているのかな?
739 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/02/27(土) 15:10:47.45 ID:IJ0wxpKe0.net] AかCが、なら or だろうけど AとCが、という質問なんだから and じゃなきゃおかしい。 でも流れを見た感じでは質問の方がおかしかったっぽいね。
740 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/02/27(土) 16:05:27.86 ID:+U0TNGIH0.net] いや>>681 のコードまでちゃんと見ればorだなってわかるだろ 読解力の問題 ANDに取れるような書き方が悪い!とか言っちゃう奴は 読解力のないバカか理屈バカのどっちか
741 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/02/27(土) 16:28:31.65 ID:sQuDImeT0.net] 卵があったら牛乳うんぬんかんぬん
742 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/02/27(土) 16:53:15.04 ID:f6jdCZ8k0.net] windowsマクロテクニック読みつぶしたから2冊目買ったわ (´・ω・`)
743 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/02/27(土) 16:57:01.43 ID:f7poLGup0.net] 文字列を数値に変換するのはVAL 数値を文字列にするのはformatでいいのかな?
744 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/02/27(土) 17:11:37.28 ID:jnFT48H20.net] sleep(20+random(120)) 20秒+0~119秒の待ち時間ってこれでいい?20秒の部分は固定だよね?
745 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/02/27(土) 17:25:32.73 ID:IJ0wxpKe0.net] >>695 >>681 を見ても、質問文が間違ってるのかコードが間違ってるのかわからないだろう。
746 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/02/27(土) 18:45:03.26 ID:+U0TNGIH0.net] >読解力のないバカか理屈バカのどっちか って言ってるのにまだ言う どんだけだよ
747 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/02/27(土) 20:47:36.55 ID:jnFT48H20.net] >>699 これあってる?
748 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/02/27(土) 21:07:31.07 ID:tsk8CpEJ0.net] >>702 どこに疑問がある? 試せば判ることを何故聞く?
749 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/02/27(土) 22:31:03.41 ID:1L8PKm630.net] もう一週間以上も悩んで解決出来ないんだけど CLKITEMでクリックするそのアイテムが無かった時の条件分岐って出来ない? CLKITEM(GID,"閉じる")とかにすると閉じるが無かった場合、待ち時間指定が無いから そこで長い間止まってしまう これを1秒とかで判定して条件分岐するにはどうしたらいいの?
750 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/02/27(土) 23:00:05.73 ID:Iow3jdwl0.net] >>704 戻値 = CLKITEM( ID, アイテム名, [種別, On/Off, 番号] ) 戻値 TRUE:正常、 FALSE:処理不能 ヘルプくらい見ろや
751 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/02/27(土) 23:30:25.92 ID:gFrWrIbO0.net] >>703 ランダム値は試せばわかるって性質のもんじゃないだろw
752 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/02/27(土) 23:38:07.11 ID:38mQ0onS0.net] 値が範囲内に収まるか気になるなら期待値以外になればNG表示する関数を数千回ループさせてみてるとか スリープの単位がヘルプの内容と同じか気になるなら前後でミリ秒表示してみるとか 仕様が気になった時は検証可能な単位にどうやって分解するか考えよう
753 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/02/27(土) 23:38:09.23 ID:sQuDImeT0.net] print 0.1+random(3)みたいに 小さい桁で試すとかいくらでも試しようはあんだろ
754 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/02/27(土) 23:39:50.44 ID:1L8PKm630.net] >>705 ACC系だとFALSEが返ってこないで、そこで動作が止まっちゃうんだよ 一瞬で判定してくれるならいいんだが
755 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/02/27(土) 23:54:14.26 ID:jnFT48H20.net] >>707 ^3^
756 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/02/27(土) 23:59:06.69 ID:gFrWrIbO0.net] ランダムだと外見的には何回ループしても、多分仕様通りといえるが100%仕様通りと断言できなくなるだろ ソース見りゃ一目瞭然だけど、テストの結果だけ見るとそういう事になるじゃん。
757 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/02/28(日) 00:20:30.70 ID:9QYQdQG/0.net] そりゃその通りだが、少なくとも今回の話題である>>699 の言う固定だのは試せば確実に分かることだろうが
758 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/02/28(日) 00:56:26.92 ID:qefict4b0.net] そこもランダム値と足されちゃうから試してわかるのは100%確実ではないなw そして今のところYES/NOで答えられる質問にだれも答えられていないという・・・ >>699 いい、はず
759 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/02/28(日) 01:03:30.83 ID:9QYQdQG/0.net] だから固定値は0.1にすりゃわかるって言ってんだろアホ 少しは頭使えや
760 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/02/28(日) 02:00:59.24 ID:pR7C6fW20.net] >>706 仕様のないものならそうだけど 期待値があって、それにあってそうかどうかを確認するだけなんだから 100万回でも1000万回でもrandom()の引数に対して充分な回数試せばいいだろ 仕様があってるか否かを確認するわけじゃないんだから
761 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/02/28(日) 02:08:27.06 ID:qefict4b0.net] 1000万と1回目で想定外値がでる可能性が微レ存
762 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/02/28(日) 02:28:46.68 ID:0r4UbGuu0.net] >>716 しつこいぞ
763 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/02/28(日) 02:38:57.53 ID:9QYQdQG/0.net] 的外れにも程があるな阿呆は
764 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/02/28(日) 02:40:28.35 ID:qefict4b0.net] いや707は言うとおりだけど708は論理的じゃないしさ あと一応>>711 の名誉のために言っておくと自分はそのヒトとは別人です
765 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/02/28(日) 03:55:09.54 ID:+XXpVUCC0.net] random関数にバグがあるかも知れないからとか そもそもコンピュータには本物の乱
766 名前:数の生成は不可能だとか そういう話をしてるんだろうか? [] [ここ壊れてます]
767 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/02/28(日) 04:18:12.48 ID:8+yUHWxH0.net] 自分か運用する上で許容できる範囲内かどうかという話なんだけれどね
768 名前:sage [2016/02/28(日) 07:54:55.15 ID:k7lnu1y6g] ここで質問して良い内容でしょうか。 ロードス島戦記オンラインにて、KBD関数が動作しません。 原因、対策等わかりましたら教えてください。
769 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/02/28(日) 11:33:31.44 ID:pR7C6fW20.net] >>716 自分のにたいしてだと思うから一応答えておくと それは単なるバグで元の質問とは無関係でしょ
770 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/02/28(日) 12:59:00.66 ID:f5PR4wTV0.net] 元質問の人明らかにrandom関数の仕様を理解してないところから来てるから… バグとそうでないものの違いを判別できない。 だから何回ループしてもその結果をもって仕様通りに動いていると結論付けられない。
771 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/02/28(日) 13:04:53.34 ID:9oz8zZQ80.net] 実はPCを揺らすと数値が飛ぶバグがあるんだ
772 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/02/28(日) 14:07:12.58 ID:fiqkpaBc0.net] 落下中のPCはランダムを返してくれないとかなりそうだなおい。
773 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/02/28(日) 14:27:31.94 ID:blrfAobm0.net] 実は念を送るとランダムの確率が変動するんだ
774 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/02/28(日) 15:35:04.40 ID:WeWO61jV9] Sleepの精度や演算誤差とかインタープリタの実行速度とかの影響で 実際の待ち時間が20+120秒以上にならないという保証は無いよ 普通はそこまで気にする必要が無いってのも言うまでも無い
775 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/02/28(日) 15:34:52.99 ID:Xg5e+H4y0.net] UWSCは大昔のBASICみたいに、何度走らせてもRANDOM関数は同じ乱数と思ってた。 BASICでは、RANDOMIZEでタイマーを引数にしてたなぁ。
776 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/02/28(日) 15:38:07.16 ID:n2+v+wZb0.net] Sleepの精度や演算誤差とかインタープリタの実行速度とかの影響で 実際の待ち時間が20+120秒以上にならないという保証は無いよ 普通はそこまで気にする必要が無いってのも言うまでも無い
777 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/02/28(日) 19:51:10.87 ID:5dU2/tOb0.net] >>730 > Sleepの精度や演算誤差とかインタープリタの実行速度とかの影響で > 実際の待ち時間が20+120秒以上にならないという保証は無いよ そんな厳しい精度で動かす言語じゃないからね。Windows自体がRTOSじゃないからネイティブアプリでも 保証はないし。
778 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/02/28(日) 20:34:52.25 ID:J1sXa2fC0.net] ごめん単純に使い方が間違ってないかって質問だったごめんなさい
779 名前:名無しさん@お腹いっぱい。 [2016/02/29(月) 01:14:12.41 ID:kLHNktmf0.net] 式による設定のところで7時から19時までの間に9分間隔で実行て出来ます?
780 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/02/29(月) 02:57:03.79 ID:Y5wKBi2d0.net] GETTIME()でG_TIME_HHを取得して 7時から19時までの間は実行させて 9分間隔はSLEEP(540)でいけるのではないかと
781 名前:名無しさん@お腹いっぱい。 [2016/02/29(月) 03:01:49.33 ID:kLHNktmf0.net] >>734 すいません 初心者すぎてよくわからないです 例えばこういう場合だと○月○日の7時からのみになってしまうんですよね (YMDNN>=7894680) AND (YMDNN<=7894980) AND ((YMDNN MOD 60)=0) 毎日7時からというその方法はどう書けば良いのでしょうか
782 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/02/29(月) 03:11:25.69 ID:vc3n0bkN0.net] >>735 書いてあることそのままやればいいと思うけどな GETTIME()を実行するとG_TIME_HHに実行時の時間が格納される あとは7とは19と比較すればいい GETTIME() If (G_TIME_HH>=7) and (G_TIME_HH<19) then やりたいこと EndIf
783 名前:名無しさん@お腹いっぱい。 [2016/02/29(月) 03:20:04.69 ID:kLHNktmf0.net] >>736 やりたい事が複数あって時間間隔も色んなパターンがある場合もそれで出来ますか?
784 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/02/29(月) 03:40:29.09 ID:vc3n0bkN0.net] >>737 条件式変えてやれば大体の動きはできると思うけど… とりあえず自分で書いてみないと覚えないぞ
785 名前:名無しさん@お腹いっぱい。 [2016/02/29(月) 03:44:48.44 ID:kLHNktmf0.net] >>738 ちょっと色々と試してみます どうもです
786 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/02/29(月) 05:02:19.00 ID:UwM6ts+X0.net] ヘルプも読まずに拾ったマクロの改造法を聞いてるだけっぽいな
787 名前:名無しさん@お腹いっぱい。 [2016/02/29(月) 05:23:18.45 ID:kLHNktmf0.net] いやもう初心者なんで全然わからんのですよ
788 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/02/29(月) 06:20:04.43 ID:W4Lx+MiB0.net] 初心者っていちいち書くな わかってる
789 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/02/29(月) 09:56:53.47 ID:S3AkKIbC0.net] なんでも只で手に入ると思うなよw プログラムの基礎教養があればネット上の情報だけで理解できるが、 それがなければ情報の取捨選択すらできずやりたいことにたどり着けない 1冊くらいは金出して本を読め
790 名前:名無しさん@お腹いっぱい。 [2016/02/29(月) 10:13:32.76 ID:7awlWggQw] 式による設定 7時から19時までの間に9分間隔で実行 HH>=7 AND HH<19 AND (YMDNN MOD 9)= 0
791 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/02/29(月) 11:07:56.89 ID:W4Lx+MiB0.net] それよりプログラマ雇えといいたい
792 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/02/29(月) 11:11:22.54 ID:OC88kjRQ0.net] プログラムの素養もネットで身に着けられるし プログラムの素養が必要って情報もこうやって手に入ってるし やりとりしてれば2chでのイラつかせるワードも分ってくるし 地道に調べて試してけばいいと思うよ
793 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/02/29(月) 12:08:54.45 ID:zgYAM+0i0.net] 質問してる程度の知識ならすぐにネットで手に入る だから「初心者なのでわからん」が通用しない もう少し自分で調べて、具体的にわからない部分が出たらもう一度質問しに来れば良いよ
794 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/02/29(月) 12:22:07.58 ID:yBnnbdV70.net] 初心者さんはまずフローチャート書くか日本語で処理手順を箇条書きにするようにしたらええのよ んでヘルプなり解説サイトの熟読 いきあたりばったりでスクリプトに手を入れようとするとわけわかんなくなって当たり前よ(´・ω・`)
795 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/02/29(月) 12:32:25.62 ID:3ZfsBzX30.net] 動作がおかしくなったのでプリントでログを確認していたらpublicが原因と分かりましたがいまいち納得ができないです SLCTBOXやpublicの動作を確認しても問題ないと思うのですが、どうしてpublicをつかったらダメなんでしょうか? SELECT SLCTBOX(SLCT_BTN, 0,"画面の大きさ設定","デフォルト画面","50%画面") CASE SLCT_1 public size = 100 print "size(100)=" + size CASE SLCT_2 public size = 50 print "size(50)=" + size SELEND print "size=" + size この状態のプリントは size(100)=50 size=50 2つのpublicをはずすと size(100)=100 size=100 となります。
796 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/02/29(月) 12:38:11.72 ID:3ZfsBzX30.net] すいません プリント結果はSLCT_1を選んだ時です
797 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/02/29(月) 12:45:54.58 ID:Hitpgwgs0.net] CASEに入ってからPUBLIC使ったら見た目通りの順序じゃなくなるよ 実行時にPUBLICを付けた行は先頭に移動するイメージなのです そのような使い方をしたければPUBLIC宣言は空宣言か0代入をSELECT前に行って下さい (つまり移動しても大丈夫な所に置く)
798 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/02/29(月) 12:47:46.09 ID:i1OgRjUe0.net] publicはプログラム実行時に真っ先にに値を読み込むから最後に書いたpublic size = 50が優先されてるんじゃないの 同じ変数を使用する場合でも宣言は基本的に一回だけ public size SELECT SLCTBOX(SLCT_BTN, 0,"画面の大きさ設定","デフォルト画面","50%画面") CASE SLCT_1 size = 100 print "size(100)=" + size CASE SLCT_2 size = 50 print "size(50)=" + size SELEND print "size=" + size
799 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/02/29(月) 12:50:36.85 ID:7tqwHv410.net] OPTIONと同じやね 後勝ちになる つーか、同じ変数を何度もPUBLICで宣言なんてするもんじゃない
800 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/02/29(月) 12:57:09.80 ID:3ZfsBzX30.net] >>751-753 ありがとうございます納得できました なるべく簡潔に書こうと思っていたのですが良くない書き方だったみたいですね グローバル変数は極力使わないようにとよく目にするので気をつけます
801 名前:名無しさん@お腹いっぱい。 [2016/02/29(月) 17:14:21.74 ID:7awlWggQw] >>744 自己レス 式による設定 7時から19時までの間に9分間隔で実行 毎日7時からカウントスタートする式 HH>=7 AND HH<19 AND ((HH*60+NN-(7*60)) MOD 9)= 0
802 名前:名無しさん@お腹いっぱい。 [2016/02/29(月) 19:14:05.70 ID:7awlWggQw] >>704 if -1 <> CHKBTN(GID,"閉じる") then CLKITEM(GID,"閉じる")
803 名前:名無しさん@お腹いっぱい。 [2016/02/29(月) 20:24:39.97 ID:7awlWggQw] >>709 www.uwsc.info/faq.html#N15 CLKITEM関数のCLK_ACC指定にてダイアログを出すと閉じるまで制御が戻らない #N15 CLK_LEFTCLK を付加してください。 CLKITEM(id, "xxx", CLK_ACC or CLK_LEFTCLK)
804 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/03/01(火) 00:51:55.84 ID:Hw/6RB5N0.net] 基本的な操作でお恥ずかしいのですが、どうしても自力で解決できなかったので ヒントだけでもお教えください。 Win 7 Professional 64 bit + IE 11での操作です。 テーブル内にダウンロード用リンクが複数(*および青文字のアルファベット部)あり、 それらを自動でひとつずつダウンロードしようとしています。 s1.gazo.cc/up/179236.jpg 画面の状態までは持ってこれたのですが、どうしても赤枠で囲った保存(S)を 押すことが出来ません。サンプルコードも試してみたのですが、 理解不足かIE, OSのバージョン違いなのか、上手く動作させられませんでした。 クリックすると緑枠部に一瞬新しいタブが出来ているのでそこが関係あるのか、 或いはCLKITEM部が間違っているとは思うのですが……。 A = 0 Repeat DLLTEXT = IE.document.links[A].innertext IfB DLLTEXT <>
805 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/03/01(火) 01:30:04.42 ID:Hw/6RB5N0.net] 切れてしまったのでコード部だけ貼り直します。すみません。 A = 0 Repeat DLLTEXT = IE.document.links[A].innertext IfB DLLTEXT <> "" Then IE.document.links[A].click() SLEEP(10) CLKITEM(GETID("Internet Explorer","#32770"),"保存(S)", CLK_ACC) EndIf A = A + 1 Until A = 100 DLLTEXT〜部は、ソースを確認したところ見えないリンクがあったので、それを回避しようと思い付け加えました。 長々とすみません。よろしくお願いします。
806 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/03/01(火) 04:46:22.39 ID:mSZ5heBH0.net] IEの "ファイルのダウンロード" にて "保存" ボタンが反応しない #N23 www.uwsc.info/faq.html#N23
807 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/03/01(火) 07:01:07.94 ID:pMN1suyz0.net] エクセルのマクロでリンクを取り出してファイルに書き出して、ロダに食わせるほうがいんでないのかね
808 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/03/01(火) 07:34:10.51 ID:uRkQmwxK0.net] >>760-761 ありがとうございます。 #N23は試してみたのですが、上手く出来なかったのでWin7だからかIE11だから無理なのかと 思っていたのですが、何か間違えていたのかもしれません。 エクセルマクロの方は考えてもいませんでした。 あまりに手間取るようなら別の方法を試したほうがいいですね……。 もう少し自分でやってみます。ありがとうございました。
809 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/03/01(火) 07:53:15.84 ID:mSZ5heBH0.net] であればクリックに必要なタイトル、クラス名を調査用のスクリプトを書いて調査したり 開発環境にあるSPY++をつかって調査したりすると良いよ 問題点は 保存ボタンがあるウインドウ(ポップアップ)のIDが取得できていない 保存ボタンのアイテム名が正しくない のどちらかだからね 後、リンクのクリックまで手動でやってみて 保存ボタンのクリックだけスクリプトで可能かも評価が必要 失敗するなら IEの操作(COM)にて、ダイアログが出ると動作が停止する #N25 www.uwsc.info/faq.html#N25
810 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/03/01(火) 07:57:24.35 ID:mSZ5heBH0.net] あ、ごめん リンククリック(手動)、保存ボタンクリック(スクリプト)→成功 リンククリック(スクリプト)、保存ボタンクリック(スクリプト)→失敗 なら IEの操作(COM)にて、ダイアログが出ると動作が停止する #N25 www.uwsc.info/faq.html#N25 の対処も必要かも
811 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/03/01(火) 08:07:35.16 ID:w83/qWlj0.net] ようわからんが win7のie11で下を走らせて置いてダウンロードダイアログだしたら普通に押してくれるが while true if CLKITEM(GETID("Internet Explorer"),"保存(S)", CLK_ACC) then break sleep(1) wend #32770これいらんのとちゃうんか
812 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/03/01(火) 22:50:42.13 ID:HDjL1sAH+] >>763-764 親切にありがとうございます。 SPY++はVisualStudio?を持っていないので用意できなかったのですが、 類似のuuSPYを使用して調べたところ 親の"IEFrame"→子"Frame Notification Bar"→孫"DirectUIHWND"というクラス名の ダイアログだと分かったので、そこから調べて操作できるようになりました。 問題点の洗い出し方も勉強になりました。これでもう少し自分で調べて解決できるように なれそうです。>>765 サンプルまで用意して頂きすみません。 実際に動かしてみたのですが、やはりIDが取得できていないのか 押してくれず……。 お二人とも親切にありがとうございました。
813 名前:749 mailto:sage [2016/03/02(水) 01:27:17.46 ID:41jBzZAb0.net] >>763-764 一応動作させることが出来ました。 結果的には、保存ボタンのウィンドウIDが取得できていなかったようです。 (クラス名IEFrameだと思っていたのですが、ダイアログは別の名前でした) SPY++はVisualStudio?を持っていないので用意できなかったのですが、 uuSPYという類似ソフトで調べられました。 SPY++的なソフトの存在(というか問題の洗い出し方?)すら知らなかったので勉強になりました。 丁寧にありがとうございました。 >>765 サンプルまで提示して頂き、すみません。 流してみたのですが、やはり反応せず…… ダイアログが出た後もそのまま動いていったので、 動作停止したわけでもなさそうなんですが…… ともかく、ありがとうございました。
814 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/03/02(水) 20:36:33.34 ID:TfJohTOi0.net] A.bmpがあったとき Aからx+30、y+30の場所にB.bmpがあったときのみC.bmpを押す 画像範囲について検索しましたが画面全体から範囲を指定するみたいですし Aはいろいろな場所に現れます Bは複数現れます Aから相対座標で検索範囲指定するためにはどうすればいいのですか?
815 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/03/02(水) 20:39:40.47 ID:yBkd0HNE0.net] >>768 【ヘルプより引用】 座標情報は配列変数 ALL_IMG_X[], ALL_IMG_Y[] に格納(配列はゼロから) B探してから配列変数をコピー ループさせながら相対範囲指定でAを探して あればCをクリックしたら良いんじゃないかな
816 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/03/02(水) 21:39:50.37 ID:TfJohTOi0.net] ありがとうございます いろいろ試してみます
817 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/03/03(木) 12:25:37.00 ID:u+vEEjvS0.net] IFB CHKIMG("A") ax=G_IMG_X;ay=G_IMG_Y IFB CHKIMG("B",0,ax+29,ay+29,…) IFB CHKIMG("C") BTN(LEFT,CLICK,G_IMG_X+9,G_IMG_Y+9) ENDIF ENDIF ENDIF 格納がよくわかんないし雑だけどこんな感じは
818 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/03/03(木) 12:50:46.44 ID:Ck6IE5Sq0.net] PCからスマホの内臓ストレージにファイルやフォルダを転送したいです。 アイテムには日本語が含まれているため、DOSCMD+ADBでは文字化けしていたので、 [MultiByteToWideChar][WideByteToMultiChar]を組み合わせましたが、 半角スペースや特定の文字のため、転送ができませんでした。 何か回避策はないでしょうか?
819 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/03/03(木) 14:01:05.13 ID:0xlIg63T0.net] よく知らんから適当いうけど、コマンドプロンプトのshift_jisをUTF-8にするとかで解決しない?
820 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/03/03(木) 14:38:58.59 ID:o8n0++8T0.net] UWSCってどう? ブラウザとか制御しにくい気がするんだけど
821 名前:名無しさん@お腹いっぱい。 [2016/03/03(木) 16:23:03.08 ID:Ck6IE5Sq0.net] > 759 それも試しました。 CHCPでSHIFT−JISからUTF-8に変換して、書き込みに行ったんですが、 UTF-8化した文字列が受け付けませんでした。
822 名前:名無しさん@お腹いっぱい。 [2016/03/04(金) 02:14:39.26 ID:EA8iP2810.net] すみません、助けてください bluestacks uwscをつかって自動化しようとしてるのですが uwscのクリックを認識?してくれません マウスでツムツムの操作は普通にできます。 bluestacksの代わりにエクセルを起動させておく(画面に表示)とクリックも認識してくれています。 非アクティブの問題かとおもいアクティブ化もいれてみましたがだめでした 助言お願いいたします
823 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/03/04(金) 02:49:01.44 ID:sp+52hH20.net] UWSCが使いないアプリもある bluestacksはそれ 以上
824 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/03/04(金) 04:06:59.33 ID:32k0gAq70.net] genymotionで散々やったけど無理だったよ ウィンドウは掴めるけど内部idが掴めない
825 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/03/04(金) 09:01:58.98 ID:lSRUIbNn0.net] >>776 絶対座標は? 両方ともプロパティ-互換性-管理者として実行を試す 他にもgoogleでいろいろ試す ダメならダメ
826 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/03/04(金) 17:10:22.64 ID:qcabtBIu0.net] プログラミングって具体的な目標が無いと向上しないな
827 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/03/04(金) 19:28:46.89 ID:0avFt52T0.net] MOUSEORG関数でMORG_DIRECTを指定するとCHKIMG関数とBTN関数の座標に ズレが発生します。 どうせればズレを解消または補正できますか?
828 名前:名無しさん@お腹いっぱい。 [2016/03/04(金) 20:28:03.15 ID:Cx1nPm1Z0.net] >>781 たぶん、ウィンドウ座標とクライアント座標のズレが原因だから ウィンドウ座標を基準にすれば一致すると思う。
829 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/03/04(金) 22:31:12.71 ID:6AjLUgCP0.net] >>782 ウィンドウ位置を(0,0)に合わせて起動してもズレます
830 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/03/04(金) 22:53:16.26 ID:ojY0v8Jg0.net] >>783 たいていウィンドウには枠があるでしょ タイトルバーとかウィンドウを広げたり縮めたりする細い線 アレが影響してると思われるから ウィンドウ位置を00にしても・・・
831 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/03/04(金) 22:54:21.95 ID:1DETh6nk0.net] これはさすがにネタだろw uwsc以前のWindowsの基礎知識の問題だぞ
832 名前:名無しさん@お腹いっぱい。 [2016/03/04(金) 23:02:35.51 ID:Cx1nPm1Z0.net] >>783 MOUSEORG( ID, MORG_CLIENT ) と MOUSEORG( ID ) で比較してみて あと、CHKIMG で取得する座標は画像の左上になるけど、 検索画像と座標の間にどのようなズレがあるのか書いてね。
833 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/03/05(土) 04:26:25.45 ID:TP9s+Xc10.net] >>786 MOUSEORG(id)→(260,100) MOUSEORG(id, MORG_CLIENT)→(260,125) MOUSEORG(id,MORG_DIRECT)→(100,400) こんな感じですが、なぜかMORG_DIRECTはUWSC本体の位置を移動すると座標が変わります ちなみにコードは↓これです。 id = GetID("Android Screen Monitor") MOUSEORG(id,MORG_DIRECT) num = 1 name = "BMP\画像" + FORMAT( num, 1 ) + ".bmp" While TRUE if !chkimg(name) Then continue x=G_IMG_X y=G_IMG_Y BTN( LEFT, CLICK, x, y , 200) sleep( 10 ) if num >= 7 Then num = 0 num = num + 1 name = "BMP\画像" + FORMAT( num, 1 ) + ".bmp" WEnd
834 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/03/05(土) 04:31:42.39 ID:TP9s+Xc10.net] MOUSEORG(id)とMOUSEORG(id, MORG_CLIENT)の座標逆でした
835 名前:名無しさん@お腹いっぱい。 [2016/03/05(土) 05:02:22.36 ID:PQgaMRcF0.net] >>787 www.vuzix.jp/dev/images/asm/device_list.png この画像と比較すると、横の枠がない状態なので タイトルバーの幅
836 名前:の分だけ MORG_CLIENT のありなしで違う状態ですね。 MORG_DIRECT の方は訳が分かりませんね。 原因を調べるには、MORG_DIRECT を指定した状態で SAVEIMG することです。 画面が崩れて見えると思います。 画面が崩れて見えるだけで、クリックが正常に行えるなら、 MOUSEORG をその都度実行して CHKIMG のときは MORG_DIRECT なし BTN のときは MORG_DIRECT あり とかにすればいいと思います。 [] [ここ壊れてます]
837 名前:名無しさん@お腹いっぱい。 [2016/03/05(土) 23:00:40.60 ID:+UaXZBac0.net] WinnyでMP3ファイルを手に入れたのだが、10曲が1つのMP3ファイルになっている。 これを1曲ずつ10個のMP3ファイルに分けたいのだがどうしたらいいのかね?
838 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/03/05(土) 23:04:45.09 ID:t6t79+190.net] うーん わかんない!
839 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/03/06(日) 00:14:59.81 ID:dCUjX7lH0.net] >>790 torスレに回答してくれてる人がいるぞクソ虫
840 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/03/06(日) 09:47:42.18 ID:TvpTaFVp0.net] >>790 .zipをつけて解答
841 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/03/06(日) 10:49:16.69 ID:zGk8lpZo0.net] >>790 手動でやればいいんじゃない?
842 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/03/06(日) 11:37:41.69 ID:RRLqddKE0.net] 10個のmp3のアーカイブならともかく、10曲が一つのmp3になってるなら 編集ソフトで切り出すしかないのでは
843 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/03/06(日) 12:04:50.72 ID:WY+6IsJt0.net] なんでおまえら答えてんの
844 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/03/07(月) 14:52:09.82 ID:9LHTjHFn0.net] 関数の呼び出しで参照引数の初期値代入とか出来ないんでしょうか? あらかじめ先に初期値代入するしかない? abc(hoge=111) print hoge procedure abc(var hoge) hoge = hoge + 100 fend
845 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/03/07(月) 15:09:06.92 ID:WbyHlW0e0.net] なんじゃそれ abc(111) でいいだろ
846 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/03/07(月) 15:12:10.38 ID:WbyHlW0e0.net] ああ、そんでhogeを続きの処理で使いたいのか それで動かないんならできないんだろ 大人しく先に代入しとけよ 1行増えるだけじゃん どうしてもそうしたい理由でもあんの?
847 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/03/07(月) 15:51:15.35 ID:67LYGWDp0.net] >>797 hoge = 111; abc(hoge); print hoge //1行で済んで行も短い huga = bcd(112); print huga //でもなんでこうしないの? print bcd(113) procedure abc(var hoge) hoge = hoge + 100 fend function bcd(hage) result = hage + 150 fend
848 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/03/07(月) 15:58:21.83 ID:9LHTjHFn0.net] 上で挙げてるのはただの例です。 実際は参照引数が多く、引数の一部だけ初期値代入したいのと print文は無いですね。
849 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/03/07(月) 16:09:04.11 ID:gjVyQnvH0.net] はげ+150本 = そんなに増えていませんよ
850 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/03/07(月) 20:04:53.77 ID:tjYcm4Q90.net] それは参照渡しを使うことが間違いなんじゃね?
851 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/03/07(月) 20:20:19.36 ID:tjYcm4Q90.net] 参照引数ってのは値じゃなくてメモリの番地とかそういうものを入れてるんじゃなかったっけ? だから参照引数に値は代入できない
852 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/03/07(月) 21:49:34.48 ID:Yt8oL/UZ0.net] そもそも一度も代入も宣言もしていない変数は使えないよ dim hoge abc(hoge , 111) print hoge sleep(10) procedure abc(var hoge , hoge0 = hoge) hoge = hoge0 + 100 fend これなら動くけど最初のdim文外すと怒られるから意味が無い
853 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/03/07(月) 22:27:49.67 ID:9LHTjHFn0.net] 一つの関数で複数の変数を変更するのだけど、その関数より前には使わない 結果受け取り専用の引数で a=0;b=0;c=0;…10個くらい //まあこれが無意味な文に思えてならない abc(a,b,c,…) procedure abc(var a, var b, var c,…) … fend
854 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/03/07(月) 22:43:28.84 ID:YgJHqyxo0.net] >>797 を見ると受け取り専用とは見えなかったけど 単にその目的なんだったら>>805 の人が書いてるように Dim a,b,c... abc(a,b,c...) でいいんじゃないの?
855 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/03/08(火) 0
] [ここ壊れてます]
856 名前:9:25:26.60 ID:X39hgh8s0.net mailto: 1つの引数に参照渡しが多すぎるのは関数分割が出来てなくて 無駄に粒度が大きすぎる疑いがあるが、UWSCの言語仕様上仕方ない面もある。 それより使用する変数については、module変数とそのコンストラクタを利用して 初期化すれば何の問題もなくスマートに書けるはず。 ただし最初からそう書いていればスマートで苦労もないが、 後から直そうとすると抜本的な書き直しとなり苦労する俺。 [] [ここ壊れてます]
857 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/03/08(火) 11:36:49.32 ID:mdQ0PQ+40.net] >>808 正にそんな感じ… 参照引数が多いのは外部からのデータ取得を一気にやるせいで その関数の内部は整理されてるんだけど。 最初は小規模なスクリプトで変数の管理とか適当で、後から書き加えていったから 今はこんなはずじゃなかったorzって状態になってて後悔してる。
858 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/03/08(火) 14:04:27.07 ID:EYyC3Yny0.net] 質問です。 MOUSEORGを使用したバックグラウンド操作で、 マウスオーバーする方法ってありますかね? マウスオーバーして出てくる画像の認識をしたいんだけどできぬ
859 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/03/08(火) 15:29:09.82 ID:X39hgh8s0.net] それはバックグラウンドのウィンドウにマウスオーバーイベントを 発生させろと言っているに等しいんだが… これ自動化ツールよ? まずあなたが手動で隠れたウィンドウにマウスオーバーしてみなさいよ! とんちかな?
860 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/03/08(火) 15:47:28.50 ID:YrarT/t10.net] 一休さんのトラの屏風の事だな 次の方どうぞ
861 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/03/08(火) 15:52:30.08 ID:uEQeFD2u0.net] mmvのこといってるんじゃない?
862 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/03/08(火) 15:58:04.94 ID:/957NIFT0.net] 煽りたいだけで答えられないならちょっと黙ってろよ 俺は黙る
863 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/03/08(火) 16:05:17.57 ID:CELrwcnT0.net] >>811 どういう理屈だよ 元々UWSCで出来るバックグラウンド操作は手動で出来ないでしょ
864 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/03/08(火) 16:25:16.15 ID:XRfaJMaM0.net] バックグラウンド操作でもマウスオーバーイベントが発生するかどうかという その対象ソフト側の問題なんだから、UWSCの質問じゃないぞ。
865 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/03/08(火) 16:54:18.27 ID:oQSRIGCR0.net] なんかレベル下がったなここ
866 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/03/08(火) 17:08:25.81 ID:X39hgh8s0.net] >>815 バックグラウンド操作は元々のUWSCのコンセプトPC操作の自動化を あくまで拡張したものであって、 出来なくて当然のことが出来るようになった機能だよ。 それをあたかも出来て当然のように認識されても困るわな。 まぁこんなソフトが無料で使えるだけでも奇跡的なんだが。 マウスオーバーイベントをマウスオーバーせず強制的に 外から発生させることが可能なAPIが公開されてるならば、 もはやマウスオーバー画像を直接ぶっこ抜くことも出来るんじゃね? 自動操作というよりアプリハッキングだわな。 まぁこれであっさり出来ますよとかコードが出てきて 俺が逆立ちするハメになるかもしれんがw
867 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/03/08(火) 17:29:48.80 ID:d7jVEpko0.net] Win32ApiのSendMessage(PostMessage)等を使ってイベントを発生させる方法はあるにはあるよ それをアプリハックと呼ぶかは置いておいて 重要なのは作業中のマウスは普通に存在し続けているって事なので バックグラウンドだと資源衝突が発生するのでやっぱり安定しないのよ 平たく言うとスクリプトがここにマウスがあるよとした直後に 本当のマウス位置に更新されるのでここにはマウスは無いよとなる だからよく分からなければ別PC用意して最前面でやる 仮想環境が分かるならそっちの最前面でやれ(内部的なマウス位置が存在するので資源衝突しない)がFAQとな
868 名前:チてるのよ [] [ここ壊れてます]
869 名前:名無しさん@お腹いっぱい。 [2016/03/08(火) 17:39:00.04 ID:OiSIw5XY0.net] VBScript で一般的なキー入力のエミュのやり方 https://msdn.microsoft.com/ja-jp/library/cc364423.aspx "2"のキーをクリック > WshShell.SendKeys "2" ドライバ→Windows→アプリってのを 自動化ソフト→アプリって短縮しただけでしょ。 アプリに直接送る方が簡単だけど(それで動くとは言ってない) UWSCが選ばれる理由は画像認識と操作の記録再生が簡単ってところだよ。 別に自動操縦が特別ってことはない。(特許を取ってるところはある)
870 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/03/08(火) 17:41:37.94 ID:EYyC3Yny0.net] >>811-817 無知でごめんな >>818-819 詳しく教えてくれてありがとう やっぱり仮想環境構築か物理的にもう一台PC用意するのが手っ取り早いってことですね 仮想環境構築してやってみます
871 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/03/08(火) 17:43:25.86 ID:bSkm1Om50.net] 1日調べてわからなかったので質問させてください。 ----------------------------------------------------------------- THREAD スレッド(1) THREAD スレッド(2) sleep(200.0) PROCEDURE スレッド(i) ID[i] = GETID(GET_FROMPOINT_WIN) 中略 MOUSEORG (ID[i]) CALL 関数.uws REPEAT sleep(0.1) UNTIL CheckColorScope(124,374,
872 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/03/08(火) 17:44:19.61 ID:bSkm1Om50.net] UNTIL CheckColorScope(124,374,"R",35,10) BTN(LEFT,CLICK,80,108,100) FEND この状態でスレッド2側がスレッド2側の相対座標のCheckColorScopeを行ってくれず スレッド1側の相対座標をCheckColorScopeしてしまいます。 ボタンクリックやPeekColor単体、関数の中身をバラしてREPEAT〜UNTIL間に 組み込むとスレッド2側の相対座標のCheckColorScopeを行います。 関数を組み込んだ状態でスレッド2側の相対座標をCheckColorScopeさせるには どうしたらいいでしょうか。
873 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/03/08(火) 18:06:11.90 ID:mdQ0PQ+40.net] ユーザー作成関数を組み込み関数であるかのように書かれても…
874 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/03/08(火) 18:10:36.84 ID:mdQ0PQ+40.net] あとそれスレッド1とスレッド2とほぼ同時に走るから実質同じものかと
875 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/03/08(火) 18:16:33.76 ID:X39hgh8s0.net] たしかUWSCのスレッドは、スレッド無いから呼び出したユーザー定義関数を、 そのスレッド内で実行しなかったような気が? 引数だけで算数して結果を返すだけのようなリエントラントな関数ならいいけど、 Windows上のリソースにアクセスするようなのは期待した動きをしなかった気がする。 試しに、自作関数を一時的にスレッドで呼び出すプロシージャ内に展開してやってみて。
876 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/03/08(火) 18:32:29.53 ID:bSkm1Om50.net] >>824 申し訳ないです。自作関数の中身です。処理は一緒ですが、相対座標だけをずらして 並列で処理させてようとしてうまくいかず、、、 Function CheckColorScope(PosX, PosY, Element, BaseValue, Scope) Select Element Case "R" ElementValue = PeekColor(PosX, PosY,COL_R) Case "G" ElementValue = PeekColor(PosX, PosY,COL_G) Case "B" ElementValue = PeekColor(PosX, PosY,COL_B) Default Result = False; exit; SelEnd Ifb (ElementValue >= BaseValue - Scope) And (ElementValue <= BaseValue + Scope) Then Result = True; Else Result = False; EndIf Fend
877 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/03/08(火) 18:41:58.65 ID:bSkm1Om50.net] 連投ですいません。 >>826 Windows上のリソースにアクセスするようなものではないですね。 ブラウザを2個起動した状態で同じ動作を並列処理させようとしてるのですが >>827 の関数を使うと相対座標が片方に寄ってしまうんですよね。。。 展開すると関数が入れ子しているか、閉じていませんでエラーになります。。
878 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/03/08(火) 18:46:18.69 ID:4EtCLtde0.net] ID[i] = GETID(GET_FROMPOINT_WIN) これってカーソルの下のウィンドウよね? スレッドでほぼ同時に取得してるのにこれでIDきちんと2つ取れてるん?
879 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/03/08(火) 18:49:12.06 ID:4EtCLtde0.net] どっちか片方のIDしか取れてなくて2つのスレッドが同じウィンドウにMOUSEORGしているような気がする ID二つとも確認してみたら
880 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/03/08(火) 18:59:56.84 ID:bSkm1Om50.net] >>829 スレッド2側の処理ですが、以下のように処理されますので、 可能性としては低いと思われますが、念のため確認してきます。 UNTIL CheckColorScope(124,374,"R",35,10) ←×こっちがスレッド1側の相対座標に BTN(LEFT,CLICK,80,108,100) ←◯こっちはスレッド2側の相対座標
881 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/03/08(火) 19:03:16.67 ID:X39hgh8s0.net] 今テストプログラムで確認してみたら、 PCが高負荷でなければスレッドがリソース云々は無かった。 それよか、各スレッドのpeekcolorが対象にするウィンドウIDが mouseorgで指定されないから、 たまたまアクティブなウィンドウが対象になる。 ウィンドウID管理しなきゃ。
882 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/03/08(火) 19:05:47.87 ID:X39hgh8s0.net] 具体的には、スレッドにする関数の引数にウィンドウIDを追加して自作関数呼び出す直前にmouseorg または自作関数の引数にも追加してpeekcolorの直前にmouseorg
883 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/03/08(火) 19:22:19.67 ID:bSkm1Om50.net] >>830 PRINTにID表示させてみました。1と2でしっかり別れてました。 >>832 助言感謝です。さっそくやってみます。
884 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/03/08(火) 19:24:40.32 ID:X39hgh8s0.net] mouseorg使ってたねスマンね、きっと想定通りにウィンドウIDが取れてないんだろうね。 現在対象にしてるウィンドウIDをball0onで表示するようにしてみるといいよ (スレッドごとに表示されるのでID*100ぐらいの座標指定して重ならないよう別位置に表示)
885 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/03/08(火) 19:27:50.46 ID:X39hgh8s0.net] 被った、IDがいいなら後は判らんな 判定直前に対象ウィンドウをCTRLWIN(ID, ACTIVATE)してみるとか、 判定対象の位置付近にballoonを表示してみて見てるとこ合ってるかどうか確認 ぐらいかな
886 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/03/08(火) 19:32:50.77 ID:bSkm1Om50.net] >>836 了解です。バルーンで追うのはまだやってなかったので バルーンでしばらく追いつつ試してみます!
887 名前:名無しさん@お腹いっぱい。 [2016/03/08(火) 19:57:44.27 ID:OiSIw5XY0.net] >>822 CALL をスレッド関数内でやってんの? これはスレッドで動かないんじゃない? あと、スレッドを使うならグローバル変数使うんじゃなく データを渡してしまった方がいい。 なんで添え字を渡してグローバル変数の配列にアクセスさせるのかわからない。 そういうのはC言語でやってください。 C言語でも配列の添え字を渡してグローバル変数にアクセスとかしないと思うけど。 普通はアドレスを渡しますね。 別にグローバル変数にアクセスしてもいいんだけど それは変化するデータをリアルタイムにアクセスする必要があるときや スレッド関数から値を戻すときくらいですね。 一度取得したIDは変化しないからコピーを渡してしまって構わない。
888 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/03/08(火) 20:13:05.28 ID:X39hgh8s0.net] それは多分ね、UWSCのスレッドとして呼び出した関数は、 戻り値を得ることが出来ないから、スレッドで取得した値を メインから得る方法はグローバル変数しか無く、 スレッドがGETIDしたウィンドウIDをメインから見たいんじゃないかな。 CALLをスレッド内に入れるのはちょっと変態的なのは同意
889 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/03/08(火) 20:44:35.98 ID:bSkm1Om50.net] 返事遅れて申し訳ないです! 別の方法(スレッド化せず処理)でさっくり想定通りの結果が得られました! 無駄に難しい処理しようとしてたんだなと・・・ ハマって色々学べたのでよかったです。 >>838 今後のために参考にさせて頂きますOTZ >>839 他皆様、ご助言たくさんいただき有難う御座いました!
890 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/03/09(水) 17:41:50.93 ID:mQOmooo80.net] getidで2窓で開いているIE上の同じページを区別させたいんですが、 クラス名で区別させるんだと思いますがそのクラス名が分かりません 今現在は getid("ウインドウタイトル","IEFrame") でやっています どなたかお願いします
891 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/03/09(水) 18:17:29.81 ID:llmIWy
] [ここ壊れてます]
892 名前:Ss0.net mailto: やれているならそれで良いんじゃないの クラス名が知りたいなら 自分で調査スクリプトを描け(個人的には最初に造るもんだと思う) SPY++使えVisualStudioCommunityは無料でコレも付いてる 過去レスにSPY++互換ツールもあってそれを使っている人も居る でもURLとかでクラス名は変わったりしないから一緒だよ [] [ここ壊れてます]
893 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/03/09(水) 18:25:43.67 ID:sRxQkC9R0.net] >>841 教えてヤフーにあったよ オイラもそれでフラッシュゲームのバックグラウンド化に成功した (´・ω・`)
894 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/03/09(水) 18:47:20.16 ID:mQOmooo80.net] >>842 ごめんなさい 今現在↓こう書いてるのですが、このIEFrameというのがクラス名ですよね? getid("ウインドウタイトル","IEFrame") 二つ目のIEではこれはなんと書けばいいんでしょう? >>843 お手数ですが、そのURL教えてもらえませんか?
895 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/03/09(水) 19:04:38.44 ID:sRxQkC9R0.net] おいおい それぐらい自分で探しなよ オイラはそれを保存してるからもうそのページに用はないんだよね (´・ω・`) オイラもフラッシュゲームのバックグラウンド化について 検索しながら試行錯誤しながら廻りまわってたどり着いたんだよね オイラたちはヒントをだす あとは自分で調べる、試す これは基本だよ
896 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/03/09(水) 19:26:22.70 ID:llmIWySs0.net] 一般論として クラス名は単なるウインドウの種類の宣言でしかない 従ってほぼ全てのアプリで2つ目のウインドウだからといって違うクラス名になったりはしない それぞれのウインドウはIDで区別される UWSCの機能だけでやろうとしたらGETALLWINを使ったりする 個人的にはIEのタブを探して操作するなら SHDocVw.ShellWindows から目当ての SHDocVw.InternetExplorer を見つけてCOM操作するけれどね どっちにしてもいきなり二つ目のウインドウってアクセスは出来ない IEのウインドウをループで回して対象URLのウインドウをピックアップして集めてから その何個目ってしないと駄目
897 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/03/09(水) 19:28:29.35 ID:llmIWySs0.net] で、面倒臭いなと思ったら半自動スクリプトにしたら良いんだよ スクリプトの最初に操作対象をクリックして下さいとか表示するとかね 完全自動化はそのための知識が揃ってからチャンジしたら良い
898 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/03/09(水) 19:59:37.81 ID:ZH6SCA5x0.net] UWSC公式サイトのFAQに載ってる毎度の質問だな
899 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/03/10(木) 00:09:29.62 ID:kbf2APsQ0.net] canal22.org/kansu/getctlhnd/
900 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/03/11(金) 02:09:47.22 ID:vpN6R87y0.net] AutoHotKeyとの違いってなに? こっちに出来て向こうにできない、またはその逆とか
901 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/03/11(金) 02:24:04.07 ID:q9CfIyKs0.net] 日本語変数は無理なんじゃないかな
902 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/03/11(金) 02:34:58.77 ID:ZLCOlBAo0.net] 自作関数をEXITで抜けるみたいに、CALLで呼んだものを途中で抜けるってできるの?
903 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/03/11(金) 03:46:02.49 ID:fLUkQ1x50.net] EXITじゃないの?
904 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/03/11(金) 03:53:20.39 ID:8BXL68Gt0.net] CALLが何かを全く理解してない奴って多いよね
905 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/03/11(金) 13:22:41.14 ID:TzmisRaw0.net] 「呼んだもの」のなかで途中で抜けるように作れば抜けるし、最後までやるように作れば最後までやるだけだが。
906 名前:名無しさん@お腹いっぱい。 [2016/03/11(金) 15:51:14.74 ID:9MIhB+Zw0.net] Firefox系ブラウザ って FLASHブラウザゲームに MOUSEORGのMORG_DIRECTって使えないの? BTNが反応しませんでした Chromeは使えましたが、 Chromの方は、MORG_BACKがCHKIMGで認識しませんでした
907 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/03/11(金) 17:05:56.39 ID:xL247s8c0.net] 煽りじゃなくて頑張った結果が使えないのなら使えないのでしょう ブラウザはIE以外はマルチプラットフォームのため標準コントロールを使用していないし 裏になったら再描画しないパターンもあるしね 裏動作は出来る時もある位の気持ちで 仮想化環境を使って最前面か別PCが安定ってのがFAQだよ
908 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/03/11(金) 17:41:53.19 ID:uLXjBvrS0.net] hoge=
909 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/03/11(金) 17:52:21.69 ID:uLXjBvrS0.net] すいません、NGワードで弾かれたっぽいです hoge="あいうえおあいうえお" 上記変数の、左から5番目の「お」だけを 「ん」に変えたいんですけど、そんな命令ありますか? 置換命令のREPLACEだと、番号指定は無理ですよね? hoge=COPY(hoge,1,4)+"ん"+COPY(hoge,6) 遠回りな気がしますが、こんな感じにするしかないんでしょうか?
910 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/03/11(金) 17:57:29.45 ID:8eZkzZWt0.net] 仮想化はOS用意しないといけないからなあ linuxとか無料らしいからそれ使えればいいけどな
911 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/03/11(金) 18:21:03.26 ID:xL247s8c0.net] >>859 それしかないって事はないけれど特に近道も無いよってのが答えだと思う VBSの文字列操作用や正規表現用のオブジェクトを生成して処理したり出来るが 特に行数が減るわけではない(寧ろ増える) 昔と違ってメモリを節約する努力なんて不要なんだから 行数や命令を減らす努力はそれ程重要じゃない 最適化しすぎて同じ結果になるけれどやりたい事との文脈が違う場合とか 後から見ると混乱のもとになるからね メインの処理のやりたい事が「文字列のn文字を入れ替える」なら そういうユーザ関数を作成して抽象化したら良いのよ
912 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/03/11(金) 18:28:44.96 ID:HWMGVE3/0.net] 遠回りどころか、処理的には replace よりむしろ近道なのでは
913 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/03/11(金) 19:10:33.56 ID:9aIMxtHY0.net] >>856 ただのバックグラウンドならできる (画面が隠れてたり最小化だとできない) クラス名を取得してハンドルする 教えてヤフーにやり方のヒントがある (´・ω・`)
914 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/03/11(金) 19:19:08.73 ID:LoB9QIb70.net] バックグラウンドと画面が隠れていることの違いって何
915 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/03/11(金) 20:39:57.96 ID:9MIhB+Zw0.net] >>863 クラス名なら、Firefoxは、MizillaWindowsClass Chromeは、Chrome_RenderWidgetHostHWND これは取得できて、ハンドルも取得できていて それは、わかってるんです。 ただのバッググラウンド状態でももちろん試しました Yahoo知恵袋なども結構参照した方です ですが、IEとChromeは、MORG_DIRECTが使えて Firefoxだけは、MORG_DIRECTが使えませんでした。 BTNが反応してくれない。それってあり得るんですかね?
916 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/03/11(金) 23:22:31.33 ID:V+G/WUuc0.net] While True ifb CHKIMG("A.bmp") BTN(LEFT, CLICK, G_IMG_X, G_IMG_Y) else ifb CHKIMG("B.bmp") BTN(LEFT, CLICK, G_IMG_X, G_IMG_Y) else ifb CHKIMG("C.bmp") BTN(LEFT, CLICK, G_IMG_X, G_IMG_Y) else sleep(0.3) BTN(LEFT,CLICK,1000,500) endif endif endif sleep(0.1) WEND こんな感じのマクロを組んだのですが最後の sleep(0.1) BTN(LEFT,CLICK,1000,500) が1秒くらい間隔開けて連打するので困っています 0.3秒くらいの間隔で連打させたいのですが何を弄ればいいのでしょうか?
917 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/03/11(金) 23:37:24.40 ID:q9CfIyKs0.net] 0.3秒+500ミリ秒+0.1秒=0.9秒 当たり前の話でんがな
918 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/03/11(金) 23:40:11.60 ID:q9CfIyKs0.net] 間違えたハズカシ つかchkimgは範囲が広いとそれだけ時間かかるからPCのスペック次第で時間が変わる
919 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/03/11(金) 23:55:24.06 ID:V+G/WUuc0.net] >>868 なるほど、処理が追いついていないと そこそこのスペック持たせてるはずなのに画像認識の処理ってけっこうパワーいるのに驚きです
920 名前:名無しさん@お腹いっぱい。 [2016/03/12(土) 00:22:19.71 ID:vIYJtZWi0.net] × BTN(LEFT,CLICK,1000,500) ○ BTN(LEFT,CLICK)
921 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/03/12(土) 00:58:30.41 ID:JA7kK
] [ここ壊れてます]
922 名前:oOW0.net mailto: >>870 その場合どうやって座標の指定をするので? [] [ここ壊れてます]
923 名前:名無しさん@お腹いっぱい。 [2016/03/12(土) 05:37:53.21 ID:vIYJtZWi0.net] あ、つい。数字をミリ秒と読んでしまって。 画像を小さくして範囲を絞れば速くなります。 範囲を絞るために GETID() で対象ウィンドウを特定して STATUS() で座標を取って CHKIMG() で範囲を指定します。 MOUSEORGで基準座標を対象ウィンドウにすれば 範囲は 0, 0 からサイズ x, y で指定できるので楽です。 他の方法としては 数ドットの色だけで判定できる場合は 検索範囲の画像を SAVEIMG() でクリップボードにコピーして クリップボードから PEEKCOLOR() で検索すると早いです。 でも、数ドットで済むようなら1秒もかかってませんね。
924 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/03/12(土) 08:55:36.12 ID:1ZX49PQ60.net] >>866 なんか凄い見にくいけどこういうことだよね? While True ifb CHKIMG("A.bmp") BTN(LEFT, CLICK, G_IMG_X, G_IMG_Y) elseif CHKIMG("B.bmp") BTN(LEFT, CLICK, G_IMG_X, G_IMG_Y) elseif CHKIMG("C.bmp") BTN(LEFT, CLICK, G_IMG_X, G_IMG_Y) else sleep(0.3) BTN(LEFT,CLICK,1000,500) endif sleep(0.1) WEND sleep(0.3)の部分は3回試した後だし、sleep要らないのでは
925 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/03/12(土) 12:51:15.36 ID:ah+GWDsu0.net] ヒント@ ループ開始時に開始時間を記録 その他のボタンクリック前の時間と開始時間を引いて経過時間を記録 経過時間が300ミリ秒以内ならその時間だけスリープ ヒントA DEF_DLL timeGetTime(): LONG: winmm.dll //ミリ秒単位の時間を取得 (わざわざwin32api使うのはUWSCは経過時間の取得は小数点(割合)になるので直感的じゃないから)
926 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/03/12(土) 12:54:01.60 ID:fkR2rJoF0.net] まあ今回の場合、処理が0.6秒位かかっているようだから スリープ0にしたところでダメだし時間測るのは無意味と思うけどね。 どちらかというと範囲制限の方が有効だろう
927 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/03/12(土) 13:11:01.48 ID:ah+GWDsu0.net] それ前提のつもりでした言葉足らずだったね 0.3秒感覚でクリックしたいならそうなるようなロジックが必要ですよと
928 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/03/12(土) 20:47:24.15 ID:XzxPU9E/0.net] タイミングはシビアになるかもだけど、Thread()で0.3秒ごとにクリック メインではChkimg()してヒットしたらフラグを立てて Threadのほうのクリックを抑止してメイン側でクリック とか?
929 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/03/13(日) 01:10:40.53 ID:yStCxW+O0.net] まず最初にみんなありがとう せっかく教えてくれるのにごめん ミジンコにとっては半分近くが呪文だったのです >>872 もうちょい画像絞ってみます 知らない関数もあるのでそれも調べてみます >>873 sleepよりも何よりもelseifの存在を忘れてた自分が馬鹿でした 適当なサイトのコピーから改竄してたのですがこれでC+齧ってたのかと思うと恥ずかしいです >>874 誤差分だけスリープなんてできたんですね >>875 さんの件も含めて考えて、それで処理時間含めての最短を設定できるように調整してみます >>877 並列は考えたのですが他の作業中に「そこ」をクリックされると困るので破棄しました それを破棄した理由が連打させたい時に画面には決まった画像というのがないという事なのです 拾い物の改竄だけだと何も身につかないと再確認して自分を恥じます 勉強しなおして出直しますのでその時また困ったらお力をお貸しください
930 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/03/13(日) 05:59:29.63 ID:Oa7DQQ9u0.net] chkimg3つをそれぞれ別スレッドで動かして 発見フラグが一つもない時だけ1000,500をクリックでいいのでは これなら今どきのマルチコアCPUなら3倍速で動くはず?
931 名前:名無しさん@お腹いっぱい。 [2016/03/13(日) 10:3
] [ここ壊れてます]
932 名前:4:38.97 ID:5BxruRGM0.net mailto: いまどきの Core i5 でも安いのは物理2コアなので3倍速になんてなりません。 タスクマネージャで4コアに見えても、2つは論理CPUかもしれません。 仮に4コアあったとしても、3コアをUWSCが独占したら残り1コアでアプリが動くわけで ちょっと重すぎますね。 どうしてもクリック速度を上げないといけないなら 画像を工夫するか、ほかの画像処理ツールを使うべきでしょう。 UWSCだと3つの画像で3回キャプチャしますが、 キャプチャをして画像比較を別の画像処理ライブラリを使って比較すれば 1回のキャプチャで3回比較できます。 が、UWSCで比較しても遅いので高速な言語を使う必要が・・・ [] [ここ壊れてます]
933 名前:名無しさん@お腹いっぱい。 [2016/03/13(日) 10:38:41.65 ID:5BxruRGM0.net] ARToolKitで複数マーカーを使ってみた https://youtu.be/uoncHfnYWHM ARToolKitを使った 「拡張現実感」 kougaku-navi.net/ARToolKit/ これだけグリグリ動くんだから ビットマップの完全一致くらい一瞬じゃないとおかしいんだけどね。 おまけ astertune.com/?p=1374 > OpenGLより高速で、iOSに特化したMetalというAPIが昨年登場 (2015年8月30日の記事) codeit.blog.fc2.com/blog-entry-18.html > SSE を使用することにより約二倍の高速化が見込まれ tanakah.blogspot.jp/2011/02/gt5directx1.html > 車速とギアを認識するDirectXフィルター > やり方ですが、OpenCV1.0についてくるproxytransフィルターを改造してつくります。 > OpenCV cvMatchTemplate() OpenCvSharp 投稿日: 2014年2月6日 https://jpusergis.wordpress.com/2014/02/06/opencvsharp/ C#ならUWSCからPowerShell経由で呼び出せるけど 呼び出しに1秒くらいかかるんだよね。 > 315 名前:Nekorabbit ◆jpnWwiLScI [sage] 投稿日:2014/11/30(日) 07:16:25.97 ID:aCUfDH4j0.net > 画像認識関数 ChkImgX-ver1.2.0 > ttps://googledrive.com/host/0B83tioTzFacPRExEWlpEOXhWbDQ/ChkImgX-ver1.2.0.zip > > やっぱりOpenCVを使うようにした。それとソースコードを追加
934 名前:名無しさん@お腹いっぱい。 [2016/03/13(日) 10:40:01.87 ID:5BxruRGM0.net] やっぱりシンプルで高速なライブラリってのは他にないんだな。 シンプル過ぎてな。
935 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/03/13(日) 13:21:20.33 ID:DqbPwOfU0.net] >>866 OPTION SHORTCIRCUIT While True ifb CHKIMG("A.bmp") or CHKIMG("B.bmp") or CHKIMG("C.bmp") BTN(LEFT, CLICK, G_IMG_X, G_IMG_Y) else BTN(LEFT,CLICK,1000,500) end WEND 試してないが、こうやったほうが早いかも OPTION SHORTCIRCUITは片方の条件を見つけた時点で以降の条件は探さないらしい これで動いてくれると思う
936 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/03/13(日) 13:44:27.34 ID:MyuwQ+3+0.net] >>883 それ一緒だから。 実質スリープ無くしただけ
937 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/03/13(日) 14:35:12.26 ID:0ijLe2jo0.net] UWSCのSHORTCIRCUITはオール・オア・ナッシングで 副作用への注意が必要だからあまり好きじゃない 短絡評価の条件式があれば良いんだけれどね
938 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/03/13(日) 16:32:38.86 ID:nEkRwzyP0.net] ただの秒数設定ミスのクソ質問かと思いきや微妙に建設的な質問になっててワロタ
939 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/03/13(日) 16:45:35.50 ID:E0WmGTEK0.net] >>878 いろいろな事を考えると
940 名前:elseifでは対応できない場合も想定されるから 総合的に考えると else if のままのほうがいいみたい? まぁその分endifが増えるんだけど [] [ここ壊れてます]
941 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/03/14(月) 19:14:44.98 ID:i2rVe3gR0.net] それは総合的に考えるモノじゃないだろう 必要に応じて使い分けるだけで
942 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/03/14(月) 22:57:21.23 ID:yWL5pN6J0.net] 保守のやりやすさまで考えるとelseif一択 else ifのほうが綺麗に書けるケースはちょっと思い浮かばない
943 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/03/15(火) 01:55:30.43 ID:47j5cpZS0.net] 個人的にifは二択のときだけ それ以外の選択肢が増えそうなときとかはcase文の方を使いたいとこだ…。
944 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/03/15(火) 03:45:02.21 ID:SCAnh7Td0.net] ifとcaseでは明確に用途が違うような。
945 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/03/15(火) 03:50:19.31 ID:dAPydsp10.net] 俺はcaseは限定的な時にしか使いたくないな 逆にそれ以外はif分岐させてる
946 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/03/15(火) 04:07:47.33 ID:SCAnh7Td0.net] いやいやいや caseはひとつの条件式の結果で分岐するもので elseifは複数の条件式を使うものでしょう? かぶる部分も無いではないけど、普通は用途で決まるような。
947 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/03/15(火) 05:28:13.13 ID:47j5cpZS0.net] 確かに用途でも決まるね。。 俺が想定してのが単純な一つの値の判定だったから混乱させて申し訳無い 複数の判定が一つの条件式にあると 後から読みにくかったり理解しにくくなったりしそうで ifの中には一つの判定だけをなるべく書く様にしてるからつい…。 中にどんどんif入れてくのも同様の状態になるから入れ子は少なくすることを検討した作りにしてる
948 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/03/15(火) 11:35:32.40 ID:Ye8AnKp+0.net] caseはbreakさせないって使い方もあるから、一概にどっちがいいとは言えないね
949 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/03/15(火) 11:57:04.20 ID:RI0XNTAs0.net] なるほど思い出した
950 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/03/15(火) 13:32:13.65 ID:H7Ch8AYF0.net] UWSCのSELECTはフォールスルー使えなくない? ELSEIF連鎖はメーラーの振り分けみたいな優先順位付き判定群だから使い道が違う。 SELECTは1つの判定で複数の分岐。 UWSCのSELECTは、SELECTに書く式を空にして、CASE側に判定式書いても使えるんで、 ELSEIFと同様のこともできるってだけ。
951 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/03/15(火) 14:33:20.13 ID:K82PCnuw0.net] >>897 > SELECTに書く式を空にして、CASE側に判定式書いても使える なにそれ。そんなこと出来る? 試した限りではselectに式書かなかったら case側に何を書いても最初のcaseが実行されるんだが。 select case 0=1; print "0=1" case 1=1; print "1=1" selend こんなのでも0=1って表示されちゃう。エラーも出ん。
952 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/03/15(火) 14:44:41.61 ID:zE0f+pvP0.net] 空は無理だけど Select trueとかにしておけばいける
953 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/03/15(火) 14:51:16.05 ID:215if6Wy0.net] Selectの式の結果 と Caseの式の結果が 最初に一致するCase文が実行される感じなんかな
954 名前:名無しさん@お腹いっぱい。 mailto:select [2016/03/15(火) 15:13:32.26 ID:H7Ch8AYF0.net] すまんね空は無理だった ご指摘の通りtrueにすれば、式がtrueとなる最初のcaseが実行され、 空欄もしくはfalseだと、式がfalseとなるcaseが実行されるね。
955 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/03/15(火) 23:51:21.72 ID:PCeK8oit0.net] CHKIMGで画像判別 一致したら then で SOUNDでmp3を再生にしたんですが 音が出たり出なかったり SLEEPでウエイトを入れたり 構文に trueにして同期させたりしても変わらない レジストリ関係なのかな? どこを弄れば直るんでしょうか?
956 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/03/16(水) 07:35:12.72 ID:LJ+euZnJ0.net] 画像判別ができてないのか、音が出てないだけなのか切り分けできてんの?
957 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/03/16(水) 08:34:48.88 ID:nAh2yAGb0.net]
958 名前:PにChkimg()で一致してないだけじゃないのか [] [ここ壊れてます]
959 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/03/16(水) 08:56:46.03 ID:yzWTIl7F0.net] あるある
960 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/03/16(水) 10:52:10.44 ID:8JIJQW6i0.net] Windows7では問題なく動いていたのですが 仮想環境のWindows Vistaでは一部画像認識が上手くいきません 同じく仮想環境下のWindows7では問題ありませんでした 認識しない画像をVista内で切り取るとうまくいくのですが それでは膨大な作業量になります ご助言をお願い致します
961 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/03/16(水) 11:09:21.22 ID:/XbN41Fg0.net] chkimgの色幅を試す ChkImgXを試す 照合画像を造り直す 基本的にグラフィックドライバでイメージは変わる可能性があるという事を覚えておこう だから使用する環境でキャプチャするのが鉄板
962 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/03/16(水) 11:16:46.80 ID:8JIJQW6i0.net] ありがとうございます ちょっと量が量なのでWindows7のライセンスもう一つを購入したいと思います
963 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/03/16(水) 18:04:20.19 ID:2Mv7Yb1h0.net] >>907 グラフィックドライバで変わるのか キャプチャのやり直しは正直疲れる
964 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/03/16(水) 19:52:25.50 ID:0mxs1TOv0.net] 変わるんだよな〜 アンチエイリアスなんだろうな。 あとOSやブラウザの変更でフォントも変わることがあり、 文字列取得できなくて画像判定で代用してるとハマるね〜 環境で変わるのに対抗するのにも、一番有効なのは仮想化。
965 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/03/18(金) 14:40:05.44 ID:fdkkgXvY0.net] dim array[] = 0,1,2,3,4,5,6,7,8,9 for i=0 to 100 j = i mod 10 t=G_TIME_SS mod 10 print array[j]+" "+t gettime() if array[j]=t then i=i+t sleep(0.1) next というように特定条件下でループを任意の回数飛ばしたいんですが forの変数は内部から参照することは出来ても値を変更して ループに反映することは出来ないみたいで思うようには動きません。 forではなくwhileを使えば解決する話ですが、forでこういう事は絶対出来ないんでしょうか?
966 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/03/18(金) 15:05:30.02 ID:Y8LfVAQe0.net] for は 初期値 終了値 加算値 をシンプルに表現してループさせる構文なので無理
967 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/03/18(金) 17:26:15.26 ID:Dic6Ty9l0.net] if i<k then continue ... if array[j]=t then k=i+t とかじゃだめ?
968 名前:名無しさん@お腹いっぱい。 [2016/03/18(金) 18:48:34.55 ID:37KGhb4W0.net] 申し訳ない・・・知恵を貸して下さい・・・。 やりたい流れのイメージ @一致画像をクリック ↓ 画像判断。画像によって条件分かれ (ここの作り方が不明・・・) ↓ B一致画像をクリック ↓ C一致画像をクリック
969 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/03/18(金) 18:50:26.76 ID:37KGhb4W0.net] 画像判断の部分はこんな内容です。分かりますか? @ifb CHKIMG(“xxx.bmp”) x=G_IMG_X y=G_IMG_Y BTN(LEFT, CLICK, x , y , 100) endif ―――――――――――――――――― 1、画像Aがあるか判定 2、画像Aがある場合は「B」へ 3、画像Aが無く画像Bがあった場合は↓ (Cの画像をクリック) (Dの画像をクリック) 4、順番にC.Dの画像をクリックし終わったら 「@」最初の動作にへ戻る、 又は「B」へ通常移行。 又は「B」をスキップし「C」へ移行 ――――――――――――――――――
970 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/03/18(金) 18:51:32.08 ID:37KGhb4W0.net] 素人すぎて正しく伝わっているか心配ですが、 アドバイスを貰えると有り難いです・・・。
971 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/03/18(金) 18:56:09.29 ID:37KGhb4W0.net] 尚、 「@」最初の動作にへ戻る、 又は「B」へ通常移行。 又は「B」をスキップし「C」へ移行 この3パターンは「3個同時で判定」ではなく、 全て「単体」で動作させる事を前提とした場合のスプリクトです。
972 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/03/18(金) 19:01:31.23 ID:JI+YMOVs0.net] そうだね!がんばれ!
973 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/03/18(金) 19:13:18.26 ID:cs2HMD100.net] フローチャート作って
974 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/03/18(金) 19:14:32.75 ID:37KGhb4W0.net] >>919 了解致しました。 少々お待ち下さいませ。
975 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/03/18(金) 19:44:54.92 ID:37KGhb4W0.net] >>919 お待たせしました。2パターン作りました。 画像Cからのジャンプ先は@にしてますが、場合によってBやCにも変えたいです。 www.dotup.org/uploda/www.dotup.org783399.jpg www.dotup.org/uploda/www.dotup.org783402.jpg シンプルに作ってみたのですが、どうでしょうか。
976 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/03/18(金) 20:28:40.25 ID:3mTNmK/i0.net] そこまで出来てるならそのままコーディングすればいいだけじゃ?
977 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/03/18(金) 20:41:45.76 ID:XTMTGWl20.net] >>922 元々スプリクトを使わない自動化ソフトを使っており、頭の中で流れの構築は出来ているのですが、 スプリクト上に起こすのがどうしても難しく、、。 頭でイメージ出来ているのに、絵に描けない状態です、、、。
978 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/03/18(金) 20:49:53.51 ID:wiffpfVZ0.net] @, B, C をそれぞれ関数化するといいような気がするよ
979 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/03/18(金) 21:06:54.37 ID:a/2iCbr10.net] >>921 です。 正直センスが無さ過ぎて、見せるのも恥ずかしいのですが・・・。 一応途中まで作ったスプリクトです。 www.dotup.org/uploda/www.dotup.org783529.jpg
980 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/03/18(金) 21:43:41.41 ID:p+rJK2780.net] >>925 画像1と画像2の関係性は? 画像1をクリックしたら画像1が消えて画像2がでてくる? 画像1をクリックしたら画像1も画像2も表示されてる?
981 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/03/18(金) 22:12:44.85 ID:a/2iCbr10.net] >>926 画像はクリック毎に、前の画像は消えて、 次は必ず決まった画像が一個出ます。 画像判断の所だけ、別の画像が出てくる場合がある為、 この様な条件付き画像判断スプリクトを組み込む必要があります。
982 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/03/18(金) 23:36:00.24 ID:lyGpkKZO0.net] たぶん、"IF"ってのの使い方を勉強するといいと思う
983 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/03/18(金) 23:44:46.31 ID:p+rJK2780.net] >>927 while 1 if chk 画A if chk 画C elseif chk 画B endif elseif chk 画B if chk 画D elseif chk 画C endif elseif chk 画A elseif chk 画@ endif wend こういう感じ?
984 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/03/19(土) 00:04:11.56 ID:SY2bECL70.net] while true 画像クリック("画像@") 画像クリック("画像A") if chkimg("画像A") then break 画像クリック("画像B") 画像クリック("画像C") wend 画像クリック("画像B") 画像クリック("画像C") procedure 画像クリック(画像) chkimg(画像) btn(left, click, G_img_X, G_img_Y) fend
985 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/03/19(土) 00:08:39.27 ID:BW58rut60.net] フローチャート作れるならトライアンドエラーで頑張れ
986 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/03/19(土) 01:41:22.95 ID:bIkT5e8S0.net] >>930 素人の私でもめちゃくちゃ分かりやすいです、激しく感謝します! 動作確認してみましたが、全く問題なく希望通りの動きをしてくれました! 最後にもう一つだけ教えてください・・・。画像Cの後に「wend」を持ってきて 一番最初の「while true 」に戻らせてループさせようとしたらエラーが出ました。 これは何が原因になるのでしょうか??
987 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/03/19(土) 01:43:58.70 ID:4bvWfFXm0.net] whileとwendは必ず1個ずつのセットじゃないとだめ 一連の処理を繰り返させたいなら、wendを画像Cの下に置くだけじゃなくて最初のwhileの更に上にwhileを置かないと
988 名前:名無しさん@お腹いっぱい。 [2016/03/19(土) 01:56:50.27 ID:bIkT5e8S0.net] >>933 私も最初そう思ったんですが、なんかエラーが出たのであれ・・?と思いまして www.dotup.org/uploda/www.dotup.org784002.jpg こういう事ですよね?
989 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/03/19(土) 02:07:08.90 ID:FgddRy/I0.net] trueが無いじゃん。
990 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/03/19(土) 02:07:45.33 ID:4bvWfFXm0.net] ワロタ
991 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/03/19(土) 02:08:06.81 ID:jrQgNiRM0.net] 最初のwhileの条件が無いとか? ヘルプで分かる内容は質問しない方がいいよ
992 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/03/19(土) 02:35:41.05 ID:bIkT5e8S0.net] while true 初歩的なミスでした、、、申し訳ないです。 皆様のアドバイスのお陰で
993 名前:本当に捗りました。 繰り返しになりますが、有り難うございます! wend [] [ここ壊れてます]
994 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/03/19(土) 02:56:04.14 ID:tZvnxb2Q0.net] インデント入れろよ。
995 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/03/19(土) 03:59:10.94 ID:aYU7I2EX0.net] みんな優し過ぎてww
996 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/03/19(土) 08:12:31.88 ID:BINz+wH10.net] 優しいな 俺がこんな質問した時は完全スルーされたぞ
997 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/03/19(土) 08:20:59.56 ID:fFrQFvev0.net] 自分でコードを書く努力している人だからでしょ
998 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/03/19(土) 11:07:56.96 ID:YmXGVn/20.net] フロチャート作ってちょっとづつスクリプトを書いてまめにテストする オイラの経験上ifb while たまにbreakでたいがいのゲームは動く コツは最初はsleepに余裕をもって書く パートを分けるんだな 戦闘、補給、修理 これらをcallで呼び出す そうするとイベントやりながら通常戦闘もできるぞ ゲームの完全自動化までがんばれ (´・ω・`)
999 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/03/19(土) 11:21:09.91 ID:YmXGVn/20.net] あとゲームにありがちな点滅、明滅するボタン ボタンの上に光がもやもやしてたり炎がメラメラしてるときは 他の安定してる画像をchkimgしてそこからx+A y+Bするときっちりボタン押せるぞ (´・ω・`)
1000 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/03/19(土) 14:27:55.04 ID:7vlPDXm10.net] >>944 そういうのは短い時間でchkimgを繰り返せば認識できるぞ
1001 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/03/19(土) 14:43:51.18 ID:w1t+Hd6h0.net] >>945 それするぐらいなら>>944 のほうが確実
1002 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/03/19(土) 14:54:36.33 ID:7vlPDXm10.net] >>944 では通用しないケースは割とあるからな
1003 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/03/19(土) 20:11:11.15 ID:BINz+wH10.net] メラメラはいつもは諦めてほかの画像からの相対座標使ってますけど メラメラは一致するまでwhile chkimgでいいのですか? メラメラは私も苦手です
1004 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/03/19(土) 20:26:21.82 ID:71k0Vm/10.net] 色幅を持たせてchkimgすればいい
1005 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/03/19(土) 20:52:39.80 ID:BINz+wH10.net] >>949 ありがとうございます。感謝します もう一つ質問失礼します 今色幅IMG_MSK_BGR4でやったのですがもっと広げる方法ありますか? メラメラが水色-黄色-赤みたいな感じのメラメラです
1006 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/03/19(土) 20:57:57.92 ID:bgGs7ybY0.net] そこまでは無理
1007 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/03/19(土) 21:02:17.45 ID:BINz+wH10.net] >>951 ありがとうございます。素直に相対座標を使います
1008 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/03/19(土) 21:04:56.10 ID:szW1lJKS0.net] 色無視入れたらどう
1009 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/03/19(土) 21:49:17.82 ID:BINz+wH10.net] gifのメラメラは色幅と色無視両方1秒以内で認識しました FFのような(画像?)メラメラはどちらもダメでした。10秒タイムアウト では失礼します
1010 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/03/19(土) 21:50:22.43 ID:71k0Vm/10.net] >>950 定数じゃなくても、自分で好きな数値指定できるよ
1011 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/03/19(土) 22:48:20.75 ID:ejAiv50P0.net] 不特定多数の場で堂々とゲームの自動化を口にするでないグラブル厨か? ぼかして言うのが作法だぞ。 作法を守らないならネトゲそのものが嫌になるような脱洗脳スクリプト貼るからな。
1012 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/03/19(土) 22:49:54.86 ID:ejAiv50P0.net] にしても本当にフローチャート書いてくるのは珍しいな。 構造文もまともに知らない時点でこれなら十分適正あるな。
1013 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/03/20(日) 02:13:45.61 ID:PtQjd96F0.net] 以前まではここでゲームの話題はNGだったんだけどね 質問者も変われば回答者も変わった
1014 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/03/20(日) 02:49:33.10 ID:157+05md0.net] その以前の前のことも知らんのか ほんとに変わったな
1015 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/03/20(日) 07:39:38.49 ID:6LNOBso90.net] peekcolor関数を使う際に範囲が 指定できますが、 マウスカーソル周囲を指定することってできないのですか?
1016 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/03/20(日) 07:45:07.67 ID:6rS3nJ0Q0.net] 範囲でない座標のみ そしてマウス座標は特殊変数に入っている ヘルプの スクリプト→スクリプト関数→特殊変数 辺
1017 名前:りを見ろ あと本当に周辺を調べたいなら PEEKCOLORをループさせるユーザー関数化する必要があるぞ [] [ここ壊れてます]
1018 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/03/20(日) 08:00:40.40 ID:6LNOBso90.net] ありがとう マウス座標そのものではなく、 マウス座標から、その周辺を調べたいんです 最終的にPEEKCOLORでマウス座標周辺の色を取得し続けるという動作をしたかったのですが すみませんPEEKCOLORをループさせるユーザー関数とは、どんなものでしょうか もう少し詳しく教えてくれませんか
1019 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/03/20(日) 08:17:15.47 ID:h63WLHEt0.net] フローチャートじゃなくてそのまんまコードじゃん
1020 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/03/20(日) 08:51:03.34 ID:6rS3nJ0Q0.net] 考える事を否定している人にはヒントすら惜しいなぁ マウス座標は特殊変数に入っている マウス座標の周辺とは矩形であれば−10と+10とかで表現可能 Forは変数に初期値、終了値、増減値を設定してループ可能 後はユーザー関数の引数と戻り値かな 判断材料(引数)とその結果(戻り値)なんで 同じ色が複数あった場合にどうしたいかとか 考えることは色々あるよ
1021 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/03/20(日) 16:51:23.89 ID:xNax6tI9f] peekcolorが遅い。 具体的には1点15msくらいかかる。 UWSCが全体画像取得から1点取り出して調べてるから遅いんであって、 ある程度範囲をまとめて取得したいってのがこの質問の趣旨じゃないかな? そんな方法ありませんか? ないです。 このスレにある画像判定Xを使うと、3つの画像判定が1回分の画像判定の処理速度でできたりとかするんですか? それなら画像をドットにして代用できそうですが?
1022 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/03/21(月) 19:07:10.29 ID:7t5Ndceu0.net] >>932 です。以前、皆様より頂いたアドバイスを元に自分なりにスプリクトを考えてみました。 一応希望通りの動作はしてくれる為、内容としては完成しました。 もしよろしければ「もっとこうしたらいいよ」「こういうやり方もあるよ」等 厳しいお言葉でも結構ですので、アドバイスを頂けると幸いです。 www.dotup.org/uploda/www.dotup.org787636.jpg www.dotup.org/uploda/www.dotup.org787638.jpg
1023 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/03/21(月) 19:43:31.70 ID:FyEV7Y7F0.net] 斬新なインデントですね
1024 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/03/21(月) 19:49:10.85 ID:WT79cWH60.net] エクセルかこれ…? まずはまともなテキストエディタを拾ってくるのが先だろ
1025 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/03/21(月) 19:54:36.21 ID:JOINNpX40.net] やっぱりゲームか・・・
1026 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/03/21(月) 20:02:44.88 ID:ZoeE04qr0.net] >>967 インデントというか、自分なりに見やすくした結果 こういう分け方になりました・・
1027 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/03/21(月) 20:09:11.46 ID:ZoeE04qr0.net] >>968 テキストエディタという物の存在自体をしりませんでした・・・。 サクラエディタという物をDLしてみましたが・・・めちゃくちゃ便利ですねこれ・・。
1028 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/03/21(月) 23:00:19.32 ID:+SrzIg6H0.net] サクラエディタは強調ワードにUWSCスクリプトを指定できるのは過去ログ読めば出てくるしやってるよな? インデントはこれかな〜 https://ja.wikipedia.org/wiki/%E5%AD%97%E4%B8%8B%E3%81%92%E3%82%B9%E3%82%BF%E3%82%A4%E3%83%AB https://www.google.co.jp/search?&q=%E5%AD%97%E4%B8%8B%E3%81%92%E3%82%B9%E3%82%BF%E3%82%A4%E3%83%AB
1029 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/03/21(月) 23:20:08.26 ID:Dl8KMauT0.net] >>966 ゲームマクロはにごせって言われただろ馬鹿
1030 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/03/22(火) 00:18:54.15 ID:YYqgpZK30.net] >>971 emEditorってのもオススメ サクラと使い分けるのもいいけど
1031 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/03/22(火) 04:46:30.63 ID:DDV+vLl80.net] ゲームマクロの質問に答え始めるとド初心者のマクロの話題だらけになるぞ
1032 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/03/22(火) 07:19:13.62 ID:ey+ZWHj+0.net] インデント難しい 字下げすると見にくくなって自分でよく解らなくなる
1033 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/03/22(火) 07:41:59.43 ID:GjQDazUb0.net] 字下げして見難くなるとか何かがおかしい
1034 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/03/22(火) 08:10:41
] [ここ壊れてます]
1035 名前:.21 ID:C5ffbueJ0.net mailto: while x xxxxxxxxxxxxxx xxxxxxxxxxxxxx xxxxxxxxxxxxxx //komento while y if x = y then break xxxxxxxxxxxxxx xxxxxxxxxxxxxx xxxxxxxxxxxxxx wend //komentoooo while z xxxxxxxxxxxxxx xxxxxxxxxxxxxx xxxxxxxxxxxxxx if x = y //komentoooooo xxxxxxxxxxxxxx xxxxxxxxxxxxxx else xxxxxxxxxxxxxx //komento xxxxxxxxxxxxxx //komento endif wend wend [] [ここ壊れてます]
1036 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/03/22(火) 08:45:39.65 ID:1TlcaC730.net] aaa(){ // こっちつかう } aaa() { // これの人も多い }
1037 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/03/22(火) 09:00:46.38 ID:C5ffbueJ0.net] } else { //これが無性に気にくわない
1038 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/03/22(火) 09:02:54.38 ID:1TlcaC730.net] となると下が一般的なのかな?
1039 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/03/22(火) 09:35:25.64 ID:S1yVAMwN0.net] ここは幼稚園か uwscと関係ない話はほどほどにな
1040 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/03/22(火) 23:47:34.60 ID:Ol86bvxv0.net] 少し知恵をお貸し下さい。 通常の画像認識は出来るのですが、少し光を帯びた(点滅)の画像の判定はどのようにするのがセオリーなのでしょうか? 色幅は?と思い、BGR3で試してみましたがうまくいきませんでした while true ifb CHKIMG("A.bmp") //A画像認識 x=G_IMG_X //代入 y=G_IMG_Y // BTN(LEFT, CLICK, x+5, y+5, 100) //画像クリック sleep(2) //待機 endif wend お願い致します。
1041 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/03/23(水) 00:11:32.78 ID:Y8+Uhjvq0.net] ゲームマクロの質問に安易に答えるとこうやって調子こいて次から次へとこういう質問をしてくる
1042 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/03/23(水) 00:23:26.39 ID:F3sbSHdJ0.net] >>983 スレチ。 特異点を見つけるだけ。
1043 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/03/23(水) 00:24:03.93 ID:LGiv8vs60.net] >>983 =>>920 じゃないの 当人だとしても別人だとしてもばかちんにかわりは無いけど
1044 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/03/23(水) 00:53:32.64 ID:Y8+Uhjvq0.net] どう見ても同一人物
1045 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/03/23(水) 01:37:19.33 ID:ojrTHT/Q0.net] しょうもない質問で埋まってきたな
1046 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/03/23(水) 11:51:42.28 ID:CF5/3UwB0.net] 同一人物じゃねぇだろ。 前のヤツはもう完成したスプリクト張ってたし
1047 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/03/23(水) 12:00:41.47 ID:CF5/3UwB0.net] >>983 >>945 これでいいじゃん。なにが問題なの?
1048 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/03/23(水) 12:34:28.58 ID:Pb+9aq2M0.net] > スプリクト
1049 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/03/23(水) 14:20:10.33 ID:LGiv8vs60.net] スプリクトで検索した結果くそわろち 903 名前:名無しさん@お腹いっぱい。[sage] 投稿日:2016/03/18(金) 18:56:09.29 ID:37KGhb4W0 [4/6] 尚、 「@」最初の動作にへ戻る、 又は「B」へ通常移行。 又は「B」をスキップし「C」へ移行 この3パターンは「3個同時で判定」ではなく、 全て「単体」で動作させる事を前提とした場合のスプリクトです。 909 名前:名無しさん@お腹いっぱい。[sage] 投稿日:2016/03/18(金) 20:41:45.76 ID:XTMTGWl20 >>922 元々スプリクトを使わない自動化ソフトを使っており、頭の中で流れの構築は出来ているのですが、 スプリクト上に起こすのがどうしても難しく、、。 頭でイメージ出来ているのに、絵に描けない状態です、、、。 911 名前:名無しさん@お腹いっぱい。[sage] 投稿日:2016/03/18(金) 21:06:54.37 ID:a/2iCbr10 [1/2] >>921 です。 正直センスが無さ過ぎて、見せるのも恥ずかしいのですが・・・。 一応途中まで作ったスプリクトです。 www.dotup.org/uploda/www.dotup.org783529.jpg 913 名前:名無しさん@お腹いっぱい。[sage] 投稿日:2016/03/18(金) 22:12:44.85 ID:a/2iCbr10 [2/2] >>926 画像はクリック毎に、前の画像は消えて、 次は必ず決まった画像が一個出ます。 画像判断の所だけ、別の画像が出てくる場合がある為、 この様な条件付き画像判断スプリクトを組み込む必要があります。
1050 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/03/23(水) 14:21:00.41 ID:LGiv8vs60.net] 951 名前:名無しさん@お腹いっぱい。[sage] 投稿日:2016/03/21(月) 19:07:10.29 ID:7t5Ndceu0 >>932 です。以前、皆様より頂いたアドバイスを元に自分なりにスプリクトを考えてみました。 一応希望通りの動作はしてくれる為、内容としては完成しました。 もしよろしければ「もっとこうしたらいいよ」「こういうやり方もあるよ」等 厳しいお言葉でも結構ですので、アドバイスを頂けると幸いです。 www.dotup.org/uploda/www.dotup.org787636.jpg www.dotup.org/uploda/www.dotup.org787638.jpg 974 名前:名無しさん@お腹いっぱい。[sage] 投稿日:2016/03/23(水) 11:51:42.28 ID:CF5/3UwB0 [1/2] 同一人物じゃねぇだろ。 前のヤツはもう完成したスプリクト張ってたし
1051 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/03/23(水) 14:49:52.58 ID:q+4+2VgZ0.net] www
1052 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/03/23(水) 14:53:03.90 ID:Y8+Uhjvq0.net] ブラゲクソガキは自演までしてんのか この共通した無駄な部分がある糞コード見りゃ同じってすぐに分かるのにな
1053 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/03/23(水) 15:24:33.17 ID:tn83PLJk0.net] >>989 >>989 >>989
1054 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/03/23(水) 15:24:46.46 ID:NjVpGs9j0.net] 最初に突っ込んでやろうかと思ったけどスルーしておいてよかった
1055 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/03/23(水) 15:29:26.46 ID:iSrnwjTb0.net] 975 名前:名無しさん@お腹いっぱい。[sage] 投稿日:2016/03/23(水) 12:00:41.47 ID:CF5/3UwB0 [2/2] >>983 >>945 これでいいじゃん。なにが問題なの? このレスがまた笑えるw
1056 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/03/23(水) 15:49:32.31 ID:SZmWshPl0.net] 画像認識ってゲーム系以外だと主に何に使うの?
1057 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/03/23(水) 16:32:45.56 ID:U9esxu690.net] スプリクト
1058 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/03/23(水) 18:53:42.87 ID:2z8VVxvV0.net] スクリプトをスプリクトというのは既出をガイシュツ(何故か変換できない)みたいなもんだろ。 動きのある画像判定は工夫次第、方法を自分で編み出して秘密にしておかなければ広まったら対策されるだけ。 ヒントとしては状況を特定するための手段
1059 名前:なのであれば、その状況を確定できる動きのない不透過部分がないか探すのが第一。 直接だけではなく対象のソフト上でサブメニュー出してみたり何なりの間接的な手段も併用する。 動きのある画像しかなければ、その動きが一番遅くなる時の1コマの画像を使い、 動きがループして最初に戻るまでの間、継続的に判定し続ける。当然処理は遅く重くなる。 [] [ここ壊れてます]
1060 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/03/23(水) 19:01:18.76 ID:VyfxdPXZ0.net] すぷりくと という間違いがバカにされてるわけじゃないんだよ?
1061 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/03/23(水) 19:24:36.03 ID:qNW8EAYN0.net] >>1001 すぐに誤字や変換ミスを指摘するのは病んでるよ もっと余裕持たないと顔に出ちゃうよ
1062 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/03/23(水) 19:33:23.63 ID:OFvmjkT/0.net] ゲシュタルト崩壊してきた
1063 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/03/23(水) 19:56:05.50 ID:NgjE2cjv0.net] 現在タイマー設定の式による設定で (9<=HH AND HH<18) AND ((YMDNN mod 25) = 0) として9時から18時までプログラムを実行させているのです。 これをもう少し細かく8時40分から17時55分までにしたいのですが、 どのように設定したらよいでしょうか?
1064 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/03/23(水) 20:06:18.89 ID:vA7M7au70.net] >>1005 =ID:kLHNktmf0 だからここは拾ったスクリプトの改造法を聞くとこじゃない
1065 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/03/23(水) 20:12:20.70 ID:LGiv8vs60.net] >>1001 これ以上わらかさないで 次スレいってくる
1066 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/03/23(水) 20:14:26.73 ID:LGiv8vs60.net] potato.2ch.net/test/read.cgi/software/1458731603/l50 はい
1067 名前:991 mailto:sage [2016/03/23(水) 20:18:27.14 ID:vA7M7au70.net] >>1005 と思ったら、これってUWSC本体のスケジュール設定のことか。失礼。 こんな機能は自分でスクリプトに組み込んだ方が楽だから、使う人少ないと思う。
1068 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/03/23(水) 20:30:41.58 ID:vA7M7au70.net] >>1005 こんな感じ、かなぁ? ((9<=HH AND HH<17) or (HH=8 and NN>=40) or (HH=17 and NN<=55)) AND ((YMDNN mod 25) = 0)
1069 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/03/23(水) 21:21:44.74 ID:xEMVsYD30.net] >>1005 時間を分に直せばいいんじゃない?
1070 名前:名無しさん@お腹いっぱい。 [2016/03/23(水) 21:43:13.06 ID:OPsOkY1U6] >>1005 スケジュール設定->タイマー設定->式による設定 8時40分から17時55分まで25分間隔で実行 (840<=HHNN AND HHNN<1755) AND (YMDNN mod 25) = 0
1071 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/03/24(木) 00:46:59.95 ID:WL420SBN0.net] >>1010 ありがとうございました
1072 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/03/24(木) 06:03:20.37 ID:IqeVqZIs0.net] > YMDNN mod 25) = 0) これって日によって起動時間が変わると思うけどそれでいいの?
1073 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/03/24(木) 12:03:56.76 ID:WL420SBN0.net] >>1014 確認してみたら日によって起動時間変わっちゃってました 毎日8時40分から17時55分まで25分おきに実行させたいのですが… 分に直して (520<=NN AND NN<1075) AND ((YMDNN mod 25) = 0) と入力すると「1年以内での実行はなし」と出てしまいました
1074 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/03/24(木) 12:43:37.75 ID:LgRlES+x0.net] >>1015 HHを分に直せよ・・・
1075 名前:1001 [Over 1000 Thread.net] このスレッドは1000を超えました。 もう書けないので、新しいスレッドを立ててくださいです。。。 life time: 133日 22時間 58分 9秒
1076 名前:1002 [Over 1000 Thread.net] 2ちゃんねるの運営はプレミアム会員の皆さまに支えられています。 運営にご協力お願いいたします。 ─────────────────── 《プレミアム会員の主な特典》 ★ 2ちゃんねる専用ブラウザからの広告除去 ★ 2ちゃんねるの過去ログを取得 ★ 書き込み規制の緩和 ─────────────────── 会員登録には個人情報は一切必要ありません。 月300円から匿名でご購入いただけます。 ▼ プレミアム会員登録はこちら ▼ premium.2ch.net/ pink-chan-store.myshopify.com/
1077 名前:過去ログ ★ [[過去ログ]] ■ このスレッドは過去ログ倉庫に格納されています