16/05/06 20:50:08.61 qryXhtAA0.net
pcに増設して16Gまでと書いてありますが
無理やり32Gにしても意味ないですよね?
409:名無しさん@お腹いっぱい。
16/05/06 21:02:35.80 igCZNQAV0.net
それはUWSCの質問か?
410:名無しさん@お腹いっぱい。
16/05/06 21:04:22.56 S2ewZBQ40.net
スワップするので遅くなるのはわかるが
フリーズしたりするのは全く別の問題
411:名無しさん@お腹いっぱい。
16/05/06 21:08:31.21 gIH9X5Ap0.net
UWSCって32bitだろ?
いったい何のメモリ解法が漏れてフリーズ(これも一体何がフリーズ?)してると考えてるんだ?
412:名無しさん@お腹いっぱい。
16/05/06 21:24:26.15 igCZNQAV0.net
不具合の発生する単純な検証用ソースコードを提示すればいいのに
それが無理ってことはコードがグシャグシャで手に負えず、バグが入ってるってこと
相手にするだけ無駄なので察しろ
413:名無しさん@お腹いっぱい。
16/05/06 21:57:07.44 uEkgA7Zv0.net
すいません、ポイントサイトで多重起動してます
UWSCのメモリ解放について
ウィンドウに対しての連打ソフトとUWSCを併用しています。UWSCを多重起動させ、複数のウィンドウで併用していた場合
約1時間程経過すると画面のフリーズを起こします。
色々と調べてみたところ、メモリリーク?を起こしているのではというところまで辿り着きました。
スクリプトは画像を認識してクリックするという単純なものです。(下記に簡潔に記載します)
ウィンドウを単独で起動させていた場合は約20時間くらいは繰り返し起動してくれます。
2つ以上になった場合に比較的すぐにフリーズを起こします。
この繰り返しのスクリプトを実行させながら、都度メモリを解放することは可能でしょうか?
どうかお力をお貸し下さい。
宜しくお願い致します。
while true
ifb CHKIMG("A.bmp")
x=G_IMG_X
y=G_IMG_Y
BTN(LEFT, CLICK, x+5, y+5, 30)
sleep(0.5)
endif
ifb CHKIMG("B.bmp")
x=G_IMG_X
y=G_IMG_Y
BTN(LEFT, CLICK, x+5, y+5, 30)
sleep(0.5)
endif
wend
これを2窓で行うとフリーズします
(同様のスクリプトがずっとですが、行数書き込み規制により割愛)
uwsc以外のソフトは連打系のソフトを使用しています
414:名無しさん@お腹いっぱい。
16/05/06 22:01:08.28 S2ewZBQ40.net
AもBも無いときスリープ0の無限ループだろ
415:名無しさん@お腹いっぱい。
16/05/06 22:10:23.02 a6f3KCb00.net
素人はとりあえずprintとsleep入れとけってばあちゃんが言ってた
416:名無しさん@お腹いっぱい。
16/05/06 22:35:14.46 LxRU9oUG0.net
スタート!
Aがある?
y クリックして0.5秒休め。
n 終了。
Bがある?
y クリックして0.5秒休め。
n 終了。
最初から!
なるほどどっちも無いとMAX回るな。
0.5秒まって終了にするか、最初から!のまえに0.5秒休むか…
417:名無しさん@お腹いっぱい。
16/05/06 22:49:18.90 qryXhtAA0.net
>>391
失礼しました。エミュレータのスレと間違えました
418:名無しさん@お腹いっぱい。
16/05/06 22:54:00.84 ovAp1nbH0.net
ポイントサイト位ならDOM操作の方が速いし安定する
419:名無しさん@お腹いっぱい。
16/05/07 00:34:47.84 1jW5zEe+0.net
>>395
メモリリークの根拠を書けってば
420:名無しさん@お腹いっぱい。
16/05/07 00:59:07.28 jlKMc/ll0.net
>>396
無限ループの前にsleep入れるべきなんですね、試行してみます、ありがとうございます
>>398
同じくsleepを入れると解消の可能性ですね、ありがとうございます
421:名無しさん@お腹いっぱい。
16/05/07 01:57:29.77 BNMs94yb0.net
メモリリークって言うかCPU負荷対策程度でしかない可能性はあるけどなぁ。
422:名無しさん@お腹いっぱい。
16/05/07 02:12:31.48 koRblnxG0.net
CHKIMGを使ったことはないけど、検索範囲指定するとメモリ消費が減るとかないの?
423:名無しさん@お腹いっぱい。
16/05/07 02:32:32.75 77Rzcp9m0.net
最近のPCだとマルチコアCPUが普通だから
>>395のようなsleepを通らないヤバいコードでも
単独起動なら問題なく動いているように見えても不思議じゃない
タスクマネージャーでCPUとメモリの使用率見れば明らかだろうけど
その程度の知識もなさそうだから、メモリリークという単語は
PCが苦手な人の「何も触ってないのに壊れた!」レベルの信憑性だと思えばいい
424:名無しさん@お腹いっぱい。
16/05/07 03:22:21.05 jlKMc/ll0.net
>>404
説明不足でした、それぞれ検索範囲は指定しています
先程のスクリプトにsleepを通してもやはり固まるということはuwsc側の問題ではないんですかね…
425:名無しさん@お腹いっぱい。
16/05/07 03:54:41.99 KSp9tsRG0.net
連打系のソフトを使用していますってなんだろう
連打ソフト「俺にまかせろ ダダダダダッ」
UWSC「いや俺が ダダダダダッ」
PC「ウゴゴゴゴゴ」?
フリーズって適当に言ってるけどそもそも何がフリーズしてるのかな
426:名無しさん@お腹いっぱい。
16/05/07 06:02:09.94 jlKMc/ll0.net
エミュレータでスマホ専用のポイントサイトの連打するミニゲームです
画像クリックした後に連打を繰り返し、クリアしたら連打停止、画像クリックのループです
一定の時間経過後にフリーズしてしまいます
427:名無しさん@お腹いっぱい。
16/05/07 06:17:52.95 pE91zbdj0.net
フリーズって何よ?って書かれてるのに頑なに答えないんだなw
428:名無しさん@お腹いっぱい。
16/05/07 06:49:29.56 S7kmaVNv0.net
>>408
主語無いし、フリーズってのは「UWSCがSTOPも押せない操作不能になる(エミュレータは操作可能)」ってことだよね?
「UWSCのメニューは操作できるけど、動作が発生しない」とか
「Androidか何かのエミュレータが操作不能かつ表示変更なし」とか
「サイトが操作不能かる表示変更無し(エミュのバックキーなどは動く)」とかも、判別がつかない程度?
429:名無しさん@お腹いっぱい。
16/05/07 07:55:27.20 jlKMc/ll0.net
説明不足ですみません
uwscは動いている状況です
エミュレータのミニゲームの中身が固まり動かなくなります
ただ、閉じるボタンの反応は問題なしです
あくまでフリーズするのはエミュレータの中だけです
430:名無しさん@お腹いっぱい。
16/05/07 08:13:46.51 pE91zbdj0.net
>>411
> uwscは動いている状況です
> エミュレータのミニゲームの中身が固まり動かなくなります
その状況でなぜUWSCのメモリに関係があると考えるのかが不思議だわ。
どうみてもそのエミュレータもしくは中のゲームの問題でしょ。
431:名無しさん@お腹いっぱい。
16/05/07 08:20:20.64 koRblnxG0.net
( UWSC関係あるのかなぁ・・・ )
連打ツールの連打スピード落としてみても状況は同じ?
あとは連打処理をUWSCで書いてみるとか
432:名無しさん@お腹いっぱい。
16/05/07 09:22:34.84 VYIAaZh70.net
人間に出来ないような速度で連打すると動作がおかしくなるアプリブラウザ等等いくらでもある
433:名無しさん@お腹いっぱい。
16/05/07 10:05:25.85 3xrObwp20.net
素人のポイント稼ぎに付き合わなくてもいいよ
エミュレータのフリーズっぽいし、スレチだわ
434:名無しさん@お腹いっぱい。
16/05/07 11:31:40.05 VL66/K/oS
このスレってゲームのマクロの話題も扱うようになってたのか
435:名無しさん@お腹いっぱい。
16/05/07 16:04:21.34 +THUGLlM0.net
本気で24時間稼働させるには、メモリ解放ソフト(実はスワップアウトさせてるだけ)
ことで稼げる時間は短すぎる。日に4回は再起動が必要になるだろう。
ゾンビプロセスをkillするのが本来のメモリ解放。
24時間365日で4年間動いてるケースを参考までに晒そうか。
BG厨には参考にならんと思うが、まず1つの仮想マシンに1つのブラウザとし、
余計な常駐プロセスを極力排除。そのかわり仮想マシン並走。ESXi。
ここからが本題。このような専用環境であっても、
OS・自分のスクリプト・ブラウザ・対象ページの全てが完璧でなければ、
半永久動作は困難であり、他人の作ったものを完璧に直すことは無理。
そこでまず、自動操作プロセスの各所に、フリーズ検知の仕組みを設け、
フリーズを検知した場合は完膚なきまでのブラウザ強制終了を行う。
そうするとメモリリークも同時に解消される。されない場合はスクリプト側のバグだ。
それでも2~3日連続運転してれば、やはり不安定さは増してくる。
そこで一日1回、OSの再起動をする。シャットダウンの妨害するプロセスを強制終了し、
再起動後のスタートアップから自動操作開始まで、様々な例外に対処して遷移する。
よって何かあっても最悪フリーズ検知間隔+再開までの間しか止まらない。
ブラウザの場合、特にアクセシビリティ経由の操作などで、
デッドロックと思われるフリーズが多発し、ブラウザの強制終了で解消する。
フリーズの発生箇所に係る操作を仮に危険作業と呼ぶ。
フリーズ箇所をデバッグ手法で絞り込んだら、危険作業は別スレッドで行い、
メイン側は危険作業スレッドを監視することで回避が可能となる。
436:名無しさん@お腹いっぱい。
16/05/07 20:13:33.45 1VMdjsN60.net
どう考えても>>414でワロタw
UWSCは固まってなくてエミュレータ内で止まってるんなら完全にエミュもしくはエミュの中の問題だろw
437:名無しさん@お腹いっぱい。
16/05/08 02:53:33.48 UFIfFYB/0.net
泥エミュは長時間稼働で固まるの多い
単純に仮想端末を定期的に再起動させりゃ済む話
メモリどうたら言い出すからややこしい
438:名無しさん@お腹いっぱい。
16/05/08 09:20:47.60 TyD1bM9T0.net
そもそもなんでサイトにアクセスするだけのことにエミュが必要なんだろう
もうどうでもいいけど
439:名無しさん@お腹いっぱい。
16/05/10 06:05:17.45 WFJjM8vQ0.net
初歩的な質問ですがお願いします
2つのキー VK_1 と VK_2を使い
1 どちらかが押されるまで待機
2 どちらかを押して
VK_1 の場合
print "VK_1が押されました"
終了
VK_2 の場合
print "VK_2が押されました"
終了
となるコードを教えてください
440:名無しさん@お腹いっぱい。
16/05/10 06:11:11.07 TQenuDoJ0.net
余りにも単純すぎて答える気が無くなる。
ほんと、宿題は自分でやれ
441:名無しさん@お腹いっぱい。
16/05/10 06:24:16.56 HOgsi4Bx0.net
それは質問じゃなく作ってくださいだろ
ナメんな
442:名無しさん@お腹いっぱい。
16/05/10 06:38:42.92 uNMYTrnB0.net
独学で弄ってたから分からないが、if文とか関数を日本語に直してコードにするのって情報系の学校とかで習うの?
結構そういうのをここで目にして不思議に思ってるんだが
443:名無しさん@お腹いっぱい。
16/05/10 06:51:13.23 JKzI0LQJ0.net
自分から「初歩的な質問ですが」と前置きしてる所が面白い。
簡単すぎる質問ですが教えて下さい←自分で簡単すぎると思ってるなら自分で解決できるだろ
敬語で言えば尊敬語と謙譲語の使い分けが間違ってるレベル。
444:名無しさん@お腹いっぱい。
16/05/10 07:03:24.45 hiZnPyPr0.net
>>424
昔から「日本語」使ってプログラミングする言語があるし、そういう発想はありなんでは?
URLリンク(nadesi.com)
URLリンク(www.scripts-lab.co.jp)
445:名無しさん@お腹いっぱい。
16/05/10 07:13:07.82 uNMYTrnB0.net
>>426
こういうのもあるのか
面白いな
446:名無しさん@お腹いっぱい。
16/05/10 09:16:27.41 XZpJVe0e0.net
>>426
逆に日本語すぎてわからなくなりそう
447:名無しさん@お腹いっぱい。
16/05/10 12:49:10.17 WZ799X53C
昔中学の授業でMS-DOSの亀を使ったプログラムをやった覚えがある
かめは 2.4 にいどう
ペンをおく
かめは 3.5 にいどう
ぺんをあげる
とかそんなん
結構複雑なプログラムが組めた模様
MIDIがまだ規格段階だったころ、視聴覚室のPC数台を連動させて
BEEP音でドラクエやFFの曲をフル演奏させたりしてたわ
なお35歳
448:名無しさん@お腹いっぱい。
16/05/10 13:21:07.59 2SKxYpHp0.net
>>421
それを質問するってことは独力ではうまくいかなかったってことだよね?
まず、書いてみたけどうまく動かなかったそのコードを出してみて。
449:名無しさん@お腹いっぱい。
16/05/10 13:33:18.55 z2lTsLVi0.net
>>430
猿にエサやんな
450:名無しさん@お腹いっぱい。
16/05/10 14:11:22.77 cz3CC5hA0.net
while wendのループ回数が一定に達したらループ終了ってできる?
451:名無しさん@お腹いっぱい。
16/05/10 14:19:48.86 8QaxCod30.net
>>432
できません。その代わりFOR-NEXTを使えばよい
452:名無しさん@お腹いっぱい。
16/05/10 14:21:04.88 yPRRJdxq0.net
if ++i > max then break -1
453:名無しさん@お腹いっぱい。
16/05/10 14:21:33.56 8QaxCod30.net
具体的には
FOR A = 1 TO 10
NEXT
とかですよ。とっても簡単!!
while wendでは出来ませんから、for nextで「工夫」してください
454:名無しさん@お腹いっぱい。
16/05/10 14:22:03.94 Lj+xuMcL0.net
ループ回数をカウントしてifからbreakでもいい
455:名無しさん@お腹いっぱい。
16/05/10 14:25:07.83 cz3CC5hA0.net
>>436
これでできそうな気がする!
456:名無しさん@お腹いっぱい。
16/05/10 14:31:48.44 8QaxCod30.net
ちっ、素直にfor nextと使えばいいものを
457:名無しさん@お腹いっぱい。
16/05/10 14:33:58.29 2SKxYpHp0.net
>>432
whileは条件式がtrueの間ループするという機能なんだから
回数に達したらfalseになる式にすればいいだけ。
458:名無しさん@お腹いっぱい。
16/05/10 14:34:40.76 9o11W9G00.net
まあ、プログラマなら、
while wendのループ回数が一定に達したらループ終了
って仕様なら、その通りにコーディングして、FOR-NEXTなんか使わないのが当然
仕様どおりのコード書けるし、while wendじゃないと不味い何らかの理由がある可能性がある
459:名無しさん@お腹いっぱい。
16/05/10 16:39:16.56 JKzI0LQJ0.net
ことUWSCのみに関しては、
UWSC仕様のFORループではカウンタ変数に変更を加えてもガン無視されるという、
HELPに載ってない闇の仕様があるので、
そのような変態的なループ制御を行う
460:場合はFORを使えない。
461:名無しさん@お腹いっぱい。
16/05/10 17:26:08.72 BZ/PiCG5Q
つまりwhile最強って事でいいんだな
462:名無しさん@お腹いっぱい。
16/05/10 17:48:53.73 pEfSds7k0.net
>>441
え、そーなの?
初耳かつ衝撃的すぎるんですけど・・・
463:名無しさん@お腹いっぱい。
16/05/10 17:59:21.12 fZIiaN6O0.net
>>441
何かやり方が間違ってたんじゃないの?
464:名無しさん@お腹いっぱい。
16/05/10 18:33:10.67 VDO1qx6q0.net
昔、自分もForの変数の件は変だよね?って書いたことあるな
そしたらFor内でループ変数を変えるほうがおかしいって叩かれたわ
465:名無しさん@お腹いっぱい。
16/05/10 19:01:42.13 JKzI0LQJ0.net
// FORのテスト
PRINT "FOR loop=0 TO 5, IF loop=2 THEN loop=3"
FOR loop=0 TO 5
IF loop=2 THEN loop=3
PRINT loop
NEXT// 0,1,3,3,4,5
PRINT "end of 'FOR loop=0 TO 5, IF loop=2 THEN loop=3'"
PRINT "now loop="+loop+", out of loop." // 6
PRINT "test end."
466:名無しさん@お腹いっぱい。
16/05/10 19:26:28.00 fZIiaN6O0.net
あー、そういう使い方はしたことなかったわ
467:名無しさん@お腹いっぱい。
16/05/10 20:32:37.16 WZ799X53C
つまり FOR変数 は確実にSTEP分だけ増減する定数扱いなんやな
でもそう思ってプログラム組んでて突然バグでした修正しますのコンボで動かなくなる可能性もあるから
変数が処理内容によって増減するなら While変数<目的値 のほうが確実で良いよね
468:名無しさん@お腹いっぱい。
16/05/10 20:26:29.87 hiZnPyPr0.net
>>445
まあ、筋が悪いのは確かだな。
469:名無しさん@お腹いっぱい。
16/05/10 20:35:39.39 XEWOE0rA0.net
うーん、普段はループ5回で終えたいけど条件付けでおかわり+2回!とかはできんのか
最初から7回ループで組んで5回目でbreakするか判定・・・というルーチンにする必要があるのか
470:名無しさん@お腹いっぱい。
16/05/10 20:49:50.31 2SKxYpHp0.net
whileやrepeatなら何でもできるんだから
特殊なことしたければ無理にfor使わんでも
471:名無しさん@お腹いっぱい。
16/05/10 21:52:22.38 TZh0gGjS0.net
スタックしそうでなるべくfor next使ってたんだよな
472:名無しさん@お腹いっぱい。
16/05/10 22:48:12.78 WZ799X53C
わいはGetDirとかChkImg等の特殊変数に入るのを総なめする以外では基本的にFORは使わへんで
ウインドウや処理が終わるのを待ってなんぼのマクロなんやしWhileで無限ループ一択やわ
ただしSleepの代わりにESCでブレイクしたり処理中の変数一覧が表示される自作ウエイトを入れる模様
473:名無しさん@お腹いっぱい。
16/05/11 15:10:58.26 kc1H3SyR0.net
俺も無限ループ防止に、回数が終了条件じゃないループでも、
何でもfor文使ってるよ。ただしありえない回数のループ、
もしくは間のsleepとの積算で明らかなタイムアウトエラー扱い。
forを最後まで回して抜けた際にtoの値+1になってることで判定可能。
(ただしUWSC言語仕様として保証してるわけでもないので若干不安)
ループ回数の動的変更のは実は、単に、回数以外のパラメーターが
ループ抜ける判定基準になってるだけなので、
ループカウンタとは異なる変数にしてreakしたほうがいいね。
toの値+1でループアウトしたなら異常判定で一貫させ、
その場合のカウンタ変数名も一貫させる、と。
474:名無しさん@お腹いっぱい。
16/05/11 16:30:49.24 NL0IvGFZ0.net
無限ループ防止のためにfor next使うまではいいが、途中でループ変数を変えるなんてコードは
それこそ無限ループの発生源だしバグの温床。可読性も悪くなるって話。
475:名無しさん@お腹いっぱい。
16/05/11 16:35:13.91 j6n3mEEk0.net
ウィンドウズセキュリティーエッセンシャルでUWSCファイルからトロイが出て
来てしまっていたようです。
三月末CPに入れたときと、そのあとCPU使用率100
476:問題?になってしまいまして %tempファイル削除で何とか回復 その時にもエッセンシャルでウィルススキャンはしたんだけど。。。 半月くらいした今また100ぱー! よく見てみればスキャンの履歴によると三月末にすでに検閲されていました。 トロイ win32/fethar a!cl 俺がトロかった? このためなのでしょうか、問題なければいいんですけどw
477:名無しさん@お腹いっぱい。
16/05/11 16:54:10.30 6GIVgvgM0.net
UWSC521 (無料版)スキャン結果
URLリンク(www.virustotal.com)
分析日時:2016-03-01 04:23:51 UTC (2 ヶ月, 1 週間前)
UWSC522 (最新無料版)スキャン結果
URLリンク(www.virustotal.com)
分析日時:2016-05-04 05:56:48 UTC (1 週間前)
どちらもウィルスと判定してるのは 56件中 1件だけ
ちなみにどちらもスキャン済みだが
3月末にスキャン済みってのには該当しない。
どっかでウィルスが混入した奴じゃね?
478:名無しさん@お腹いっぱい。
16/05/11 16:55:47.01 Y/LOP56H0.net
クラック版でおまけ付きなんでしょ
479:名無しさん@お腹いっぱい。
16/05/11 18:07:55.08 j6n3mEEk0.net
>>457
検索上位で間違いなくホームページからです。
>>458
クラック?
まあ、とりあえずPCがあっついですw
480:名無しさん@お腹いっぱい。
16/05/11 18:11:56.36 9ZomIjSb0.net
とりあえずPCのファンを掃除だな
ワイのUWSCはウイルスソフト、オンラインのいろいろやったが無かった
481:名無しさん@お腹いっぱい。
16/05/11 18:19:18.34 92dJJzkP0.net
とりあえずMSEの検出結果のスクショ貼れよ
482:名無しさん@お腹いっぱい。
16/05/11 18:24:17.61 9rra25yB0.net
>>459
とりあえずAdwCleanerできれいにしときなよ
483:名無しさん@お腹いっぱい。
16/05/11 21:45:54.73 or4CEuiX0.net
>>455
なるほど
484:名無しさん@お腹いっぱい。
16/05/11 23:31:46.54 6GIVgvgM0.net
>>459
ホームページって意味不明だったけど
公式サイトって事ね。
でも、ウィルスが検出されてるんならどっかで感染したんでしょ。
あなたのPCで繁殖してるんじゃないの?
まあ、まれにバグやウィルスが見つかってすぐに差し替えとかあるんで
そういうのをつかんでしまった可能性はあるけど
配布時にウィルス感染してた場合、インストール時にチェックが入るのが普通だと思う。
新種の場合は後から判明したりするけど
データベースが更新された後はインストールができない状態になっているはず。
そういうことがないんならやっぱり使ってる最中にどっかで感染したんだよ。
485:名無しさん@お腹いっぱい。
16/05/12 00:12:13.00 t0LwKxcL0.net
>>459の文面から情弱だということは分かる
どうせ住人の予想の斜め上をいくアホな理由で感染したんだろうよ
486:名無しさん@お腹いっぱい。
16/05/12 00:19:15.84 LNkCdlTa0.net
そんな情弱でプログラム組めるのか?
487:名無しさん@お腹いっぱい。
16/05/12 00:36:43.75 5pLuPx6B0.net
uwsc使いふぜいがプログラマ気取りか?
488:名無しさん@お腹いっぱい。
16/05/12 05:17:33.14 SPJCRaam+
uwsc使えたらプログラマなら俺もプログラマなんか…ないわー
489:名無しさん@お腹いっぱい。
16/05/12 07:59:56.83 BrU9OCGS0.net
どの言語を学ぶとプログラマになれますか?
490:名無しさん@お腹いっぱい。
16/05/12 16:12:24.30 S1YAPf5s0.net
どんな天才プログラマも一度uwscを使ってしまうと
プログラマと名乗れない状態になってしまうのだろう
491:名無しさん@お腹いっぱい。
16/05/12 16:33:46.19 BrU9OCGS0.net
私のようにUWSCしか知らない人も多いですよ
現場作業員で携�
492:ムPC一切触れなくて仕方なくです
493:名無しさん@お腹いっぱい。
16/05/12 17:25:19.71 A1i8Z0GP0.net
うーん。。。沢山のコメント恐縮です皆様。
現状の報告をさせていただきますと
まずPCがあれであってここにたどり着けず
ようやくたどり着いても、画像を貼ることがまず俺的にと同時にPC的にも
現状では困難なので待ってもらうしかありません。。
只今全身エッセンシャルトリートメント中であります。
ちょっと、ですねぇ。
ウィルス検閲に今更ながら気づいたとさらりと書きこみつつスルー状態も
当然なんですので
俺的な診断、状況認識、予想みたいなものを述べさせてもらいたいと思います。
494:名無しさん@お腹いっぱい。
16/05/12 17:46:25.01 1f+d6P9R0.net
>>472
もう来なくていいよ
495:名無しさん@お腹いっぱい。
16/05/12 17:49:28.74 ZFOX6cND0.net
誰か日本語訳を頼む
496:名無しさん@お腹いっぱい。
16/05/12 18:10:32.95 A1i8Z0GP0.net
IDが変わっていますが448ですw
svchostのプロセスツリーをタスクマネージャーから終了させて
なんとかOSアップデート済ませました。
俺PCの使用状況として。。。
まず、UWSCは世界的なメジャーなゲームサイト?ですねwで使用しようと格闘中です。
それとエクセルのマクロにて株に手を染めつつありますwSBI?でw
後は監視カメラの録画もしてます。大したものではないのですが近所で物騒なことがありw
とこれだけ。
俺のPCは、狭い範囲で弁えて活動していました。結構インターネットはややこしいと知っていたのでw
が、しかし唯一つ、先おとといのことですが、気になることがありましたのでここに述べさせていただきます。
こういうのはなんですが今話題の、ハゲテルゾ都知事w、の前々妻であるフランスw?人ですか
の写真は見れないものかなあと、気になりマスよね?w
で久しぶりにネットサーフィンwかましてやりました。
ツチノコ探す感覚?ですからw、そして結構情報ないなぁ、削除されてるのもあるなぁと普通にいじってたんですが
その時、!っと。。。なんか嫌ないやらしい感触ですか?w遅っみたいな
昔エロサイト検索した時に覚えがあるから、妙に気になってしまうんですよねw
当然皆さん身に覚えがあると思います。
そこかなぁ、と。
まぁ写真は一枚もないんですがねw
長々とまた失礼しました。いろいろと参考にさせていただき、後ほどまた報告だけさせていただきますぞえ許さん、べっきーも、、w
497:名無しさん@お腹いっぱい。
16/05/12 18:43:46.19 JIile8J20.net
UWSC開発してる人って個人なの? 会社とかで複数人なの?
498:名無しさん@お腹いっぱい。
16/05/12 18:49:56.30 b0vgUn2F0.net
会社組織としても開発は基本個人じゃなかったかな
手伝い的な登録社員はいるかもしれない
で、一時どっかの会社支援があってその後解消された気がする
499:名無しさん@お腹いっぱい。
16/05/12 19:04:04.35 cUpnMrHq0.net
逸材過ぎて持て余すわ
500:名無しさん@お腹いっぱい。
16/05/12 20:06:18.45 15tpFxNK0.net
エロサイトでエロ動画専用アプリをダウンロードして実行したら感染したわけですね。
しかし、舛添都知事の前妻がエロビデオに出てるとは知らなかった。
都知事のDVが流出してる噂ならたくさん流れてるけど。
501:名無しさん@お腹いっぱい。
16/05/12
502:20:18:26.96 ID:Lr9hBRgj0.net
503:名無しさん@お腹いっぱい。
16/05/13 07:00:12.92 6qcS1Y5w0.net
都合があり遠隔操作で別PCの画像認識なんだけど
以前は出来ていたのに最近になってできなくなった
考えられる原因ってなんですかね?
遠隔操作以外だと問題なく画像認識するんですけど
お願いします。
504:名無しさん@お腹いっぱい。
16/05/13 07:12:42.39 6qcS1Y5w0.net
併せてすいません
通常は完全一致だと思うのですが、80%一致などに設定も出来るのでしょうか?
505:名無しさん@お腹いっぱい。
16/05/13 07:25:57.49 q9ds3I560.net
80%って意味の意図がよくわかんないけど
その80%の部分を切り取って完全一致とかは
もしくは-1指定で形状?一致っていうの?あれもいい
506:名無しさん@お腹いっぱい。
16/05/13 07:36:24.56 EGylpWLU0.net
>>481
以前は遠隔操作で画像認識できていたってこと?
遠隔操作ってなに?
具体的なコードはどうなってるの?
507:名無しさん@お腹いっぱい。
16/05/13 07:44:58.08 0uoCIzqf0.net
>>484
リモートデスクトップだろ
508:名無しさん@お腹いっぱい。
16/05/13 07:50:26.43 6qcS1Y5w0.net
>>484
リモートコントロール出来るソフトを入れて職場から自宅PCを操作してるんです
今まで同様のchkimgの画像を作り直したら反応しなくなり、自宅に戻り同様の作業をしたら普通に動くんです…
今まで遠隔で出来ていたのに、物凄く効率が悪くなってしまいました
というか遠隔で操作出来なくなりました
509:名無しさん@お腹いっぱい。
16/05/13 07:53:54.42 0uoCIzqf0.net
職場でやるなよアホか。諦めろ
510:名無しさん@お腹いっぱい。
16/05/13 08:23:51.50 UqkEx4wr0.net
>>481
原因も分かるし対処法も分かるが初歩的過ぎて答える気になれんよ
自分で取説読むのが面倒、だから教えろ!って言ってるようなモンだ
511:名無しさん@お腹いっぱい。
16/05/13 08:25:06.64 6qcS1Y5w0.net
>>488
どうにかお願いします
色の認識かと思い、色無視をやっても解決出来ないんです…
512:名無しさん@お腹いっぱい。
16/05/13 10:57:44.11 Icx2psrV0.net
UWSCの質問ではなさそうだな
513:名無しさん@お腹いっぱい。
16/05/13 11:01:47.93 ipqrB9IN0.net
おれは原因は分からんが一応chkimg絡みの質問じゃないの?
>>488は嫌がらせで適当言ってるだけだと思う
514:名無しさん@お腹いっぱい。
16/05/13 11:18:12.19 PPoYduCE0.net
>>486
えっと、マクロはどっちで動かしてるんですか?
遠隔する側?される側?
もし、遠隔する側でマクロを動かしていて、chkimgで使うBMPが遠隔される側から採取したものならば、ダメな可能性があります。
遠隔で見えている画像は、データ量を減らすために画像が圧縮されてる可能性があります。
私の場合、ネット上の遠隔でなくても、Hyper-Vの画面ですら、画像の色情報が合いませんでした。
一度、chkimgで使うBMPと、遠隔画面で見えている画像のスクリーンショットで、該当箇所の色情報をPhotoShopなどのツールでRGBの数値を比較してみてください。
微妙に合っていないなら、これが原因かと思います。
もし、遠隔される側でマクロが動いているのであれば、私の書き込みは見当違いなので無視してください。
515:名無しさん@お腹いっぱい。
16/05/13 11:22:33.09 QvFuApdY0.net
もし遠隔する側にマクロ置いて動かしててうまくいかねえっつってるなら
かなりマヌケな話ではあるわなあ
516:名無しさん@お腹いっぱい。
16/05/13 11:25:39.65 ipqrB9IN0.net
それは流石にない・・・と思うけどなあw
517:名無しさん@お腹いっぱい。
16/05/13 12:55:45.63 tiOpPfaNi
遠隔される側で許可アプリ以外受け付けないという事はよくある
遠隔する側からエラーを発見したいとか処理結果を見たいという事はあると思う
問題は何故遠隔する側で画像が認識できないかという事だが
遠隔ソフトの大半はされる側の画面を一旦キャプチャして、その画像を圧縮してする側に送っている
圧縮率やフォーマットがマイナーアップデートで変わったり、
その時表示されている別の窓が圧縮に�
518:e響してブロックノイズを生んだり、表示されている位置によっても圧縮時にノイズができたりできなかったりする確実に同じ画像を得たいのであれば、される側でスクリーンキャプチャボタンを押させてクリップボードのBMPイメージをする側に送ってから判断すれば間違いないWin8なら画面カットツールもあるしショートカットキーだけで効率よくできるだろうとにかく、遠隔で見てる画面は実際の画面ではなく、再現するのは難しいという事を念頭に置かなきゃ話にならない
519:名無しさん@お腹いっぱい。
16/05/13 12:41:38.45 OmMtpE6C0.net
>>492
もちろん遠隔先で動かしています。
BMPの読み取りもプリントスクリーンで遠隔先で取り込んでいます。
以前は出来ていたんですけどね・・・
原因がわからずやきもきしています
520:名無しさん@お腹いっぱい。
16/05/13 12:46:40.42 ipqrB9IN0.net
遠隔してるときに遠隔先のディスプレイ状態が変わるってことは無い?
自宅で試すときに携帯端末から遠隔するとか、なるべく状況を
再現してやってみたらどうだろう
521:名無しさん@お腹いっぱい。
16/05/13 13:01:26.13 tiOpPfaNi
遠隔で判断したい内容がエラーメッセージや通常アプリケーションのウインドウやメニューなどであれば
WSHからGetItemのようなスタティックテキストやセレクトボックスの選択状態を取得できるので
その時得られたメッセージをWEBで用意した掲示板等にWSHでメッセージを送ってやるのもありだと思う
522:名無しさん@お腹いっぱい。
16/05/13 12:55:59.04 OmMtpE6C0.net
>>497
PC①を自宅TVに接続、UWSC起動
こちらでBMPを読み取り動作をすると問題なく起動してます
PC②は自宅別室に置き、こちらから①のUWSCの操作は可能です。
ただ、②から①のBMP読み取り画像の認識が出来ないんですよね・・・
職場PC③から①の読み取り画像の認識も出来ませんでした
523:名無しさん@お腹いっぱい。
16/05/13 12:56:47.65 OmMtpE6C0.net
もちろん画像認識をさせるのPC①上においてです。
524:名無しさん@お腹いっぱい。
16/05/13 13:05:41.21 ipqrB9IN0.net
とりあえず同問題を検証できる程度に削ったスクリプト晒した方がいいと思うけどねえ
「TVに接続」の関連がよく分からない。単にディスプレイとして使ってる?
どういう部分の画像をどう用意してどういうフローで認識させてるとか
外部が判断するには材料が足りなさすぎる感じ
525:名無しさん@お腹いっぱい。
16/05/13 13:06:30.57 tEkl4reA0.net
この質問者は意図的に情報を隠蔽してますね
OSやuwscのversionなどの環境について一切書かないし
「リモートコントロール出来るソフト」とやらの名前も出さないし、
それで実際に何をしているのかも言わない
プログラムも公開しない
よっぽど言いたくない事情があるのか、思慮の足らないだけの人間なのか
スレ違いだと理解していて我々がスルーしやすいように"配慮"してくれているのか
まあ、好意的に受け取りましょう
自宅では問題がないが遠隔先では問題が出る
つまりuwscの不具合ではないのでスレ違いです
「リモートコントロール出来るソフト」とやらのスレに行ってください
526:名無しさん@お腹いっぱい。
16/05/13 13:11:49.42 PPoYduCE0.net
>>500
A.
そのTVに接続した時のデスクトップの解像度(画面サイズ)と、TV接続を外してリモート接続した時の解像度が違うことによる座標のズレ
B.
リモート接続のソフトによりますが、接続した際にリモートされる側のアクティブを奪うものがあります。
私の経験では、Googleリモートデスクトップで、画像認識はされていて、一致し、その後のマウスクリックなどの操作が非アクティブにより実行されなかったことがありました。
冒頭で
Dim ID = GETID("○○○","○○○")
を行い(既にされてると思いますが)
画像認識で一致したあとのマウスクリック命令の直前に、
CTRLWIN(ID, ACTIVATE)
の1行を追加することによって解決�
527:オました。 とりあえず、chkimgの戻り値をPrintして確認なされてますか?
528:名無しさん@お腹いっぱい。
16/05/13 14:54:02.47 Ae17eBmO0.net
まったく話の流れ無視だけど
While 関数
Wend
で関数の戻値がTRUEならループってのを
スマートに一行で書く方法ない?
529:名無しさん@お腹いっぱい。
16/05/13 15:36:19.10 CXUGpzp/0.net
mstscなどの一部のリモートソフトは、操作側PCから対象PCに「ログオン」して、
そのログオンユーザーのデスクトップを操作側のコンソールに表示し、
そのデスクトップ設定は、
ローカルログオンの設定とは異なる独立したものになる可能性があり、
その設定にはモニタのサイズや解像度や色BbitやAeroの有効無効などが含まれるかもしれない。
530:名無しさん@お腹いっぱい。
16/05/13 15:38:43.40 CXUGpzp/0.net
>>504
While 関数()=TRUE
Wend
↓
While 関数()
Wend
Repeat
Until !関数()
って事な訳ないよなぁいくらなんでも
531:名無しさん@お腹いっぱい。
16/05/13 15:42:42.21 A0e86qQc0.net
>>504
while abc() ; wend
532:名無しさん@お腹いっぱい。
16/05/13 15:43:23.82 CXUGpzp/0.net
while true; if random(100)=0 then break else print "loop"; wend
って事でもないよなぁ流石に
533:名無しさん@お腹いっぱい。
16/05/13 16:03:09.72 tiOpPfaNi
>>504
・
・
・
関数()
・
・
・
Procedure 関数()
While true
なんか処理
If なんかOK Then Break
WEnd
FEnd
534:名無しさん@お腹いっぱい。
16/05/13 16:19:21.31 bmwk7hI6i
まさかー
535:名無しさん@お腹いっぱい。
16/05/13 16:14:34.57 eUcb2kNk0.net
マルチステートメントを知らんとかいうオチじゃないの?
536:名無しさん@お腹いっぱい。
16/05/13 16:35:04.17 WcdplobI0.net
>>499
①で直接操作をすればchkimgは期待した動作をするのに
②③から①を遠隔操作すると期待した動作をしないんだよね?
②③で遠隔操作するときに①のchkimgに使用する画像やUWSCのコードを変更してないよね?
遠隔操作でUWSCのスクリプトの再生ボタンを押しているだけなら動作するはず
まず②→①の解決を目指すのがいいだろう
前提となる重要事項だから再度>>496について確認するけど
chkimgで使う画像は、①でプリントスクリーンした画像使っているんだよね?
これを別の単純な画像、例えば単色で塗りつぶされた図形をchkimgで見つけられるか?
それとchkimgを実行して戻り値をPrintするだけの単純なスクリプトで期待した動作をするか?
を確認する
シンプルな状態で検証して問題を切り分けてください
537:名無しさん@お腹いっぱい。
16/05/13 16:59:07.34 OmMtpE6C0.net
>>512
その通りです。
リモートソフトはteamviewerというものを使用しています。
処理は全て①内で行っています。
PC①でBMP作成すると起動
PC②でリモート、PC①内でBMP作成(やり方は同様)で起動せずです
コードは下記の通りです。(長いので割愛、コード内容は同様)
簡単な知識しかないです。
while true
ifb CHKIMG("入力1.bmp")
x=G_IMG_X
y=G_IMG_Y
BTN(LEFT, CLICK, x+120, y+5, 30)
BTN(LEFT, CLICK, x+120, y+5, 30)
endif
ifb CHKIMG("入力2.bmp")
x=G_IMG_X
y=G_IMG_Y
BTN(LEFT, CLICK, x+200, y+5, 30)
BTN(LEFT, CLICK, x+200, y+5, 30)
endif
wend
538:名無しさん@お腹いっぱい。
16/05/13 17:03:42.41 zSa8nUD60.net
>>513
もっと簡単に切り分けて考える
ifb chkimg("入力1.bmp")
print "入力1.bmp発見"
else
print "画像認証失敗"
endif
最初はこれだけでいい
539:名無しさん@お腹いっぱい。
16/05/13 17:18:38.54 OmMtpE6C0.net
>>514
ありがとうございます。
発見となりました。
ちょっと進めてみます。
540:名無しさん@お腹いっぱい。
16/05/13 17:21:50.52 OmMtpE6C0.net
ありがとうございました。
職場PC③からは操作出来ました。
後日自宅PC②から試してみます。
541:名無しさん@お腹いっぱい。
16/05/13 17:22:05.35 eUcb2kNk0.net
これこの前のメモリリークだとかグダグダ抜かしてたやつと同じだろ
542:名無しさん@お腹いっぱい。
16/05/13 17:26:24.46 0uoCIzqf0.net
仕事場で何やってんだよ仕事しろ低能が!
543:名無しさん@お腹いっぱい。
16/05/13 17:33:05.28 0otW05DC0.net
職場で艦これでもやってるのか
544:名無しさん@お腹いっぱい。
16/05/13 17:36:29.88 ipqrB9IN0.net
俺は職場からの自宅猫カメラチェックに活用している
545:名無しさん@お腹いっぱい。
16/05/13 17:38:40.37 Icx2psrV0.net
職場でちゃんと仕事しているのか心配です
546:名無しさん@お腹いっぱい。
16/05/13 17:48:34.95 OmMtpE6C0.net
仕事は要領がいいので時間があります、すみません
547:名無しさん@お腹いっぱい。
16/05/13 18:18:16.24 /eStkvYY0.net
リモートのプロセスが邪魔になってるんなら
単純にリモート処理が終了してから動き出すように
UWSCスクリプトでSleepを最初に入れとけばいいだけじゃね?
548:名無しさん@お腹いっぱい。
16/05/13 18:23:04.71 zSa8nUD60.net
>>515
画像が発見できてるなら問題はchkimgじゃ無いでしょ?
>>513のスクリプトで考えるなら座標がズレてるかそもそもbtnが正常に送信出来てないか
いずれにしろとても要領いい奴のデバッグとは思えん
クビになる前に真面目に仕事しろ
549:名無しさん@お腹いっぱい。
16/05/13 18:27:09.58 ipqrB9IN0.net
仕事は清掃かもしれないし
550:名無しさん@お腹いっぱい。
16/05/13 19:21:14.24 TI3XaN490.net
>>516
>>503のBはちゃんと読んだ?
551:名無しさん@お腹いっぱい。
16/05/13 19:53:40.16 tiOpPfaNi
IFの欄にマルチステートメントはNGって書いてあるしヘルプを真面目に読んだ人ほどはまる仕様なのがUWSCよね
IF 式 THEN 処理1; 処理2; ←NG
IFB 式1; 処理1; 処理2; ENDIF; IFB 式2; 処理3; EndIf ←OK
下のがOKだったことを発見した時は驚きだった
Select も Case "あいうえお" とか Case 式 がOKだしほんとよく分からんなあ
552:名無しさん@お腹いっぱい。
16/05/13 20:59:12.03 Ae17eBmO0.net
>>506 >>511
while abc() ; wend
ああこう書けば一行でいけるのかありがとう。
でも while abc(); だけで行きたいよなあ。
553:名無しさん@お腹いっぱい。
16/05/13 21:02:51.43 0uoCIzqf0.net
>>528
無理ですから素直になろう
554:名無しさん@お腹いっぱい。
16/05/13 21:26:50.82 jqYkI+cw0.net
>>528
while の中身空っぽで abc() を繰り返したいだけってことか。
そんなのをどうしても1行で済ませたいというなら
procedure xyz()
while abc() ; wend
fend
とでもやって xyz() だけで済ませたら?
555:名無しさん@お腹いっぱい。
16/05/13 21:40:38.74 A0e86qQc0.net
>>528
for の後にnextなしとか、ifの後にthenがなしとか言ってるのと同じだろ?
言語仕様的に無理なものは無理。
お前が言ったのは「一行にしたい」。
どうしてもやりたいというなら、自分でプリプロセッサを書けばいい。
556:名無しさん@お腹いっぱい。
16/05/14 09:48:17.30 GgEWGJAc0.net
>>528
loopWhileAbc()
procedure loopWhileAbc()
while abc() ; wend
fend
557:名無しさん@お腹いっぱい。
16/05/14 09:48:51.48 GgEWGJAc0.net
やべ被ったw
558:名無しさん@お腹いっぱい。
16/05/14 13:17:11.19 1+cPw3pF0.net
完全初心者です。
現在画面を常に監視して特定画像が出る度に画像をクリックする動作を作ろうとしてます。
クリック自体は出来るようになったんですがループが出来ません。ご教授お願いします。
IFB chkimg(
559:名無しさん@お腹いっぱい。
16/05/14 13:18:00.25 1+cPw3pF0.net
>>534です。消えてしまってすみません。
IFB chkimg("a.bmp")=true then
btn(left,click,G_IMG_X, G_IMG_Y)
endif
560:名無しさん@お腹いっぱい。
16/05/14 13:22:01.63 NOFiCDeu0.net
シンプルに
while true
IFB chkimg("a.bmp")=true then
btn(left,click,G_IMG_X, G_IMG_Y)
endif
wend
561:名無しさん@お腹いっぱい。
16/05/14 13:25:52.16 1+cPw3pF0.net
>>536
お答えありがとうございます!
既にそちら試してみたんですが何故か動かなくなるんですよね...
562:名無しさん@お腹いっぱい。
16/05/14 13:40:26.87 1+cPw3pF0.net
>>536
突如動くようになりました。ありがとでした!
563:名無しさん@お腹いっぱい。
16/05/14 18:41:31.64 v5f6h4qo0.net
proバージョンでうまく動作しないのですが理由分かる方はいらっしゃいますか?
メモ帳で試すと問題なく動くのですが目的のソフトで使おうとすると動作しません
564:名無しさん@お腹いっぱい。
16/05/14 20:18:05.61 n3+Tx1/+0.net
>>539
何が?
565:名無しさん@お腹いっぱい。
16/05/14 21:45:14.14 xKUFP62d0.net
自販機に紙幣を入れたのに飲み物が買えません。なぜですか?ってレベルだなw
566:名無しさん@お腹いっぱい。
16/05/14 21:56:38.87 DrkYBZLw0.net
このレベルの奴がproなんて使ってる時点でお察し
567:名無しさん@お腹いっぱい。
16/05/14 22:11:24.09 3XghaOXu0.net
proでって言ってるんだから割れ物でも使ってるんじゃね
568:名無しさん@お腹いっぱい。
16/05/14 22:49:31.03 hfaBi8Ee0.net
メモ帳では問題ないって言うんだからスクリプト自体は正常に動いてるわけで
UWSCの問題じゃなく目的のソフト側の問題だろう。
569:名無しさん@お腹いっぱい。
16/05/14 22:57:09.20 pLgG83d70.net
出してくる情報が少なく過ぎて、質問慣れてないように見えるから素人感を漂わせるんだよな
570:名無しさん@お腹いっぱい。
16/05/14 23:07:18.72 9Xfn9/Hw0.net
>>530 515
頭痛が痛くなりそうなコードだな
571:名無しさん@お腹いっぱい。
16/05/15 08:07:53.66 qq0yw9mq0.net
ぷち魔改造; 可読性は気にしない
i=1
loopWhileFunc1arg("abc",i) //abc(i)
loopWhileFunc2arg("bcd",i,3) //bcd(i,3)
MsgBox(i)
Procedure loopWhileFunc1arg(func,var arg1);While Eval(func+"(arg1)");Wend;Fend
Procedure loopWhileFunc2arg(func,var arg1,var arg2);While Eval(func+"(arg1,arg2)");Wend;Fend
//var arg1=NOTHING,... とかはNGだった
Function abc(var i);Result= (++(i)<10);Fend
Function bcd(var i,j);Result= (mov(i,i+j)<20);Fend
Function ++(var i);i=i+1;Result=i;Fend // +は全角なら関数名OK 最初にResult iでi++
Function mov(var i,j);i=j;Result=i;Fend // iにjを代入して戻り値にする
572:名無しさん@お腹いっぱい。
16/05/15 08:32:42.14 2PJ2ACAa0.net
インクリメントはこうしてる。
FUNCTION incpp(VAR lTargetVariable)
RESULT=lTargetVariable
TRY
lTargetVariable=lTargetVariable+1
FINALLY
ENDTRY
FEND
FUNCTION ppinc(VAR lTargetVariable)
TRY
lTargetVariable=lTargetVariable+1
FINALLY
RESULT=lTargetVariable
ENDTRY
FEND
FUNCTION decmm(VAR lTargetVariable)
RESULT=lTargetVariable
TRY
lTargetVariable=lTargetVariable-1
FINALLY
ENDTRY
FEND
FUNCTION mmdec(VAR lTargetVariable)
TRY
lTargetVariable=lTargetVariable-1
FINALLY
RESULT=lTargetVariable
ENDTRY
FEND
なぜこだわってしまうのか
573:名無しさん@お腹いっぱい。
16/05/15 09:08:00.59 dlUydLTO0.net
>>547
タイプ量も増えてるんですけど
while abc(i); wend
↓
loopWhileFunc1arg("abc",i) //abc(i)
574:名無しさん@お腹いっぱい。
16/05/15 11:43:15.77 4ghWgeuh0.net
ちょっと相談chkimgにorを使うとG_IMG_Xや
G_IMG_Yが前者マッチ時には上書きされてめんどい
(例) うまくいかない例
IFB chkimg("A.bmp") or chkimg("B.bmp") //ここから1
btn(left,click,G_IMG_X, G_IMG_Y)
以下ものすごく長い処理
endif //ここまで1
Elseifを使うとものすごく長い処理の部分が2組になってしまうので何かいい方法ないかな?
画像2個を探してマッチした方のG_IMG_X, G_IMG_Yを格納する自作関数を作るしかないかな?
575:名無しさん@お腹いっぱい。
16/05/15 11:47:16.80 TwqCg5pI0.net
その、「ものすごく長い処理」を関数化すればいいのでは
576:名無しさん@お腹いっぱい。
16/05/15 12:43:06.72 e0SgFqgG0.net
option shortcircuit
これめっちゃ基本
もしくは
select true
case chkimg("A"),chkimg("B")・・・
でもいける
577:名無しさん@お腹いっぱい。
16/05/15 12:46:52.57 y1n4ZMN40.net
IFB chkimg("A.bmp") or chkimg("B.bmp")
IF chkimg("A.bmp") btn(left,click,G_IMG_X, G_IMG_Y) endif
IF chkimg("B.bmp") btn(left,click,G_IMG_X, G_IMG_Y) endif
以下ものすごく長い処理
endif
とかしかないんじゃね?
正直見栄え悪いから>>551の言うようにものすごく長い処理を関数化した方がいいと思うけど
578:名無しさん@お腹いっぱい。
16/05/15 12:51:52.44 IVPpFOW40.net
俺だったらこうする
FOR bmp IN split(
579:名無しさん@お腹いっぱい。
16/05/15 12:53:12.88 IVPpFOW40.net
FOR bmp IN split("A B")
IFB chkimg(bmp +".bmp") THEN
btn(left,click,G_IMG_X, G_IMG_Y)
//ものすごく長い処理は関数化
BREAK
ENDIF
NEXT
580:名無しさん@お腹いっぱい。
16/05/15 14:27:18.44 r70xOKq70.net
もう ものすごく長い処理 の主張はいいから
581:名無しさん@お腹いっぱい。
16/05/15 14:27:24.94 2PJ2ACAa0.net
繰り返し記述の最小化を兼ねるなら画像をクリックする処理を関数化するのが常道。
メインルーチンでchkimgの直後にG_IMG_Xのような特殊なスコープの変数を直接利用するのは、
chkimgの使用が全処理中一要件のときだけとか、
スクリプト晒す際に敢えて非構造化して判りやすくなる場合ぐらい。
URLリンク(www.google.co.jp)
582:名無しさん@お腹いっぱい。
16/05/15 14:56:13.34 PgymA0t70.net
option shortcircuitでええやん
583:名無しさん@お腹いっぱい。
16/05/15 16:03:25.49 dlUydLTO0.net
>>558
それ使ってもAがヒットする間はBはがん無視されるんだよね。
面倒がらずに分けるべきだと思うが。
584:名無しさん@お腹いっぱい。
16/05/15 16:08:12.72 e0SgFqgG0.net
533の求めてるものには合致してるからどうでもいいだろ>Bガン無視
585:名無しさん@お腹いっぱい。
16/05/15 17:21:29.89 PgymA0t70.net
むしろそのBを無視出来るのがメリットやし、それが目的やん
>>550を見る限り、AとBのどちらがヒットしても座標が違うだけでその後の処理は全く同じなんやし
どうせループさせてるんやろ?
その場合OPTION SHORTCIRCUITが最適やと思うけど
・Aが基本常に表示されている、もしくはAをクリックしてもAが必ず消える訳では無い
・ループさせずに、AとBが両方表示されてる場合は一回の処理で両方行う
ってんなら分けるしかないけど、そうは思えん
586:名無しさん@お腹いっぱい。
16/05/15 17:56:31.61 2PJ2ACAa0.net
AとBが両方あった場合の仕様が全く無いので深読みすると、
上書きがまずいということは、何だかんだでAを優先したいということに帰結する。
SHORTCIRCUITがつかなければBが優先、つけばAが優先。
SHORTCIRCUITをつけてもいいし、AとBを逆にすればつけなくてもいいことになる。
SHORTCIRCUITの利点はOR時に無駄な画像判定をせず評価を打ち切ることであって、
今回の要件とはちょっとずれてる。
clickImageの場合は画像の座標を複数回参照したい場合には逆に不便だが、
最初の一回クリックすれば良い場合は全く問題なくシンプルに記述できる。
ただしSHORTCIRCUITなしだと両方クリックする可能性があるw
587:名無しさん@お腹いっぱい。
16/05/15 17:57:30.85 qq0yw9mq0.net
533の意向は気にせず、Bガン無視しないやつを作ってみたくなったので
Dim ab=0
Public bmpAB[]="A.bmp","B.bmp"
n=Resize(bmpAB)+1
While True
If chkimg(bmpAB[ab]) Then
btn(left,click,G_IMG_X, G_IMG_Y)
ものすごく長い処理(ab)
ab=(ab+1) MOD n //(random(10) > 6) とか
Else
ab=(ab+1) MOD n
Endif
Wend
Procedure ものすごく長い処理(ab)
//...
Fend
588:名無しさん@お腹いっぱい。
16/05/15 18:18:56.57 r70xOKq70.net
>>562
別の話にはなるけども
A or B でSHOR~つかなければB優先っていうのは
Aあり Bなし 時にBXY座標クリックしちゃわない?
589:名無しさん@お腹いっぱい。
16/05/15 18:21:14.62 y1n4ZMN40.net
>>564
そうなる
正確にはBがない場合にG_IMG_XとG_IMG_Yに見つからなかった時の座標が入っちゃう
590:名無しさん@お腹いっぱい。
16/05/15 19:02:32.92 PgymA0t70.net
>>562
上書きがまずいってのは優先云々じゃなくて
ヒットしたAの座標が、ヒットしてないBの座標に上書きされてABに対する処理がどちらも行われないのが問題だっつってんだと思うぞ
それならAがヒットした場合にBを打ち切るのは別にずれてないだろw
まあとにかく、両方表示されているときにどうしたいのかによる
591:名無しさん@お腹いっぱい。
16/05/15 20:29:24.62 dlUydLTO0.net
>>566
> それならAがヒットした場合にBを打ち切るのは別にずれてないだろw
こういう意図があるならはっきりそう分かるようにコード書けよ、なんだがな。
無理に一行にまとめたがる考え方がわからん。
592:名無しさん@お腹いっぱい。
16/05/16 01:05:30.30 niE2BPhf0.net
Bが無かった時にG_IMG_Xに無効な値が入�
593:骼d様だったんだねぇ。 ヘルプには「TRUE の場合は見つかった座標を特殊変数 G_IMG_X、 G_IMG_Y に格納」 とは書いてあるけどそこまでだねぇ。 Bが無かった時にAの時の値が上書きされない訳じゃなかったんだねぇ。 さすがUWSCです。
594:名無しさん@お腹いっぱい。
16/05/16 01:41:58.93 3gVBH4SK0.net
まあ二回目のchkimg関数を実際に使っちゃった後なんだから
前回の結果が残ってたらそれはそれでおかしいだろう。
ヘルプは説明不足だと思うけど、あのヘルプは元々あちこち不足してるしなぁ。
595:名無しさん@お腹いっぱい。
16/05/16 11:33:44.76 PhVbNeFR0.net
適当に1回テストすりゃそれで分かる話だしな
596:名無しさん@お腹いっぱい。
16/05/16 11:52:09.45 9CO+13+E0.net
OPTION SHORTCIRCUITで済む話なのに
>>562とかマジでトンチンカンすぎて引くわ
597:名無しさん@お腹いっぱい。
16/05/16 14:40:03.91 btmy4hYa0.net
あ、これ俺も気になってた話題だ
Bがなかった時にAをクリックしないから困ってた
598:名無しさん@お腹いっぱい。
16/05/16 15:51:15.67 JBr6JNeD0.net
10個の画像がランダムに出てくるのを判別するのに
今はIFB文を10個並べてるけど
これを一まとめにできる方法あったら教えてください
599:名無しさん@お腹いっぱい。
16/05/16 16:07:50.91 HEQG2RMr0.net
画像ファイル名を変数にして
600:名無しさん@お腹いっぱい。
16/05/16 16:22:36.78 ybBo/q8W0.net
配列にいれてループで
601:名無しさん@お腹いっぱい。
16/05/16 16:26:02.88 RjwdHl7m0.net
>>563
602:名無しさん@お腹いっぱい。
16/05/16 16:32:19.17 pR4B6zG+0.net
535が完璧な答えを出しているのに次から次へと同じ質問するのは何なの
603:名無しさん@お腹いっぱい。
16/05/16 16:43:44.91 rZ0M1i5U0.net
getdirしてgetdir_files[]をforでchkimgうんたらかんたら
604:名無しさん@お腹いっぱい。
16/05/16 16:55:44.18 ybBo/q8W0.net
>>577
それを言ったらヘルプ嫁で最初から終わってる
605:名無しさん@お腹いっぱい。
16/05/16 19:13:11.26 9CO+13+E0.net
535だけど
select true
case chkimg("A.bmp")
処理A
case chkimg("B.bmp")
処理B
見やすさで言ったらこの書き方めっちゃオススメなんだけどな
複数の画像で処理同じならカンマで区切って並べれば>>550の現象にも困らないし
606:名無しさん@お腹いっぱい。
16/05/16 19:57:22.62 3gVBH4SK0.net
そういう、if文を無理矢理selectで代用するような
普通じゃない使い方をするのはむしろ見にくいと思う。
そもそも>>550の問題解決手段についての話はもうとっくに終わっていて
そこから派生した、マッチしなくても特殊変数が上書きされる
ということについての話題で盛り上がってただけなのでは。
607:名無しさん@お腹いっぱい。
16/05/16 20:11:33.19 9CO+13+E0.net
派生したんじゃなくて
>マッチしなくても特殊変数が上書きされる
これが>>550の本質そのものじゃん
608:名無しさん@お腹いっぱい。
16/05/17 00:39:40.96 prpxetWm0.net
配列っての入れたら30行くらい短縮できました~
ありがとうございました
609:名無しさん@お腹いっぱい。
16/05/17 01:25:36.77 J7A3Cxgk0.net
綴り間違いの対策ってある?
610:名無しさん@お腹いっぱい。
16/05/17 01:27:55.92 NxY/tAjs0.net
>>584
エディタのスペルチェックを使う
もちろんUWSCに特化したエディタなんて無いから、各自設定を行う必要がある
(頑張るのは>>584ですよ)
611:名無しさん@お腹いっぱい。
16/05/17 01:41:53.12 J7A3Cxgk0.net
>>585
terapadにスペルチェックなかった
乗り換えますわ
612:名無しさん@お腹いっぱい。
16/05/17 01:42:38.56 W/keJ1uD0.net
URLリンク(www.dotup.org)
Chromeの話はよく出るので自動操縦スクリプトうp
アドレスバーの読み書きはUWSCの関数でできるとか
ブックマークレットと組み合わせる話は前にしたけど
JSでクリップボードを使う方法があるということで
キーエミュは必要になるけど、画像を使わずに
UWSCからChromeを自由自在に操れる�
613:謔、になった。
614:名無しさん@お腹いっぱい。
16/05/17 09:23:06.15 ABTZlGrX0.net
win7 64bit
IE11
uwscは5.2.2
を使用しています
ie.navigate("URLリンク(www.yahoo.co.jp")<))
sleep(1)
ie_wait( ie )
を実行したところ
ヤフーのほうは問題なく開くのですが次にグーグルのサイトに行こうとすると
ie.readystateが1のまま担ってしまいます
ヤフーとグーグルを逆にしても同じ現象が起きます
対処方法などありましたら教えていただけないでしょうか?よろしくお願いいたします
615:名無しさん@お腹いっぱい。
16/05/17 09:28:22.66 NRBOB2NC0.net
メモ帳で編集してるんですが、何行目間違いの通知出た時に行を見つけるまで面倒です
メモ帳のようなuwscを編集出来るものはありますか?
616:名無しさん@お腹いっぱい。
16/05/17 09:29:08.38 plXLeHat0.net
>>587
おー、興味深い
会社についたら試してみよう
617:名無しさん@お腹いっぱい。
16/05/17 09:32:02.15 plXLeHat0.net
>>589
大抵の高機能テキストエディタには行番号表示とか
単語強調とか便利な機能ある
秀丸(有料)、sakuraeditor、terapad、とかおれはk2editor
618:名無しさん@お腹いっぱい。
16/05/17 09:41:28.46 +0Jn23k/0.net
BlueStacksにmouseorgでクリックなどの操作を直接送ることは不可能?
バックグラウンドでの認識は出来ても直接入力だけ出来ない…
619:名無しさん@お腹いっぱい。
16/05/17 09:41:44.59 TThCzgeO0.net
>>588
ie_wait(ie)がおかしいんじゃない?
ヘルプに記載のスクリプトで正常動作する
あとsleep(1)なくても問題ない
Procedure ie_wait(ie)
Repeat
Sleep(0.1)
Until (!IE.busy) And (IE.ReadyState = 4)
FEND
620:名無しさん@お腹いっぱい。
16/05/17 12:46:02.00 ePvPsKNy0.net
>>591
ありがとうございます
621:名無しさん@お腹いっぱい。
16/05/17 13:30:32.90 +TXbv5la0.net
遅延ロードに対応しているサイトの場合
見た目以外の内部的なコンテンツのロードが終了していない
後はIEのバグ
基本的な対応方法はタイムアウト等で判断してリロードしてみたら大抵成功する
622:名無しさん@お腹いっぱい。
16/05/17 17:57:57.25 SdZXn9Fn0.net
Dim abcd=0
Public bmpABCD[]="A.bmp","B.bmp","Cbmp","Dbmp"
n=Resize(bmpABCD)+1
配列の中のCを優先的に処理させたい場合はどのようにすればいいのでしゅか?
623:名無しさん@お腹いっぱい。
16/05/17 18:06:56.08 NxY/tAjs0.net
>>596
Public bmpC[]="Cbmp"
624:名無しさん@お腹いっぱい。
16/05/17 18:56:07.53 fw77WxMH0.net
Public bmpABCD[]="Cbmp","A.bmp","B.bmp","Dbmp"
...
abcd=0 //IF abcd=0 Then abcd=(Random(10) < 6) Else abcd=(abcd+1) MOD n とか
Else
...
625:名無しさん@お腹いっぱい。
16/05/17 20:36:01.97 hljOkImz0.net
優先的、の意味してるところがいまいち分からんな。
単にその4つの中でCを最初に処理したいってだけなら配列の先頭に持って行けばいいだけ。
626:名無しさん@お腹いっぱい。
16/05/18 05:37:47.87 KR4e6avs0.net
1<i<3って書いてはなぜダメなのでしょう
1<i AND i<3で大丈夫なのですけど
627:名無しさん@お腹いっぱい。
16/05/18 06:19:11.70 kt6Mwkr20.net
ダメじゃないよ
(1<i)<3 -> 0<3 か 1<3 -> 1
で常に1 になる
UWSCの文法としては間違ってはいない
628:名無しさん@お腹いっぱい。
16/05/18 16:46:47.91 K3pIkCrm0.net
for i = 0 to 4
print "i,判定:" + i + "," + (1<i<3)
next
結果:
i,判定:0,True
i,判定:1,True
i,判定:2,True
i,判定:3,True
i,判定:4,True
------------------
for i = 0 to 4
ifb 1<i<3
print "true"
else
print "false"
endif
next
結果:
true
true
true
true
true
------------------
629:名無しさん@お腹いっぱい。
16/05/18 19:13:20.48 Q388/1tIf
よくわかんないけど If (0 < i ) = (i
630: < 3) でいいと思うよ( )とるとおかしくなるけど
631:名無しさん@お腹いっぱい。
16/05/18 19:07:30.06 TvxxXydB0.net
まったくの初心者なんですが、Jane styleってバックグラウンド動作受け付けますかね?
632:名無しさん@お腹いっぱい。
16/05/18 19:13:53.89 IYalppQR0.net
>>604
まず自分で試して駄目だったらコードを貼って質問するといいとおもうよ
633:名無しさん@お腹いっぱい。
16/05/18 19:21:23.13 yEFnfJ1D0.net
>>604
受け付けるぞ
あと自称初心者とか、悪い印象持たれるだけだから言うのはやめれ
634:名無しさん@お腹いっぱい。
16/05/18 19:39:49.46 Q388/1tIf
何故試してから聞かないのか
何故やってみた結果を言わないのか
何故解決した方法を言わないのか
635:名無しさん@お腹いっぱい。
16/05/18 19:45:41.52 TvxxXydB0.net
thx
クラスとかハンドルとか意味不なレベルなのでコードはまだ先ですw
636:名無しさん@お腹いっぱい。
16/05/18 20:25:44.41 4bXyUlTi0.net
>>608
何やりたいのか知らんけど、テキストベースのサイト相手に2ch専用ブラウザでコントロールする
必要はまずありえないので、真っ当な方向を探ったほうがいいぞ。
637:名無しさん@お腹いっぱい。
16/05/18 20:47:03.80 aJ897gUv0.net
あるループし続けるマウスマクロを一定の入力で強制終了出来るようにしたいのですが可能でしょうか?
今はループの終了地点にループ終了受付時間を設けてその間に閉じるか一定の周回数を超えたら終了しているのですが不便なので常に終了受付出来るようにしたいのですが
638:名無しさん@お腹いっぱい。
16/05/18 20:58:07.37 O6qMx9GY0.net
>>610
ALT+F2で終了できる
639:名無しさん@お腹いっぱい。
16/05/18 21:20:48.60 K5oiNRcv0.net
SetHotKeyでキーを設定して呼び出し先のProcedureで
ExitExitしたらいいんじゃないかな
640:名無しさん@お腹いっぱい。
16/05/18 21:45:44.20 uu3vcfHj0.net
SETHOTKEYなんて関数もあるのか
641:名無しさん@お腹いっぱい。
16/05/18 22:00:25.29 aJ897gUv0.net
>>612
なんとか出来そうです、助かりました。
>>611
alt+F2は最後の手段にするつもりでした
なるべく自分で作ってみたくて
642:名無しさん@お腹いっぱい。
16/05/18 23:11:54.66 3UeNUI1D0.net
自分で作ってみたいのに他人い丸投げって頭おかしいの?
643:名無しさん@お腹いっぱい。
16/05/19 16:30:06.83 83W4b/E00.net
procedure ESC_KILL()
repeat
Sleep(0.2)
until getkeystate(vk_esc)
exitexit
fend
こんな感じに組み込んでたわw
もっと簡略化できたのねー
644:名無しさん@お腹いっぱい。
16/05/19 19:27:58.99 58IY1dNi0.net
MOUSEORG関数使ってバッググラウンドで文字列をペーストしてるんですができたりできなかったりでよくわからないです
ペーストした文字列とCTRL+VのVが入り乱れてる感じになります。メモ帳でためしたらメモ帳にはちゃんとペーストされました
原因わかる方いらしたら教えてくれませんか??
GETIDで指定してこんな感じでペーストしてます
KBD(VK_CTRL,DOWN,300)
KBD(VK_V,0,300)
KBD(VK_CTRL,UP,300)
645:名無しさん@お腹いっぱい。
16/05/19 19:34:26.30 pBbPC+og0.net
kbdじゃなくてsckeyでやってみたらどうかな
646:名無しさん@お腹いっぱい。
16/05/19 20:20:18.86 58IY1dNi0.net
レスありがとうございます
SCKEYだと一回アクティブになっちゃうんですよね
何かやり方がおかしいのだろうか・・・
647:名無しさん@お腹いっぱい。
16/05/20 12:01:26.11 Ws7gJC3z0.net
最近ChkimgXを導入したのですが、結構な頻度で
スタックトレースの取得に失敗
というログを吐いて固まってしまうことがあるのですが
なにか対処方はあるでしょうか
648:名無しさん@お腹いっぱい。
16/05/20 14:23:26.47 QAF7PYe92
CPU的にアクティブウインドウに処理が回ってきたときCTRLが外れちゃうんだろ
VK_Vの処理待ち時間を短縮�
649:キるくらいしかできることはなさそう
650:名無しさん@お腹いっぱい。
16/05/20 14:23:41.05 uRnksjE20.net
エラー文100回ぐらい読み直せば道が開けるかもしれない
651:名無しさん@お腹いっぱい。
16/05/22 06:17:00.74 fP06fv0k0.net
1回めの処理は動くのですが、2回めが実行されません
main.uwsのファイルの中で
for文でcall sub.uwsを呼び出してる感じです
forの回数は問題ないです。
sub.uwsをデバッグプリントしながら確認してるんですが、
途中でグローバル変数が出力されてないようです。バグでしょうか?
652:名無しさん@お腹いっぱい。
16/05/22 06:54:10.23 RwGmxCeq0.net
意図した結果が得られないならバグだろうね
653:名無しさん@お腹いっぱい。
16/05/22 07:01:05.85 LInP5I9/0.net
そりゃバグだろうよ
654:名無しさん@お腹いっぱい。
16/05/22 07:10:52.70 fP06fv0k0.net
uwscのバグってことは考えられますか?
655:名無しさん@お腹いっぱい。
16/05/22 07:22:47.68 RwGmxCeq0.net
ないとは言い切れないが、まず間違いなく>>626自身の問題
そのスクリプトここに貼ったほうが早い
656:名無しさん@お腹いっぱい。
16/05/22 07:24:53.66 fP06fv0k0.net
>>627
エッチなプログラムなんでお見せできません。申し訳ありません。
657:名無しさん@お腹いっぱい。
16/05/22 07:53:58.62 fP06fv0k0.net
//main.uws
for 1 to 10 step 1
call sub.uws
next
//sub.uws処理
public etcFlg = true
処理1
while etcFlg
処理2
etcFlg = false
wend
ちなみにこういうプログラムで処理2に入りませんでした。
publicを消して動かしたら動きました。
理由はよくわかりません。
658:名無しさん@お腹いっぱい。
16/05/22 08:16:46.15 xpgsXPc80.net
public etcFlg = true
↓
public etcFlg
etxFlag = true
> 理由はよくわかりません。
publicの大域変数は一回しか初期化されないだけかと。
659:名無しさん@お腹いっぱい。
16/05/22 09:00:58.92 fP06fv0k0.net
>>630
そんなルール初めて知ったよ
660:名無しさん@お腹いっぱい。
16/05/22 10:37:19.59 DeX4+0nO0.net
>>631
ほぼ一番上と言える位置に書いてあっても
ヘルプ読まないメクラにはどうしようもないな。
> <変数>
> 大文字と小文字の区別はありません
> 数値と文字列の型区別はありません
> ローカル変数、グローバル変数の区別があります
>
> ローカル変数には宣言は要りません(Option指定で変更可:DIM 変数名)
> グローバル変数には宣言が必要: PUBLIC 変数名
> 多次元配列には宣言が必要: DIM 変数名[数]
> (配列での初期値代入: DIM X[2]=1,2,3 配列数の省略可 DIM X[]=1,2,3 )
> ※ PUBLIC変数の初期化はスクリプト実行前に行われます
> ※ PUBLIC変数の初期化はスクリプト実行前に行われます
> ※ PUBLIC変数の初期化はスクリプト実行前に行われます
> ※ PUBLIC変数の初期化はスクリプト実行前に行われます
661:名無しさん@お腹いっぱい。
16/05/22 11:21:18.98 LInP5I9/0.net
まあ自分のコードを疑うよりソフト自体のバグを疑うような奴だし
662:名無しさん@お腹いっぱい。
16/05/22 11:26:28.82 eJS6rS+N0.net
ID:fP06fv0k0
HAHAHAHA!
これからも頑張ってくださいね
663:名無しさん@お腹いっぱい。
16/05/22 12:33:31.62 fW7W09EZq
ルールと言うか
UWSCはCALLするスクリプトをメインにペーストしてコンパイルしてから
Public Constを解釈して定数に入れる
その後、エラーなくコンパイルできたらスクリプトをスタートする
main.uwsにCALLを発見
↓
CALLされた内容をmain.uwsにコピペ
↓
スクリプト内にpublicを発見
↓
etcFlg = true がグローバル変数として一度だけ定数値が入る
↓
スクリプトスタート
for 1回目、etcFlg は true
↓
for 2回目、public etcFlgは処理済みなのでスルー
↓
etcFlg は 内部で設定変更されている場合は、そのほかの値になる
664:名無しさん@お腹いっぱい。
16/05/22 12:37:53.44 fW7W09EZq
使いたいグローバル変数はpublicに持ってくる
使いたい変数が呼び出すCALLスクリプトによって定まらない場合は
Public HASHTBL 変数
にしておいて呼び出し側で 変数["etcFlg"] = true のように初期化すれば確実
665:名無しさん@お腹いっぱい。
16/05/22 15:22:30.93 OlhosktZ0.net
CALL文って別のスクリプト�
666:タ行って誤解してる人多そうだけど イメージ的にCALL文のところに呼び先のソースコードを貼り付けて それから全体実行って感じに思うといいかも。 当然、自分で設定したグローバル変数とかUWSCの内部変数とか状態も全部引き継ぐ
667:598
16/05/22 15:26:59.44 B/bdSHUC0.net
誰か僕も助けて(´・ω・`)
668:名無しさん@お腹いっぱい。
16/05/22 15:39:29.93 OlhosktZ0.net
>>617
文字のペーストならGETSTR(0)を使って。
バックグラウンドでダメっていうなら出来ないかもですけど。
669:名無しさん@お腹いっぱい。
16/05/22 18:30:54.97 B/bdSHUC0.net
すいませんGETSTRで文字列取得してペーストはどうすれば・・・
670:名無しさん@お腹いっぱい。
16/05/22 19:23:54.92 4rNj7EhO0.net
取得したら置くだけだ。ヘルプ読めばわかりそう。
671:名無しさん@お腹いっぱい。
16/05/22 20:31:34.72 B/bdSHUC0.net
KBDとSCKEY以外で貼れますか?
ググッテるんですが出てこない
672:名無しさん@お腹いっぱい。
16/05/22 20:50:55.59 fFlhowjs0.net
HELPで GETSTRの上を見るといいよ
673:名無しさん@お腹いっぱい。
16/05/22 23:37:30.66 xpgsXPc80.net
>>637
呼び出し先のuwsで定義してるpublic変数をPRINTするとか試してみればいいのにな。
PRINT test
call test.uws 中でpublic testを減算
PRINT test
callする前からtestが存在しててcallした後に減算されてるのが分かる。
このあたりは言語仕様な話であいまいななんだから、実施で確認するのが一番。
674:名無しさん@お腹いっぱい。
16/05/22 23:59:15.36 ppHnD3HE0.net
確認するのが早いのはそうだけど、あいまいじゃないだろ
675:名無しさん@お腹いっぱい。
16/05/23 00:16:19.24 CD+GJ7kL0.net
いや、call時点でその中で定義されてるpublicは必ず初期化されますという仕様だったとしても、それはそれで
納得できるけどね。>>632の記述だけじゃcall先まで適用されるかはっきりしない。
676:名無しさん@お腹いっぱい。
16/05/23 06:14:06.92 /JZxQDKo0.net
すいません。
処理で質問です。
1.テキストエディタに文字をコピペするPROCEDURE
2.アンチウィルスソフトが起動したら(画像で認識したら)1を中断するPROCEDURE
を同時並行的にしたいのですが、どのようにすればいいでしょうか?
677:名無しさん@お腹いっぱい。
16/05/23 06:51:48.86 07l0fM3F0.net
WHILE !CHKIMG("アンチウイルスソフトの画像")
テキストエディタに文字をコピペする
WEND
678:名無しさん@お腹いっぱい。
16/05/23 07:00:41.12 /JZxQDKo0.net
WHILE !CHKIMG("アンチウイルスソフトの画像")
テキストエディタに文字をコピペする1
テキストエディタに文字をコピペする2
テキストエディタに文字をコピペする3
WEND
こういう処理なので処理2の時画像が見えたら、中断したいと思ったのですが
679:名無しさん@お腹いっぱい。
16/05/23 07:21:22.22 6urz92aS0.net
処理2だけ中断したいのか
全部を中断してWHILEを抜け出したいのか
望む挙動によって違ってくる
680:名無しさん@お腹いっぱい。
16/05/23 07:24:29.60 /JZxQDKo0.net
>>650
全部を抜けて中断したいです。!
681:名無しさん@お腹いっぱい。
16/05/23 07:55:21.70 6urz92aS0.net
if CHKIMG("アンチウイルスソフトの画像") then break
「処理2の時画像が見えたら」ってのが曖昧な表現なので
↑の文を、「テキストエディタに文字をコピペする2」の
上か下にお好みで入れませう
682:名無しさん@お腹いっぱい。
16/05/23 09:16:11.73 F2ED3stY0.net
Public 変数=値 の文はソースコードに重複があったら、後に書いた値で初期化になるみたい。
あとCallはuwsc全体が動く前にソースコードに処理を加えるみたい。
この辺の動きが理解できなくて同じPublic変数をCallで使ってると >>629 みたいに訳が分からなくなる。
683:名無しさん@お腹いっぱい。
16/05/23 12:20:53.34 r+EjkxzLp
>>653
基本的にそうなんだけど
fotとかwhile内にPublicがくると最初の1ループ目が始まる前に処理されるから
Dim初期化みたいな気で使ってるとぶっ壊れる原因になる
684:名無しさん@お腹いっぱい。
16/05/23 15:38:56.40 70C9oXYa0.net
初めてUWSCを使って、画像認識を使用したマクロを作ったのですが、モニターを消すと動作しなくなるのは何故でしょうか?
過去ログでwin10は画面を消すと画像認識されなくなるとありましたが、それと関係があるのでしょうか?
私の環境はWindows 7 で、画像認識を使用したマクロを使用しています。
モニターを消すまでは正常に動いています。
685:名無しさん@お腹いっぱい。
16/05/23 15:46:14.05 hrmvBWKj0.net
>>655
モニターに表示されていない部分の処理を省略し、高速化しているものもある
686:名無しさん@お腹いっぱい。
16/05/23 15:55:26.30 70C9oXYa0.net
>>656
なるほど…
つまり、そのような処理があるという事はどのようにしてもモニターを消してしまったら正常に動作しませんよね?
モニターを消しておいて、付いていると偽装できるような方法があれば良いのですが…
687:名無しさん@お腹いっぱい。
16/05/23 16:08:54.99 AKnh8crq0.net
>>657
画面プロパティでモニターを消さないように設定する
モニターを消したいときは、モニター側の電源を(物理的に)落とすしかない
688:名無しさん@お腹いっぱい。
16/05/23 16:15:31.72 d118JUW80.net
>>658
??
689:名無しさん@お腹いっぱい。
16/05/23 16:32:20.33 AKnh8crq0.net
プロパティに「ディスプレイの電源を切る」があるでしょ? それを「無し」に設定する
そしたら>>655のような問題は起こらないけど、何時間何十時間経ってもディスプレイは自動的に消えないわけ
消したいときは、ディスプレイの電源スイッチで消すしかない
>>658の説明でわからないなら諦めたほうがいいですよ
690:名無しさん@お腹いっぱい。
16/05/23 16:43:43.78 SHKzUHqm0.net
いや>>658の文章の意味は普通に分かるが
>>658をいま提言する意味がわからんということだろ
あとこれは知らんけどモニタ電源切ったらやっぱり動かなくなるんじゃないの?
691:名無しさん@お腹いっぱい。
16/05/23 17:02:42.23 AKnh8crq0.net
>>661
パソコン初心者か? モニタ電源を切ったら動かなくなるということはない
とりあえず>>655は言われたとおりにやってみれ。それで解決できるはず
692:名無しさん@お腹いっぱい。
16/05/23 17:10:14.09 xiTLnsi/0.net
ノーパソだったりして
693:名無しさん@お腹いっぱい。
16/05/23 17:13:04.84 AKnh8crq0.net
Fnキー+F5~F8のどれかで消せるよ
694:名無しさん@お腹いっぱい。
16/05/23 17:24:20.94 SHKzUHqm0.net
無いはずなのに消したら動かなくなったって話じゃないの
632の「モニターを消すと」はどういう操作なのかな
695:名無しさん@お腹いっぱい。
16/05/23 17:41:12.39 Y/oB8f+F0.net
電源プランを高性能にしたら閉じても問題ない可能性が微レ存
696:名無しさん@お腹いっぱい。
16/05/23 17:44:12.59 Om5oLSQ00.net
>>665
うん、お前わからないならもう黙っとけ
697:名無しさん@お腹いっぱい。
16/05/23 17:45:25.35 SHKzUHqm0.net
お前も分からんだろw
698:名無しさん@お腹いっぱい。
16/05/23 18:01:21.31 Om5oLSQ00.net
まともな知能してりゃわかるわ
教えて欲しいのであれば泣いて乞えば教えてやらんこともないぞ
699:名無しさん@お腹いっぱい。
16/05/23 18:07:12.66 NAbpZ3gT0.net
馬鹿しかいない
700:名無しさん@お腹いっぱい。
16/05/23 18:08:17.40 KUcZhr+W0.net
横からだけど教えてください先生
701:名無しさん@お腹いっぱい。
16/05/23 18:08:41.66 SHKzUHqm0.net
>>669
今までのレスから操作絞り込めるか?
そこまで言うなら教えてくれてもいいけど
702:名無しさん@お腹いっぱい。
16/05/23 18:11:19.87 n2IWxOLx0.net
初心者です教えてください
キー1を押したら画像1をクリック
画像1がない場合はスルー
この命令文を作りたいのですが可能でしょうか?
703:名無しさん@お腹いっぱい。
16/05/23 18:16:28.67 07l0fM3F0.net
Windows10で試したけど現象は再現できなかった
グラボなどに依存するのかな?この症状の人前スレにも居た気がする
i = 0
While chkimg(ペイントで描いた四角を黒に塗りつぶした.bmp)
Print i
i = i + 1
Wend
これを実行し画面上に図形があればループするのを確認
結果
1.モニタの物理スイッチで電源を切っても動作を続けていた
2.電源オプションのディスプレイの電源を切るを1分に設定し
電源が切れたがUWSCは動作を続けていた
704:650
16/05/23 18:18:08.60 n2IWxOLx0.net
ごめん自己解決しましたスレ汚し失礼しました
705:名無しさん@お腹いっぱい。
16/05/23 18:19:58.74 Om5oLSQ00.net
いや普通のソフトではそうそう起きないで
�
706:ヌうせ>>655がやってるのはブラゲやろうしほっとけ FLASHはとある設定にしているとそうなる
707:名無しさん@お腹いっぱい。
16/05/23 18:29:50.19 07l0fM3F0.net
なるほどそういうことか
708:名無しさん@お腹いっぱい。
16/05/24 08:40:43.48 ulUMV5rg0.net
単にモニタだけ消したつもりがスリープに入ってるだけ
ゲームで不正したいだけの情弱に両者の違いなんて分かりゃせんよ
709:名無しさん@お腹いっぱい。
16/05/24 18:49:36.81 b8cKyUcsK
上級者を装ったアスベがたまに沸くのな
710:名無しさん@お腹いっぱい。
16/05/24 18:46:54.42 2fqHfJSR0.net
>>643
アクティブになっちゃって駄目でしたorz
711:名無しさん@お腹いっぱい。
16/05/25 05:33:42.54 qc9mPYKv0.net
すいません、下記のプログラムで、
複数回メッセージが送られてしまう時があるのですが、Threadってそういうものなのですか?
roop = true
while roop
thread SEND_MESSAGE()
roop = false
wend
//プロシージャの処理
PROCEDURE SEND_MESSAGE()
id = "samplewindow"
//画像が見つかるまで待機
while !chkimg("sample.bmp")
sleep(0.1)
wend
sendstr(id,"test")
FEND
712:名無しさん@お腹いっぱい。
16/05/25 05:54:33.10 SeV4kQrk0.net
なんでスレッドを使ってるんですか?
713:名無しさん@お腹いっぱい。
16/05/25 06:04:14.25 qc9mPYKv0.net
>>682
もう一つPROCEDUREがあって、それと平行して処理を行いたいのでThreadを使っています。
714:名無しさん@お腹いっぱい。
16/05/25 06:08:59.61 VC3NiHzh0.net
ところで
WHILE !CHKIMG
の!って何
715:名無しさん@お腹いっぱい。
16/05/25 06:13:42.85 5jXg23Qa0.net
>>683
thread SEND_MESSAGE()
もうひとつのPROCEDURE
Threadで関数を呼べば別スレッドで動くのでその後に
もうひとつの関数を呼ばべいいんじゃないですかね
Threadのヘルプのサンプルコードを確認してみてください
716:名無しさん@お腹いっぱい。
16/05/25 06:28:13.25 SeV4kQrk0.net
>>681
なんでwhile roopなんてのでくくってるのか分からん。
thread SEND_MESSAGE() この一行だけで済むのに。
他にコードがあるんだろうから、複雑になってるのならまずスレッドが起動コードがほぼ同時に動いて複数スレッドが
立ち上がってないかチェックだろ。
717:名無しさん@お腹いっぱい。
16/05/25 06:28:43.97 qc9mPYKv0.net
>>685
言葉がたりませんでした。
while true
//特定のウィンドウへメッセージを送る処理
thread SEND_MESSAGE()
//特定の時間になった時、このマクロを終了する処理
thread ETC_PROC()
break
wend
PROCEDURE SEND_MESSAGE()
id = "samplewindow"
notSendFlg = true
while notSendFlg
//画像が見つかり、windowへテキストを送ったら終了する
ifb chkimg("sample.bmp") then
sendstr(id,"test")
notSendFlg = false
endif
wend
FEND
こういう処理を実施しています。
理想としては、
指定のウィンドウへ1度のみ
[test]の文字が貼り付けられることを理想としてるのですが、
時々2回[testtest]となることがあります。
718:名無しさん@お腹いっぱい。
16/05/25 06:53:35.37 5jXg23Qa0.net
>>687
>>685-686は確認しましたか?Threadの使い方が根本的に間違っている
719:名無しさん@お腹いっぱい。
16/05/25 12:07:58.98 GhobSKXvk
スレッドで関数呼んだら呼び出しっぱなしで次の処理に行く、ってことをたぶん理解してない
というか、そのままループスレッド囲ったら SEND_MESSAGE() が立ち上がりまくりで
数万スレッド動かすことになって固まらないか?
特定の時間になったら終了したいなら While 終了時間>現在時間 だし
画像が見つからなかったらループ待機してほしいなら
メインのWhileの中で If ChkImg Then SEND_MESSAGE() とやるべきだし
やりたいこととやってることが矛盾してる
720:名無しさん@お腹いっぱい。
16/05/25 16:10:29.32 FLI6zEwr0.net
>>687
threadはスレッドを立ち上げるだけでそのスレッドが終了するまで
待つコマンドではないからthread文自体は一瞬で終わる。
while true
thread hoge()
wend
こんな事をすると無限にスレッドを生成する
721:名無しさん@お腹いっぱい。
16/05/25 20:44:37.72 zbXoNeMpi
>>690
>こんな事をすると無限にスレッドを生成する
スレッドの最大数は64(Ver4.9以前は最大数16)
なので無限にスレッドを生成はされない
最大数を超えた場合はログに以下のようなメッセージが記録されて終了
Error: 最大スレッド数=64 を超えました 5行目: THREAD TEST()
一応、突っ込んでおきますね
722:名無しさん@お腹いっぱい。
16/05/26 01:03:02.87 crNAiUAg0.net
>>690
そいつ,、while trueで始めて一回めですぐbreakしてるんだわ。
何を目的でそんなことやってるのか意味不明。
実際のコードでは何らかの条件でループしてるのかも知らんが、それならなおのこと複数起動を疑うべき
なんだがな。
723:名無しさん@お腹いっぱい。
16/05/26 01:42:39.81 kM0zrNJcx
ほんとだわ
よくみたら>681と>687でコードがまるで違ってるわ
>681は多重起動しまくりデッドループで固まるし
>687は最初のwhileがまったく意味不明でスレッド内のwhileが超高速ループしまくってるし
とりあえずどっかにうpして全体張ってみろよ
でなきゃ皆わからんぞ
724:名無しさん@お腹いっぱい。
16/05/26 01:50:58.87 GHY035fF0.net
PRO~で分割しないでストレートにででーんと書いちゃえばいいのにね
基本コピペだからPRO~が覚えにくい
プロセェドゥルェァみたいな感じで頑張って覚えてる
725:名無しさん@お腹いっぱい。
16/05/26 02:40:36.66 XcPr3zsT0.net
Procedureのスペルは確かに覚えにくいな。
pascal言語系はfunctionとprocedureを明確に分けてるけど、UWSCでやる必要あったのかと・・
726:名無しさん@お腹いっぱい。
16/05/26 02:44:51.20 zlIEVQZ80.net
FENDがあったりWENDがあったりするしな
727:名無しさん@お腹いっぱい。
16/05/26 03:00:02.79 K74sgkuf0.net
全部function使っちゃえばいいんじゃない?
わざわざ分けてるってことは速度的に不利とかなんだろうけど。
728:名無しさん@お腹いっぱい。
16/05/26 03:17:26.24 kM0zrNJcx
function使うとresultしにゃいけなくなるのが面倒でなあ
resultの初期値を自動でnothing固定にして関数宣言してくれていれば楽だったんだが
729:名無しさん@お腹いっぱい。
16/05/26 06:48:16.17 0aBg9FVV0.net
初心者です。
知恵をお借りしたいことがあります。
「複数台のPCで(2巡目以降に画像認識を含む)ループ作業」
を行いたいのですが
個々のディスプレイ環境により
自分のPCで作成したbpm画像では
順当ではありますが
他の全てのPCで上手くはいきません。
なので、代替案として
個々のディスプレイ環境で
画像認識すべき座標内にある特徴的な1点を
1巡目にpeekcolorでcolor_aと定義し、
2巡目以降の画像認識の代わりに使用する
下記のコードを考えました。
color_a = peekcolor(x,y)
while peekcolor(x,y) = color_a
処理
wend
このように
「とある画像が表示されている間
処理を繰り返すという命令を
複数台のPCでも同様に行いたい」のですが
これも上手くいきませんでした。
これに対する解決法、もしくは代替案を
助言して頂ければ幸いです。
730:名無しさん@お腹いっぱい。
16/05/26 08:16:04.50 HPQmxT4F0.net
なぜ上手くいかないのか自分で説明してみよう
あとbmpな
731:名無しさん@お腹いっぱい。
16/05/26 08:42:20.05 GBBvDE2C0.net
>>699
うまく質問の意図が汲み取れません
732:名無しさん@お腹いっぱい。
16/05/26 09:18:05.09 T8wTbJM00.net
>>699
画像に関しては、片方がディスプレイの設定が24ビットモードと16ビットモードだったら、
当然異なってくる。極端な話し、前者が黄色に見えてても後者なら灰色に見えてくる。
あと、操作したいウィンドウサイズ�
733:窿tォントによって、画像が変わってくることがある。 これは画像の背景がグラデーションなんか使ってる場合、フォントやウィンドウサイズによって影響を受けるから。 二巡目のループに関しては多分、画面の中に同じ色使ってる箇所があるんじゃないの。 こんな図で最後の■を認識したいのに、最初の画像で認識ストップしたとか ■□ □■
734:名無しさん@お腹いっぱい。
16/05/26 10:56:35.12 kM0zrNJcx
グラボのメーカーやドライバのバージョンによっても微妙に色が違うからな
対象のPCでそれぞれ画像を作り直すのが一番いい
Win8とかには画像切り取りツールと言う便利なものもあるので活用されたし
どうしても面倒なら↑で紹介されているChkImg_Xという有志が作ったモジュールを活用されたし
類似性があれば多少の色合いの変化を無視して一致できる ただし使いこなすにはそれなりのスキルが必要
735:名無しさん@お腹いっぱい。
16/05/26 11:35:50.44 RPJWHBkl0.net
どなたかお知恵をお貸しください。
UWSCスクリプトの中で、もうひとつのUWSCを起動するために
「EXEC(
736:名無しさん@お腹いっぱい。
16/05/26 11:37:14.58 RPJWHBkl0.net
↑途中で切れました。すみません。
どなたかお知恵をお貸しください。
UWSCスクリプトの中で、もうひとつのUWSCを起動するために
「EXEC(”パス\uwsc.exe スクリプト.UWS”,True)」
と記述していて、意図通り、正常に動作しております。
しかし、Windows8.1の環境で、起動に7秒ぐらいかかります。
Windows7、Windows10、WindowsXPでは、1秒で起動します。
試しにこのWindows8.1のコマンドプロンプトで
「パス\uwsc.exe スクリプト.UWS」
を実行しても、起動に7秒ぐらいかかります。
「パス\uwsc.exe」
のように起動のみだと、1秒ぐらいで起動します。
普通にUWSC.exeを起動し、読み込みからこのスクリプトを実行すると、即実行されます。
Windows8.1マシン3台で試しました。
なにかここから先、問題の切り分け等、更に追及する手法はございますでしょうか。
どうぞ宜しくお願いします。
737:名無しさん@お腹いっぱい。
16/05/26 11:56:27.04 8HXMfCmO0.net
UWSC本体のバージョンは同じなんだよね?
スクリプト.UWS はどんな作業させてるの?
738:名無しさん@お腹いっぱい。
16/05/26 12:26:22.90 GHY035fF0.net
どこをどうみて1秒とか7秒とか判断しているのか
739:名無しさん@お腹いっぱい。
16/05/26 12:42:21.97 Ffr8RBZ90.net
アンチウイルスソフトの使用状況
1行だけのコードでも同じように7秒掛かるかは最低限調べておきたいね
740:名無しさん@お腹いっぱい。
16/05/26 13:00:21.82 RPJWHBkl0.net
レスありがとうございます。
とりあえず、解決というか、原因は分かりました。
>>706
>>707
はい、同一のバージョンです。
とりあえず問題をシンプルにするために、さきほど簡潔なコードで実験しました。
test.uws の中身 「print ”あああ”」のみ。
コマンドプロンプトで
「パス¥uwsc.exe パス¥test.uws」
これでエンターを押してから、UWSCのUIとPrintの枠が表示されるまでに約2秒で、
枠が出てから「あああ」と表示されるまでに約4秒です。
>>708
Windows Defender のリアルタイム保護を無効にしたら、即起動実行されるようになりました。
ここ1週間ぐらいのアップデートで、なにか仕組みが変わったのかもしれません。(以前は正常に起動していたので)
自分のPCは設定を変えればOKですが、スクリプトを配布した先でもいちいち設定しないといけなくなりました。
結論として、現行のWindows Defender のリアルタイム保護を有効にしていると、コマンド経由のUWSC.exe起動に少々もたつくようです。
(Windows8.1に限らないかも知れません)
レスくださった皆様、ありがとうございました。
741:名無しさん@お腹いっぱい。
16/05/26 13:10:46.81 crNAiUAg0.net
>>709
Windows8.1 + WindowsDefenderで即起動するから関係ないよ。他の何かが悪さしてるのでは?
742:名無しさん@お腹いっぱい。
16/05/26 13:18:56.12 RPJWHBkl0.net
>>710
えと、なにか書き方が悪かったかもです。すみません。
Windows8.1 + WindowsDefenderで即起動「しない」のです。
WindowsDefender のリアルタイム保護を無効にすると、即起動します。
743:名無しさん@お腹いっぱい。
16/05/26 13:23:06.46 crNAiUAg0.net
>>711
だから、うちのPCでは「即起動する」と言ってるんだけど?
744:名無しさん@お腹いっぱい。
16/05/26 13:23:27.63 RPJWHBkl0.net
>>710
何度もすみません、そちらの環境で実験してくれたって意味ですね。
勘違いしました。
あれれ、だとすると、おかしいなぁ。
とりあえず、リアルタイム保護は有効で、除外設定でUWSCを置いてるフォルダを指定したら即起動するので、原因はDefenderだと思うのですが。。
745:名無しさん@お腹いっぱい。
16/05/26 13:24:18.51 L9oPHdwS0.net
>>713
君の環境においては、defenderが原因だとわかってるのだから、無効にしたらよい。
746:名無しさん@お腹いっぱい。
16/05/26 13:24:47.25 RPJWHBkl0.net
>>712
はい、書き込んでから気づきました。すみません。。
えと、それは、コマンドプロンプトからの起動ですよね?
747:名無しさん@お腹いっぱい。
16/05/26 13:25:46.52 6IMqxfTk0.net
>>715
>>710は同じ条件で現象再現しないと言っているのだと思う
とりあえず解決したならそれでいいんじゃない?
748:名無しさん@お腹いっぱい。
16/05/26 13:28:19.37 RPJWHBkl0.net
はい、解決したので大丈夫です。
お騒がせしました。
ありがとうございました。
749:名無しさん@お腹いっぱい。
16/05/26 13:35:53.62 crNAiUAg0.net
>>715
WindowsDefenderは最新でリアルタイム有効で除外フォルダ設定もなし。
コマンドプロンプトからPRINT "XYZ"だけのUWSファイルは即起動するし、別のUWSファイルから起動しても即。
なお、他のソフトはあまり入ってない。
除外フォルダ指定で解決と納得するか、そうじゃないなら新規に8.1をクリーンインストールして原因探るしかないね。
750:名無しさん@お腹いっぱい。
16/05/26 13:40:46.61 K74sgkuf0.net
そんな半端な時間がかかるってのは、ネットワークの反応待ちとかが挟まってるのかも?
DNSとかウイルスデータベースとか?
751:名無しさん@お腹いっぱい。
16/05/26 13:49:59.95 GHY035fF0.net
そもそもなんだけどね
EXECで呼ぶ必要性があるのかっていうところが気になってる
同期trueだし?
752:名無しさん@お腹いっぱい。
16/05/26 14:03:53.12 RPJWHBkl0.net
>>719
ですよね笑
長くなりますが、
>>238
から参照してもらえると~。
753:名無しさん@お腹いっぱい。
16/05/27 00:59:27.02 7S7ft1Hi0.net
>>702
なるほど。
もう一度、ディスプレイ環境の影響について
よく調べて吟味してみます。
ありがとうございました。
754:名無しさん@お腹いっぱい。
16/05/27 21:58:32.05 F0EKfdkN0.net
俺は仮想環境でやってるので、最低限のスペックのPCで動かしてるが、
EXEどころかthreadの新規生成ですら時間がかかる。
そこで一度生成したthreadを終了させず、
グローバル変数を処理開始フラグにして再利用している。
件の時間かかるスクリプトも、常駐させるなり関数化するなりしたほうが良い。
755:名無しさん@お腹いっぱい。
16/05/27 22:52:52.09 oAWlyUIP0.net
スレッドやプロセス管理とかはOSがやる中核の仕事だけど
いろんな要因で時間かかったりするんだろうな。
756:名無しさん@お腹いっぱい。
16/05/29 18:20:21.92 V3XZzEV00.net
>>680
UWSC自身がアクティブだと、送り先がアクティブになるね
UWSC起動直後がそうだから、短いテストスクリプトで散々悩んだよ
757:名無しさん@お腹いっぱい。
16/05/30 16:13:13.93 mWCg7vFm0.net
BlueStackApp Playerで使ってる人っていますか?
MOUSEORGだとY座標を指定しても常に0扱いになってしまい困ってます
758:名無しさん@お腹いっぱい。
16/05/30 16:21:00.33 Eclk7T2x0.net
バッググラウンドで動かすのを諦めたら済む
759:名無しさん@お腹いっぱい。
16/05/31 10:59:25.09 n4nqvzP60.net
ゲームのマクロはif文でほとんど片付けてる
プログラム初心者でも充分扱える
760:名無しさん@お腹いっぱい。
16/05/31 11:08:08.27 /fdxEw800.net
>>728
入れ子構造が複雑化してどのifとどのEndifが対応しているかわけわかんなくならないか?
761:名無しさん@お腹いっぱい。
16/05/31 16:29:36.66 LXmi
762:8N0Z0.net
763:名無しさん@お腹いっぱい。
16/05/31 17:38:35.34 +EtVfRN50.net
関数を細分化する
あとテキストエディタでIF-Endifとかに色付けられる奴使えばいいんじゃないかな
UWSCの定義は自分で作るか配布してあるの探すか
>>591辺りでテキストエディタのレスがある
764:名無しさん@お腹いっぱい。
16/05/31 18:28:35.65 iO6ZTJhw0.net
if文で済んでいるならそれでいいじゃない
と思うんだけど。
高度なテクニックはメンテしにくくて嫌というのもある。
2回ぐらいならループ使うな、コピペで済ませろという方針だし。
もちろんコメントに「あと1箇所あるよん」と書いておく。
反論は認めないし返事もしない。
765:名無しさん@お腹いっぱい。
16/05/31 22:20:53.05 eta1LKPQ0.net
ifとEndifの結び付きを図示してくれるエディタないかな?
もしくは自動でインデントつけてくれるようなやつ
後から処理追加としてifを書き足すときに対となるEndifを書き足す位置をよく間違える・・・
766:名無しさん@お腹いっぱい。
16/05/31 22:25:22.87 AXd4K0c90.net
VS使えばええ
767:名無しさん@お腹いっぱい。
16/06/01 00:42:27.34 34LkCFKs0.net
15年位前の関数掃き出し出来なかった頃、
IF文とFOR文だけでメインルーチンのみで、
ログインからログアウトまで例外処理含めて自動化したが、
縦にも横にも超巨大になって、仮に全体を俯瞰できたらリアス式海岸、
もはやENDIFやNEXTの後ろに何の終わりなのかコメントを入れないと
訳が判らなかった。懐かしい。
768:名無しさん@お腹いっぱい。
16/06/01 01:16:09.20 hiH+RRrx0.net
めもめも
769:名無しさん@お腹いっぱい。
16/06/03 02:34:22.87 Dw7Hvcyqr
割り込みってできませんか?
具体的にはいつ出てくるかわからない画像をchkimg(x)で監視して出てきたらフラグを立てたいです
770:名無しさん@お腹いっぱい。
16/06/03 06:02:48.47 M8yX+0FrU
>>737
割り込みというのが具体的にどんな処理がしたいかわからないけど
いつ出てくるかわからない画像が出たらフラグを立てるというのは
スレッドでchkimgして出てきたらグローバル変数のフラグを立てる
というのはできそうな気がする
771:名無しさん@お腹いっぱい。
16/06/03 06:15:13.81 eI8wQHxs0.net
基本はメインルループを短く書いて、関数つかってひと目で動作分かるようにするのがいいかな。
長くなりそうならCallすれば、横も縦も短くてメンテしやすい。
while true
//メインループ
ifb 条件 = TRUE
自作関数A()
endif
ifb 条件 = TRUE
自作関数B()
endif
ifb 条件 = TRUE
CALL 別のuwsc(ハンドルとか渡す)
endif
sleep( 1 ) // wait
wend
772:名無しさん@お腹いっぱい。
16/06/03 07:17:27.97 /dUgy5Kk0.net
別のuwscファイルをそれ単体で動かすことがあるならともかく、
呼び出す度にいちいちcallするくらいなら
関数化して呼び出した方がいいような気がするけど、何か違いがあるのかしら
俺は機能別に関数をいくつかのファイルに分けてマクロ起動直後にまとめて一度だけcallして
後は普通に関数として呼び出すようにしてるから、メインuws以外は全て関数のみにしてるわ
メイン以外を単体で使うん?
773:名無しさん@お腹いっぱい。
16/06/03 07:18:49.24 65ZasscD0.net
個人的には 1行if の方が好み
774:名無しさん@お腹いっぱい。
16/06/03 11:43:13.65 ZwdUkXez0.net
IFBも"B"は省略出来るんだよな
癖で付けてしまうけど
775:名無しさん@お腹いっぱい。
16/06/03 12:07:05.22 QHuZQiAS0.net
アップデート来るまではBを付け忘れてよくエラーになってた
776:名無しさん@お腹いっぱい。
16/06/03 12:36:39.57 nV4+98dxD
業務で使ってると全バージョンで動くように最近追加された関数や仕様は全部無視してるわ
777:名無しさん@お腹いっぱい。
16/06/03 12:41:23.14
778: ID:eI8wQHxs0.net
779:名無しさん@お腹いっぱい。
16/06/03 19:16:04.94 g49MS5a90.net
一行に詰め込んで一行ifすっきり。
ただ、その一行は完全固定でメンテしないことが前提だが。
780:名無しさん@お腹いっぱい。
16/06/04 22:58:50.37 2/JFrX5a0.net
Windows10のシステムクロック(PC内時計)をUWSCでサーバーに同期させるにはどのようにしたら良いのでしょうか?
781:名無しさん@お腹いっぱい。
16/06/04 23:05:26.06 2wfCtYUN0.net
uwscを使うために仮想環境を組んでる人はどのソフトを使用していますか?
vmware / virtual box等あるようですが、入れるOS含めどのような環境にしているのでしょうか
782:名無しさん@お腹いっぱい。
16/06/04 23:08:42.03 gyxgKiyl0.net
>>747
時計合わせる手動の操作を記録して実行
783:名無しさん@お腹いっぱい。
16/06/04 23:09:36.65 fcLSnrJM0.net
>>748
聞く前にやってみろ
784:名無しさん@お腹いっぱい。
16/06/05 00:10:48.30 Ng1YOV/u0.net
>>750
いや、情報を集めたいだけだろ