■ このスレッドは過去ログ倉庫に格納されています
自動化ツールUWSC使いよ集まれ13
- 1 :名無しさん@お腹いっぱい。:2014/10/18(土) 11:46:19.83 ID:yC04f7EM0
- Windowsの作業を自動化するツール
フリーソフト版とシェアウェア版の2種類がある
ttp://www.uwsc.info/download.html
●UWSC 掲示板(※作成依頼掲示版ではありません)
質問の際には自力で作ったスクリプトを晒すか、具体的な解らない場所を提示すること
上級者が常駐、たまに作者も現れるため過去ログには有益情報の宝庫
ttp://www3.bigcosmic.com/board/s/board.cgi?id=umiumi
ttp://www3.bigcosmic.com/board/s/board.cgi?id=umiumi&mode=past
●UWSC - Wikipedia
ttp://ja.wikipedia.org/wiki/UWSC
●使い方・基礎解説学習サイト
ttp://uwsc.g.hatena.ne.jp/cx20/20100131/1264938584
ttp://www.confrage.com/uwsc/
ttp://necro.jp/dev/uwsc/
ttp://park14.wakwak.com/~simizu/uwsc/fruwsc.html
ttp://canal22.org/
ttp://big.tm.land.to/handbook/uwsc.htm
ttp://www.game-rev.com/review/gameut/uwsc.html
●スクリプトテンプレサイト
ttp://izagne.com/uwsc/
ttp://scripts.web.fc2.com/
ttp://www.nagomi-jp.net/~liners/
ttp://nem.symphonic-net.com/uwsct/0610uwsct.html
ttp://siromasa.digi2.jp/uwsc/
ttp://iriyak.adam.ne.jp/uwsc.html
- 475 :名無しさん@お腹いっぱい。:2014/12/31(水) 06:03:59.28 ID:OuzlGTZO0
- 桁数の大きな数値を取り扱う時ってどうすればいいんですか
A=5646546516515135151
B=6546549849846546546546
C=A*A*B*B*B
print C
これを計算させると
8.94547194841095E102
と表示されてしまい詳細が見えません
- 476 :名無しさん@お腹いっぱい。:2014/12/31(水) 07:05:22.62 ID:DjD8z53F0
- >>475
四倍精度、八倍精度などの外部処理系に丸投げするとか?
- 477 :名無しさん@お腹いっぱい。:2014/12/31(水) 07:21:52.02 ID:DjD8z53F0
- >>475
何桁かに分解してそれぞれ計算させて、「表示」の際に合成
- 478 :名無しさん@お腹いっぱい。:2014/12/31(水) 11:52:04.19 ID:UkwXpY2C0
- >>475
1.EXCELや電卓を自動操作して取得(これ、そういうツールだから。)
2.多倍長演算のアルゴリズムを自力で実装(ttp://poset.jp/ompa/node2.html)
3.ってかその表示、演算成功してね?EXCELでも同じ結果よ?
8.94547194841095E102
= 8.94547194841095 * 10^102
≒ 894547194841095000000000000000......
ttp://pc.nikkeibp.co.jp/pc21/special/gosa/eg4.shtml
- 479 :名無しさん@お腹いっぱい。:2014/12/31(水) 12:33:14.75 ID:UkwXpY2C0
- fltNum = 8.94547194841095 * power(10, 102)
print fltNum
//print Format(fltNum, 50) だめ
strNum = "" + fltNum
posD = POS(".", strNum); PRINT "小数点位置=="+posD
posE = POS("E", strNum); PRINT "指数記号位置=="+posE
strMantissaPart = COPY(strNum, 1, posE - 1); print "仮数部=="+strMantissaPart
numExponentPart = VAL(COPY(strNum, posE + 1, Length(strNum) - posE)); print "指数部=="+numExponentPart
digitNumDecimalPart = Length(strMantissaPart) - posD; print "小数部桁数=="+digitNumDecimalPart
digitNumZeroFilling = numExponentPart - digitNumDecimalPart; print "ゼロ桁数=="+digitNumZeroFilling
IFB numExponentPart < 0 THEN
PRINT "負の指数部は未対応"
ELSE
strMantissaPartInt = REPLACE(strMantissaPart, ".", "")
strZeroFilling = REPT("0", digitNumZeroFilling)
strFixPointNum = strMantissaPartInt + strZeroFilling
PRINT strFixPointNum
ENDIF
FUNCTION REPT(char, numOfTimes)
buf = ""
FOR loop=0 TO numOfTimes
buf = buf + char
NEXT
RESULT = buf
FEND
- 480 :名無しさん@お腹いっぱい。:2014/12/31(水) 13:28:26.11 ID:UkwXpY2C0
- え?そういうことじゃないって?w
- 481 : ◆evw/E7kww2 :2014/12/31(水) 14:00:36.07 ID:AeJCkZmC0
- >>475
これがやりたいのかな?
任意精度計算
ttp://ja.wikipedia.org/wiki/%E4%BB%BB%E6%84%8F%E7%B2%BE%E5%BA%A6%E6%BC%94%E7%AE%97
bc - Unix系標準コマンド
.Net4 - BigInteger
JAVA - BigInteger, BigDecimal
Ruby - Bignum, BigDecimal
Python- int, long, Decimal
任意精度計算プログラムを配列で実装
ttp://7ujm.net/play/dcalc.html
50桁の計算ができるサイト
ttp://keisan.casio.jp/has10/Free.cgi
BC コマンドがあるなら PowerShell でもできるかと思ったらどうもできない。
.net4 でできるけど PowerShell としてはできない。
Python を呼び出すのが簡単かと思ったけど
UNIXコマンドをインストールして呼び出すのが簡単かな。
処理は遅くなるし UWSC では文字列としてしか扱えないけど大丈夫かな?
wbin
ttp://win.just4fun.biz/%E9%96%8B%E7%99%BA%E3%83%84%E3%83%BC%E3%83%AB/Windows%E3%81%A7%E5%AE%9A%E7%95%AAUNIX%E3%82%B3%E3%83%9E%E3%83%B3%E3%83%89%E3%82%92%E4%BD%BF%E3%81%86.html
- 482 :名無しさん@お腹いっぱい。:2014/12/31(水) 17:53:10.60 ID:UkwXpY2C0
- そもそも言語仕様でBigintを扱えないから
計算結果を文字列で返すとかのライブラリじゃないと無理
作らないと無いんじゃね?
- 483 :475:2014/12/31(水) 18:55:02.78 ID:OuzlGTZO0
- UWSCだと簡単には無理そうですね
481さんの任意精度計算の方向を調べてみます。
みんなどうもありがとう。
- 484 :名無しさん@お腹いっぱい。:2014/12/31(水) 23:12:18.70 ID:UkwXpY2C0
- え?w
だからさ、EXCELでいいじゃんw
EXCEL上の計算結果をEXCEL上の文字列関数でテキストにした奴をUWSCで受け取るとかでいいじゃんw
VBスタジオで .net 4.0 使って書けばそもそも何の問題もないけど…
わざわざUWSCで何したいんだか…w
- 485 : ◆evw/E7kww2 :2014/12/31(水) 23:44:02.63 ID:AeJCkZmC0
- >>484
エクセル扱える数値最大桁数は?
ttp://detail.chiebukuro.yahoo.co.jp/qa/question_detail/q1243219727
> 数値の有効桁数は 15桁
- 486 :名無しさん@お腹いっぱい。:2015/01/01(木) 00:37:51.28 ID:at7dEPWi0
- VBスタジオw
知ったかwww
- 487 :名無しさん@お腹いっぱい。:2015/01/01(木) 02:31:51.14 ID:0hFDccBH0
- 出来ない理由ばっかり探してんじゃねーぞ?
まず実現する方法が無いか探す、しかもなるべく簡単にだ
多倍長整数演算を行う Excel アドイン
http://supermab.com/biginteger.html
電卓では32桁までの有効数字を扱える
http://www.nokotech.net/merumaga-img/office/excel-yukouketa.html
多倍長電卓LM
http://www.vector.co.jp/soft/win95/personal/se242555.html
そもそも VBスタジオw で書けばUWSCは要らない
http://d.hatena.ne.jp/matsukawar/20120527/1338095845
多倍長演算のアルゴリズムを自力実装とか車輪の再発明もいいとこ
楽するためのUWSCで本末転倒も甚だしい。
ネトゲとかにハマる奴は死ぬまで手段を目的化して何も成し得ずに氏ぬ。
- 488 :名無しさん@お腹いっぱい。:2015/01/01(木) 02:40:06.88 ID:0hFDccBH0
- LM 多倍長電卓 Ver2.17 (C)1999-2008 H.Takahashi
内部有効桁(Word):26 10進表示桁:100
スタートアップマクロ startup.lm を読み込みました
>A=5646546516515135151
= 5646546516515135151.
>B=6546549849846546546546
= 6546549849846546546546.
>C=A*A*B*B*B
=
+8.94547 19484 10946 41868 61278 40446 09723 84130 17714 47148
73471 51920 57586 52423 35944 98619 87380 29137 40407 0360
e102
これコピペして文字列処理すればいいじゃん。
もっと真面目な用途ならC#とかで書けよ。
- 489 :名無しさん@お腹いっぱい。:2015/01/01(木) 03:29:03.51 ID:CkBEVHFE0
- >>488
桁足りて無いじゃんw
- 490 :名無しさん@お腹いっぱい。:2015/01/01(木) 07:16:26.72 ID:0hFDccBH0
- あけおめおはよう。
これで足りないかは目的による。
絶対に精度が必要ならそれは科学技術計算だろ。
んなもんUWSCでやるな。
理由も問わずに典型的な手段の目的化だわ。
- 491 : ◆evw/E7kww2 :2015/01/01(木) 11:51:08.62 ID:Xtm9aTbT0
- ネトゲにはまっちゃってごめんなさいね。
だけど、業務に精通してないとユーザーが求めるものは絶対に作れないって主張する人々もいるんですよ。
実際にはかけられるお金が少ないので得られるものが少ないってだけなんだけどね。
自社のシステムは自社で作らないと成功しない 3 [転載禁止](c)2ch.net
ttp://kanae.2ch.net/test/read.cgi/prog/1416996537/
ところでリンク先に Office と連携する開発ツールが出てくるんだけど(僕の書き込みなんだけど)
UWSC と Office を連携するより、.net と Office を連携した方がいいよね。
まあ、UWSC の機能をちょっと補う程度ならいいと思うけどさ。
「VBAの行き詰まり」って UWSC に置き換えても成立するよね。
でも実際、使う側にとってもそれ以外のものを入れるってのは抵抗があるもんなんだよね。
組み合わせるといろいろできるけど
その組み合わせはできるだけ近く密接な方がいい。
- 492 :名無しさん@お腹いっぱい。:2015/01/01(木) 13:27:13.30 ID:tvWrb8PU0
- ◆evw/E7kww2が場所も空気も読まず誰も聞いてない事を
ベラベラと主張していると思ったら単なるグラブル厨か
荒れる元凶なので読まずにスルーをしましょう
- 493 :名無しさん@お腹いっぱい。:2015/01/01(木) 15:16:38.95 ID:qP+iYoTt0
- 糞コテ氏ね
- 494 :名無しさん@お腹いっぱい。:2015/01/01(木) 17:44:01.76 ID:T7ms11rY0
- コテはクソってはっきりわかんだね
- 495 :名無しさん@お腹いっぱい。:2015/01/02(金) 10:00:50.96 ID:6it1oiAn0
- いやこれよく考えたら、科学系の用途ならむしろ
こんなアホな有効桁数求めないよ。
こんな桁数求めるのは、科学ではなく数学の暗号理論だけだけじゃね?
最初の質問者、UWSC+暗号でこんな所に質問しに来て、
何しようとしてたのかなー(棒)
- 496 :名無しさん@お腹いっぱい。:2015/01/02(金) 18:14:38.99 ID:ouGkdjQt0
- 2進数にして文字列で処理すれば良いじゃない的なアナログ思考
- 497 :名無しさん@お腹いっぱい。:2015/01/03(土) 01:16:27.93 ID:TEcQhoI70
- textblock ps
[bigint] $A=5646546516515135151
[bigint] $B=6546549849846546546546
[bigint] $C=$A*$A*$B*$B*$B
$C
endtextblock
C = trim( powershell(ps) )
print C
- 498 :名無しさん@お腹いっぱい。:2015/01/03(土) 01:46:30.53 ID:PtS8QRvH0
- クリックを認識してくれない病がやっと克服出来ました。
今までこれ↓で認識しない時がちょくちょくあったのを
BTN(LEFT,CLICK,100,100,10)
過去ログでよく「長押しさせると認識する」と書かれていたので
このように↓しても全く状況が変わらず
BTN(LEFT,DOWN,100,100,10)
BTN(LEFT,UP,100,100,200)
こうしたら↓かなり状況が改善され
BTN(LEFT,DOWN,100,100,10)
BTN(LEFT,UP,100,100,200)
SLEEP(0.1)
更にこうしたら↓ほぼクリック認識しない病はなくなりました。
BTN(LEFT,DOWN,100,100,100)
BTN(LEFT,UP,100,100,200)
SLEEP(0.2)
なぜそうなるのか?については全く仕組みが解りません。
でもこれでDMMの某ゲームや某社の某ゲームは
うちのメインPCと古いヘボノートどちらでも安定して動くようになりました。以上チラシの裏でした。
- 499 :名無しさん@お腹いっぱい。:2015/01/03(土) 01:50:32.47 ID:OdjW3EAg0
- ゲーム民は皮が厚くて恥じらいが足りないから苦手だわ
- 500 : ◆evw/E7kww2 :2015/01/03(土) 01:54:37.01 ID:gQef+sSz0
- >>498
DOWNからUPまでの時間が短いからダメなんだよ
はよメンテ終わらんかな
- 501 :名無しさん@お腹いっぱい。:2015/01/03(土) 02:41:43.64 ID:PtS8QRvH0
- >>500
UPの時のウエイトを1000とか2000と記述したり
DOWNとUPの間にSLEEP入れても認識しないのは変わらなかったんですよ。
それがUPした後にSLEEPを入れたら急に認識率が上がりました。
単に長く押せば認識するってものでもないようです。
ゲームによるかも知れませんし、うちの環境だけの問題かも知れませんが。
- 502 : ◆evw/E7kww2 :2015/01/03(土) 04:12:46.02 ID:gQef+sSz0
- >>501
グラブルは1秒DOWNが続いたらクリックとは認識しないね。
長すぎるからダメなんだよ
- 503 :名無しさん@お腹いっぱい。:2015/01/03(土) 08:25:31.60 ID:Ch/qL8Zs0
- 糞コテは去れ
PROCEDURE myClick(cx, cy, kind=LEFT, lSec=0.5, lBeforeSec=0.1, lAfterSec=0.4)
SLEEP(lBeforeSec)
BTN(kind, Down, cx, cy)
SLEEP(lSec)
BTN(kind, Up, cx, cy)
SLEEP(lAfterSec)
FEND
- 504 :名無しさん@お腹いっぱい。:2015/01/03(土) 17:28:51.52 ID:+GujwyQY0
- グラブル厨とせっかく和解してスレの住み分けをしているのに
◆evw/E7kww2がまた来たせいで荒れ始めた
こうした配慮の出来ない人間のせいで戦争は始まるんだね
- 505 :名無しさん@お腹いっぱい。:2015/01/05(月) 13:19:10.17 ID:N3ecgpcF0
- さがりすぎてるんで
age
- 506 :名無しさん@お腹いっぱい。:2015/01/05(月) 19:35:24.58 ID:i1SHVp2R0
- UWSCで使えるDLL一覧ってどっかない?
DLL_DEFの定義まであると楽でいいな
- 507 :名無しさん@お腹いっぱい。:2015/01/05(月) 21:06:09.87 ID:GixqmcdG0
- 逆に使えないDLLなんて存在するのかよ
- 508 :名無しさん@お腹いっぱい。:2015/01/06(火) 00:59:57.15 ID:v6zsfFE40
- >>507
上で話題になってた多倍長で
BigInteger構造体 (System.Numerics.dll)
って使えるの?
やりかたおしえて
- 509 :名無しさん@お腹いっぱい。:2015/01/06(火) 02:05:54.98 ID:p6lCWfBm0
- >>506
MSDN見て頑張れ
- 510 :名無しさん@お腹いっぱい。:2015/01/06(火) 02:11:59.48 ID:v6zsfFE40
- >>509
MSDN見て頑張るのはVBスタジオでいいです
- 511 :名無しさん@お腹いっぱい。:2015/01/06(火) 02:19:07.21 ID:p6lCWfBm0
- >>508
>>497
- 512 :名無しさん@お腹いっぱい。:2015/01/06(火) 02:27:49.61 ID:v6zsfFE40
- >>511
?型 [bigint] が見つかりません。この型を含むアセンブリが読み込まれていることを確認してください。
発生場所 行:1 文字:57
型 [bigint] が見つかりません。この型を含むアセンブリが読み込まれていることを確認してください。
発生場所 行:2 文字:9
型 [bigint] が見つかりません。この型を含むアセンブリが読み込まれていることを確認してください。
発生場所 行:3 文字:9
- 513 :名無しさん@お腹いっぱい。:2015/01/06(火) 02:30:46.67 ID:p6lCWfBm0
- >>512
BigIntegerって.net4以降だな
俺はWindows 8だから7以前は知らん
- 514 :名無しさん@お腹いっぱい。:2015/01/06(火) 03:01:53.21 ID:p6lCWfBm0
- >>512
PowerShellのバージョンを上げる
http://www.microsoft.com/ja-jp/download/details.aspx?id=40855
- 515 : ◆evw/E7kww2 :2015/01/06(火) 03:08:33.50 ID:dNXSASJ30
- >>506
WindowsAPIと同じ、extern C で宣言された関数だけ呼び出せる。
>>508
かなり遠回りの使い方があるらしいけど、古い技術だから今どうなってるかはわからない。
指定の方法でコンパイルしたけどローカルだからか動かん。
Windows 8.1 の IE11 ではサポートされていませんと言われる。
拡張子HTAでもダメだった。
.Net の DLL を IE でオブジェクトとして使う方法。
ttp://d.○hatena.○ne.○jp/language_and_engineering/20100705/p1
。。。さくら?
- 516 : ◆evw/E7kww2 :2015/01/06(火) 03:09:47.13 ID:dNXSASJ30
- >>497 やってみた
すげえ
でも初回は結構時間かかる。
PowerShell上なら一瞬。
まあ、PowerShellの起動に時間がかかるんですけどね。
一応呼び出せるけど遅いし、PowerShellもUWSCより遅いから
速度が必要なら結局他言語が必要。
上記のIE組み込みの方が速度は速い。(動けば)
なんか計算結果の数字が長すぎてさくらが咲いてますよとか言われるッぽいッ
- 517 :名無しさん@お腹いっぱい。:2015/01/06(火) 03:27:21.47 ID:v6zsfFE40
- 済みません駄文じゃなくてコードで語ってもらえますか?
ググって引っかかってくる情報の断片なら間に合ってます
- 518 :名無しさん@お腹いっぱい。:2015/01/06(火) 03:47:38.88 ID:xtKSfMMd0
- 糞コテはNG推奨
- 519 :名無しさん@お腹いっぱい。:2015/01/06(火) 11:40:33.09 ID:iPkmYwew0
- すみません 素人なんですが、上でアップされているchkimgx関数ってどうやってuwscで使うんでしょうか。
ファイルの中身全部uwscに入れてみたり、中の文をコピーしたりして色々試したんですが、
うまいこと使えません。
助けてください(泣
- 520 :名無しさん@お腹いっぱい。:2015/01/06(火) 15:48:46.02 ID:viOATSYDO
- 質問です。
sleep(1〜10)
みたいなことがやりたいんですがなるだけスマートな方法を教えていただけませんでしょうか?
- 521 :名無しさん@お腹いっぱい。:2015/01/06(火) 16:52:41.96 ID:AjglCslA0
- スマートの定義から始めようか
- 522 :名無しさん@お腹いっぱい。:2015/01/06(火) 17:13:27.55 ID:viOATSYDO
- もっさりしていないこと
- 523 :名無しさん@お腹いっぱい。:2015/01/06(火) 17:16:26.58 ID:AjglCslA0
- じゃ、とりあえず今のもっさりとしたコードを提示してみよう
- 524 :名無しさん@お腹いっぱい。:2015/01/06(火) 17:55:58.11 ID:bWkqUXDW0
- どういう意味だ?
・1から10秒の間でランダムに停止時間を変えたい
・条件によって停止時間を変更する処理を完結に表現したい
・・・とか色々考えられるが曖昧すぎて分からない
いずれにしても別にCPU消費するわけでもないから
もっさりする要素なんてどこにもないし分からないな
- 525 :名無しさん@お腹いっぱい。:2015/01/06(火) 17:59:36.39 ID:TAf7/5YQ0
- >>521-523を読んでどうしてそんなレスになった
- 526 :名無しさん@お腹いっぱい。:2015/01/06(火) 18:06:22.50 ID:gHqDGsFq0
- そもそもスマートの反対がもっさりってのが
- 527 :名無しさん@お腹いっぱい。:2015/01/06(火) 18:26:50.05 ID:JhfiJZ0H0
- random(数字)
使え
k=1+random(9)
sleep(k)
とか
俺は素人だからこれぐらいしか知らん
- 528 :名無しさん@お腹いっぱい。:2015/01/07(水) 00:10:28.96 ID:vZHIzB780
- 誰か、ザキガニジャンケンを自動化して2000円クーポン当ててみたら?
http://pizza-la-special.com/janken
- 529 :名無しさん@お腹いっぱい。:2015/01/07(水) 00:13:27.11 ID:WnNM08tm0
- 変数に半角アルファベット文字を指定するにはどうしたら良いでしょうか?
例えば変数に
nedan = (apple,100,108)
と入れようとすると「変数appleが定義されていません」とエラーになってしまいます。
今は
name = "apple"
nedan = (name.100,108)
という二度手間をやってるんですが、一発で指定する方法無いでしょうか?
- 530 :名無しさん@お腹いっぱい。:2015/01/07(水) 00:20:58.60 ID:hqVl1xnh0
- え?
変数nameも変数nedanも半角アルファベット文字で定義されてるで…
え?
二度手間のほうが何でエラーになら…
え?
二重引用符で囲むことが判ってて何で…
え?
ナポリタンの類?
- 531 :名無しさん@お腹いっぱい。:2015/01/07(水) 18:25:58.64 ID:gCHSRLXg0
- ブラウザゲーの簡単な作業をUWSCでやりたいんだけどマウス位置っていちいち自分で確かめてコード書いていくの?
記録でやってたらアホみたいな行数になるし遅くなるし
- 532 :名無しさん@お腹いっぱい。:2015/01/07(水) 18:32:05.02 ID:/ee3le9W0
- その質問と待ってる時間の間くらいにはマウス位置全部メモれるだろうなブラウザゲーなら
- 533 :名無しさん@お腹いっぱい。:2015/01/07(水) 18:36:38.75 ID:gCHSRLXg0
- >>532
ブラウザゲーはメモって行った方が早いか
でもttp://cursors.io/の高速化もしたいからかなり座標多いんだよな
- 534 :名無しさん@お腹いっぱい。:2015/01/07(水) 20:25:12.69 ID:YtOS5GGy0
- ショートカットキーで座標や周辺のスクショを記録保存する支援スクリプト作れば捗るよ
- 535 :名無しさん@お腹いっぱい。:2015/01/07(水) 23:01:32.95 ID:nXo0hS850
- 座標はUWSCの設定で
低レベル記録・余計な記録をしないON・クリップボードONにしてエディタにコピペ
スクショはEasyShotのようなツール使用
- 536 :名無しさん@お腹いっぱい。:2015/01/08(木) 19:11:24.02 ID:kb1fTZOz0
- >>533
記録とったなら、座標全部書いてあるだろうが
- 537 :名無しさん@お腹いっぱい。:2015/01/08(木) 21:43:04.92 ID:FK67FHmV0
- グラブルスレが機能不全になってるのでこっちに書きます
カジノポーカーマクロの作成お願いします
- 538 :名無しさん@お腹いっぱい。:2015/01/08(木) 23:29:42.84 ID:Hx+0HYP60
- 製作依頼は依頼スレへどうぞ
- 539 :名無しさん@お腹いっぱい。:2015/01/09(金) 02:15:42.31 ID:G1u8n4ZX0
- ブラウザゲーのゲーム上で文字が点滅している物や背景に何か流れているものを
認識してクリックしたいのですが、どうすればいいのでしょうか。
画像認識で何とかしようとしたのですが、上手く出来ませんでした。
関数や参考になるものがありましたら教えていただきたいです。
- 540 :名無しさん@お腹いっぱい。:2015/01/09(金) 03:20:35.53 ID:d/76qqeZ0
- >>539
どういうコードを試して、どのようにできなかったかが無いと、なんとも言いようがない
- 541 :名無しさん@お腹いっぱい。:2015/01/09(金) 04:02:46.68 ID:G1u8n4ZX0
- >>540
WHILE (CHKIMG("tansak.bmp", 1, 0, 0, G_SCREEN_W, G_SCREEN_H, -1,IMG_MSK_BGR4) = False)
sleep(5)
IFB CHKIMG("TOP38.bmp")
x=G_IMG_X
y=G_IMG_Y
BTN(LEFT, CLICK, x+50, y+50, 100)
SLEEP(3)
ENDIF
WEND
ある画像を認識クリックし特定の画像が画面内にあったらループから抜けるものを想定して作りました。
ですが、抜ける際の画像が◯の中に探索と書かれてその背景にエフェクトが流れている物で
認識してくれずループから抜けれません。
ですので、そのようなFlash?を認識出来る方法が知りたいです
- 542 :名無しさん@お腹いっぱい。:2015/01/09(金) 04:14:42.03 ID:AM81bVfN0
- >>541
画像を処理して変化の無い部分だけ切り取れ。
それでもダメなら実は背景以外にエフェクトがある可能性もある。
てか、ゲームマクロはスレ違いだから。
- 543 :名無しさん@お腹いっぱい。:2015/01/09(金) 04:26:44.99 ID:JGri3Q260
- いちいち構うなよ
- 544 :名無しさん@お腹いっぱい。:2015/01/10(土) 06:01:58.36 ID:ziCSbSKu0
- 何だかんだ言っても答えてくれるツンデレ兄貴達多いけど
建前上ゲームとは言わない方が印象良いゾ
勿論最低限自分で試す&コード晒しは必須だ
範囲と検索画像でか杉内
俺もchkimgで高速で動く画像をクリックするコード作ったが
普通に認識したけドナー。100x50pxから16x2px位の画像で。
あとは背景画像の方を検索させて、それじゃなくなったら
ループ脱出とかかな。
- 545 :名無しさん@お腹いっぱい。:2015/01/11(日) 11:45:06.69 ID:WBYJIzml0
- 一応希望の動作をしているのですが間違いがある場合指摘して頂きたく書き込みました。
画像Aか画像Bが表示されるまでループする物を作ったのですが、以下の物で問題ないでしょうか?
また、画像を3個に増やす場合はループ終了のある一行を増やして行けばOKでしょうか?
REPEAT
SLEEP(0.5)
IF CHKIMG("画像A.bmp") Then break //ループ終了
UNTIL CHKIMG("画像B.bmp")
- 546 :名無しさん@お腹いっぱい。:2015/01/11(日) 12:07:38.61 ID:MBc9eY7o0
- 正常動作するコーディングに間違いなんてない!
あるのは効率的か否かだけだ!
おれなら
REPEAT
IF 画像A
ELSEIF 画像B
ELSEIF 追加画像
ENDIF
UNTIL 強制終了フラグ(キー押下とか指定時間経過とか)
3つ以上になったら配列に画像名突っ込んでForループするけど
- 547 :名無しさん@お腹いっぱい。:2015/01/11(日) 13:02:07.55 ID:23rg/7r50
- UWSCはプログラミングのとっかかりとしてはいいよね。無知でもそこそこの物が作れて、今は他の言語を勉強してるけど、ようやくUWSCでつくった機能を完全移植できた。
- 548 :名無しさん@お腹いっぱい。:2015/01/11(日) 13:18:37.91 ID:5UTkyopR0
- ド素人でもなんとなく動くのはでかい
- 549 :名無しさん@お腹いっぱい。:2015/01/11(日) 15:44:23.27 ID:6Je0tac90
- 動くのと動かないのじゃ雲泥の差だよな
日曜大工みたいな感覚でものがつくれる
- 550 :名無しさん@お腹いっぱい。:2015/01/11(日) 16:16:13.64 ID:iDBQNeLY0
- >>547
UWSCの機能を完全移植できたならかなり凄いんだが、
UWSCで(547が)つくった機能の移植か…
uwsc.dllが欲しいわ
- 551 :名無しさん@お腹いっぱい。:2015/01/12(月) 02:12:43.50 ID:0YpBDMEG0
- 皆はエディタ何使ってるの?
ずっとメモ帳でやってたから最近きつくなってきた
一部の記述を別のファイルにコピペしたり、
数字を変えたりしたいんだけどやりやすくなるものって無いかな?
- 552 :名無しさん@お腹いっぱい。:2015/01/12(月) 02:52:28.00 ID:6L840eyt0
- visual studio
フォントもいい感じでコーディングしやすいよ
- 553 :名無しさん@お腹いっぱい。:2015/01/12(月) 04:19:49.19 ID:lN4bgbZG0
- pro版のデバッガそのまま使ってるわ
- 554 :名無しさん@お腹いっぱい。:2015/01/12(月) 07:21:11.47 ID:CyI/uKbU0
- サクラエディタ
タブ表示・強調・インデント これだけで結構違う
- 555 :名無しさん@お腹いっぱい。:2015/01/12(月) 10:05:51.73 ID:7mGpc+b40
- ネットでUWSC用の定義ファイルがあるサクラエディタ使ってたが、
VBもといビジュアルスタジオで強調表示やインテリなんたらが使えるなら
是非使いたい
- 556 :名無しさん@お腹いっぱい。:2015/01/12(月) 10:08:05.41 ID:7mGpc+b40
- pro版のデバッガがエディタとしても使えるの初めて知ったw
でも複数ファイルにまたがる規模だとサクラのgrep抽出や
正規表現置き換えなどが必須なのでした…
- 557 :名無しさん@お腹いっぱい。:2015/01/12(月) 10:23:05.03 ID:fojBTLcp0
- >>554
俺もサクラ。これ便利だよな
俺の先輩達は秀丸派が多いな
- 558 :名無しさん@お腹いっぱい。:2015/01/12(月) 11:17:19.51 ID:7mGpc+b40
- サクラは優秀だが、サクラが優秀だとか無料だとかより、UWSCの定義ファイルがあるってのが一番大きい
- 559 :名無しさん@お腹いっぱい。:2015/01/12(月) 16:31:43.86 ID:0YpBDMEG0
- >UWSCの定義ファイルがある
マジかよ
テンプレ入れてもいいんじゃないの?
もしかしてどっかに書いてあるのかな
- 560 :名無しさん@お腹いっぱい。:2015/01/12(月) 16:38:37.46 ID:7shrO3i40
- 過去スレで散々話題になってたしさくらエディタ使うスレ民は当然やってて常識レベルだから書くまでも無い
- 561 :名無しさん@お腹いっぱい。:2015/01/12(月) 19:41:42.57 ID:0JrQG9zY0
- MeryをUWSCのエディタとして使ってる。
uws形式で保存するだけ。
- 562 :名無しさん@お腹いっぱい。:2015/01/12(月) 19:50:08.41 ID:ZLc8xv8T0
- >>559
https://www.google.co.jp/webhp?sourceid=chrome-instant&ion=1&espv=2&ie=UTF-8#safe=off&q=%e3%82%b5%e3%82%af%e3%83%a9%e3%82%a8%e3%83%87%e3%82%a3%e3%82%bf%20uwsc%20%e5%ae%9a%e7%be%a9%e3%83%95%e3%82%a1%e3%82%a4%e3%83%ab
以前は個人サイトで公開されてた気がしたんだが
今調べたら何時の間にか公式に含まれてるみたいだなぁ凄い
- 563 :名無しさん@お腹いっぱい。:2015/01/12(月) 19:54:07.92 ID:ZLc8xv8T0
- でも本当はVBスタジオで書きたい。
自分の定義した関数につけた///の後の凡例がポップアップで表示されるとか
最初の数文字でスコープ内の変数まで候補に上がって自動入力とか
すごい便利過ぎて草
- 564 :名無しさん@お腹いっぱい。:2015/01/13(火) 09:20:27.79 ID:QGGYRgpt0
- サクラエディタに定義ファイル突っ込むのってここのやり方であってますか?
http://www.nyu-news.com/uwsc-texteditor-225
いくらインポートしても
強調キーワードにUWSC1とUWSC2が出てこなくて困ってます
- 565 :名無しさん@お腹いっぱい。:2015/01/13(火) 14:32:59.12 ID:lrlucxt40
- >>542〜>>544
時間が経ってしまい申し訳ない。>>541です。
スレ違いでしたか申し訳ない。
背景画像で動くことは出来たのですが、納得行かなかったので
色々試したらFlash操作というものが有り解決しました。
範囲指定はどのPCでもクローム、狐、IEを使って動くものを作っていますので
これでちょうどいいみたいです。
画像の方は試しにやったものですので、これから最適化していきます。
スレ違でスレ汚し申し訳ありませんでした。助かりました。
- 566 :名無しさん@お腹いっぱい。:2015/01/13(火) 19:38:04.38 ID:5tNkdCSE0
- 俺は秀丸
有料だが細かく強調表示を設定出来るから気に入っている
長期的に開発するなら十分に元が取れる
ttp://i.imgur.com/KnnKBWw.png
- 567 :Nekorabbit ◆jpnWwiLScI :2015/01/13(火) 20:39:34.05 ID:3B1TGPeF0
- >>566
俺の秀丸と全然違くてワロタwww
http://i.imgur.com/W12ABUM.png
設定方法分からん
- 568 :名無しさん@お腹いっぱい。:2015/01/13(火) 21:30:04.40 ID:O3NVciMC0
- 自分は公式フォーラム辺りに落ちてた定義ファイルを少しカスタマイズして使ってる
実行ボタンで編集中のファイルを直接動作確認出来るようにしているのがミソかな
http://i.imgur.com/LPHfqZz.png
- 569 :名無しさん@お腹いっぱい。:2015/01/13(火) 22:02:39.84 ID:QAUE8i8E0
- >>564
あってるよ
インポートしたら出てくるはず
- 570 :名無しさん@お腹いっぱい。:2015/01/15(木) 18:03:53.58 ID:bTdvPlbo0
- インストーラでのインストールを自動化したいんですが、インストールの手順に入ると、uwscが全く動いてくれません。
記録してuwsのファイルを見てみると、インストールの動作を記録している部分だけごっそり消えてます。直接関数を編集してもだめです。
どうにかインストールの手順も自動化できないでしょうか
- 571 :名無しさん@お腹いっぱい。:2015/01/15(木) 18:15:17.39 ID:2hZ+YyBu0
- そう簡単にインストールが自動化できたら悪用し放題なので色々とあるんだろうな。
UWSCは当然、管理者権限で起動してるよな?
インストーラの仕様によっては管理者向けサイレントインストールオプションがあればそれを使う。
無くても、低レベル関数+画像認識でやれば不可能ではないが、
環境による違いが剥き出しになってくるので面倒くさい。
- 572 :名無しさん@お腹いっぱい。:2015/01/15(木) 18:31:29.05 ID:bTdvPlbo0
- >>571
管理者権限でやってます。インストーラを起動すると、そもそもBTNとか基礎的な関数すら動かなくなるんですよね。
まああきらめるしかないか。ありがとうございました。
- 573 :名無しさん@お腹いっぱい。:2015/01/15(木) 23:04:15.84 ID:31xlpUz40
- 画像認識の範囲を指定することって可能なんだな
しらなかった
- 574 :名無しさん@お腹いっぱい。:2015/01/15(木) 23:27:33.97 ID:0V5xWiRk0
- 長時間(7〜8時間)動作を繰り返してるとuwsc自体が強制終了されるんだけど原因わかる人いる?
ちなみにスクリプトは2つ繋げててスクリプトAで画像1が出たら処理1を実行後
callでスクリプトBを呼び出して画像2が出たら処理2実行後スクリプトAを呼び出すを延々ループ
- 575 :名無しさん@お腹いっぱい。:2015/01/15(木) 23:37:17.68 ID:dxTgF4ry0
- とりえあえずcallしてるファイルの中身を関数化して何度もcallしないようにする
- 576 :名無しさん@お腹いっぱい。:2015/01/15(木) 23:53:16.26 ID:70tmJ6ih0
- どんな構造にしているか知らんが
CALLは最初に一括で読み込まれて展開される
毎回読み込まれて初期化されるわけじゃないと覚えておこう
CALL先で変数の宣言や初期化の仕方やタイミングによってはバグの温床になる
恐らくスタックオーバーフローしているのでは?
- 577 :名無しさん@お腹いっぱい。:2015/01/16(金) 00:46:17.33 ID:vg6bLUMn0
- >>574
100%スタックオーバーフロー
スクリプトAで画像1が出たら処理1を実行後
callでスクリプトBを呼び出して画像2が出たら処理2実行
ここでスクリプトAを呼び出すのではなく、上記をループするようにすればいい
- 578 :名無しさん@お腹いっぱい。:2015/01/16(金) 00:47:59.49 ID:7FHjCvSp0
- 相互にCALLしあってるのかw
- 579 :名無しさん@お腹いっぱい。:2015/01/16(金) 03:18:25.78 ID:LnHxnxIX0
- これはひどいw
- 580 :名無しさん@お腹いっぱい。:2015/01/16(金) 03:38:53.27 ID:lbl1rtWI0
- 長ったらしく書くより細かいものをたくさん作ってcallで呼ぶ方が便利なんだよな
ある意味チェックしやすいし
プログラミング経験浅いと大抵そうなるよ
- 581 :名無しさん@お腹いっぱい。:2015/01/16(金) 04:06:01.04 ID:vg6bLUMn0
- >>574
すごく雑に説明すれば、
While True
CALL A
Wend
Aの中身
処理
CALL B
Bの中身
処理
CALL
- 582 :名無しさん@お腹いっぱい。:2015/01/16(金) 04:07:11.43 ID:vg6bLUMn0
- >>581
途中で送信してしまった
Bの中身
処理
CALLしないで終了
- 583 :名無しさん@お腹いっぱい。:2015/01/16(金) 06:10:21.13 ID:bXI3iINy0
- あほか
サブルーチン専用ファイルを1回だけCALLして
CALL ABC の代わりに関数呼べよ
ここ数年何度言われたら判るんだ状態だわ
- 584 :名無しさん@お腹いっぱい。:2015/01/16(金) 08:26:14.77 ID:e4r1YhGf0
- 真面目に質問なんだが、グラブルのポーカーのコードの相談はどこでしたらいい?
ここはスレチだとしたら誘導してもらえると助かる。
昨日uwscの存在を知って画像判定ができると分かりwktkが止まらん。
c#の経験はあるがuwscが初なのでサンプルを探してる。
- 585 :名無しさん@お腹いっぱい。:2015/01/16(金) 08:27:33.83 ID:ta1mB9ql0
- >>584
グランブルーファンタジー Part3 [転載禁止](c)2ch.net
http://kanae.2ch.net/test/read.cgi/gameurawaza/1419273806/
- 586 :名無しさん@お腹いっぱい。:2015/01/16(金) 08:29:55.55 ID:2oH5q+JJ0
- >>584
>>5の次スレ
- 587 :名無しさん@お腹いっぱい。:2015/01/16(金) 08:48:15.39 ID:e4r1YhGf0
- >>585
>>586
ありがとう
- 588 :名無しさん@お腹いっぱい。:2015/01/16(金) 22:53:28.09 ID:QjmzD7jV0
- surfaceでuwsc使ってる。
コンパネのディスプレイの設定で拡大率がデフォルトで150%になってて
chkimgで取れた座標を使ってボタンをクリックさせてもうまくクリック出来ない…。
うまくクリックする為には座標をg_img_x / 1.5とかにすればうまく動いた。
何箇所でもこう書くのが嫌なんだけど解決策ないかな?
拡大率を100%に戻すというのは無しでw
- 589 :名無しさん@お腹いっぱい。:2015/01/16(金) 23:14:16.05 ID:p979pnSB0
- f_img_x() みたいな関数作ってその中でg_img_x/1.5を返すようにするとか
- 590 :名無しさん@お腹いっぱい。:2015/01/17(土) 00:42:41.09 ID:0LBfpaM+0
- ブラウザに対してmouseorgで直接信号を送るようにしているんですが、該当ウィンドウに他のウィンドウがかぶってると画像を認識してくれないのはなぜなんでしょうか?
chkimgで画像の座標を取ると-99999になります
非アクティブでも前面に出ていれば動作するんですが、クリックが送信されるとフォーカスを取られてしまいます
>>133とほぼ同じ質問なんですけど答えが出てないようなのでお願いします
OSは7の64bitで、ブラウザはchromeです
IEはなぜかバグって起動できないので試せません
- 591 :名無しさん@お腹いっぱい。:2015/01/17(土) 01:48:10.92 ID:JHHpUkix0
- 標準の描画コントロールじゃないからだろ
フラッシュなら尚の事
隠されている時にどのように動作するかは相手次第
- 592 :名無しさん@お腹いっぱい。:2015/01/17(土) 02:22:37.59 ID:/UiKbuxO0
- タスクバーのサムネイルはちゃんと更新されてるからDWMはちゃんと画像が取得できているのに、
なぜchkimgで取得できないのかってことだろう
ウィンドウズの開発者に問い詰めたわー
- 593 :名無しさん@お腹いっぱい。:2015/01/17(土) 08:30:59.32 ID:0LBfpaM+0
- いろいろググってハードウェアアクセラレーションの無効化と設定ファイルいじってFullFramerateWhenInvisible=1を追加してみたんですけどやっぱりダメでした
あと、ウィンドウが前面に出ていてもmouseorgの第三引数がmorg_backだと動作しませんでした
諦めて常時最前面で使うしかないんでしょうか
- 594 :名無しさん@お腹いっぱい。:2015/01/17(土) 09:26:54.26 ID:gGLHyJnh0
- >>332
>>377
- 595 :名無しさん@お腹いっぱい。:2015/01/17(土) 09:34:01.61 ID:0LBfpaM+0
- >>594
morg_foreで対象ウィンドウを前面にしておけば動作するのでそれは関係なさそうです
他ウィンドウがかぶって一部分が隠れている場合に動かないので
- 596 :名無しさん@お腹いっぱい。:2015/01/17(土) 10:04:13.49 ID:gGLHyJnh0
- >>332
- 597 :名無しさん@お腹いっぱい。:2015/01/17(土) 10:54:42.79 ID:mmC12q9v0
- >>595
俺も全く同じ症状(os,ブラウザ同一)で悩んでた。
ハードウェアアクセラレーションの無効化したと書いてあるが、
chromeの詳細設定で無効にした?
flash画面右クリで出てくる設定で無効にしても意味無かったよ。
- 598 :名無しさん@お腹いっぱい。:2015/01/17(土) 11:46:43.05 ID:gGLHyJnh0
- chrome開発者「何?ウィンドウの影に隠れて見えてないのに描画してるだと?高速化と省エネのためにそういう無駄が発生しないよう改良しよう。サムネイルに渡す縮小画像だけ描画すればいいよね。」
他のソフト開発者「さすがgoogle、俺達も真似しよう。」
UWSCユーザー「」
ソフト開発者「知らんがな」
- 599 :名無しさん@お腹いっぱい。:2015/01/17(土) 12:07:21.91 ID:0LBfpaM+0
- >>597
詳細設定→システムの所のチェックボックスのハードウェアアクセラレーションなんたらを消したら行けました
ありがとうございました
- 600 :名無しさん@お腹いっぱい。:2015/01/17(土) 18:01:06.69 ID:3mJTrcde0
- GUIでそのまま記録したものを等倍速で再生する方法ないですか?
- 601 :名無しさん@お腹いっぱい。:2015/01/17(土) 23:54:32.00 ID:nZDbWDTl0
- if ary[0]
…
elseif ary[1]
…
elseif ary[2]
…
elseif ary[3]
…
endif
こんな感じの構文をうまく短くする事って出来る?
if elseifを使いたいからwhileとかで回して全判定はしたくないんだ
- 602 :名無しさん@お腹いっぱい。:2015/01/18(日) 00:23:38.21 ID:ZVysZL020
- >>601
添字が全部違う上に if-elseif 縛りの時点でその書き方以外ないと思うけど
何がしたいのか分からんから何とも言えんな
- 603 :601:2015/01/18(日) 00:29:12.77 ID:V3DOXyGu0
- 自己解決
よく考えたらスッキリまとめれたわ
- 604 :名無しさん@お腹いっぱい。:2015/01/18(日) 00:32:42.92 ID:ZVysZL020
- ヽ(・ω・)/ズコー
- 605 :601:2015/01/18(日) 00:43:22.91 ID:V3DOXyGu0
- なんかすまん
それじゃ代わりに悩んでいる事を質問するんだけど
キーを押下した瞬間を判定したいんだ
getkeystateだと押している間はずっと判定されるからさ
現状ではフラグを作って管理しているけど、すごく面倒なコードになっている
スマートなコードや関数等教えてください><
- 606 :名無しさん@お腹いっぱい。:2015/01/18(日) 01:46:42.40 ID:ZVysZL020
- public last_key_stroke = false
public use_key = VK_A // ここに実際に使う仮想キーを入れる
thread watch_key()
ここにメイン処理
procedure watch_key
while true
last_key_stroke = getkeystate(use_key)
sleep(0.1)
wend
fend
function trigger_key
if getkeystate(use_key) and last_key_stroke = false
result = true
else
result = false
endif
fend
押した瞬間が欲しい場合は自作の trigger_key 関数を使う
こんな感じではどうだろうか
- 607 :名無しさん@お腹いっぱい。:2015/01/18(日) 02:32:19.47 ID:V3DOXyGu0
- >>606
実際にコードを試したわけじゃないけど、この場合watch_keyスレッドのlast_key_strokeが更新されるタイミングによっては
trigger_key関数のlast_key_strokeがtrueになって最初の押下判定に失敗する事ありそうだけど、そんな事ないのかな?
- 608 :名無しさん@お腹いっぱい。:2015/01/18(日) 02:40:01.51 ID:ZVysZL020
- >>607
自分で試した時はならなかったけど watch_key の sleep は 0.01 ぐらいにしたほうがいいのかも?
そこら辺は自分の目で確かめてくれ
- 609 :名無しさん@お腹いっぱい。:2015/01/18(日) 09:02:55.39 ID:St4EGFl00
- そもそもRTOSの割り込みでも使わん限り、押した「瞬間」は補足できない。
- 610 :名無しさん@お腹いっぱい。:2015/01/18(日) 13:38:11.42 ID:St4EGFl00
- ダブルクリック検知コードがあった
http://anago.2ch.net/test/read.cgi/software/1389240960/652-661
- 611 :名無しさん@お腹いっぱい。:2015/01/18(日) 13:39:43.13 ID:St4EGFl00
- 要件によってはSETHOTKEYで済むな
- 612 :名無しさん@お腹いっぱい。:2015/01/18(日) 23:13:53.67 ID:ZVysZL020
- mouseorg でバックグラウンド動作にしててもクリックを送信するとフォーカス取られるんだけど
フォーカスが移らないようにってできない?
- 613 :名無しさん@お腹いっぱい。:2015/01/18(日) 23:23:27.52 ID:a71zhW4Y0
- クリックイベントを受信した相手側の挙動だからなぁ〜
散々言われているが
仮想化してその中で最前面で動作させ
その仮想環境をバックグラウンドで動作させるのが一番安定する
- 614 :名無しさん@お腹いっぱい。:2015/01/18(日) 23:37:21.07 ID:Wm/Kkd/Y0
- みんな仮想化には何使ってる?俺はWin8のクライアントHyper-V
裏でサービスみたいに動いてるから表のユーザがログアウトしても関係なく動いてくれるのと、
動的メモリ管理で複数インスタンス動かしてもメモリが圧迫されないのが気に入ってる
ただGPUが使えないからAeroが動かないのがネックだな
- 615 :名無しさん@お腹いっぱい。:2015/01/18(日) 23:45:29.83 ID:ZVysZL020
- 仮想PC使ったことないけど導入面倒臭そう
OSも余ってるのないし
ブラゲのマクロのためにわざわざ導入するのも面倒だしフォーカス取られるのは我慢するか(´・ω・`)
- 616 :名無しさん@お腹いっぱい。:2015/01/19(月) 00:02:43.89 ID:tbnDDgHR0
- パソコン操作を自動化したくてぐぐったら
これとhimacroEXっていうのが出てきたんだけど
どっちがいいっすか?
- 617 :名無しさん@お腹いっぱい。:2015/01/19(月) 01:41:16.18 ID:vCCkqJR90
- himacroEX
- 618 :名無しさん@お腹いっぱい。:2015/01/19(月) 02:05:20.41 ID:X/rcpTxc0
- >>615
クソ簡単に導入できるけど止めたほうがいいよ
- 619 :名無しさん@お腹いっぱい。:2015/01/19(月) 17:29:40.92 ID:CIkr+oOF0
- [Ver5.1.0]
IE関連の関数にて マルチフレームでの操作が NGなのを修正(KB3025390対策)
文字関連の関数にて サロゲートペア1文字が カウント2されるのを 1に変更
サロゲートペア1文字を 2でカウントする LENGTHS関数を付けた
POWERSHELL関数にて \文字がエスケープシーケンスされるのを修正
STATUS関数の ST_MONITORの値が MONITOR関数と符合してなかったのを修正
Pro版:
CREATEFORM関数にて フォームを 2つまで作れるようにした
RecIE: マルチフレームにて 記録できないパターンがあったのを修正
- 620 :名無しさん@お腹いっぱい。:2015/01/19(月) 20:37:21.83 ID:ET3cyewU0
- Ver5.1対応の強調表示ファイル生成ツールを作ったのでせっかくなので公開
ttps://github.com/momosolo/UWSC-syntax-files
・秀丸
・Mery
・Notepad++
・サクラエディタ
の強調表示ファイル入り
- 621 :名無しさん@お腹いっぱい。:2015/01/20(火) 04:07:39.12 ID:/+JTebX70
- 拾ったものになるんですがUWSCに読み込んでスタートを押すと
変数: INIF が定義されていません
14行目: TITL = READINI("Config","titl",INIF)
という表示が出て動いてくれません。
UWSファイルをテキストパッドで開いたところ文字化けしていて14行目も確認出来ないのですが
これはもう諦めるしかないのでしょうか。
- 622 :名無しさん@お腹いっぱい。:2015/01/20(火) 04:48:36.27 ID:F+YzFycm0
- >>621
文字化けしてるんだから、編集不可
諦めるしかない
- 623 :名無しさん@お腹いっぱい。:2015/01/20(火) 04:53:58.81 ID:/+JTebX70
- >>622
そうですか・・・。
ありがとうございます。
- 624 :名無しさん@お腹いっぱい。:2015/01/20(火) 09:12:46.21 ID:rRj4Po5j0
- プログラムのアンインストールをシンプルにする方法はないでしょうか。
現状appwiz.cplのショートカットをデスクトップに作ってそれを開いて、普通にクリックしてってアンインストールしています。
問題は、アンインストールするプログラムを選択する時にBTN関数で座標指定しているので、新しくプログラムをインストールすると位置が変わってしまい、またマクロを作り直さないといけなくなってしまいます。
- 625 :名無しさん@お腹いっぱい。:2015/01/20(火) 11:46:24.26 ID:XbkCHKCR0
- >>624
id = EXEC("control appwiz.cpl")
CTRLWIN(id, ACTIVATE)
REPEAT
SLEEP(0.1)
UNTIL CLKITEM(id, "プログラム名", CLK_LISTVIEW or CLK_DBLCLK, TRUE)
- 626 :名無しさん@お腹いっぱい。:2015/01/20(火) 13:28:45.40 ID:rRj4Po5j0
- >>625
ありがとうございます。帰ったらやってみます
- 627 :名無しさん@お腹いっぱい。:2015/01/20(火) 23:16:38.47 ID:z8197NVp0
- アンインストールってマクロ化が必要なほど多用する?
- 628 :名無しさん@お腹いっぱい。:2015/01/21(水) 01:43:34.23 ID:gOayFlWh0
- 愚問
- 629 :名無しさん@お腹いっぱい。:2015/01/21(水) 09:59:22.51 ID:dejlWq//0
- 試用期間終わったら再度インストとか変わった使い方なんだろうけど、普通なら必要じゃないだろうけど
その人に取っては必要な物だったんだろうね
- 630 :名無しさん@お腹いっぱい。:2015/01/21(水) 10:06:02.89 ID:ehWPHX5V0
- 不具合の検証とか、バカみたいに繰り返すことある
- 631 :名無しさん@お腹いっぱい。:2015/01/21(水) 15:10:23.41 ID:8OMqoQgz0
- レジストリは reg ファイル使って削除した後に、
インストールファイルはDELコマンドで削除
全部バッチファイルに書けてダブルクリック1回でアンインストールできるよ
サービス登録だのDLLだのも調べれば同様の方法がある
- 632 :名無しさん@お腹いっぱい。:2015/01/21(水) 16:46:38.92 ID:MBcf6bm+0
- どうせどっかのゲームのBOTマクロに仕込みたかっただけだろ
- 633 :名無しさん@お腹いっぱい。:2015/01/21(水) 17:03:16.77 ID:m9M/5VVn0
- 今時、OSなら自動インストールできるような機能ついてるよね
- 634 :名無しさん@お腹いっぱい。:2015/01/21(水) 22:14:57.93 ID:SOG/T3Ce0
- 仮想環境にインストールしてポイするだけで良いと…
- 635 :名無しさん@お腹いっぱい。:2015/01/21(水) 22:59:21.45 ID:MUWZRKNF0
- win8評価版だけど仮想化してマクロ動かしてみた
便利やな
こうやってテキスト入力しててもフォーカスを取られないのが良い
- 636 :名無しさん@お腹いっぱい。:2015/01/23(金) 18:54:07.45 ID:1YMI9dxz0
- AとBの2つのパソコンがあって、Aで手順x→y, 終わったらyでできた文書を共有フォルダに送り、Bでα→βの手順を実行し、またxに戻ってくるループを作りたいと思っています。
それで質問なのですが、Bのパソコンが共有フォルダに文書をうけとるまで待機するような記述の仕方ってどのようにしたらいいでしょうか。
- 637 :名無しさん@お腹いっぱい。:2015/01/23(金) 20:14:59.62 ID:CU7RlmW+0
- 個人的にはAスクリプトとBスクリプトは分けてそれぞれ一括処理する方法が良いと思うよ
(面倒なポイントその1)
AとBそれぞれにインストールされている環境でしか出来ない処理だとしたら
一つのスクリプトでやろうとするとリモートデスクトップ等で操作する局面が発生する
(面倒なポイントその2)
ファイルのコピーや移動の終了検知はOS側が勝手に並行動作しちゃうので地味に面倒な処理です
一つのスクリプトでやろうとするとスレッド化による並行動作で操作する局面が発生する
共有フォルダを監視するスレッドまたはイベントを用意して対処する方法もありますが・・・
(興味があるなら「UWSC フォルダ監視」等で検索して)
- 638 :名無しさん@お腹いっぱい。:2015/01/23(金) 21:52:07.63 ID:c21+gs780
- つかフォルダ監視というそのものズバリのフリーソフトがあるな。
ファイルの有無をトリガーに何かを実行させるフリーソフトがそれかどうか忘れたが、
探せばあるにはあったはずだよ。
もちろんUWSCでもVBSでもVisualStudioでも何でも書けば出来るけど。
UWSCの本来の存在理由を考えれば、まずツール探すのをお勧めするな。
- 639 :名無しさん@お腹いっぱい。:2015/01/23(金) 21:58:39.13 ID:PTVsKKY+0
- あのソフトすぐバグるんだよ
- 640 :名無しさん@お腹いっぱい。:2015/01/23(金) 22:03:58.48 ID:YeVYrbD/0
- 最初から共有フォルダで作業したらええんちゃうの
- 641 :名無しさん@お腹いっぱい。:2015/01/23(金) 23:05:49.91 ID:bBI20xyX0
- >>636
While True
IF GETDIR(共有フォルダ\B,受信ファイル) = 1 Then Break
Sleep(1)
Wend
α→β手順
加工したデータを共有フォルダ\Aに書き込み共有フォルダ\Bの元データを削除
こんな感じで行けるんでないでしょうか?
- 642 :名無しさん@お腹いっぱい。:2015/01/23(金) 23:17:34.07 ID:CU7RlmW+0
- それ受信中に動作開始する可能性あるぜよ
- 643 :名無しさん@お腹いっぱい。:2015/01/23(金) 23:26:06.02 ID:bBI20xyX0
- フェイルセーフは当人に考えてもらう方針で
- 644 :名無しさん@お腹いっぱい。:2015/01/24(土) 07:39:20.06 ID:/00kd0Z40
- ありがとうございました。参考にしてマクロ作ります!
- 645 :名無しさん@お腹いっぱい。:2015/01/27(火) 16:06:43.60 ID:0S7bl2tT0
- 先日から勉強し始めた素人なのですが困ってます。
以下の様なスクリプトを書いて、正常に動作しているのですが、
30分ほど経過すると「UWSCは動作を停止しました」とアラート出て止まってしまいます。
HOGE1()
PROCEDURE HOGE1()
While True
IFB CHCKIMG(hoge.png) then
BTN(LEFT, CLICK, G_IMG_X, G_IMG_Y, 10)
HOGE2()
ELSE
sleep(0.1)
ENDIF
Wend
FEND
PROCEDURE HOGE2()
//内容は同じでHOGE2→HOGE3と呼び出し、最後まで行くとHOGE1を呼び出してループする
OSはWin7で、HDDのスリープやディスプレイの停止、スクリーンセーバーも全て切っています。
何か原因のヒントとかくれませんでしょうか。
- 646 :名無しさん@お腹いっぱい。:2015/01/27(火) 16:46:49.63 ID:hBy/B/Rk0
- スタックオーバーフローエラーですな。
正しいやり方は、
while 続行条件
hoge1()
hoge2()
hoge3()
wend
とこの程度の基本が判らないのも、
最初に手を付けたプログラミング言語が
UWSCみたいなマイナーで
HELPが不親切なスクリプトだからなんだろうね。
- 647 :名無しさん@お腹いっぱい。:2015/01/27(火) 16:48:41.02 ID:SdV0f61t0
- >>645
hoge2を読んだらexitしないとダメ
ついでに言うなら関数内から関数を呼ぶんじゃなくて
HOGE関数では画像を見つけて規定処理が終わればEXITするようにして
Main関数のようなものを作って
HOGE1()
HOGE2()
HOGE3()
のように並べるほうがいいと思う
- 648 :名無しさん@お腹いっぱい。:2015/01/27(火) 17:02:42.70 ID:hBy/B/Rk0
- やりたいことがいまいち判らんけどこういうことか?
x=0; y=0
while true
for i=1 to 3
ifb waitImgAndGetXY("hoge"+i+".bmp", x, y)
btn(left, click, x, y)
else
print "hoge"+i+".bmpは見つかりませんでした"
exitexit
endif
next
wend
waitImgAndGetXY(waitBmp, VAR imgX, VAR imgY, timeout=3600)
result=false; imgX=ERR_VALUE; imgY=ERR_VALUE
for i=1 to timeout*10
ifb chkimg(waitBmp) then
imgX=G_IMG_X; imgY=G_IMG_Y; result=true; exit
endif
sleep(0.1)
next
FEND
chkimgは必ずbmpで無くてはならないし、ファイル名は""で括って文字列として指定する必要がある。
- 649 :名無しさん@お腹いっぱい。:2015/01/27(火) 17:15:45.63 ID:hBy/B/Rk0
- ミス function句が抜けてた
function waitImgAndGetXY(waitBmp, ...
http://ja.wikipedia.org/wiki/%E3%82%B9%E3%82%BF%E3%83%83%E3%82%AF%E3%82%AA%E3%83%BC%E3%83%90%E3%83%BC%E3%83%95%E3%83%AD%E3%83%BC
hoge1,2,3の中で異なるアクションがあって別々に定義する必要があるなら、
それぞれfunctionにしてresultを返すようにし、
hoge1,2,3の戻り値で条件分岐するようにする。
- 650 :名無しさん@お腹いっぱい。:2015/01/27(火) 17:26:50.96 ID:l+w+iP+N0
- >>646-648
やりたいことは、Aをクリック → 画面遷移 → Bをクリック → 画面遷移・・・Cをクリック→Aをクリック
という一連の動作をループすることでした。
ネットに落ちているソースを見たりしながらやっているのですが、基本から間違っていたみたいですね・・・
いただいたソースを見ながら、基本構造から直してみます。
ありがとうございます!
- 651 :名無しさん@お腹いっぱい。:2015/01/27(火) 19:35:28.39 ID:hBy/B/Rk0
- dim targetImages[] = "hoge1.bmp", "hoge2.bmp", "hoge3.bmp"
dim resultImages[] = "huga1.bmp", "huga2.bmp", "huga3.bmp"
while true
initSituation()
while true
for idx=0 to resize(targetImages)
if !clickImg(targetImages[idx]) then continue 2
if !waitImage(resultImages[idx]) then break 2
next
wend
recoverySituation()
wend
詳細は自分で考えてね
- 652 :名無しさん@お腹いっぱい。:2015/01/28(水) 07:57:21.00 ID:gDbqAnKa0
- >>612
それがフラッシュで動作してるのかは分からんけど
もしそうならハードウェアアクセラレーションを有効化チェックを外してウィンドウを再起動すれば行ける
クロームでしか試してないけどな
- 653 :名無しさん@お腹いっぱい。:2015/01/28(水) 17:16:25.39 ID:eK2T9EFP0
- UWSCのSENDSTR関数を使いたいと思っているのですが
文字数が100文字とかになるとものすごく時間がかかってしまいます
コピペのように一瞬でペーストする方法などないものでしょうか?
- 654 :名無しさん@お腹いっぱい。:2015/01/28(水) 17:53:48.98 ID:S2l+TJ5p0
- >>653
クリップボードに文字列を入れておいて、
キー操作でペーストする
- 655 :名無しさん@お腹いっぱい。:2015/01/28(水) 18:05:52.68 ID:BRdlOPlr0
- うまく動かない
動きはするが使い物にならない
と質問する奴は大抵ソースコードを見せたがらない
その結果、いつまでたっても成長しない
- 656 :名無しさん@お腹いっぱい。:2015/01/28(水) 20:26:09.69 ID:uAon0jx10
- >>653
既に答え出てますが
初心者でも判るように書いて置きます
//文字をコピペで入力する方法
SENDSTR(0, "入力したい文章")
SCKEY(id, VK_CTRL, VK_V)
- 657 :名無しさん@お腹いっぱい。:2015/01/30(金) 01:08:09.66 ID:9dkz127U0
- 例えば、一連の操作は同じで1ヶ所だけ座標を変えたい場合に、
デスクトップに座標値変更用のボックスを用意して簡単に座標を変更
できるようにしたいのですが、どのようにやれば良いですか?
- 658 :名無しさん@お腹いっぱい。:2015/01/30(金) 01:30:00.02 ID:fnRsd/jl0
- >>657
座標 = INPUT("座標?")
- 659 :名無しさん@お腹いっぱい。:2015/01/30(金) 01:58:32.97 ID:9dkz127U0
- >>658さんありがとうございます。
私も今input関数について調べていました。""これを使ってしまうと
文字としての戻り値になりませんか?そもそも座標の値は数値なのか文字として
UWSCで認識されるかわかりませんが、間違っていたらすいません
- 660 :名無しさん@お腹いっぱい。:2015/01/30(金) 02:18:02.66 ID:fnRsd/jl0
- >>659
そもそも、UWSCの変数に型はない
半角数字を入力すれば数字
それ以外なら文字列で処理されることが多い
入力したいものを試してみたらいい
座標A = INPUT("座標A?")
座標B = INPUT("座標B?")
PRINT 座標A + 座標B
- 661 :名無しさん@お腹いっぱい。:2015/01/30(金) 02:31:56.86 ID:kXzg60NC0
- THREAD ChangeXY()
- 662 :名無しさん@お腹いっぱい。:2015/01/30(金) 02:39:22.72 ID:kXzg60NC0
- THREAD ChangeXY()
While true
Print Readini("Setting","X","User.INI")+","+Readini("Setting","Y","User.INI")
Sleep(1)
Wend
Procedure ChangeXY()
While True
IFB GETKEYSTATE(VK_ESC)
WriteINI("Setting","X",G_MOUSE_X,"User.INI")
WriteINI("Setting","Y",G_MOUSE_Y,"User.INI")
While GETKEYSTATE(VK_ESC);Sleep(0.1);Wend
Endif
Sleep(0.1)
Wend
Fend
いちいち入力するよりボタンひとつの方が楽でない?
- 663 :名無しさん@お腹いっぱい。:2015/01/31(土) 16:24:09.60 ID:eWCexTzs0
- ソースをmsXMLで読みたいのですが
文字化けすることがあります
何を加えればいいですか?
Function GetPage(PageURL)
COM_ERR_IGN
msXMLhttp = CREATEOLEOBJ("Microsoft.XMLhttp")
msXMLhttp.open("GET", PageURL, 0)
msXMLhttp.send()
Result = msXMLhttp.responseText
COM_ERR_RET
Fend
- 664 :名無しさん@お腹いっぱい。:2015/01/31(土) 16:36:25.70 ID:DIhJ48Hh0
- >>663
// 文字のデコード処理
戻値 = DECODE( 文字列, 変換指定 )
- 665 :名無しさん@お腹いっぱい。:2015/02/01(日) 12:40:02.40 ID:embOqH5f0
- >>664
どうもありがとうございます
何故かそれでは出来ないようです
他に方法はありますか?
- 666 :名無しさん@お腹いっぱい。:2015/02/01(日) 13:43:27.55 ID:XIPjeraq0
- これはUWSCの知識というより microsoft.xmlhttp の使い方的なアレなんで
「microsoft.xmlhttp 文字化け」で検索してみるといいよ
- 667 :名無しさん@お腹いっぱい。:2015/02/03(火) 03:15:41.67 ID:5IZddXMh0
- X - 50*n = 1
X - 50*n = 2
...
X - 50*n = 50
というようなXの値によって50パターンの動作をするものを組みたいのですが、nを0から5の範囲だと簡潔に指定するにはどのようにすればいいのでしょうか
if X < 51
n = 0
elseif X < 101
n = 1
...
elseif X < 301
n = 5
endif
と自分で考えたのですが、もっと簡潔に表したいと思い試行錯誤したもののできなかったので教えてください
- 668 :名無しさん@お腹いっぱい。:2015/02/03(火) 03:32:32.95 ID:HjzMfLZl0
- MOD使え
- 669 :名無しさん@お腹いっぱい。:2015/02/03(火) 04:27:49.98 ID:MdV10ZUz0
- >>667
for(int n=0:n<6:n++){
}
for文使う。
- 670 :名無しさん@お腹いっぱい。:2015/02/03(火) 05:02:37.88 ID:GKiisgE/0
- >>667
x の入力に対して50パターンの A が欲しいとするなら
こんな感じだと思うよ
これはデモの為に全体をループしているが
実際の x の入手方法次第なので大外の For は必須では無い
(もちろん Print も)
For x = 1 to 299
n = int(x / 50)
A = x-50*n
Print "x["+x+"]-50*n["+n+"]="+A
Next
- 671 :名無しさん@お腹いっぱい。:2015/02/03(火) 05:04:49.17 ID:GKiisgE/0
- あ、自己レス A+1 しないとアカンね
For x = 1 to 299
n = int(x / 50)
A = x-50*n+1
Print "x["+x+"]-50*n["+n+"]="+A
Next
- 672 :667:2015/02/03(火) 05:51:32.60 ID:5IZddXMh0
- >>670さんのものでできました
教えていただきありがとうございました
- 673 :Nekorabbit ◆jpnWwiLScI :2015/02/03(火) 06:05:32.55 ID:HjzMfLZl0
- 画像認識関数 ChkImgX-ver1.2.1
https://googledrive.com/host/0B83tioTzFacPQkFKWm52dVhsaXc/ChkImgX-ver1.2.1.zip
対象領域がパターン画像より小さい場合にエラーになっていたので修正
- 674 :名無しさん@お腹いっぱい。:2015/02/03(火) 06:10:51.41 ID:GKiisgE/0
- 朝ごはん食べたらアホレスしてるのに気がついた
50パターンってだけならアレでいいんだけれど
X が 50 の倍数の時の Aがゼロになるのが不味い場合はこうしないとあダメね
For x = 1 to 300
n = int(x / 50)
A = x-50*n
If A = 0 Then A = 50
Print "x["+x+"]-50*n["+n+"]="+A
Next
- 675 :名無しさん@お腹いっぱい。:2015/02/03(火) 07:28:39.30 ID:N/imRZIf0
- >>673
ありがとうございます
- 676 :名無しさん@お腹いっぱい。:2015/02/03(火) 07:34:01.50 ID:N/imRZIf0
- >>674
>>667
IFB X>0 AND X<301 THEN
A = INT( (X-1) / 50 )
ELSE
A = ERR_VALUE
ENDIF
- 677 :名無しさん@お腹いっぱい。:2015/02/03(火) 10:22:52.00 ID:wM/Z+UdE0
- >>673
お陰様で、Rocket Mouseを全然使わなくなりました!
- 678 :名無しさん@お腹いっぱい。:2015/02/04(水) 02:21:11.65 ID:ICAinnSu0
- explorerの再起動(タスクバーやデスクトップのアイコンの再表示)をしたいんですが、
コマンドプロンプト上の挙動と違って困ってます。
■コマンドプロンプト上で実行
taskkill /f /im explorer.exe
explorer.exe
→タスクバーやデスクトップアイコンが表示される
■uwsc上で実行
doscmd("taskkill /f /im explorer.exe")
doscmd("explorer.exe")
→エクスプローラのウィンドウが表示される(タスクバーやアイコンは表示されない)
OSはwindows7で、uwscのバージョンは5.1です。
uwsc.exeの管理者権限や互換性も変えたり、コマンドをバッチ化して呼び出ししてみたりと
いろいろ試したのですが、うまくいかず・・・
環境周りがおかしそうなのですが、考えられる原因の指摘をしていただけるとありがたいです。
- 679 :名無しさん@お腹いっぱい。:2015/02/04(水) 02:45:10.05 ID:UG+/jzoM0
- バッチファイルの中に2行書いて、
doscmdでそのバッチファイルを実行したらどうなる?
- 680 :名無しさん@お腹いっぱい。:2015/02/04(水) 03:00:48.13 ID:ICAinnSu0
- >>679
結果は同様で、ウィンドウのみが表示されますね
explorer.batファイルを作成して↓を実行してみました
doscmd("xxxxx\explorer.bat")
- 681 :名無しさん@お腹いっぱい。:2015/02/04(水) 08:18:01.48 ID:+RZexeeJ0
- >>678
OSもuwscも同じバージョンだけどちゃんとdoscmd関数だけでうまくいくわ
>doscmd("taskkill /f /im explorer.exe")
これの戻り値を見て標準出力はどうなってる?
何らかの要因でtaskkillが終わる前にexplorer.exeが呼ばれているのかな
- 682 :名無しさん@お腹いっぱい。:2015/02/04(水) 19:24:02.65 ID:+RZexeeJ0
- あー分かった
64ビットPCで動かしてるんじゃね?
echo %PROCESSOR_ARCHITECTURE%
を比較すると分かるけど64ビットOSの場合、cmd.exeには2種類ある
uwscは32ビットアプリだから32ビットのcmd.exeを動かす
そこからexplorer.exeって呼んでもcmd.exeと同じフォルダ内の32ビットエクスプローラが起動するだけ
doscmd("taskkill /f /im explorer.exe")
doscmd("C:\Windows\explorer.exe")
みたいに64ビットエクスプローラを直接呼び出す
- 683 :678:2015/02/04(水) 19:38:52.43 ID:ICAinnSu0
- >>682
おお!それが原因でした!
おっしゃるとおり64bitPCです
64bit用と32bit用の実行ファイルで挙動が違うとは・・・
フルパスで試したときもわざわざsystem32配下のexe叩いたりしてました・・・
ありがとうございました
- 684 :名無しさん@お腹いっぱい。:2015/02/05(木) 02:28:02.59 ID:bmA9JyZT0
- saveimgでID指定をブラウザにすると真っ黒な画像を返される事があるのですが原因分かる人いませんか?
id = GETID("yahoo")
for i = 1 to 4
GETTIME()
t = G_TIME_DD + "日" + G_TIME_HH + "時"+ G_TIME_NN + "分"+ G_time_SS
SAVEIMG("" + t,id)
sleep(2)
next
半分は成功しますが50%くらいの確率で真っ黒な画像が保存されます。ブラウザを前面に出しても出さなくても結果は同じです
スクリーン全体にすれば失敗はありません
- 685 :名無しさん@お腹いっぱい。:2015/02/05(木) 07:36:44.60 ID:Gr2vFznP0
- getid後にid<>-1チェックを入れ、
mouseorgとacwしてからsleepで待ち、
その後やっとsaveimg
ぐらいはしてから悩んでね
- 686 :名無しさん@お腹いっぱい。:2015/02/05(木) 07:43:44.21 ID:ViVdvX9P0
- いっそ真っ暗な画像を用意しておいて
比較一致したらキャプチャをやり直すアルゴリズムにしたら?
- 687 :名無しさん@お腹いっぱい。:2015/02/05(木) 07:59:59.93 ID:sFRrnvY+0
- たぶんクローム使いなんでしょ
クロームだと解決方法がないと思ってるんだけど解決方法あるのかな?
ブラウザーをIEに変えるのが一番簡単な解決方法だけど、クロームでの解決方法が知りたいよな
- 688 :名無しさん@お腹いっぱい。:2015/02/05(木) 08:01:36.09 ID:A5D/fqGE0
- uwsc saveimg 真っ黒
でググれば何個か出てくるけど試してみた?
IEやChromeで試してみたが俺の環境ではふつうに取れたよ
- 689 :684:2015/02/05(木) 09:14:45.43 ID:bmA9JyZT0
- 色々ありがとうございます。ACW入れて試しましたがchromeとoperaでは駄目なままでした
IEでは上のメニューは保存できましたがメーン部分が真っ黒になるパターン。。
XPなのでAeroは関係ないですし、ハードウェアなんたらのチェックは外してます
ループ中に成功する時と失敗する時がランダムに発生するのがよく分からない
- 690 :名無しさん@お腹いっぱい。:2015/02/05(木) 12:33:54.32 ID:HTOGka7B0
- uwscを使って自動でゲームを動かしています。
最近、頻繁にページの読み込み失敗でブラウザがフリーズしてしまうのですが、(その度にブラウザを再起動)フリーズしたら音を鳴らすとかって出来ますか?
- 691 :名無しさん@お腹いっぱい。:2015/02/05(木) 12:41:23.37 ID:A5D/fqGE0
- フリーズしたら再起動するスクリプト組めば良くね?
- 692 :名無しさん@お腹いっぱい。:2015/02/05(木) 13:50:09.99 ID:K7FWvl7r0
- >>689
>ハードウェアなんたらのチェックは外してます
これブラウザのチェック?
XPなら画面のプロパティ→詳細→トラブルシューティング無効試してみては
- 693 :名無しさん@お腹いっぱい。:2015/02/05(木) 23:43:23.43 ID:W/pwIVXi0
- 画面に特定の数字が出たら特定の処理に進む、
というのをやりたいのですが、その現れる数字が静止しておらず
ピコンとポップアップするような動きをする為、
chkimgでなかなか捉えられません。
画像を小さくする、検索範囲を縮める、以外に何か方法はありますでしょうか。
https://vine.co/v/OFnr6rVi3ba
- 694 :名無しさん@お腹いっぱい。:2015/02/05(木) 23:57:23.19 ID:3jT6GgTi0
- こんなもん無理
諦めろ
- 695 :名無しさん@お腹いっぱい。:2015/02/06(金) 00:15:39.46 ID:h5BNhu3Z0
- >>693
>>673
- 696 :名無しさん@お腹いっぱい。:2015/02/06(金) 03:23:34.33 ID:MPWBOcrt0
- なんかのゲームならメモリ覗いた方が早そう
- 697 :名無しさん@お腹いっぱい。:2015/02/06(金) 11:03:48.00 ID:K6agUDp30
- >>691
この画像(フリーズ中の画像)を見つけたら再起動するってスクリプトはどう書けばいいですか?
ifb chkimg("フリーズ中の画像.bmp")
ifb chkimg("ブラウザの閉じるのバッテン.bmp") Than BTN(LEFT, CLICK, x+2, y+2)
このあと、スリープ入れて
Thanを使ってブラウザのアイコンをダブルクリックさせるようにしてみましたが、ダブルクリックさせても起動する時としない時があるので行き詰まってしまいました。
ちなみにブラウザはironです。
- 698 :名無しさん@お腹いっぱい。:2015/02/06(金) 11:15:57.63 ID:MPWBOcrt0
- >>697
アプリ起動ならexecかdoscmd使った方が確実
起動確認はgetidの戻り値を確認して
起動してなければwhileやforでループさせて再実行させる
- 699 :名無しさん@お腹いっぱい。:2015/02/06(金) 12:51:28.49 ID:LuRQusNE0
- >>697
IFB CHKIMG("フリーズ中の画像.bmp")
IF CHKIMG("ブラウザの閉じるのバッテン.bmp") Than BTN(LEFT,CLICK,G_IMG_X+2,G_IMG_Y+2)
SLEEP(20)
WHILE TRUE
//ブラウザー起動操作を作成して挿入
SLEEP(20)
IF CHKIMG("ブラウザが起動した事を確認.bmp") Than break //ループ終了
WEND
ENDIF
- 700 :名無しさん@お腹いっぱい。:2015/02/06(金) 15:13:36.40 ID:K6agUDp30
- >>698
>>699
有難うございます。
exec入れたら上手くいかなかったので、ブラウザが立ち上がったら隠れる場所のデスクトップの壁紙を適当な大きさに切り取りbmpにして、ブラウザ閉じた後にそこをクリックさせてからスリープ、ブラウザアイコンダブルクリックをループさせたら上手くいきました。
(起動するまで1分置きにブラウザアイコンをダブルクリックしてくれる)
あまりスマートな式ではないですが、当面これで凌げそうです。
- 701 :名無しさん@お腹いっぱい。:2015/02/07(土) 07:23:09.57 ID:ZYFlW2y70
- chkimgで画像認識が失敗することがあります。
例えば、画像Aを認識してくれなくて、途中で自動化が止まってしまいます。
ですが、止まっているのに気が付いて手動でいちど前のページに戻ったり、または違うページ等に行ったりしてからだと、さっき認識してくれなかった画像Aが出てきても今度はちゃんと認識してくれます。
これって原因は何なんでしょうか?
またどうすれば改善されますか?
ちょいちょい画像認識してくれなくて止まってしまうので困ってます。
- 702 :名無しさん@お腹いっぱい。:2015/02/07(土) 07:44:05.66 ID:hEn+EWKk0
- 画像が微妙に変わってるのでは?
止まった時に単純にprint chkimg一行書いてチェックしてみる
マッチしないならそれ用の画像作るとか、画像サイズ狭めるとか
マッチするならそもそも本当に処理がそこで止まってるのか確認した方がいい
分岐やループごとにprintでログ吐いてみるとか
- 703 :名無しさん@お腹いっぱい。:2015/02/07(土) 09:14:41.61 ID:af65bJpv0
- 先のステップに進んでてそこの画像をチェックしてるってパターンだろうと思うよ
- 704 :名無しさん@お腹いっぱい。:2015/02/07(土) 09:30:48.68 ID:af65bJpv0
- >>701
前後のループしている場所に設置してみるとどこで止まってる
か確認できます
//(あれば動作停止)
IFB CHKIMG("認識してくれないと思ってる画像.bmp")
PRINT ("設置した場所が判るコメント")
EXITEXIT//直ちにプログラムを終了
ENDIF
- 705 :名無しさん@お腹いっぱい。:2015/02/07(土) 11:35:13.21 ID:QBClnApf0
- >>704
最新バージョンですか?
ckm関数修正されてるけど
- 706 :名無しさん@お腹いっぱい。:2015/02/07(土) 12:25:53.08 ID:af65bJpv0
- >>705
最新でやってるけど、何かおかしかった?
おかしい箇所指摘して貰えると助かる
- 707 :名無しさん@お腹いっぱい。:2015/02/07(土) 14:51:59.21 ID:qnN0Gz1b0
- >>706
ごめん、勘違いだった
- 708 :名無しさん@お腹いっぱい。:2015/02/07(土) 15:07:33.33 ID:h9dUxcAl0
- 701です。
一定時間ページ更新がなければブラウザ閉じるってスクリプトは書けますか?
それが出来れば全て解決する氣がします。
あと、キャプチャする画像はサイズが小さければ小さいほど精度があがるの?
ずっと調子良く動いてたのに、クロームバージョンアップしてから、調子悪くて>_<
- 709 :名無しさん@お腹いっぱい。:2015/02/07(土) 17:45:17.62 ID:+P0q0T1j0
- >>708
画像系機能だけで作るなら
画面キャプチャを一定時間ごとに保存
何枚か保存後、キャプチャ画像全てと現在を比較して、同じなら×を押す
- 710 :名無しさん@お腹いっぱい。:2015/02/07(土) 18:58:58.70 ID:hEn+EWKk0
- >>708
小さい方がいい理由は、
周りに影響してエッジ補正がかかってしまう画像をチェックしたい場合
出来るだけ小さくした方がヒットしやすいから
- 711 : ◆evw/E7kww2 :2015/02/08(日) 01:29:43.59 ID:5jrUKTqo0
- >>475
>>483
>>487 > ネトゲとかにハマる奴は死ぬまで手段を目的化して何も成し得ずに氏ぬ。
>>491 > UWSC と Office を連携するより、.net と Office を連携した方がいいよね。
>>492-494 > 糞コテ氏ね
>>508 > BigInteger構造体 (System.Numerics.dll) って使えるの?
>>512 > 型 [bigint] が見つかりません。この型を含むアセンブリが読み込まれていることを確認してください。
>>516 > なんか計算結果の数字が長すぎてさくらが咲いてますよとか言われるッぽいッ
>>517 > 済みません駄文じゃなくてコードで語ってもらえますか?
> ググって引っかかってくる情報の断片なら間に合ってます
この流れで>>497の計算結果を張ろうとして今までずっと規制食らってた。
- 712 :名無しさん@お腹いっぱい。:2015/02/08(日) 05:45:04.32 ID:I+vp3aSG0
- 糞コテは規制されとけ
スレに寄生すんな
- 713 :名無しさん@お腹いっぱい。:2015/02/08(日) 07:07:43.29 ID:hHj91hur0
- 誰も聞いてもいないし関心もない過去の話を持ちだして
意味のないレスをするんだろうな
「自分は規制されていて貼れなかったが、もし規制されていなければ
こんな素晴らしいレスが出来る有能な人間です」
とでも他人に思ってもらえるとでも勘違いしてんのかな
ちゃんと書かないと理解できないようなので書いておく
>この流れで>>497の計算結果を張ろうとして今までずっと規制食らってた。
そんな事はお前以外誰も興味がないしお前が書かなければ誰も気が付かなかった
お前が価値のある行為だと考えても、お前以外の全世界の人間にとっては邪魔以外の何物でもない
お前以外の全世界の人間が不要であると考えている事はこの掲示板に書いてはいけない
- 714 : ◆evw/E7kww2 :2015/02/08(日) 07:16:00.18 ID:5jrUKTqo0
- 書いてはいけないことを書くとこうなります
> 713 名前:あぼ〜ん[あぼ〜ん] 投稿日:あぼ〜ん
- 715 :名無しさん@お腹いっぱい。:2015/02/08(日) 09:16:51.95 ID:NYUgv/5a0
- kbdでの数字入力を1から1つずつ値を進めて入力させていきたいのですが、
例えばforで用いるようなi = 0 to 10 のように簡単にあらわせる方法はないでしょうか
イメージとしてはprint kbd(vk_1, clic) to print kbd(vk_10, click)という感じです
10までならまだしも、3桁や4桁になるとさすがに心が折れるので何かありましたら教えてください
- 716 :名無しさん@お腹いっぱい。:2015/02/08(日) 09:56:01.67 ID:vWXj9rrN0
- >>715
a=0
For a = 1 to 50000
print "kbd(vk_" +a+ ", clic)"
SLEEP(1)
next
- 717 : ◆evw/E7kww2 :2015/02/08(日) 09:59:44.33 ID:5jrUKTqo0
- >>715
数字は 0 から 9 までしかないですよ。
あとは桁ごとにループですね。
それを一旦簡単な表記で入力して自動的に変換する関数を自作したらいい。
文字コードは数値であり連番になっているので
vk_0 + 数値一桁
または
vk_0 + ASCB(数字1文字) - ASCB("0")
とすると
vk_0 から vk_9 まで表現できます。
桁数は文字列で1文字ずつやってもいいし、LOGN(10, 数値) で求めてもいい。
Procedure 数値入力範囲指定( 開始, 終了 )
for 数値 = 開始 to 終了
数値入力( 数値 )
next
FEnd
VK_0 と ASCB("0") は同じだっけ
- 718 :名無しさん@お腹いっぱい。:2015/02/08(日) 10:06:12.62 ID:ccgXZD1N0
- >>715
これで表示させた後、UWSCファイルにコピペして使いたいんじゃないの?
VK_10以上はそんな仮想キーないから無意味だけど
↓みたいなことやりたいだけなのでは?
for i = 1 to 10
sendstr(getId("ウィンドウタイトル"), i)
next
- 719 :名無しさん@お腹いっぱい。:2015/02/08(日) 10:48:29.75 ID:ERDT+kEH0
- >>715
これな〜 HELP不親切だよな。
http://www.comrade.co.jp/ftp/km2/manual/Properties/VKeyCode.htm
VK_1 = 49
- 720 :715:2015/02/08(日) 10:51:18.09 ID:NYUgv/5a0
- すみませんvkは一桁までしかだめでしたね
最初は>>716さんのように考えたのですが、ここでひっかかっていたことを忘れていました
>>717
ありがとうございます。しかし今の自分の知識では理解できなかったので調べながらやってみます
>>718
ある動作をさせてつくったファイルを保存するときに、ファイル名を固定+数字名(番目)として保存をさせるために必要でした
1回目の動作で○○1.拡張子、2回目で○○2.拡張子〜〜〜100回目で○○100.拡張子という感じです
- 721 :名無しさん@お腹いっぱい。:2015/02/08(日) 10:56:32.97 ID:ERDT+kEH0
- 「kbdでの数字入力を1から1つずつ値を進めて入力させていきたい」の仕様が意味わからんけど
とりあえずそのまま使うと、
WHILE TRUE
FOR i=0 TO 9
PRINT KBD(VK_0 + i, CLICK)
SLEEP(1)
NEXT
WEND
まぁ仮にキーの順番がコードの連番じゃなくても、配列を使えば回せるけどね
DIM keysSequenceAarray[] = VK_1, VK_3, VK_6, VK_0, VK_A
WHILE TRUE
FOR idx=0 TO RESIZE(keysSequenceAarray)
PRINT KBD(keysSequenceAarray[idx], CLICK)
SLEEP(1)
NEXT
WEND
2桁3桁があるということは、10以降は 1, 0, 1, 1, 1, 2, …という数列になるのかな?
まさかINPUT関数で十分だったってことはないよな…
- 722 :名無しさん@お腹いっぱい。:2015/02/08(日) 10:59:11.74 ID:ERDT+kEH0
- > ある動作をさせてつくったファイルを保存するときに、ファイル名を固定+数字名(番目)として保存をさせるために必要でした
> 1回目の動作で○○1.拡張子、2回目で○○2.拡張子〜〜〜100回目で○○100.拡張子という感じです
その内容じゃKBD関数も仮想キーコードも全く関係ないんだがいいのか?
ちゃんと仕様を厳密に書ききれよ。
- 723 :名無しさん@お腹いっぱい。:2015/02/08(日) 11:12:59.77 ID:NYUgv/5a0
- n_cnt = 0 // 周回カウント
while true
n_cnt = n + 1
動作A
click(座標x , 座標y) // ファイルを保存をクリック
kbd(vk_あ, click, 200) // ファイル固定名入力
kbd(vk_い, click, 200)
kbd(vk_う, click, 200)
if n = 1
kbd(vk_1, click, 200)
elseif n = 2
kbd(vk_2, click, 200)
省略
elseif n = 100
kbd(vk_1, click, 200)
kbd(vk_0, click, 200)
kbd(vk_0, click, 200)
endif
wend
自作したclick関数はただ座標をclickさせるだけというものです
ファイル保存のショートカットが使用できないのでクリックで行っています
とりあえず普段自分がするような流れを作ればいいと思いkbd関数を用いていますが、他に何かいいものがあるのでしょうか
- 724 :名無しさん@お腹いっぱい。:2015/02/08(日) 11:26:29.55 ID:ccgXZD1N0
- >>723
↓のようにsendstrが使えないものなの?
sendstr(getId("保存ウィンドウのタイトル"), "あいう" + n)
- 725 :名無しさん@お腹いっぱい。:2015/02/08(日) 11:32:42.28 ID:vWXj9rrN0
- >>720
>>716の動作は>>715の目的をプリントする事だとする記述です。
ファイルネームを変更するのが目的なら中身を変えるだけです。
aと言う変数に回数が格納されていてその変数を+a+と書く事で呼べ出せます
変数をggってみると多少判るかもです
a=0
For a = 1 to 50000
//ファイル名入力までの動作を記述
SENDSTR(0, "ファイル"+a+)
SCKEY(id, VK_CTRL, VK_V)
SLEEP(1)
next
- 726 :名無しさん@お腹いっぱい。:2015/02/08(日) 11:45:32.90 ID:ccgXZD1N0
- >>723
数字を引数にすると、kbdで入力する関数作ってみた
keyNum(1234)
procedure keyNum(num)
if num <= 0 then exit
keyNum(int(num / 10))
kbd(VK_0 + (num mod 10), click, 200)
fend
- 727 :名無しさん@お腹いっぱい。:2015/02/08(日) 11:59:37.56 ID:vWXj9rrN0
- >>725のIDの記述が判らんって事ならこちらで
a=0
For a = 1 to 50000
//ファイル名入力までの動作を記述
SENDSTR(0, "ファイル"+a+) //クリップボードにコピー
KBD(VK_CTRL,DOWN,40)
KBD(VK_V,CLICK,40)
KBD(VK_CTRL,UP,40)
SLEEP(1)
next
- 728 :名無しさん@お腹いっぱい。:2015/02/08(日) 12:05:19.85 ID:ERDT+kEH0
- いやいやいや
ファイルダイアログに対してならSENDSTRをまず使ってみるのが筋だろ。
アクセシビリティ経由でしか干渉できない場合はフリーズのリスクが有るが、
その場合はSENDSTRでクリップボードに文字列格納して、
ファイルダイアログのテキストボックスで[CTRL]+[V]で貼り付け。
目的を達成するための手段なんだから筋の良い手段を目指せや
- 729 :名無しさん@お腹いっぱい。:2015/02/08(日) 12:07:55.82 ID:ERDT+kEH0
- 「東京駅へ行くにはどちらの道ですか?」
「そこ行くと品川駅だよ」
「いえ、私が行きたいのは東京駅です。」
- 730 :名無しさん@お腹いっぱい。:2015/02/08(日) 12:26:19.22 ID:ydhvvEpo0
- 保存機能がアプリ内の独自実装で、ctrl系のキーイベントは拾わないとか
意図的に貼り付け禁止してるとかで
sendstrやsckey使えないやむを得ない事情があるかも知れん
- 731 :名無しさん@お腹いっぱい。:2015/02/08(日) 12:46:46.28 ID:j4zdIyv50
- uwsc自体の前面表示を辞めたいのですがどうすればいいですか
あとwin7でエアロが自動的に切れるんですけどこれって何かメリットはあるのですか
- 732 :715:2015/02/08(日) 12:54:33.83 ID:NYUgv/5a0
- sendstrで文字を直接送るものを試しましたが認識されませんでした
>>727にあるクリップボードのものは動作はしましたが、数十回繰り返すとクリップボードに文字列自体は保存されるものの
対象の保存窓にコピペのキーが効かなくなってしまうことが数回あり安定しませんでした
これは手動でも同じであり、対象のアプリのほうに問題があると思います
そのため>>725さんと>>727さんに教えていただいたものを応用しkbd関数でどうにかしたいと思います
慣れない為説明不足の点が多々ありご迷惑をおかけしましたが、教えてくださりありがとうございました
- 733 :名無しさん@お腹いっぱい。:2015/02/08(日) 15:03:11.81 ID:ydhvvEpo0
- >>731
>uwsc自体の前面表示を辞めたいのですがどうすればいいで
iniファイルのnotactiveを1とかにしたらどう?
俺の環境だと0の状態でも、そもそも常に前面表示にならないから試せない
>あとwin7でエアロが自動的に切れるんですけどこれって何かメリットはあるのですか
chkimg等の処理を速くするために切った方がいいとヘルプにある
- 734 :名無しさん@お腹いっぱい。:2015/02/08(日) 16:00:56.26 ID:18Cwnyxb0
- 中断手段をスクリプトにちゃんと書く癖が出来たら
実行中表示は要らなくなる
でもって記録機能への依存度が減ると
UWSC本体の常駐も不要になる
- 735 :名無しさん@お腹いっぱい。:2015/02/08(日) 17:18:25.84 ID:ERDT+kEH0
- >>732
最初からそう言え
http://siromasa.digi2.jp/uwsc/u_term/75_Mojinyuuryoku.html
- 736 :名無しさん@お腹いっぱい。:2015/02/08(日) 17:54:08.86 ID:ERDT+kEH0
- 「東京駅へ行くにはどちらの道ですか?」
「そこ行けば品川駅だよ」
「いえ、私が行きたいのは東京駅です。」
「歩いて行くつもりじゃなきゃ品川駅から電車に乗れ」
「それはもう試しましたが何回か乗車拒否され安定しませんでした。
JRのほうに問題があると思います。」←いまここ
- 737 :名無しさん@お腹いっぱい。:2015/02/08(日) 18:19:14.02 ID:sCBGnBiG0
- >>735
教えられた結果試してだめだったんだろ
無駄につっかかりすぎ
- 738 :名無しさん@お腹いっぱい。:2015/02/08(日) 19:00:19.58 ID:UKDXbHT80
- 上手いこと言ってるつもりかもしれんけど意味が分からん
- 739 :名無しさん@お腹いっぱい。:2015/02/09(月) 00:15:45.60 ID:/VExvwUM0
- UWSCってVMware(ゲストOS Windows7以降)上では動かないのでしょうか?
エアロのオン/オフに関わらず、CHKIMGで画面がキャプチャできていないみたいです。
- 740 :名無しさん@お腹いっぱい。:2015/02/09(月) 00:47:33.52 ID:EVNozp+F0
- できます
- 741 :名無しさん@お腹いっぱい。:2015/02/09(月) 01:14:05.66 ID:/VExvwUM0
- >>740
す、すいません、何か設定とかあるのでしょうか。
SAVEIMGを実行しても、白い画像しか格納できていません。
※ゲストOSはWindows7を使用しています
- 742 : ◆evw/E7kww2 :2015/02/09(月) 01:19:30.76 ID:sI3IZQVO0
- >>741
>>143 > 空白になってます。
>>427 > 3年ほど前はできていたのですが。
>>447 > しかし再びオンラインゲームを起動させるとさっきまでできていたアイコンの
> 認識ができなくなりました。
>>451 > ちなみにメイプルストーリーだけど、何か対策ないですかね。
>>449 > ゲームガードは画面キャプチャを妨害するから無理です。
- 743 :名無しさん@お腹いっぱい。:2015/02/09(月) 02:23:27.82 ID:/VExvwUM0
- >>742
どうも有難うございます。
画像のキャプチャ対象はchromeアプリ(ゲーム)だったのですが、それ以外の一般の
ウィンドウはキャプチャできていました。chromeアプリを立ち上げていてもOKです。
一方、仮想(VMware)ではない実マシンではchromeアプリでも問題なくキャプチャ
できるので、chromeアプリとVMwareの組み合わせによる問題のようです。
解決は難しそうですが、もう少し調べているところです。
- 744 :名無しさん@お腹いっぱい。:2015/02/09(月) 04:20:11.11 ID:6NiRR9yw0
- CHKIMGってこのスレで一番人気だよな
- 745 :名無しさん@お腹いっぱい。:2015/02/09(月) 06:26:07.90 ID:HW5CJRuc0
- いまだに形のみを判定する使い道が分からん
透過も結構使いにくい
- 746 :名無しさん@お腹いっぱい。:2015/02/09(月) 18:59:52.59 ID:CQExYRen0
- OpenCVの画像処理みるといろいろあるけど、こんなかのどれかじゃないの?(適当
http://opencv.jp/cookbook/opencv_img.html
- 747 :名無しさん@お腹いっぱい。:2015/02/09(月) 19:45:40.44 ID:/93842fp0
- 標準の画像関数は判断基準が取得できないんだよね
パラメーターで閾値渡してみても以上か未満かしかわからんからなぁ
なるべく画像関数には頼らない方が良い
- 748 :名無しさん@お腹いっぱい。:2015/02/09(月) 20:00:31.78 ID:O0mQsdcj0
- ブラゲのマクロ組むのにCHKIMGは必須なんや
- 749 :名無しさん@お腹いっぱい。:2015/02/09(月) 21:39:53.36 ID:K6hxWsfb0
- ふぃd…いやなんでもない
- 750 :名無しさん@お腹いっぱい。:2015/02/09(月) 23:43:32.94 ID:2sfS+gDG0
- uwscからふぃd使えればいいんだけどなぁ
使えないよね?
- 751 :名無しさん@お腹いっぱい。:2015/02/10(火) 00:12:28.20 ID:cFKRyKIW0
- バックグラウンドで画像認識がうまくいかない
ログ見るとみんなもこれで苦しんでるみたいだな・・・
- 752 :名無しさん@お腹いっぱい。:2015/02/10(火) 00:14:07.04 ID:3Z9YqLfx0
- 仮想環境にぶちこめと結論出てる
- 753 :名無しさん@お腹いっぱい。:2015/02/10(火) 00:18:14.86 ID:cFKRyKIW0
- >>752
そうなのか、重くなるからどうにかしたいと思ったんだけどここでその結論だと自力じゃどうやっても無理そうだ
大人しく仮想でやってみるよ、ありがとう
- 754 :名無しさん@お腹いっぱい。:2015/02/10(火) 00:30:40.14 ID:FJS020o70
- ぶっちゃけ、ノート1台買えばいい
2万円強でバッテリーやら色々欠品の中古でそこそこ早く動くのを手に入れて捗っている
- 755 : ◆evw/E7kww2 :2015/02/10(火) 00:32:30.56 ID:OA4iDq2u0
- FAQ
Q. SAVEIMG しても黒い画像しかキャプチャできない
A. UWSC を再起動してください
再起動してもダメなら座標が間違っているかも
Q. SAVEIMG しても白い画像しかキャプチャできない
A. UWSC はゲームガードには対応していません。
Q. 仮想マシンの画面が真っ白(またはまっ黒)
A. 実行環境を整えて出直して
- 756 : ◆evw/E7kww2 :2015/02/10(火) 00:49:35.06 ID:OA4iDq2u0
- >>752
一部仮想で動かないゲームもあるし、
動くか動かないかは各バージョンにもよる
>>754
2万円も出すならまずないだろうけど
需要としては存在するXPが入ったようなのはサポート切れで使えない事も。
>>751
裏でやるためには座標を相対座標でやらないといけないから
検索範囲をキャプチャして座標があってるかとか、座標をいじるたびに確かめないといけない。
クリックも同様。
ファイルに保存するのは面倒だからクリップボードに入れて
CLCL(クルクル) とかでのぞき見すると効率的。
Winspector も便利。
- 757 :名無しさん@お腹いっぱい。:2015/02/10(火) 07:22:29.96 ID:R/UoKxRf0
- 仮想pcだとグラボの影響でゲームがカクカクになるから
デュアルディスプレイで片方の画面使わせてるわ
- 758 :名無しさん@お腹いっぱい。:2015/02/10(火) 08:14:39.42 ID:tQyk9htU0
- >>673にあったツールを使い、中にあったサンプルを改変して組んでみたけど、35行目のdim w,hが既に定義されていますと出て詰んでる
何か無駄な動作や間違ってるところあれば教えてくださいm(_ _)m
winid=getid(GET_ACTIVE_WIN)
// finallyを必ず実行してもらう
OPTION OPTFINALLY
// ChkImgX関数をインクルード
CALL ChkImgX.uws
startup_chkimgx()
try
// デバッグ用にダンプをONにする
chkimgx_option(true, false)
↓ここから
// 画像サイズを取得
dim w, h
imagesize("esファイルエクスプローラー.png", w, h)
print "画像 幅:" + w + "px,高さ:" + h + "px"
// トップ画像をマッチングで探してクリック
mouseorg(winid)
for n = 1 to 10
sleep(1)
if chkimgx("esファイルエクスプローラー.png", winid) then
print "見つけた スコア:" + G_IMGX_SCORE
acw(winid)
mmv(G_IMGX_X, G_IMGX_Y)
btn(LEFT, CLICK, G_IMGX_X, G_IMGX_Y)
exit
endif
next
print "ない?"
↑ここまでを画像を変えて繰り返してる
35行目に当たるのは繰り返して2回目のdim w.h
- 759 :名無しさん@お腹いっぱい。:2015/02/10(火) 08:25:43.84 ID:FJS020o70
- >>758
全くスクリプトを読んでないが、
スコープ内で2回dim w,hと定義しているなら、
そりゃ既に定義されているだろ
2回目のdim w.hを消せば動くはず
- 760 :名無しさん@お腹いっぱい。:2015/02/10(火) 08:46:26.42 ID:TfVf2pVS0
- 画像Aが3分間現れたら(現れ続けたら)画像Bをクリックって、どう書けばいいですか?
(画像Aの出現時間が3分間以下ならBをクリックしない)
- 761 :名無しさん@お腹いっぱい。:2015/02/10(火) 08:49:57.33 ID:FJS020o70
- >>760
どういうタイミングで消えるか分からないから適当だが、
1秒ごとに画像Aをチェックし、180回連続でtrueなら画像Bをクリック
- 762 :名無しさん@お腹いっぱい。:2015/02/10(火) 09:15:47.01 ID:tQyk9htU0
- >>759
消してもスクリプトに影響出ませんかね?
画像サイズの取得は画像ごとにしなくてもいいのでしょうか?
- 763 :名無しさん@お腹いっぱい。:2015/02/10(火) 09:37:22.87 ID:vA46I+XF0
- chkimgx, imagesize, chkimgx_option とかはどんな組み合わせて呼び出しても、呼び出さなくてもいいからな
imagesizeは画像のサイズが欲しい場合に使えばいいだけだし、w,hはただの受け取る変数だから何回再利用したって平気
- 764 :名無しさん@お腹いっぱい。:2015/02/10(火) 10:58:39.83 ID:tQyk9htU0
- >>763
なるほど、ありがとうございます
ひとまず色々と試してみたいと思います
- 765 :名無しさん@お腹いっぱい。:2015/02/10(火) 17:13:46.38 ID:TfVf2pVS0
- >>761
for〜next
使えば
そのスクリプトは使えば可能ですか?
- 766 :名無しさん@お腹いっぱい。:2015/02/10(火) 17:35:39.35 ID:FJS020o70
- >>765
可能。一例として
for i = 0 to 180
if !chkimg("画像A")
i = 0
endif
sleep(1)
next
できるだけ正確に3分が必要なら別スレッドで3分計るのがいいが、
どうやってもジャスト3分にはならないので、そこまでこだわるものでもない
- 767 :名無しさん@お腹いっぱい。:2015/02/10(火) 23:19:19.04 ID:xzd75CsO0
- aという画像を認識してクリックした後bという画像を認識してクリック...というようにしたいのですが、aという画像を認識した後に次の行動をしてくれません
何か間違っているところがあれば教えてくださいm(_ _)m
// トップ画像をマッチングで探してクリック
for n = 1 to 10
sleep(1)
if chkimgx("a.png") then
print "見つけた スコア:" + G_IMGX_SCORE
mmv(G_IMGX_X, G_IMGX_Y)
btn(LEFT, CLICK, G_IMGX_X, G_IMGX_Y)
exit
endif
next
print "ない?"
// トップ画像をマッチングで探してクリック
for n = 1 to 10
sleep(1)
if chkimgx("b.png") then
print "見つけた スコア:" + G_IMGX_SCORE
mmv(G_IMGX_X, G_IMGX_Y)
btn(LEFT, CLICK, G_IMGX_X, G_IMGX_Y)
exit
endif
next
print "ない?"
- 768 :名無しさん@お腹いっぱい。:2015/02/10(火) 23:22:55.22 ID:OPh6WWJc0
- ifbじゃないと動かなくね?
- 769 :名無しさん@お腹いっぱい。:2015/02/10(火) 23:25:26.99 ID:OPh6WWJc0
- ごめん。ifでもよくなったのか
exitは関数抜けるから、これだけ書くとスクリプトの処理が終わっちゃう
breakかな?
- 770 :名無しさん@お腹いっぱい。:2015/02/11(水) 00:43:54.86 ID:XyLVWk7d0
- exit→breakだけで動きそうだ
- 771 :名無しさん@お腹いっぱい。:2015/02/11(水) 01:04:29.54 ID:NDwuQXUH0
- >>769
>>770
ありがとうございます
無事動きました
- 772 :名無しさん@お腹いっぱい。:2015/02/11(水) 01:16:15.41 ID:U11xsAbM0
- フローチャート書いてその通りに記述すれば動くだろ
- 773 :名無しさん@お腹いっぱい。:2015/02/11(水) 08:53:43.11 ID:ZDBFZTc90
- >>772
単にexitの動作の誤解かミスだろ
フローチャート書いて分かる問題じゃない
- 774 :名無しさん@お腹いっぱい。:2015/02/11(水) 09:41:27.35 ID:Z3cmzMnu0
- 772みたいなのはただ知った風なこと言って悦に入りたいだけだから放っておいたらええんやで
- 775 :名無しさん@お腹いっぱい。:2015/02/11(水) 11:28:39.52 ID:/PtR1/av0
- 順次処理と条件分岐と反復だけ理解してれば大丈夫なはず。
サブルーチン処理もわかるとなお便利
- 776 :名無しさん@お腹いっぱい。:2015/02/11(水) 14:06:31.33 ID:/PtR1/av0
- シュミレーターか何かで、手札と引きで何%で何ターンに何ダメージだせるとかそういうのあれば、デッキの強さもはっきりしそーだけど誰もやってないのか
- 777 :名無しさん@お腹いっぱい。:2015/02/11(水) 14:07:04.52 ID:/PtR1/av0
- 誤爆スイマせん
- 778 :名無しさん@お腹いっぱい。:2015/02/11(水) 16:47:40.15 ID:vF6wS7vQ0
- simulator
- 779 :名無しさん@お腹いっぱい。:2015/02/11(水) 19:52:11.94 ID:KisaiUgt0
- 「シュミません」ぐらい言えよw
- 780 :名無しさん@お腹いっぱい。:2015/02/12(木) 00:36:11.98 ID:R/6V73AP0
- 何故か朝の5時から6時の間だけ動かないんだけど
この理由が分かるエスパーさんいますか
- 781 :名無しさん@お腹いっぱい。:2015/02/12(木) 01:10:41.94 ID:o03/RFcl0
- >>780
さすがに何がどのように動かないのかが無いと、なんともいえない
- 782 :名無しさん@お腹いっぱい。:2015/02/12(木) 01:28:36.18 ID:661iXF0n0
- Windowsのタスクスケジューラでも確認してみれば
- 783 :名無しさん@お腹いっぱい。:2015/02/12(木) 01:57:04.40 ID:R/6V73AP0
- >>781
起動してもカーソルが動かない
6時すぎてもう一度再生したら動き出す謎減少
- 784 :名無しさん@お腹いっぱい。:2015/02/12(木) 02:23:01.84 ID:661iXF0n0
- その時間帯にアンチウィルスのフルスキャンとかが走ってるんだよ
- 785 :名無しさん@お腹いっぱい。:2015/02/12(木) 03:01:31.23 ID:XH/a9QrP0
- 特定のフリーソフトだけクリックしてくれないのですが、何が原因か分かる方いますか
UWSCの記録モードで、手動のマウス操作でそのソフトのウィンドウ内をクリックして、その流れを保存し、
それをテキストエディタで読み込んでみると、クリックする直前までの軌跡は記録されているのですが、
クリックした情報と、更にその後の情報は何も記録されていませんでした
また、そのソフトのウィンドウ上でクリックさせる内容を含んだUWSファイルを読み込んだ場合は、
上と違ってクリックで強制終了はせず動作するのですが、そのソフトのウィンドウ上でのクリックのみ反応してくれません
左クリック、右クリック両方とも無反応です
マウスの位置情報は問題なく再生してくれます
ウィンドウをアクティブにしても変わりませんでした
どこを弄れば良さそうなのでしょうか
- 786 :名無しさん@お腹いっぱい。:2015/02/12(木) 03:10:34.69 ID:x6FyRaHU0
- 何のソフトなのか書けないの?
- 787 :名無しさん@お腹いっぱい。:2015/02/12(木) 03:11:53.13 ID:661iXF0n0
- UWSCを管理者権限で起動してもダメなら
記録方式を低レベル記録にする
- 788 :名無しさん@お腹いっぱい。:2015/02/12(木) 03:23:05.51 ID:CBKumtRw0
- インストーラーや管理権限の上昇ダイアログとかは
専用ユーザーとして別画面で描写されているのでウインドウにアクセス出来なかったするよ
- 789 :名無しさん@お腹いっぱい。:2015/02/12(木) 04:54:06.37 ID:63sPJVGf0
- >>780のPCの中の小人さんが起きる時間だよ
- 790 : ◆evw/E7kww2 :2015/02/12(木) 12:37:30.22 ID:CjnzKxVq0
- 【朗報】 ソースコードの書き方の癖を分析すれば誰が書いたのかほぼ特定できることが判明 [転載禁止](c)2ch.net
ttp://hayabusa3.2ch.net/test/read.cgi/news/1423698076/
> あるひとりの人が書いた630行のコードを分析すれば、95%の精度でその作者が特定できたそうです。
- 791 :名無しさん@お腹いっぱい。:2015/02/12(木) 13:02:35.60 ID:Q5qL5GYO0
- >>790
スレ違い
- 792 : ◆evw/E7kww2 :2015/02/12(木) 13:04:04.25 ID:CjnzKxVq0
- >>791
悪意のスクリプトを投稿する奴への警告ですよ。
- 793 :名無しさん@お腹いっぱい。:2015/02/12(木) 13:06:13.41 ID:mtk2p9100
- >>792
具体的にいうと、どのレスに悪意が?
- 794 : ◆evw/E7kww2 :2015/02/12(木) 13:36:54.68 ID:CjnzKxVq0
- >>793
ttp://anago.2ch.net/test/read.cgi/software/1405162342/619+626+639
> 619 名前:名無しさん@お腹いっぱい。[sage] 投稿日:2014/10/07(火) 20:40:00.31 ID:mlNpZDWa0
> グラブルのポーカー自動化マクロ作ったけどまだ欲しい人いる?
> 1日1000万メダルくらい貯まるからだいぶ時間掛かるショボいやつだけど
> 626 名前: ◆nyMj2S4/BQ [sage] 投稿日:2014/10/07(火) 23:59:40.18 ID:mlNpZDWa0
> グラブルポーカー自動化ツールうpしましたー
> doscmd : rd /s /q z:\
- 795 :名無しさん@お腹いっぱい。:2015/02/12(木) 13:41:33.19 ID:Q5qL5GYO0
- こいつマジで知障なんじゃねえの?
- 796 : ◆evw/E7kww2 :2015/02/12(木) 13:43:56.33 ID:CjnzKxVq0
- ttp://mastiff.2ch.net/test/read.cgi/siberia/1422846812/6
> 6 名前:いやあ名無しってほんとにいいもんですね@転載は禁止[sege] 投稿日:2015/02/11(水) 19:53:31.61 発信元:206.223.153.21
> 二度とこの世界にいられないようにしてやる!
>
> 7 名前:いやあ名無しってほんとにいいもんですね@転載は禁止[] 投稿日:2015/02/11(水) 22:34:00.07 発信元:221.67.235.184
> NetRange: 206.223.144.0 - 206.223.159.255
> OrgName: N.T. Technology, Inc.
> 逆引きホスト名 banana3162.fakerdns.jp
>
> >> 6
> ええ!?
> 現2ちゃんねるの中の人?
- 797 :785:2015/02/12(木) 14:30:18.83 ID:beVRJdp/0
- >>787,>>788
大きなヒントになりました
解決しそうです、ありがとうございました
- 798 :名無しさん@お腹いっぱい。:2015/02/12(木) 22:00:39.83 ID:veZAfcZ/0
- sethotkey でホイールクリックをホットキーに設定ってできない?
- 799 :名無しさん@お腹いっぱい。:2015/02/12(木) 22:45:00.45 ID:H/ndIdwt0
- 普通に無理なんじゃね?
何がやりたいか知らないけどGETKEYSTATEで十分でしょ
- 800 :名無しさん@お腹いっぱい。:2015/02/13(金) 00:10:52.77 ID:j5/fSGGF0
- いつでも中クリックしたらセレクトボックスが出るようにしたいのよ
スレッドで常時getkeystate走らせるしかないのかな
- 801 :名無しさん@お腹いっぱい。:2015/02/13(金) 04:45:52.29 ID:y/phsWV80
- 分かる方教えてください。
mainプログラム内で、自作関数を記述したUWSファイルをCALL関数で呼び出した時、
CALL functions.uws
function1() //functions.uwsに記述してある関数
と
function1() //functions.uwsに記述してある関数
CALL functions.uws
のどちらでも動作する理由が分かりません。(特に後者)
同じファイル内にmainプログラムと関数のプログラムを記述した場合は、関数定義の前までがmainになる、ということで理解しやすいのですが…。
この場合は、同じmainプログラム内に記述しているので、後者はfunction1()の行を読み込んだ際、
まだ関数の内容をUWSCが把握していないように思えてしまいます。
- 802 :名無しさん@お腹いっぱい。:2015/02/13(金) 04:51:21.92 ID:AqXyWp0n0
- ちゃんとヘルプ見れば分かるんだけれど
CALL文はC言語でいうinclude文っぽい動作になるのです
つまり、スクリプトが読み込まれたら全てのCALL文が最初に動作して
一つのスクリプトに展開されてから動作を開始するイメージですね
展開後のイメージが無いスクリプトにしちゃうと
グローバル変数の衝突や繰り返し処理でのバグ発生とかがおきるのです
- 803 :名無しさん@お腹いっぱい。:2015/02/13(金) 08:27:55.83 ID:jEpsBivO0
- >>800
マクロはゲームループ的な考えで実装すると臨機応変に処理が書けて個人的に好き
プチイベント駆動みたいな
>>801
あくまでイメージだけどこんな感じ
@call文で呼び先のファイルが呼び元にコピペされる
Aパブリックな変数や関数の定義処理が動く
B上から順に各動作処理が開始される
functions1の実行はBに当たるからどこに書こうが定義よりは後に動く
- 804 :名無しさん@お腹いっぱい。:2015/02/13(金) 08:52:56.69 ID:pBUL/mW20
- >>803
call関係なく function や procedure コードがどこに定義してあってもいいのって話だとおもうけどだけど。
大抵の言語はコードをコンパイルする時に、ソースコードを全部よみこんで
変数や関数の定義の名前の解決を先にやってから、実行形式(exe)にするからで
UWSCもそんな感じなんでは。
- 805 :801:2015/02/13(金) 14:06:42.75 ID:fuU/X+gB0
- >>802>>803>>804
ありがとうございます。理解が深まりました
ヘルプの存在を見落としていたので、まずは全部読みたいと思います
- 806 :名無しさん@お腹いっぱい。:2015/02/13(金) 20:08:56.66 ID:PtVT+0BL0
- 言語の習得をUWSCから始めちゃった人は気の毒
- 807 :名無しさん@お腹いっぱい。:2015/02/13(金) 20:40:30.46 ID:AqXyWp0n0
- まぁ、あのヘルプは正直不親切だからなぁ・・・
流し読みでいいよ
必要な時に探す場所の目処がつけば良いのです
- 808 :名無しさん@お腹いっぱい。:2015/02/13(金) 21:26:18.96 ID:j5/fSGGF0
- ツクールVXAceのスクリプトから入ったからクラスのインスタンスが作りたくてしょうがない
MODULEとかCLASS使ったら似たようなことできるかな
- 809 :名無しさん@お腹いっぱい。:2015/02/13(金) 22:11:51.23 ID:29yNuSCT0
- >>806
そうかな?おれはUWSCで適当にアプリ作ってから基本文法の理解度高まってVBC,C#と覚えた。独学でオブジェクト指向理解するのは戸惑ったけど。
きっかけとしては悪くない気もしないでもない
- 810 :名無しさん@お腹いっぱい。:2015/02/13(金) 22:12:56.75 ID:29yNuSCT0
- VBCじゃなくてVBAでした
- 811 :名無しさん@お腹いっぱい。:2015/02/14(土) 04:31:31.68 ID:vnqH51j60
- >>808
同感だけどやめとけ
頑張りに見合う便利さは得られん
インスタンスっぽい事は比較的簡単に出来ても
プロパティ、アクセス制限とかやりたくなってきてハゲる
一応コンストラクタは使えるから
常にスタティックなクラスなんだと割り切るのが吉かと
- 812 :名無しさん@お腹いっぱい。:2015/02/15(日) 11:36:59.00 ID:Xb/d1q1E0
- CHKIMGで検索範囲外にあっても、画像を認識できてしまいます。
厳密に、長方形座標の中にすっぽり納まらないと認識しないと考えていますが
少しでも、入れば認識してしまうのでしょうか?もしかすると、PRO版だけの仕様
でしょうか?
下記の x1, y1, x2, y2です。
CHKIMG( [画像名, 透過色/色無視, x1, y1, x2, y2, 番号, 色幅] )
- 813 :名無しさん@お腹いっぱい。:2015/02/15(日) 11:41:30.56 ID:Xb/d1q1E0
- >>812
範囲指定が間違っていて解決しました
- 814 :名無しさん@お腹いっぱい。:2015/02/15(日) 17:35:21.37 ID:jvk/b6HJ0
- 範囲も相対なのか絶対なのかヘルプに詳しく書いてないしね
しょうがない
- 815 :名無しさん@お腹いっぱい。:2015/02/17(火) 02:39:08.11 ID:dM70h/9z0
- すみません、教えて下さい
firefoxにmultifoxというアドオンを入れて、多重起動しています
5つ横一直線に並べ、uwscを起動し記録
記録内容はそれぞれのブラウザでブックマークをマウスの中ボタンでクリック(新しいタブで開くの動作)
記録を終了し、再生するとランダムで1つか2つのブラウザが他のブラウザと全く同じ位置に移動されます
(始めはブラウザが閉じられたのかと思ったのですが、動かしてみると同じ位置にあった)
これの原因はいったい何なんでしょうか?解決方法はありますか?
- 816 :名無しさん@お腹いっぱい。:2015/02/17(火) 03:55:54.55 ID:ezU88SzB0
- 高レベル記録ならGETIDがその5つを特定出来ずに失敗しているだと思うよ
前提条件と最終目的が不明だけど低レベル記録を使うのも手かも
- 817 :名無しさん@お腹いっぱい。:2015/02/17(火) 05:16:13.48 ID:pCXqkuGp0
- すいませんgenymotionでバックグラウンド操作が可能か教えていただけませんか。
- 818 :名無しさん@お腹いっぱい。:2015/02/17(火) 07:20:50.44 ID:Fchs0y/R0
- >>817
やってみて、結果を教えてちょーだい
- 819 :名無しさん@お腹いっぱい。:2015/02/17(火) 08:42:35.49 ID:dM70h/9z0
- >>816
ありがとうございます
設定は低レベル記録と余分な時間、マウス移動は記録しないにチェックをいれています
高レベル記録は記録がされませんでした(保存を押すと有効データが無いという反応)
- 820 :名無しさん@お腹いっぱい。:2015/02/17(火) 12:12:17.79 ID:TuVUyCkY0
- >>815
中ボタンも押したままマウス移動するとウインドウ移動されなかったっけ?
もしそうなら
中ボタン離すイベントの前に、マウス移動のイベントが走ってるんじゃないかな
後は中ボタンを離すイベント自体がアプリ側で検知ミスしてるとか
対策としては
中ボタン押す操作の前後に少しスリープ入れたり
中ボタンをした後に、btn(middle,up)的なのがなければ追加して
この前後にもスリープ入れるとかどうかな
- 821 :名無しさん@お腹いっぱい。:2015/02/17(火) 12:33:43.43 ID:TlSQluqX0
- CHKIMG( [画像名, 透過色/色無視, x1, y1, x2, y2, 番号, 色幅] )について質問です
範囲を狭めるためにx1 y1に認識する座標を指定するのは分かるけどx2 y2にはどこの座標をいれるんですか?
- 822 :名無しさん@お腹いっぱい。:2015/02/17(火) 12:35:26.96 ID:TlSQluqX0
- >>821
追記
番号、色幅にはどんな感じでいれれば良いんですか?
- 823 :名無しさん@お腹いっぱい。:2015/02/17(火) 12:40:11.30 ID:TuVUyCkY0
- >>821
取り敢えずヘルプの説明と例をみてきたら?
- 824 :名無しさん@お腹いっぱい。:2015/02/17(火) 12:50:56.85 ID:S0/uhSbq0
- 文字列ソートにhashtblを使っているのですが
いわゆる"自然順"ソートの簡単な方法ないですか?
file8.txt
file9.txt
file10.txt
みたいのであれば自分で数字を抜き出せばいいのですが
複雑なパターンは対応が難しいです
- 825 :名無しさん@お腹いっぱい。:2015/02/17(火) 13:40:38.86 ID:ezU88SzB0
- 環境依存で簡単じゃないけれど
Win32api の StrCmpLogicalW を使うとエクスプローラの名前順で使う大小の判断材料が得られる
但し、交換する部分を自前で実装しないとダメ
- 826 :名無しさん@お腹いっぱい。:2015/02/17(火) 22:52:06.52 ID:2P0I64bS0
- >>825
ありがとうございます
試してみましたが、これならうまくいきそうです
ただソートを自分で用意するのが面倒ですね・・・
QSORT関数あたりに追加してくれないかな
- 827 :名無しさん@お腹いっぱい。:2015/02/17(火) 23:20:32.63 ID:uaQCjp1u0
- >>819
UWSCの知識よりHTMLの知識の問題になってそう
別プロセスで動いてるけど、サイトのタイトルが同一でUWSCでは識別が出来てない状況だと思われます。
そこでHTMLの方をいじって解決すると思われるので記述しておきます。
以下の記述をメモ帳に貼り付け、拡張子を「.html」に変更
タイトルって箇所がポイントでここの数字を重複しない数字に変更すれば問題解決すると思われます
表示させたい数だけ以下の物をタイトルの数字を変更して作成して、フォックスで別プロセスで起動
<html>
<head>
<title>タイトル1</title>
</head>
<body bgcolor="#66ccff" LEFTMARGIN="0" TOPMARGIN="0">
<iframe src="表示したいURLを入力" width="600" height="650"></iframe>
</body>
</html>
- 828 :名無しさん@お腹いっぱい。:2015/02/17(火) 23:29:00.16 ID:qagw485K0
- あるいはGETALLWINしてから各ウィンドウをSTATUSで調べる
- 829 : ◆evw/E7kww2 :2015/02/18(水) 02:23:33.33 ID:x03XfLe30
- ttp://anago.2ch.net/test/read.cgi/software/1421799243/581+583+584
> 581 オープンソースがダメっていうのはどこが根拠なの? ...
> ├583 申請窓口がジェーンしかないのが現状
> │└584 フィリピン行ってJimと直接交渉かなー ID:sOWC+DjH0
ttp://anago.2ch.net/test/read.cgi/software/1424178732/2+236+300
> 2 投稿日:2015/02/17(火) 22:12:26.84 ID:sOWC+DjH0
> └236 なんで一瞬だけキャップはずしたんですか?
> └300 デフォルトでsageチェックが入ったままのため、CAPがよく外れます。 Jane ★
ttp://anago.2ch.net/test/read.cgi/software/1424178732/117
> 117 名前:Jane ★[sage] 投稿日:2015/02/18(水) 00:09:38.71 ID:???*
> RaceQueen社はフィリピンのマニラにあります。
> こちらで直接お話しました。
>>796 の 発信元:206.223.153.21 ってもしかして・・・
- 830 :名無しさん@お腹いっぱい。:2015/02/18(水) 02:46:18.08 ID:ntUp0d3b0
- で、それUWSCとどういう関係あるの?
- 831 : ◆evw/E7kww2 :2015/02/18(水) 03:24:36.69 ID:x03XfLe30
- >>830
UWSC の悪意のコードをばらまいてるのが株式会社ジエンで
2ちゃんねるのサーバーに直接ログインできて
IP丸見えで
特定の相手を狙い撃ちしてたとしたらどうよ
専用ブラウザは .dat ファイルに直接アクセスするけど
専用ブラウザを禁止すれば
悪意の JavaScript を強制的に使用させれるわけだ。
まあ、それでなくても専ブラでこのスレ見ることができなくなるし
僕がUWSC使ってやってた2ちゃんねるの自動処理スクリプトが動かなくなるし
API 勝手に使えば逮捕されるってさ。
株自演から許諾もらえた人がいなくて、2ちゃんねる運営からの返事は「ドライブ行くからバイバイ」
ttp://anago.2ch.net/test/read.cgi/software/1424178248/188
つまり、UWSCでは自由なログ取得ができない。
全く無関係の話ではない。
- 832 :名無しさん@お腹いっぱい。:2015/02/18(水) 04:02:40.57 ID:ig4gZEY40
- 無関係だな
- 833 :名無しさん@お腹いっぱい。:2015/02/18(水) 05:08:43.79 ID:atKMoei90
- newtest120
procedure newtest120
x=1000
y=638
BTN(LEFT, CLICK, x+1, y+1, 80)
sleep(1.0)
newtest121
fend
procedure newtest121
x=668
y=425
BTN(LEFT, CLICK, x+1, y+1, 80)
sleep(1.0)
newtest120
fend
っていう2点を交互にクリックするだけの簡単なスクリプトを使っているんだけどある程度時間が経つと止まっちまう
どうすればいい?
- 834 :名無しさん@お腹いっぱい。:2015/02/18(水) 05:16:26.58 ID:A4jwGhud0
- >>833
定期的に出てくるがスタックオーバーフロー
>>645-647
を読むこと
- 835 :名無しさん@お腹いっぱい。:2015/02/18(水) 05:25:50.91 ID:atKMoei90
- >>834
おっサンキュー!助かったぜ
俺が直接停止させるまでずっと繰り返しさせたい場合はこんな感じでいいのかな
x=1
while x=1
newtest120
newtest121
wend
procedure newtest120
x=1000
y=638
BTN(LEFT, CLICK, x+1, y+1, 80)
sleep(1.0)
newtest121
fend
procedure newtest121
x=668
y=425
BTN(LEFT, CLICK, x+1, y+1, 80)
sleep(1.0)
newtest120
fend
- 836 :名無しさん@お腹いっぱい。:2015/02/18(水) 05:28:38.91 ID:A4jwGhud0
- >>835
それぞれの関数に含まれてる
newtest121
newtest120
は消さないとダメ
- 837 :名無しさん@お腹いっぱい。:2015/02/18(水) 05:59:35.24 ID:atKMoei90
- >>836
あっほんとだ
まじサンクス
- 838 :名無しさん@お腹いっぱい。:2015/02/18(水) 12:34:12.23 ID:9OCeQotA0
- 引数なしで宣言とか呼び出し出来るのか
初めて知ったわw
- 839 :名無しさん@お腹いっぱい。:2015/02/18(水) 12:35:00.84 ID:9OCeQotA0
- ミス、引数なしじゃなくて小かっこなし
- 840 : ◆evw/E7kww2 :2015/02/18(水) 15:38:36.34 ID:x03XfLe30
- ttp://anago.2ch.net/test/read.cgi/software/1421229692/997
> 997 名前:名無しさん@お腹いっぱい。[sage] 投稿日:2015/02/18(水) 11:10:39.26 ID:LUMdk7US0
> ID:bAdPLD8J0
> ID:qyqzh0Jn0
> この二人は山下の会社の連中(山下本人?)だよ
> 同じようにしてBathyScapheスレにもいて、山下との契約を促すような発言を繰り返してた
> 他の専ブラスレでも同じようなのが出てる
> 最初に専ブラ作者にレス入れて住人のふりをして溶けこんで
> そのあとに煽ってくるのが特徴だからみんな気をつけてくれ
ttp://anago.2ch.net/test/read.cgi/software/1424225609/38
> 38 名前:名無しさん@お腹いっぱい。[sage] 投稿日:2015/02/18(水) 15:18:33.09 ID:BF/YgDO70
> >> 33
> それ以前に山下は★キャップ持ってるから
> 俺らのリモートホストからアクセス環境まで全部ログで見れるんだ
> 反抗的なこと書くとそのリモートホストを監視対象としてマークして
> 全板の書き込み洗うくらいは平気でしてると思ったほうがいい
やべえわ
俺絶対狙われてるわ
俺の他の書き込み
ttp://kanae.2ch.net/test/read.cgi/prog/1413804379/645-648+652-655
ttp://anago.2ch.net/test/read.cgi/software/1424178732/489+651+707+745
- 841 :名無しさん@お腹いっぱい。:2015/02/18(水) 15:54:25.89 ID:HJ4gosKO0
- Aを5回クリックしたのち、Bの動作を1回行う
これをESCキー押すまでループ
というのを作りたいです
While true
if GETKEYSTATE(VK_ESC) then exit // ESCキーで終了
for j=0 to 5//ここから↓はクリック
A
next //ここまでクリック
//処理
B
Endif
wend
ESCキー押しても停止しない事以外は思い通りなんですが、キー停止しない原因はなんでしょうか?
- 842 : ◆evw/E7kww2 :2015/02/18(水) 16:05:58.38 ID:x03XfLe30
- >>841
ESCをクリックするタイミングが B 〜 GETKEYSTATE(VK_ESC) の間で1秒以下じゃないといけない
その間に Sleep がないからすぐに通り過ぎてしまう。
いつクリックしても終わるようにしたいなら Sleep とセットでこまめに入れないと。
- 843 :名無しさん@お腹いっぱい。:2015/02/18(水) 16:20:20.89 ID:A4jwGhud0
- >>841
ESCキーに特別なこだわりがなければ、
Alt+F2が安定
- 844 :名無しさん@お腹いっぱい。:2015/02/18(水) 16:40:48.61 ID:KQtzFEy90
- >>841
全体のループを回しつつAとBを希望回数実行するイメージにしたほうが良いかも
こんな感じ
//最初に空呼びするのは事前に処理があった場合などで
//ESCキーを押下している可能性があるから
GetKeyState(VK_ESC)
count = 1
While !GetKeyState(VK_ESC)
If count <= 5 Then
Print "Aクリック"
EndIf
If 5 < count Then
Print "処理B"
count = 0
EndIf
count = count + 1
Sleep(1)
WEnd
- 845 :名無しさん@お腹いっぱい。:2015/02/18(水) 17:06:16.63 ID:9OCeQotA0
- alt+f2もスリープなしのループ内だと反応しない
速度を求めない部分に適度なスリープを
- 846 :名無しさん@お腹いっぱい。:2015/02/18(水) 19:24:08.36 ID:8rioQEby0
- SETHOTKEYでグローバル変数のフラグをONし、
メインループ内でそのフラグを常にチェックする、
という手もあるよ。
どの方法でも適度なSLEEPは必須。
- 847 :名無しさん@お腹いっぱい。:2015/02/18(水) 19:31:12.38 ID:mYpELa6U0
- >>841
While true
for j=0 to 5//ここから↓はクリック
if GETKEYSTATE(VK_ESC) then exit // ESCキーで終了
A
next //ここまでクリック
//処理
if GETKEYSTATE(VK_ESC) then exit // ESCキーで終了
B
Endif
wend
これでいいんじゃないの?
- 848 :名無しさん@お腹いっぱい。:2015/02/18(水) 19:32:22.87 ID:mYpELa6U0
- 一個忘れてた、Aの直後とBの直後に sleep(0.1)
- 849 :名無しさん@お腹いっぱい。:2015/02/19(木) 18:22:21.88 ID:pm5t0k8c0
- IEで複数タブを開きそれぞれのタブに同時にIESETDATAをしたいのですが可能でしょうか
可能だとしたらどのようにすればいいのでしょうか
- 850 :名無しさん@お腹いっぱい。:2015/02/19(木) 19:09:01.61 ID:vBiovBcs0
- IEのタブは内部的にはウインドウ扱いなので
SHDocVw.ShellWindows を使えばそれらにアクセス可能です
但しエクスプローラのウインドウも入っているので
FullName が "iexplore.exe” かどうかチェックしてあげると良い
で、その結果毎に IESETDATA してあげたら良いんじゃないかな
具体的なURLが決まっているなら LocationURL もチェックして絞り込むと良い
- 851 :名無しさん@お腹いっぱい。:2015/02/19(木) 20:17:43.66 ID:s+drD9Tr0
- 質問です。
print powershell("dir<#CR>dir")
print powershell("ipconfig<#CR>dir")
print powershell("ipconfig<#CR>ipconfig")
のうち、2番めのprintのdirが文字化けします。
どうもdirの前にBOMが付いてしまうのですが
なぜ別のコマンドに影響を受けるかが理解できません。
原因と対策を教えて下さい。
- 852 :名無しさん@お腹いっぱい。:2015/02/19(木) 20:37:47.01 ID:hqRR7hp00
- doscmd()じゃだめな理由があるの?
- 853 :名無しさん@お腹いっぱい。:2015/02/19(木) 21:20:32.54 ID:s+drD9Tr0
- あ、説明し忘れましたがもちろんdirやipconfigがやりたいわけではありません。
PowerShellとの連携が必要な処理でおかしな動作を見つけて切り分けた結果、
一番わかりやすいパターンがこれです。
- 854 :名無しさん@お腹いっぱい。:2015/02/20(金) 00:17:28.15 ID:CcuoO5p40
- よく分からんが、それだけ切り分けられてたら、公式で聞くべきじゃないの?
- 855 :名無しさん@お腹いっぱい。:2015/02/20(金) 07:59:01.02 ID:0uEFWm430
- ISUNICODE(文字列 )
- 856 :名無しさん@お腹いっぱい。:2015/02/22(日) 01:09:34.94 ID:6CWTGMD90
- UWSCで田代砲って可能なんですか
- 857 :名無しさん@お腹いっぱい。:2015/02/22(日) 01:55:11.85 ID:ABlT10UA0
- 逮捕されるよ
- 858 :名無しさん@お腹いっぱい。:2015/02/22(日) 09:07:41.24 ID:u3K/wf3F0
- 3Dプリンタで拳銃って可能なんですか
- 859 :名無しさん@お腹いっぱい。:2015/02/22(日) 12:52:40.31 ID:Xm2XtIqz0
- 全知全能の現人神◆evw/E7kww2にすべてまかせるんだ
- 860 :名無しさん@お腹いっぱい。:2015/02/22(日) 23:49:40.19 ID:6CWTGMD90
- >>857
悪いことには使いませんのでヒントだけでも
- 861 :名無しさん@お腹いっぱい。:2015/02/22(日) 23:54:10.11 ID:WL4b+80K0
- 消えろ、糞ミジンコハゲが
- 862 :名無しさん@お腹いっぱい。:2015/02/22(日) 23:58:16.94 ID:tcvwnpqu0
- >>860
田代ほど速くはアクセスできない
だから帰れ
- 863 :名無しさん@お腹いっぱい。:2015/02/23(月) 04:03:36.39 ID:cnZt5QTs0
- >>860
田代砲なんてサイバー攻撃用途しかないし
やり方教えたら犯罪の幇助になりかねないから
教える奴はいないと思うよ
- 864 :名無しさん@お腹いっぱい。:2015/02/24(火) 00:25:16.56 ID:ZzCLhq6d0
- >>863
了解
- 865 :名無しさん@お腹いっぱい。:2015/02/24(火) 00:25:46.20 ID:ZzCLhq6d0
- >>862
了解
- 866 : ◆evw/E7kww2 :2015/02/24(火) 07:04:24.04 ID:0xzFdvyl0
- なんで田代砲の話題が出たのかと思ったら 2月22日が竹島の日だからか。
神奈川虐殺事件も竹島付近の出身だから生け贄にされたんだよね。
てっきり、僕が田代砲作ったと知ってて話題に出したのかと思った。
田代砲っぽい動作はUWSCでもできるけど
攻撃が目的ならキャッシュから読み込まない設定が必要になる。
UWSC + IE での読み込み中に中断すると、
いくらリロードしても不完全なキャッシュしか読んでくれなくて困ったことがあった。
結局、中断の制御をしないことで対処した。
田代砲としての動作では起動後のスクリプトとか無視でいいんで完了まで待たなくていいんだよね。
広告を表示するまで待つような田代砲だと、対象ページの広告収入が増えるし
Youtube でやれば再生回数水増しで人気沸騰1億ビューも可能。
Youtube で1億ビューいったのは世界で一人だけじゃなかったかな。
- 867 :名無しさん@お腹いっぱい。:2015/02/24(火) 08:37:29.73 ID:IpQpQhy40
- てっきり、僕が田代砲作ったと知ってて話題に出したのかと思った。
wwwwwwwwwwwwwwwww
- 868 :名無しさん@お腹いっぱい。:2015/02/24(火) 10:38:54.00 ID:nYhCwSie0
- さすが全知全能の現人神やで
- 869 :名無しさん@お腹いっぱい。:2015/02/24(火) 18:22:00.82 ID:Sx3xMRbb0
- UWSのショートカットを押してマクロを使っているのですが、1回動作させて一連の動作が終わった後にまた起動させるとマクロの動作が遅くなってしまうのですがどうしたらよいでしょうか?パソコンの再起動すると治るため今は使うたびに再起動をかけて使っています
- 870 :名無しさん@お腹いっぱい。:2015/02/24(火) 18:44:47.01 ID:XlAMTUHH0
- 初期化処理に想定外があって2度目が期待通りの動作をしていない
スクリプトが完全に終了していない
辺りじゃないかな
どうしてもワカランならスクリプトの最後に再起動命令「POFF(P_REBOOT)」でも入れたら?
- 871 :名無しさん@お腹いっぱい。:2015/02/24(火) 20:11:01.10 ID:yWDBXUDq0
- 横からだけどスクリプトが完全に終了してないってどういう状態?
- 872 :名無しさん@お腹いっぱい。:2015/02/24(火) 20:43:19.96 ID:LCtuoFs60
- >>871
横不要
- 873 :名無しさん@お腹いっぱい。:2015/02/24(火) 21:00:52.91 ID:QsSbCRFa0
- ゾンビプロセスのことだろ
- 874 :名無しさん@お腹いっぱい。:2015/02/24(火) 21:13:32.53 ID:yWDBXUDq0
- ググってみた
UWSCならスレッドが終了してないのにスクリプトを終了した状態ってことかな
他にもゾンビプロセスが残る可能性ってある?
- 875 :名無しさん@お腹いっぱい。:2015/02/24(火) 21:47:39.84 ID:vqfLFsjB0
- 下手なスクリプトでUWSCを多重起動したら普通にメモリがバイオハザード状態だろ
スクリプトのバグはもちろん、例えば不可視状態のUWSCとブラウザがデッドロックを起こしたまま放置状態になったら、
UWSC側で正常終了するよう書いてあっても無駄、ブラウザをtaskkillするなどが必要
もちろんUWSC自身ではなく自動操作対象のほうでメモリリークだの何だの色々とあるだろうことは想像に難くない
- 876 :名無しさん@お腹いっぱい。:2015/02/24(火) 21:47:57.64 ID:Sx3xMRbb0
- 回答ありがとうございます。
タスクマネージャには表示されないプロセスが残ってしまっているって解釈でよろしいでしょうか?
そしたらやはり再起動しか対策がないとなりますか…
- 877 :名無しさん@お腹いっぱい。:2015/02/24(火) 21:58:15.31 ID:XlAMTUHH0
- 多分、前提が間違ってる方だと思うよ
- 878 :名無しさん@お腹いっぱい。:2015/02/24(火) 22:00:07.23 ID:vqfLFsjB0
- > タスクマネージャには表示されないプロセス
んなものはない
表示されてるどのプロセスが原因か判らないだけ
下手すりゃsvchost.exeやexplorer.exeが狂っちゃってることだってあり得る
- 879 :名無しさん@お腹いっぱい。:2015/02/24(火) 22:04:01.06 ID:vqfLFsjB0
- ああ、不可視というのは visible = false みたいに単に画面上に表示されてない状態のプロセスってことでタスクマネージャには当然表示されてるよ
- 880 :名無しさん@お腹いっぱい。:2015/02/24(火) 22:04:20.95 ID:Q3t7/rEj0
- 住人のエスパー力にも限りがあるから
込み入った問題の回答はモノを見なくちゃどうにもならんわな
- 881 :名無しさん@お腹いっぱい。:2015/02/24(火) 22:06:11.68 ID:vqfLFsjB0
- ショートカットから起動されたUWSCのプロセスは起動オプション無しなら表示されないよね
多分動作が終わった後もプロセスが終了してなくて、ショートカットで起動する度に増えてるんじゃね?
- 882 :名無しさん@お腹いっぱい。:2015/02/24(火) 22:10:27.08 ID:sy4T0Xbz0
- タスクマネージャに表示できないゾンビプロセスがそんな簡単に生成できたら
ウイルス製作者が指を加えて黙ってるわけないだろw
実現できたら世界的なニュースになるよ
遅くなるソースコードの1行ごとに時間計測用デバッグ文を入れて
どこで遅くなっているか見れば多分簡単に原因は分かるけど
「遅くなる!助けて!!」レベルの情報じゃ原因特定は無理
- 883 :名無しさん@お腹いっぱい。:2015/02/24(火) 23:10:39.79 ID:XlAMTUHH0
- コンピューターはバカ正直だから勝手に重くなる事はない
重くなるように指示されているから重くなるのだ
- 884 :名無しさん@お腹いっぱい。:2015/02/26(木) 19:20:51.20 ID:87XABF1v0
- endifの消し忘れでマクロに誤動作起きてた…
ifのブロック扱いが無ければエラーですぐ気づけたのになぁ
- 885 :名無しさん@お腹いっぱい。:2015/02/26(木) 22:04:47.97 ID:YFibyqz10
- まぁ、くろうしたのね
- 886 :名無しさん@お腹いっぱい。:2015/02/26(木) 22:16:58.38 ID:mUjsmOal0
- なんですって?
- 887 :名無しさん@お腹いっぱい。:2015/02/26(木) 23:59:05.37 ID:xn1g07JG0
- 付け忘れならともかく、消し忘れなんてありえんのか?
- 888 :名無しさん@お腹いっぱい。:2015/02/27(金) 00:08:36.74 ID:Hg0ptvh70
- ブロックの初めと終わりは、可能な限り半ページ程度までに収めるべきだよなぁ
関数化して掃き出したり、BREAKやEXITをうまく使って驚くほど階層が低くなったりする
とは言いつつ古いマクロで動いてる奴が手付かずのままだ。
- 889 :名無しさん@お腹いっぱい。:2015/02/27(金) 00:09:52.09 ID:YEDpMa/M0
- 最近知ったけど、秀丸の色付け機能って便利だね
- 890 :名無しさん@お腹いっぱい。:2015/02/27(金) 00:55:17.40 ID:Hg0ptvh70
- むしろ色付け機能使わないほうがプログラマとしてはどうかと思う
>>551-568 >>620
- 891 :名無しさん@お腹いっぱい。:2015/02/27(金) 00:59:36.11 ID:8b3XPzsf0
- uwsc使いふぜいがプログラマ気取りって甚だしいだろ
- 892 :名無しさん@お腹いっぱい。:2015/02/27(金) 01:06:31.61 ID:0C8V7RBu0
- >>891
最高のおもちゃ!
- 893 :名無しさん@お腹いっぱい。:2015/02/27(金) 01:11:23.00 ID:p+pTTf+s0
- >>891
他の言語だって大して書式かわらんだろ
- 894 :名無しさん@お腹いっぱい。:2015/02/27(金) 01:17:58.15 ID:/CC0BkIy0
- 堀田純平と安江広も使ってるuwsc
- 895 :名無しさん@お腹いっぱい。:2015/02/27(金) 06:28:47.64 ID:FCsRUudV0
- 甚だしいは単体で使う単語じゃないぞ
- 896 :名無しさん@お腹いっぱい。:2015/02/27(金) 06:33:39.88 ID:EzmVEG5O0
- コミュニケーションってのは文法や言葉の正しさが全てではないからね
- 897 :名無しさん@お腹いっぱい。:2015/02/27(金) 06:39:19.48 ID:FCsRUudV0
- 言い訳が甚だしいぞ
- 898 :名無しさん@お腹いっぱい。:2015/02/27(金) 09:34:15.52 ID:Hg0ptvh70
- プログラマであることを要求される地点に来てるのにその自覚がないと、
糞コード拡散したり車輪の再発明しまくったり碌なことがない
- 899 :名無しさん@お腹いっぱい。:2015/02/27(金) 13:59:29.10 ID:hnVWfb4A0
- 要求される地点=プログラマとして就職
まだまだ自覚しなくて良いな
- 900 :名無しさん@お腹いっぱい。:2015/02/28(土) 09:34:33.84 ID:xm1im2ki0
- mouseorgでchromeのブラゲにクリックを直接送信するようにしてて
ゲーム内じゃなくブラウザ側のバルーンみたいなので「エラーが発生したのでリロードします。「OK」「キャンセル」」みたいなのが出た時に
メインとは別のエラーを監視するスレッドで「キャンセル」の画像を検知したらそれを押すようにしてるんだけど
キャンセルボタンを押してくれる時と押してくれない時があるのはなぜなのか誰か分からない?
- 901 :名無しさん@お腹いっぱい。:2015/02/28(土) 09:41:28.07 ID:WRmNZRoD0
- アマチュア棋士は棋士ではないとな
- 902 :名無しさん@お腹いっぱい。:2015/02/28(土) 10:05:19.40 ID:clIcMss50
- >>900
失敗した時は画像検知はできてるの?
できてないなら、画像がわずかに変わってたりとかを疑う
できてるならクリックイベント拾えてないだけだから、消えるまでクリックすればいいのでは
1msの高速クリックだとイベント拾えないことがあるからな
- 903 :名無しさん@お腹いっぱい。:2015/02/28(土) 10:29:46.06 ID:xm1im2ki0
- >>902
永久ループで画像検出を回しまくってるから押せてないことはないはず
画像はキャンセルの文字が太字の時とそうじゃない時の両方取ってるけど
今思い出したけどフォーカスが変わったら動き出す時があるからもしかしてまだパターンがあるのかな
次にキャンセルボタン出たら画像をもう一回見なおしてみる
- 904 : ◆evw/E7kww2 :2015/02/28(土) 11:39:58.70 ID:QIQFx5ZI0
- >>901
日曜プログラマとかいうけど
趣味でやるやつは求められてはいないだろと。
でも、半分趣味の人がブログとか書いてくれて
そのコードを使えるわけだからありがたい存在だったりする。
じゃあその人たちはプロではないのかと言うと、
参考になる多くのコードを提供する人はプロでもあると思う。
プログラマは期間が短いからどうせすぐにプロではなくなるんだけど。
- 905 :名無しさん@お腹いっぱい。:2015/02/28(土) 11:51:50.07 ID:WRmNZRoD0
- 確かにプロでない棋士はコマの動かし方や定石を覚えることは、プロ棋士会からは、求められていない
だが将棋を楽しむためにはコマの動かし方や定石を覚えなきゃ話にならんな?
将棋を始める以上、コマの動かし方や定石を覚えることは、将棋仲間などの社会から、求められているのだよ。
- 906 :名無しさん@お腹いっぱい。:2015/02/28(土) 11:55:16.04 ID:/gSlhNcz0
- どうでもいいけど棋士って言葉はプロのことを指す場合が多いよ
- 907 :名無しさん@お腹いっぱい。:2015/02/28(土) 12:11:17.95 ID:WRmNZRoD0
- じゃぁ「将棋指し」にしようか。
確かにプロ棋士でない将棋指しは、コマの動かし方や定石を覚えることは、
日本将棋連盟などプロ棋士らの社会からは、求められていない。
だが将棋を楽しむためにはコマの動かし方や定石を覚えなきゃ話にならんな?
将棋を始める以上、コマの動かし方や定石を覚えることは、
アマチュア将棋仲間などの社会から、求められているのだよ。
定石を知っていれば3秒で解ける問題に何ヶ月も掛けることもあるだろうが、
一人で誰にも知られず悩んでるだけなら、それは本人の勝手だろう。
だが社会と触れる部分があれば、2歩という違反を使って詰将棋を解いたと主張したり、
将棋仲間との対戦中に千日手を行って迷惑をかけたり、
100年も前に存在した桂馬の両取りのような定石未満の戦法を、
俺の発明した戦法だと主張する誰かさんのように見苦しかったりする。
初学者に間違ったルールや定石を教え始めれば害がある。
- 908 :名無しさん@お腹いっぱい。:2015/02/28(土) 12:17:04.92 ID:AZIfG5Ws0
- メイン処理の方を待機させる仕組みがないと
別処理の方の一瞬で中断させている可能性もありえる
フォーカスやマウス座標の奪い合いとかね
処理の準備、実行、確認が大事
頑張って
- 909 :名無しさん@お腹いっぱい。:2015/02/28(土) 12:17:09.48 ID:6KYTI2KH0
- すまんな、俺がプログラマ気取りといったばかりに
趣味だろうと自分がプログラマだと思うならそう名乗ればいいよね
自称プログラマでいいじゃん
プログラマは低所得や派遣というイメージが強いから名乗って誇れるものでもないだろうけど
- 910 :名無しさん@お腹いっぱい。:2015/02/28(土) 12:21:38.70 ID:S45mWjH90
- プログラマーはプロフェッショナルグラマーの略
- 911 :名無しさん@お腹いっぱい。:2015/02/28(土) 12:22:57.77 ID:0F9tS+1w0
- プログラマじゃなくてもコード書いたり、エクセルの関数やVBA使うことは一般教養として出来るわけだから
プログラマって聞くと職業プログラマってイメージしちゃうな
- 912 :名無しさん@お腹いっぱい。:2015/02/28(土) 12:23:51.72 ID:Y3zZI+cc0
- >>900
Javascriptのconfirmの事かな?
・そもそも押してない
・押してるけど反応がない
を切り分けるとデバッグ捗るよ
print "キャンセル押した"
って一行書くだけでだいぶ切り分けられる
ttp://www.tagindex.com/javascript/window/confirm.html
にあるようなconfirmなら
confirmId = getid(, "Chrome_WidgetWin_1")
clkitem(confirmId, "キャンセル", clk_acc)
みたいな感じでキャンセルは押せる
画像認識は使わなくてもいいのならなるべく使わないほうがいい
- 913 :名無しさん@お腹いっぱい。:2015/02/28(土) 12:32:17.55 ID:xm1im2ki0
- >>912
dクス
confirmId はOKキャンセルの窓が出てないときは-1になるのかな
それ入れてみる
- 914 :名無しさん@お腹いっぱい。:2015/02/28(土) 13:26:30.73 ID:/ehssp4m0
- >>909
すまんといいつつさらにディスる
とことん性格悪いなw
- 915 :名無しさん@お腹いっぱい。:2015/02/28(土) 13:54:49.06 ID:ru0bN7yR0
- UWSCスレで何を語ってるんだ
- 916 :名無しさん@お腹いっぱい。:2015/02/28(土) 14:58:50.89 ID:p+cyw0f60
- プログラムを組む人をプログラマーというんだろ。
プレイする人をプレイヤーというんだから。
プログラムを見て『このプログラムを書いた人』がプログラマーだろ。
- 917 :名無しさん@お腹いっぱい。:2015/02/28(土) 15:11:03.92 ID:0F9tS+1w0
- なるほどな
uwscのマクロをプログラムと呼ぶから変な感じがするんだな
- 918 :名無しさん@お腹いっぱい。:2015/02/28(土) 15:12:30.55 ID:p+cyw0f60
- ツーラーとかマクラーとはちょっと言われたくないけどね…
- 919 : ◆evw/E7kww2 :2015/02/28(土) 15:37:04.95 ID:QIQFx5ZI0
- スクリプトキディと言ってもほめ過ぎだろ
即席ハッカーとかいう新聞見出しもあるね
ttp://d.hatena.ne.jp/youichi/20121019#p2
2012年10月20日 読売新聞朝刊
ttp://www.area51.gr.jp/~rin/images/2012/10/20/y00.jpg
> 専門知識がない子どもでも、ネットで調べれば簡単に
> ハッカーを気取れる時代だ」と男性は語る。
- 920 :名無しさん@お腹いっぱい。:2015/03/01(日) 04:05:46.74 ID:H67N4zL/0
- >>910
ttp://orlentertainment.com/wp-content/uploads/2014/01/BfUI7X4CcAEWckq1.jpg
こういう人のことですね?
まあマクロやスクリプトがプログラムの一種という主張は分かるけど
個人的にはやっぱり区別して使うなぁ
- 921 :名無しさん@お腹いっぱい。:2015/03/01(日) 09:33:12.96 ID:NzN5Zjfs0
- スレッド永久ループさせたままスクリプト終了しても問題ない?
- 922 :名無しさん@お腹いっぱい。:2015/03/01(日) 09:36:09.51 ID:snopO9o00
- 問題なく終了するよ
- 923 :名無しさん@お腹いっぱい。:2015/03/01(日) 09:59:13.06 ID:NzN5Zjfs0
- dクス
また質問で悪いんだけど
poffでUWSCを再起動させる時に、再起動後のスクリプトに引数渡すようなことってできない?
- 924 :名無しさん@お腹いっぱい。:2015/03/01(日) 10:02:21.58 ID:ExprnFtp0
- >>921
スリープ処理なしの割り込み出来ないスレッドとか
突き放しで起動したプロセスのスレッドだと止まんないと思う
- 925 :名無しさん@お腹いっぱい。:2015/03/01(日) 10:06:18.23 ID:NzN5Zjfs0
- >>924
ちゃんとスリープは入れてる
突き放しで起動したプロセスってのはよく分からん
- 926 :名無しさん@お腹いっぱい。:2015/03/01(日) 10:12:10.55 ID:ExprnFtp0
- >>923
fputとかでファイルに書き込みして、
fgetとかでそれを最初に読み込ませるのが一番楽だと思う
>>925
突き放しは
execとかで別uwscを終了待ちなしで起動するような感じ
- 927 : ◆evw/E7kww2 :2015/03/01(日) 10:39:49.62 ID:6Dl5vrHr0
- > execとかで別uwscを終了待ちなしで起動するような
> 突き放しで起動したプロセスのスレッド
そんなスレッドを簡単に作れるのは Cheat Engine くらいのもんだろ
- 928 :名無しさん@お腹いっぱい。:2015/03/01(日) 10:47:14.27 ID:NzN5Zjfs0
- >>926
ありがとう
exec使ってないから大丈夫だな
ファイルの方は試行錯誤してみる
- 929 :名無しさん@お腹いっぱい。:2015/03/01(日) 12:24:35.34 ID:NzN5Zjfs0
- iniファイル使ったらできたわ
ついでに設定用変数をiniから読み取るようにしたら、設定変えた時に毎回スクリプト再起動しなくてよくなったからちょっと手間が減った
ini初めて使ったけど便利やな
- 930 :名無しさん@お腹いっぱい。:2015/03/01(日) 13:18:50.87 ID:t8LqJIBE0
- 同IDの3つ以上の複数ウィンドウをアクティブとMIN繰り返して切り替えたいんだけど、どうすればいい?
それか非アクティブの同IDウィンドウにキー入力したい
comオブジェクトは使えない
- 931 :名無しさん@お腹いっぱい。:2015/03/01(日) 13:54:23.43 ID:VFvCV/6v0
- IDと複数ウィンドウの関係にもよるかな。
何回、何秒ごとにウィンドウ同士どのような関係で切り替えるかにもよるし。
具体的にはウィンドウのどこにどんなキーを入力するのかの情報も必要。
ウィンドウとCOMオブジェクトは直接関係ないけど、何がいいたいのか謎。
知識がなくて使えないのか、
使いたくないから使わないのか、
使う必要がないから使わないのかよく分からない。
説明が下手なら、具体的に○○がしたいが方法が分からないと質問するか
途中まで作ったソースコードを貼り付けたほうが建設的な議論がしやすいよ。
- 932 :名無しさん@お腹いっぱい。:2015/03/01(日) 14:04:54.89 ID:XfiF1vaJ0
- 突き放しって変な用語だけど、引数なしショートカットで起動したみたいな、別スレッドではなく別プロセスで起動した場合のことだろうね
- 933 :名無しさん@お腹いっぱい。:2015/03/01(日) 14:08:17.92 ID:XfiF1vaJ0
- >>930
同IDという状態はないはず
同名ウィンドウが3つという問題は発生する
同名だろうが何だろうが各々のウィンドウIDは異なる
取得が出来ないだけ
取得はできないが、1つ1つを取得後に各々を操作した結果、同名ウィンドウになるなら、
せっかく取得したIDを放棄しない限り問題なく操作できる。
- 934 :名無しさん@お腹いっぱい。:2015/03/01(日) 15:27:45.12 ID:ExprnFtp0
- >>930
getallwinでウインドウ情報取って
一個ずつ中見ても3つのidは表示されない?
それでもid一個だと個別に識別方法を考えるしか分からんな
- 935 :名無しさん@お腹いっぱい。:2015/03/01(日) 15:45:14.78 ID:t8LqJIBE0
- 多重起動して同じページ開いてる同ブラウザを切り替えてくて…
ID取得したけれど、タイトルとクラス名と座標とサイズと待ち時間しか取得できなかった
MDI子タイトル?ってのはどう取得していいのやら
- 936 :名無しさん@お腹いっぱい。:2015/03/01(日) 15:45:52.18 ID:M2xAUVd00
- >>930
不細工だが、タスクバーから選択すれば良いだけじゃないの?
難しいこと考えなくても、手でやる方法をトレースすればたいていの事はできる
- 937 :名無しさん@お腹いっぱい。:2015/03/01(日) 16:06:17.73 ID:ExprnFtp0
- >>935
タブブラウザのタブ切り替えかな
と思ったがMINって最小化のこと言ってるだろうしよく分からん…
タブブラウザでそれしか開いてないなら
いっそctrl+tabにするとかで代用とかあるけど
もう少し詳細な現状がないと答えにくい
- 938 :名無しさん@お腹いっぱい。:2015/03/01(日) 18:32:16.10 ID:VFvCV/6v0
- //IEを3つ起動
for i=1 to 3
IE = CreateOLEObj("InternetExplorer.Application")
IE.Visible = True
IE.Navigate("http://www.yahoo.co.jp")
next
sleep(5)
public idList=""
//タイトルとクラスからIEを探す
for winId in getallwin()
if pos("Yahoo! JAPAN", status(winId, ST_TITLE))=0 then continue
if status(winId, ST_CLASS)<>"IEFrame" then continue
idList=idList+winId+" "
next
allIeControl(min) //IEをすべて最小化
allIeControl(normal) //IEをすべてサイズ戻す
procedure allIeControl(command)
for ieId in split(idList, , true)
ctrlwin(ieId, command)
sleep(1)
next
fend
- 939 :名無しさん@お腹いっぱい。:2015/03/01(日) 18:38:18.80 ID:VFvCV/6v0
- たとえば同じタイトルのIEを操作する例
getallwin()を使えばたったこれだけでそれぞれのIDは特定できる
- 940 :名無しさん@お腹いっぱい。:2015/03/01(日) 18:46:07.01 ID:ExprnFtp0
- for inってかけるようになったのか知らんかった
- 941 :名無しさん@お腹いっぱい。:2015/03/04(水) 18:15:41.52 ID:lVRfx3KW0
- とあるアプリのマクロ作成中なのですが、1枚目の画像の白い所をクリックすると
2枚目の様になるのですが何度作り直してもクリックする時もあるし
クリックミスしたりする時もあるのですが何か理由があるのでしょうか?
ttp://s1.gazo.cc/up/122266.jpg
ttp://s1.gazo.cc/up/122267.jpg
- 942 :名無しさん@お腹いっぱい。:2015/03/04(水) 18:18:21.47 ID:3i5UZ74A0
- アプリじゃなくてゲームだろ
- 943 :名無しさん@お腹いっぱい。:2015/03/04(水) 18:27:57.62 ID:lVRfx3KW0
- そうですゲームですね
他の処理はうまくいくのですがここだけがなんとも動かないのです
- 944 :名無しさん@お腹いっぱい。:2015/03/04(水) 18:35:34.41 ID:WWj1VdlZ0
- >アプリじゃなくてゲーム
アプリの意味知らないのかな
- 945 :名無しさん@お腹いっぱい。:2015/03/04(水) 18:57:22.99 ID:4BJDcyZS0
- BTN命令はマウスクリックのイベント送信を送信してみる命令なのね
でも残念ながら受信相手がそれを必ず受け取るかどうかは保証されていないのです
つまり受け取った事を確認できるまで繰り返すロジックにしなさいって事です
- 946 :名無しさん@お腹いっぱい。:2015/03/04(水) 19:22:47.62 ID:g58gzzL50
- >>941
アプリごとに最低何秒押すのか、最低何秒の押す間隔があれば
反応するのかが違うと思った方がいい
最適な時間より長めに押すようにすれば、誤検知はほとんどなくなるよ
それでもリトライ処理はあった方が安全
- 947 :名無しさん@お腹いっぱい。:2015/03/04(水) 19:54:05.59 ID:3OKTyDCO0
- >>941
IFB CHKIMG("画像A.bmp")
WHILE (CHKIMG("画像B.bmp")=FALSE)
BTN(LEFT,CLICK,300,300,0)
SLEEP(0.3)
WEND
ENDIF
- 948 :名無しさん@お腹いっぱい。:2015/03/04(水) 21:15:52.19 ID:N2pnrpmn0
- 自宅に戻ったのでID変わってますが
皆さんありがとうございました
- 949 :名無しさん@お腹いっぱい。:2015/03/05(木) 01:03:51.99 ID:CEf7BK0U0
- お前らちょっと前までソフトって言ってたのに
- 950 :名無しさん@お腹いっぱい。:2015/03/05(木) 08:17:08.06 ID:yvZfu/K50
- おれの親父なんて「ソフトヤ(ソフトウェアのことらしい」って言うぞ
- 951 :名無しさん@お腹いっぱい。:2015/03/05(木) 09:22:16.40 ID:fBU041On0
- >>944
UWSCでWindows用だし、Windowsでアプリって言ったらWindowsストアアプリじゃないの?
- 952 :名無しさん@お腹いっぱい。:2015/03/05(木) 09:25:42.62 ID:6WspE9d40
- まだwin8使ってる人は少数派でしょ
- 953 :名無しさん@お腹いっぱい。:2015/03/05(木) 10:08:40.03 ID:D9OnNOkm0
- >>941です
上の画面まで進めて単独で動かすと問題ないのですが
間に挿入すると動かなくなります。
何が原因なのでしょうか?
- 954 :名無しさん@お腹いっぱい。:2015/03/05(木) 10:16:11.84 ID:J5P0Picy0
- ??
- 955 :名無しさん@お腹いっぱい。:2015/03/05(木) 10:22:07.69 ID:wsDu2O4N0
- 原因は画像にしろコードにしろ一番情報握ってる人が特定しないとしょうがないでしょ
- 956 :名無しさん@お腹いっぱい。:2015/03/05(木) 10:23:07.80 ID:D9OnNOkm0
- >>941の入力欄が出て名前を入れてOKボタンを押すまでの
動きが出来るようになったので
前後の動きの中に出来たものを入れて最初から動かすと
>>941のところでまた変になってしまう orz
- 957 :名無しさん@お腹いっぱい。:2015/03/05(木) 10:26:23.95 ID:J5P0Picy0
- >>953
あぁ、手動で画面遷移して上の画像の状態になった後にマクロを実行する場合は正常に動く
画面遷移の操作込みでマクロを実行すると動かないって意味?
上の画像になる前に、上の画像の時点でやりたい処理が動いてしまった可能性が高いと思う
printとかで一処理ごとにログをはいてみたらどのタイミングでどの処理が走ったか分かり易いよ
- 958 :名無しさん@お腹いっぱい。:2015/03/05(木) 10:27:29.12 ID:D9OnNOkm0
- やってみます
- 959 :名無しさん@お腹いっぱい。:2015/03/05(木) 10:44:01.93 ID:SHxBBren0
- 適度なスリープを挿入してやれば解決すると思われる
画像を認識したけど、ソフトの方では入力等を受け付けてない状態とかだろ
- 960 :名無しさん@お腹いっぱい。:2015/03/06(金) 00:38:10.18 ID:TX1hhPwl0
- 知識取り入れようとしてもモチベが上がらねえ・・・やべえよ
- 961 :名無しさん@お腹いっぱい。:2015/03/06(金) 00:39:18.01 ID:TX1hhPwl0
- あげちったよ
- 962 :名無しさん@お腹いっぱい。:2015/03/06(金) 01:12:49.64 ID:7Xu19emt0
- もうダメなのかな
- 963 :名無しさん@お腹いっぱい。:2015/03/06(金) 02:58:30.40 ID:7zfNEKda0
- WEBの自動運転(ネットショップの自動登録)をしたいんだけど
有料版って買う価値ある?
いまいち何ができるのかわからなくて迷ってる
- 964 :名無しさん@お腹いっぱい。:2015/03/06(金) 03:07:14.76 ID:KEHUditi0
- >>963
何が出来るか分からないものに金は払わないこれ基本。
- 965 :名無しさん@お腹いっぱい。:2015/03/06(金) 06:29:24.83 ID:dK3gP7Sp0
- >>963
無料版あるのになぜ有料版購入から検討するのか
無料しかつかってないが機能は十分だよ
自動登録については、
最近のサイトの会員登録画面は画像認証することが多いから
それがあるとマクロだと非常に困難
- 966 :名無しさん@お腹いっぱい。:2015/03/06(金) 06:33:11.85 ID:dK3gP7Sp0
- 会員登録とは言ってないか…
- 967 :名無しさん@お腹いっぱい。:2015/03/06(金) 06:42:42.12 ID:s9wzBW1D0
- >>965
単にお布施したいんじゃないの?
別に俺は止めないよ
- 968 :名無しさん@お腹いっぱい。:2015/03/06(金) 06:44:41.33 ID:wnsHakhm0
- 買う価値ある?って聞いてるんだからお布施じゃないだろう
- 969 :名無しさん@お腹いっぱい。:2015/03/06(金) 12:54:36.32 ID:jaoD72Hv0
- For j = 0 to GETDIR(Folderpath,"\")-1
GETDIR_FILES[j]を含む処理
Next
稀にGETDIR_FILES[j]を含む処理が配列をオーバーしてますってエラーで止まるんだけど
もう一度マクロを実行したら普通に動くから、よくわからん
- 970 :名無しさん@お腹いっぱい。:2015/03/06(金) 13:08:41.44 ID:dK3gP7Sp0
- getdir処理
for i = 0 to resize(getdir_files)
俺ならこうかく
原因はjの値変更してるとか
getdirの処理を何処かにかいていてその処理でgetdir_filesの内容が変更されてるとかかな
というかそもそもtoの後の式って評価一度だけだっけ?
- 971 :名無しさん@お腹いっぱい。:2015/03/06(金) 13:21:00.66 ID:jaoD72Hv0
- >>970
ヘルプのサンプルに倣ってみたけど、
確かに毎回評価してそう
ループの外側に出しておきます
- 972 :名無しさん@お腹いっぱい。:2015/03/06(金) 15:19:16.71 ID:+WbZl8ab0
- VMware上のアプリを指定座標でうまく右クリックが発動しないため質問させてください。
以下、サンプルコードです。
ID = GETID("受信トレイ - Mozilla Thunderbird - [Windows 7-1]","VMwareUnityHostWndClass")
MOUSEORG(ID,2)
MMV(500,500)
BTN(RIGHT,CLICK,500,200)
Sleep(100/1000)
どうも右クリックが左上(おそらく座標(0,0))で発生してしまうのですが
これを指定座標で行うにはどのように改善すればいいのでしょうか。
MMVで座標を移動しているにも関わらず(0,0)に戻ってしまうのは何が原因なのでしょうか?
- 973 :名無しさん@お腹いっぱい。:2015/03/06(金) 16:26:15.22 ID:/iJCc5NO0
- MOUSEORG(ID,2)
↓
MOUSEORG(ID)
- 974 :名無しさん@お腹いっぱい。:2015/03/06(金) 16:39:54.33 ID:AJQTDqgB0
- 972の者ですが追記を
バックグラウンドで操作したいためmouseorgの第二引数は2を指定しています。
2の場合って特にmmv(0,0)と指定しなくても勝手に戻るものなのでしょうか?
戻るとなった場合、バックグラウンドで上手く指定座標でマウスをクリックするにはどうすればいいのか教えていただきたいです。
- 975 :名無しさん@お腹いっぱい。:2015/03/06(金) 17:05:51.26 ID:ogXcUXKD0
- 指定座標クリックするだけならmmvいらんでしょ
- 976 :名無しさん@お腹いっぱい。:2015/03/06(金) 17:28:44.76 ID:dK3gP7Sp0
- uwscでバックグラウンド処理は個人的にオススメしない
非アクティブ操作とかは意図した動きにならないことが多いんだよね
仮想使ってるならマクロ専用環境立てた方がはるかに楽だよ
- 977 :名無しさん@お腹いっぱい。:2015/03/06(金) 18:37:07.36 ID:UFeDYxhV0
- >>963
価値なんて人それぞれで違うんだから、取り敢えず「試用」してみれば良いだけでは?
- 978 :名無しさん@お腹いっぱい。:2015/03/06(金) 22:07:15.78 ID:MOyWzYKl0
- >>970
ヘルプには一向に載らないけどUWSCでは昔から
FOR文で使われるカウンタ変数は値の変更を受け付けない
新しい値を代入してもエラーも出ずガン無視される
TOの値の評価もテストプログラム書かない限り永久に仕様不明
- 979 :名無しさん@お腹いっぱい。:2015/03/06(金) 22:23:02.07 ID:oDABZx0I0
- 普通のプログラマはそんな危ないことしないからどうでもいいことなんだけどね
- 980 :名無しさん@お腹いっぱい。:2015/03/07(土) 09:14:35.09 ID:xWIlEjBk0
- ここに質問に来る大半の初心者は普通じゃないかプログラマじゃないw
- 981 :名無しさん@お腹いっぱい。:2015/03/07(土) 09:55:32.53 ID:nxaGyBxL0
- あ、配列の要素数取得はlength関数があったのか
何かのサンプル見たからか、resizeしか使えないと思い込んでたわ
for inもスッキリするんだけどヘルプに使い方載ってないから
どれが使えるのか動作確認しないとよく分からん
- 982 :名無しさん@お腹いっぱい。:2015/03/07(土) 17:09:33.57 ID:O3eDAeLM0
- >>981
for in はヘルプに例へのリンクがあるよ
グローバル配列に戻り値を入れる関数とかは繋げられるみたい
でも同じグローバル配列を使用するループでネストするとちょっと微妙な動作になる
(あたりまえだけどね)
- 983 :名無しさん@お腹いっぱい。:2015/03/07(土) 21:09:03.93 ID:xWIlEjBk0
- >>981
lengthだと文字列長と同名で紛らわしい上、−1しないといけない
length:サイズ
resize:インデックス最大値
- 984 :名無しさん@お腹いっぱい。:2015/03/07(土) 23:43:43.72 ID:g5OLUufk0
- >>980
そろそろ次立てときますかね
- 985 :名無しさん@お腹いっぱい。:2015/03/07(土) 23:58:12.08 ID:uMxLLta90
- 配列サイズを求めるのにresize使う人はたまに見かけるな
結果は正しいけど・・・どうなんだろあれ
多少長くても面倒でも、ひと目で意味の分かるlengthを使うわ
for i=0 to length(array)-1
他の言語でforの意味を知っている、
配列が0から始まると知っている人なら理解できるけど
for i=0 to resize(array)
これはresizeの仕様を知らないと理解できない
どうして配列のサイズ変更?ってなる
短いコード=良いコードじゃない典型例だと思う
- 986 :名無しさん@お腹いっぱい。:2015/03/08(日) 00:23:21.95 ID:itdOhEn30
- どうかな。
一理あるけど、同じ関数名で全く異なる動作をする関数もどうかと思うぞ。
resizeはたまたまlengthというたまたま意味のわかりやすい代替関数がたまたま存在していただけで、
それ以外は依然として、意味のわかりにくい関数やらオプション定数やらシステム変数やら盛り沢山。
ひと目で分かるのが良いなら FUNCTION getArrayMaxIndex(array[]) という関数を定義するのがベストだぞ。
次スレ
自動化ツールUWSC使いよ集まれ14 [転載禁止](c)2ch.net
http://anago.2ch.net/test/read.cgi/software/1425741537/
- 987 :名無しさん@お腹いっぱい。:2015/03/08(日) 01:22:33.03 ID:3zYRr75X0
- >>986
え、そんなに分かりにくいのあるか?
for i = 0 to resize(getdir_files)
これは俺も最初意味が分からなかったよ
- 988 :名無しさん@お腹いっぱい。:2015/03/08(日) 01:31:40.05 ID:c+LJGmOq0
- >>986
ポリモーフィズムだよ
文字列を渡したら文字列の「長さ」
配列を渡したら配列の「長さ」が返る
for i=0 to length(array)-1
for i=0 to resize(array)
for i=0 to getArrayMaxIndex(array)
関数を作れば分かりやすい訳でもないよね
車輪の再発明は何の意味もない
作るほうも読むほうも時間の無駄
- 989 :名無しさん@お腹いっぱい。:2015/03/08(日) 10:32:02.70 ID:itdOhEn30
- 車輪の再発明の使い方間違ってるよ
別に既にあるアルゴリズムを再考案するわけじゃなく
名前変えるだけの関数なんて既存関数ラッピングするだけ
UWSCが一貫してポリモーフィズムで関数名を決めてるポリシーに基づいてるなら
ポリモーフィズムと考えればいいけど
lengthだけがポリモーフィズムなのがちょっと気持ち悪いな
- 990 :名無しさん@お腹いっぱい。:2015/03/08(日) 10:46:08.25 ID:itdOhEn30
- あと一見意味がわからない関数が多すぎて慣れすぎてるというのもある
POFFとPOSが並んでたら似たような用途に見える
英単語の意味がわからないんじゃなくて英単語の意味に対してピンポイントすぎる用途なので
英単語から想定されない使われ方見てそっちかよみたいなのも少なくない
ポリモーフィズムがOKならCOPYとSLICEは統合した方がいいよね
と思って見てたら、配列コピーに現状ループ回して転写する自作関数使ってたが
SLICEの開始終了を省略すればいいことに気づいたは。
A=SLICE(B)これResize以上にわかりづらいぞ実は配列でしたってなる
でもこれ既存配列を複写先には出来ないな。
- 991 :名無しさん@お腹いっぱい。:2015/03/08(日) 11:23:20.92 ID:3zYRr75X0
- >>990
普通のプログラマとの考え方の差だね
俺は普通のプログラマでUWSCの作者もプログラマだから、プログラマ視点で見たら
UWSCは別に分かりにくいところはないし一貫してると思うけど、
UWSC使いから見たらそう思うのだろう
> 英単語の意味がわからないんじゃなくて英単語の意味に対してピンポイントすぎる用途なので
> 英単語から想定されない使われ方見てそっちかよみたいなのも少なくない
英単語ってものによってはいろいろな意味があるけどプログラミングで使われたらだいたいこういう意味
っていうのがあって、別に変な使われ方はしていない
poffとposってposはpositionのposっていうのはUWSC知らなくても普通のプログラマなら分かるから、
positionと関係がありそうに見えないpoffがposと同じような用途なんて思わない
> ポリモーフィズムがOKならCOPYとSLICEは統合した方がいいよね
そう思う。最初、文字列にslice使おうとしたことがあった
> と思って見てたら、配列コピーに現状ループ回して転写する自作関数使ってたが
> SLICEの開始終了を省略すればいいことに気づいたは。
> A=SLICE(B)これResize以上にわかりづらいぞ実は配列でしたってなる
sliceが新しい配列を作って返す関数ということが分かっていれば、一部分のみをコピーするのも、全体をコピーするのも
同じような処理だから、引数を省略した時は全体がコピーされるというのは容易に想像できる。
それに対して、resizeがサイズを返すというのは一般的ではない(例えばC++のstd::vectorのresize()は戻り値がない)
からそっちのほうが分かりにくい
- 992 :名無しさん@お腹いっぱい。:2015/03/08(日) 15:32:53.03 ID:0C7yL6g10
- 最適解なんてないからあんまりgdgd考えても仕方ない
ある程度のプロジェクトならコーディングルールを策定して不要なトラブルを回避すれば良い事
個人ベースでもマイルールは有用だが人に押し付けるもんじゃない
要するに好きにやれと
- 993 :名無しさん@お腹いっぱい。:2015/03/08(日) 17:13:05.12 ID:lmARblFH0
- 名前が分かりづらかったら自作関数の中に入れて引数丸投げすればええんやで
- 994 :名無しさん@お腹いっぱい。:2015/03/08(日) 19:29:12.54 ID:AXpt5d9f0
- >>990
POFFなんて昔からあるDOSコマンドだから、そう違和感なかったけどな
- 995 :名無しさん@お腹いっぱい。:2015/03/08(日) 19:56:57.64 ID:VC0yQHgI0
- みんな、じぶんがふつうなんだよ
- 996 :名無しさん@お腹いっぱい。:2015/03/08(日) 21:17:51.31 ID:aPPAnLt60
- uwsc使いふぜいがプログラマ気取りって甚だしいだろ
- 997 :名無しさん@お腹いっぱい。:2015/03/08(日) 21:48:55.02 ID:aPPAnLt60
- 06/04/21
LENGTH関数にて配列サイズを取れるようにした
- 998 :名無しさん@お腹いっぱい。:2015/03/08(日) 22:10:19.07 ID:c+LJGmOq0
- リーダブルコード ―より良いコードを書くためのシンプルで実践的なテクニック
この本はオススメ
getArrayMaxIndex(array)
みたいな関数を作っちゃいけない理由や
resize(array)
を配列サイズを求めるのに使っちゃいけない理由がよくまとめられている
他人にコードを見せるつもりがなくても、1週間前、1か月前の自分はもはや他人
自分が書いたのに何書いてあるか理解できない、理解に時間が掛かってしまう事が
よくあるなら一度は読んでおいたほうがいいよ
- 999 :名無しさん@お腹いっぱい。:2015/03/08(日) 22:35:23.87 ID:aPPAnLt60
- getArrayMaxIndexは単なる皮肉だろうし。
resizeはlengthによる配列サイズより昔からあった上、r
配列サイズ変更には昔はバグがあり
配列変更そのものをしないほうが安定したため、
resizeは配列サイズを求めるために、
1ヶ月前どころか10年前から普通に使われていた。
単なる慣習。
- 1000 :名無しさん@お腹いっぱい。:2015/03/08(日) 22:39:34.11 ID:VC0yQHgI0
- 次スレへ続きます
自動化ツールUWSC使いよ集まれ14 [転載禁止](c)2ch.net
http://anago.2ch.net/test/read.cgi/software/1425741537/
- 1001 :1001:Over 1000 Thread
- このスレッドは1000を超えました。
もう書けないので、新しいスレッドを立ててくださいです。。。
302 KB
★スマホ版★
掲示板に戻る
全部
前100
次100
最新50
read.cgi ver 05.05 2022/08/31 Walang Kapalit ★
FOX ★