5ちゃんねる ★スマホ版★ ■掲示板に戻る■ 全部 1- 最新50  

■ このスレッドは過去ログ倉庫に格納されています

自動化ツール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 ★