自動化ツールUWSC使いよ集まれ10

このエントリーをはてなブックマークに追加
1名無しさん@お腹いっぱい。
Windowsの作業を自動化するツール
フリーソフト版とシェアウェア版の2種類がある
http://www.uwsc.info/download.html

●UWSC 掲示板(※作成依頼掲示版ではありません)
 質問の際には自力で作ったスクリプトを晒すか、具体的な解らない場所を提示すること
 上級者が常駐、たまに作者も現れるため過去ログには有益情報の宝庫
http://www3.bigcosmic.com/board/s/board.cgi?id=umiumi
http://www3.bigcosmic.com/board/s/board.cgi?id=umiumi&mode=past

●UWSC - Wikipedia
http://ja.wikipedia.org/wiki/UWSC

●使い方・基礎解説学習サイト
http://uwsc.g.hatena.ne.jp/cx20/20100131/1264938584
http://www.confrage.com/uwsc/
http://necro.jp/dev/uwsc/
http://park14.wakwak.com/~simizu/uwsc/fruwsc.html
http://canal22.org/
http://big.tm.land.to/handbook/uwsc.htm
http://www.game-rev.com/review/gameut/uwsc.html

●スクリプトテンプレサイト
http://izagne.com/uwsc/
http://scripts.web.fc2.com/
http://www.nagomi-jp.net/~liners/
http://nem.symphonic-net.com/uwsct/0610uwsct.html
http://siromasa.digi2.jp/uwsc/
http://iriyak.adam.ne.jp/uwsc.html

Q.シェアウェア版で「L22が存在しません」とエラーが出て一部機能が動作しない
A.割れシリアルを使った時に出る、ささやかな割れ対策
2名無しさん@お腹いっぱい。:2013/05/01(水) 01:46:34.50 ID:UFD+MPgf0
●Pro版の追加機能
EXE化ツールが付属しています。(EXE化後は単体での実行が可能であり、ライセンスフリーにて配布できます)
IE(Web)用記録ツールが付属しています。(Web上の動作をUWSCのスクリプトとして記録する事ができます)
HTMLを利用した画面関数が使えます。
EXCELシート用関数が使えます。(OpenOffice.org/LibreOfficeの表計算(Calc)に対しても可)
デバッガが付属しています。

●質問したい方へ
「○○作れますか?」→ 可能か不可能かを聞いているのなら答えは「作れる」
「○○が作りたい」→ 自分が作れば?並大抵の事ならググれば似たようなスクリプトや知識が見つかる
「○○作って下さい」→ 依頼スレじゃありません。
過去ログを見る、検索する等、自分で出来る事を書き込む前にするように。
自力で作ったのを晒すか、具体的な解らない場所を提示して、改善点や解決策を求めるようにしましょう。

●スクリプトを晒す上での注意
他人が読みやすいようにインデントを付けるように。解らない人はググレ。
(タブインデントは使えないんだぜ 全角スペース等に 変換しておくべし)
言いたい事に関係無い部分は 〜○○の処理〜 や 処理A 等のようにし、
必要な部分を晒すようにする。

●他人の書いたスクリプトを安易に実行しないように。
ハードディスクをフォーマットされたりしても、自己責任。

●前スレ
8 http://anago.2ch.net/test/read.cgi/software/1333915056/
7 http://anago.2ch.net/test/read.cgi/software/1312390804/
6 http://hibari.2ch.net/test/read.cgi/software/1291347103/
5 http://hibari.2ch.net/test/read.cgi/software/1260304053/
4 http://pc12.2ch.net/test/read.cgi/software/1235990960/
3 http://pc11.2ch.net/test/read.cgi/software/1176677869/
2 http://pc11.2ch.net/test/read.cgi/software/1156416884/
1 http://pc7.2ch.net/test/read.cgi/software/1107738590/
3名無しさん@お腹いっぱい。:2013/05/01(水) 01:47:59.74 ID:UFD+MPgf0
次スレは>>980 がお願い。
4名無しさん@お腹いっぱい。:2013/05/01(水) 01:57:31.78 ID:J8309YQV0
で、前スレどこっすか?
5名無しさん@お腹いっぱい。:2013/05/01(水) 02:21:26.46 ID:UFD+MPgf0
6名無しさん@お腹いっぱい。:2013/05/01(水) 02:39:56.34 ID:JLKkaJw60
7名無しさん@お腹いっぱい。:2013/05/01(水) 06:16:54.32 ID:hAM2hSNN0
おつ!ROM勢だけどおつ!
8名無しさん@お腹いっぱい。:2013/05/01(水) 23:27:08.12 ID:Dey3AEuf0
呼び出し関係をまとめてみた

◇UWSC スクリプトからの呼び出し
UWSC.exe
 └[MyScript].uws
   ├CALL [MySubScript].uws
   ├DLL 関数
   ├COM オブジェクト
   ├PowerShell スクリプト
   ├DOS コマンド
   ├EXEC 各ファイルの実行
   └キー、マウス、コントロールの制御

◇UWSC 関数の呼び出し
 ┌COM オブジェクト イベント
 ├キー イベント
自作関数


がんばれば Win32API 使ってメッセージループできるけど向いてない。
ウィンドウクラスだけダミーで作って
GetMessage の後、DispatchMessage をせずに UWSC スクリプトの中で回せば簡単だけどこれは非推奨。


HSP に、ウィンドウメッセージ受信用 DLL (hsgetmsg.dll) がある。
これは HSP 専用プラグインだが、これと同様の DLL があれば UWSC でも簡単にメッセージを受信できる。
ウィンドウ関連の構造体データを DOM 的にアクセスできるようになれば、
ネイティブコントロールの作成とかも手軽にできるようになるかもしれない。
あ、それをやってくれるのが seraphyscripttools とか SFCmini のような COM オブジェクトなのか。
9名無しさん@お腹いっぱい。:2013/05/01(水) 23:32:52.72 ID:2h2u3XE30
UWSCのグループチャットってやつか
作者同士がUWSCネットワークを介して交流とか夢が広がるな
10名無しさん@お腹いっぱい。:2013/05/02(木) 22:13:22.41 ID:0OJElBe90
Aは画像認識→あったらクリック という命令として
今の自分の書き方だと [A1 A2 A3 … A25]
みたいに画像認識がすごく多くて1週するのに時間が結構かかっています。
↓みたいに命令を実行させたいのですが、どう書けば良いでしょうか?

・A1〜A20は連続の3個を1ブロックとして、どれか1個実行されたら1個ずつずらしていく
  例:[A1.A2.A3]→どれか実行→[A2.A3.A4]→どれか実行→[A3.A4.A5]→…
   →[A18.A19.A20]→略→[A19,A20.A1]→略→[A20.A1.A2]→略→(最初に戻る)
・A21〜A25は常に実行
11名無しさん@お腹いっぱい。:2013/05/03(金) 11:21:57.02 ID:WnnnYhHu0
>>10
3つずつ
for i = 0 to (length(A)-1)/3 step 3
 jMax = i + 2
 if length(A)-1 < i+j then jMax = length(A)-1
 while true
  for j = i to jMax
   ifb CHKIMG(A[j])
    処理
    break 2
   endif
  next
  // ここで毎回の処理
  sleep(0.1)
 wend
next

処理後に exit する関数にすれば
for i のループ
 3つずつの関数(A, i)
 毎回処理する関数(A, 開始位置, 終了位置)
 sleep(0.1)
next
って感じで少しすっきりする。
12名無しさん@お腹いっぱい。:2013/05/03(金) 11:44:55.02 ID:WnnnYhHu0
ttp://cx20.main.jp/blog/hello/category/win32-gui/
UWSC の GUI 版 Hello World! ソース見てびびった。
UWSC も PowerShell も、C#のソースを文字列定義して呼び出してるだけ。

ただ、.net ”開発”環境もいらないし
PowerShell 実行制限を迂回できると言うことで、
単に実行するだけならいい環境だったりするかも。


で、その下の Lua ってのが Win32API 使ってGUI使ってる。
Lua は以前チャレンジしようとしてやっぱ手が出なかったんだけど、
ネイティブの GUI が使えるとなると・・・
ま、RAD ツールがないと面倒なんだけどね。

それで、ちょっと、 UWSC と Lua の言語比較してみた。
すると、Lua の記述が UWSC と近いことが判明。
今までは Lua っぽいコードばっかり見てたから受け付けなかったのかな。
UWSC と違う部分は C言語っぽい。
ttps://docs.google.com/spreadsheet/ccc?key=0AnJADoDttLA2dDhmU1dDR2s1R2tQcmJNQW5UYWVraFE#gid=4

最初は UWSC に Lua を組み込もうかと思ってたけど
見れば見るほど「Lua すげー」ってなってる。
コールバックが使えるスクリプトとして、MIKO スクリプトってのも考えたけど、
Lua なら UWSC にコールバック機能を持たせることができるかも。よく知らないけど。
UWSC+API でやるのとどっちが簡単だろうね。
13名無しさん@お腹いっぱい。:2013/05/03(金) 20:40:37.35 ID:OYSIXHk10
>>11
ありがとうございました
改善案からさらに改良していくのが面白い(できたら
14名無しさん@お腹いっぱい。:2013/05/03(金) 20:40:45.70 ID:wT0yks5g0
>>1
乙!
15名無しさん@お腹いっぱい。:2013/05/03(金) 22:27:43.92 ID:WnnnYhHu0
>>11 は /3 とか変なのが残ってたね。
j を i*3 〜 i*3+2 ( i は step 1 )でやるか
i 〜 i+2 ( i は step 3 )でやるか迷ってて消すの忘れてた。


UWSCと関係ないけど、
3回ずつだと端数が出るからループ脱出条件が2つになる。
もし、3で割り切れる個数ならそもそもループする必要がなく、こう書ける。

for i = 0 to max step 3
 print data[i]
 print data[i+1]
 print data[i+2]
next

端数をループの外で書けば端数の問題は解消するけど、同じ処理を他の場所でやることになる。
C言語とJavaではこんな書き方がある。
書き換えるのがめんどいのでこぴぺ。

register n = (count + 7) / 8;
switch(count % 8) {
 case 0: do {  *to = *from++;
 case 7:     *to = *from++;
 case 6:     *to = *from++;
 case 5:     *to = *from++;
 case 4:     *to = *from++;
 case 3:     *to = *from++;
 case 2:     *to = *from++;
 case 1:     *to = *from++;
      } while(--n > 0);
}
16名無しさん@お腹いっぱい。:2013/05/04(土) 00:57:47.63 ID:EHWA8zF+0
RGB=PeekColor(512,384)
これやると真ん中指定しますが
X座標を502〜522、Y座標を374〜394くらいの範囲で指定したいんですけどできますか?
イメージはこんな感じです
http://www1.axfc.net/uploader/so/2889577.png
17名無しさん@お腹いっぱい。:2013/05/04(土) 01:02:00.35 ID:jsdWHLfU0
できますよ
18名無しさん@お腹いっぱい。:2013/05/04(土) 02:02:27.40 ID:EHWA8zF+0
>>17
よかったら教えてください

RGB=PeekColor(502,374,522,394)
↑こうではないですよね・・・?
19名無しさん@お腹いっぱい。:2013/05/04(土) 09:57:57.81 ID:RMywkBWm0
>>18
範囲でってどういうこと?
A. その周辺の色を混ぜ合わせた色?
B. それとも、その周辺のドットの集合?

どちらにせよUWSCでは2重ループで繰り返し実行ですね。
A の場合はそれを配列に入れて平均値を計算。

WindowsAPI なら BitBlt で矩形指定してコピーもできる。
ただし、メモリイメージそのままなので色の平均値は自分で計算だし、
BitBltするまでがちょっとめんどい。
20名無しさん@お腹いっぱい。:2013/05/04(土) 13:10:04.43 ID:EHWA8zF+0
>>19
RGB=PeekColor(512,384)
これだと画面の真ん中のみ有効じゃないですか
画面の真ん中から少しずれてもいいように多少大きく範囲をとりたいと思ってるんです

色ではなく場所です
21名無しさん@お腹いっぱい。:2013/05/04(土) 13:36:51.44 ID:RMywkBWm0
>>20
いや、PeekColor に範囲とかないから。

アクセサリのペイントを開いてスポイトツールを使ってみて。
それが PeekColor と同じ機能。
22名無しさん@お腹いっぱい。:2013/05/04(土) 14:10:16.36 ID:bgLiGgAt0
>>20
だから取りあえず2重ループでやってみればいいじゃん
スピードが遅いんならそんとき別の方法を考えれば良いんだし
23名無しさん@お腹いっぱい。:2013/05/04(土) 14:13:21.57 ID:fhgFSR4lT
範囲をとりたいってどういう意味だ
24名無しさん@お腹いっぱい。:2013/05/04(土) 18:52:56.14 ID:D1FvgZDG0
なんか1ドットの画像用意してchkimgのほうが…
25名無しさん@お腹いっぱい。:2013/05/05(日) 08:21:48.74 ID:X98CB5ag0
>>24
たぶんそういうことなんだろうね。



テスト駆動開発
ttp://appkitbox.com/knowledge/test/2013/01/15/tdd_basic

1.エラーになるコードを書く (呼び出し、エラーを返す。つまり、エラー処理を書く。)
2.正常処理するコードを追加 (正常でない場合、1のコードに飛ぶので、またひとつコードが増える。)
3.書いた分をきれいにまとめる。
4.1〜3を繰り返す。

正常なコードをすぐに書ければいいけど、やっぱり試行錯誤になるよね。
試行錯誤を繰り返すとコードは汚くなるので、動いた時点できれいに書き直したほうがいい。
それを少しずつ積み上げることで、全体として完成したときに全体がきれいに仕上がっているはず。

とは言え、これは言語やライブラリを理解したうえでコードを書くことが前提なので、
関数がどう動くのかどう使えるのか分からないときには
その関数だけのためにテストコードを書かないとひどいことになる。
26名無しさん@お腹いっぱい。:2013/05/07(火) 13:33:15.13 ID:Lu0ACr7p0
uwscの別プロセスのものが何故か自動で機能しなくなりました
関連ないことなのかもしれませんけどほぼ同時期に
一部ソフトを再起動させても、そのまま終了し起動しなくなりました

問題が曖昧すぎですが、何が問題なのか自分でもサッパリ分かりません
どうか分かる方がいましたらお願いします。
27名無しさん@お腹いっぱい。:2013/05/08(水) 00:09:08.30 ID:zkJ+gGFf0
IEを起動したら、ウインドウのIDを取得して操作したいんだけど、

IE = CREATEOLEOBJ("InternetExplorer.Application")
IE.visible = True
IE.navigate("about:blank")
repeat
sleep(0.1)
until !IE.busy AND IE.readystate=4
IEid = GETID("Windows Internet Explorer",-1)

いつ迄待ってもIEidが-1のままになってしまいます。
何か、間違ってます?
28名無しさん@お腹いっぱい。:2013/05/08(水) 00:28:37.51 ID:Sp3KJhYH0
>>27
クラス名を -1 にするからだろ
IEid = GETID("Windows Internet Explorer", "", -1)
29名無しさん@お腹いっぱい。:2013/05/08(水) 03:12:47.87 ID:awrNk5up0
>>26
画面は消えているように見えるのにプロセスが残っているために二重起動防止で落ちてるとかよくある。
3027:2013/05/08(水) 03:14:22.22 ID:zkJ+gGFf0
>>28
できました、ありがとうございます!
31名無しさん@お腹いっぱい。:2013/05/09(木) 00:28:49.53 ID:L2rgOZUy0
今janeを開いてて、
<<ITM_ACCCLK>>の113)が
自動化ツールUWSC使いよ集まれ10のこのスレなんだけど、
こういうののACCCLKってどうやって取得するの?
getstrとかでも取得できないんだけど、
ネットにあがってるスクリプトだと出来る
何が違うの?やり方教えて
32名無しさん@お腹いっぱい。:2013/05/09(木) 08:49:34.24 ID:e+gJTAz80
>>31
そのツールで取得できたんならよくね?
もし、クリック以外の何かをしたいんならツールと同じように取得すればよくね?

取得方法は以下のやつをループ
GetAllWin() の ALL_WIN_ID[]
GetItem() の ALL_ITEM_LIST[]
33名無しさん@お腹いっぱい。:2013/05/09(木) 21:56:55.50 ID:L2rgOZUy0
>>32
わかんない!おしえて!!
34名無しさん@お腹いっぱい。:2013/05/10(金) 00:45:03.85 ID:L/LQJXd50
入力したいフォームに高レベルな記録で
文字を入力してみましたが、保存したuwsのファイルには
何も書かれていませんでした。
こういう場合自動で入力は不可能ですか?
また、
フォームが1〜5まであって
getstrで文字を全て取得したいんですが、
なぜかアクティブになってるフォームしか取得できないです。
VK_TABで1個1個アクティブにして取得するのは格好悪いです
こういう場合どうすればいいですか?
3527:2013/05/10(金) 03:08:15.93 ID:iZDIOuiS0
>>29
そんな場合、どうしたらいいですか?
36名無しさん@お腹いっぱい。:2013/05/10(金) 04:01:48.08 ID:IYZT/2Fo0
>>34
> なぜかアクティブになってるフォームしか
HTML なら DOM 使う。
Winフォームなら裏側は非表示だろうから無理なんじゃね?
スパイアプリでコントロールIDでも取れれば API 経由でいけるかも。

>>33
ALL_ITEM_LIST とかでぐぐる
ヘルプ見る

>>35
タスクマネージャから終了するか
taskkll コマンドで終了するか
PowerShell の Stop-Process か
Windows を再起動。
37名無しさん@お腹いっぱい。:2013/05/10(金) 11:03:26.01 ID:XLdy1TSW0
("Microsoft.XMLhttp")を呼び出して
ソースを引っ張ってくるようにしてるんですが
オフラインなどで
エラーが出る時の処理を分岐させたいんですが
エラーを感知する方法が分かりません・・・

sendを先に書いておかないと
statusを取れないし
sendを先に書いてしまうとエラーを感知して止まってしまいます
38名無しさん@お腹いっぱい。:2013/05/10(金) 11:14:22.74 ID:BMB7v3wc0
>>37
try 〜 except 〜 endtry
または
COM_Err_Ign 〜 COM_Err_Ret して COM_ERR_FLG で判断
39名無しさん@お腹いっぱい。:2013/05/10(金) 13:11:55.92 ID:IYZT/2Fo0
MacromediaFlashPlayerActiveX を Chrome と FireFox でもできんかと
GetWindow で GW_CHILD して GW_HWNDNEXT のループして GetClassName してたけど
前スレにあったわ。

GETCTLHND() で取れる IEFrame だけが可能なだけだったんだな。
GetAllWin() で取れる TabThumbnailWindow を対象にしても駄目だったんだ。
無駄な努力だった。

Win7+IE9の場合
IEFrame
└Frame Tab
 └TabWindowClass
  └Shell DocObject View
   └Internet Explorer_Server
    └MacromediaFlashPlayerActiveX

しかし、ActiveX ならHTAでもアプリでもいける・・・
ってな感じで2ヶ月くらい迷走してるわ。
40名無しさん@お腹いっぱい。:2013/05/10(金) 13:20:58.75 ID:vQF21Pdv0
>>38
ありがとうです
後者で何とかいけそうです
41名無しさん@お腹いっぱい。:2013/05/15(水) 14:50:39.17 ID:8Ef9V77q0
いいことが書いてあった

これからコードを書く人に絶対やって欲しいこと★2
ttp://kohada.2ch.net/test/read.cgi/prog/1365269189/36
12 :仕様書無しさん [↓] :2013/03/10(日) 16:47:33.91
  動的型付け言語なら高機能なテキストエディタを使え
  静的型付け言語ならIDEを使え。
 
  なぜなら、動的型付け言語ではIDEのサポートが十分に得られない。重いだけ。
  静的型付け言語はコード自体は冗長になるが、IDEのサポートで大幅に生産性が上がる。

15 :仕様書無しさん [↓] :2013/03/10(日) 16:55:11.95
  コードは書くことよりも、読む時のことを考えろ。
  短く書いたとしても、読みにくければそれは駄目なコードだ。
  コーディングにかける時間の8割は、コードを読むことに使わている。


> 理由が書いてない(納得出来ない) コーディング規約はゴミだ。作るな。従うな。
42名無しさん@お腹いっぱい。:2013/05/16(木) 11:11:10.72 ID:fge6S+mG0
コーディングにかける時間の8割は、コードを読むことに使わている。

あぁ、そう言えば全くのその通りだった。殆どの時間読んでるわ。
43名無しさん@お腹いっぱい。:2013/05/16(木) 18:50:31.65 ID:hpeuLRSK0
スレチ
44名無しさん@お腹いっぱい。:2013/05/16(木) 20:18:54.78 ID:n6eGebxe0
最近変なやつが居座ってオナニーしてんのな
45名無しさん@お腹いっぱい。:2013/05/19(日) 13:06:25.09 ID:EcUCy2sL0
>>41
そのスレ参考になったぞ
そしてUWSCの言語仕様の限界を改めて認識してしまったな
46名無しさん@お腹いっぱい。:2013/05/19(日) 14:17:27.94 ID:1aluXXUfT
そのスレに興味を持つレベルならuwscなんて卒業しろ
uwscなんて本格的なプログラミングするためのものじゃない
47名無しさん@お腹いっぱい。:2013/05/19(日) 15:03:43.05 ID:m3wI8dtS0
これでline荒らしたら、人間関係崩れたんだけど
このソフト糞だわ
48名無しさん@お腹いっぱい。:2013/05/20(月) 01:35:00.14 ID:TQJJeLFcP
Lineやってことないんだけど
PC版Lineの画面ってどんな感じ?
49名無しさん@お腹いっぱい。:2013/05/24(金) 19:55:46.71 ID:e0QL6y9C0
クリックの繰り返しの際に、

for i=0 to 100
BTN(LEFT,DOWN,964,553,100)
BTN(LEFT,UP,964,553,62)
SLEEP(1)
next

こんな感じになると思うんですが、繰り返し回数(この例では100)を、コマンドラインから、
UWSC.exe TEST.UWS 100 のように引数で渡すことはできますか?
50名無しさん@お腹いっぱい。:2013/05/24(金) 20:05:39.37 ID:ZALXYKaU0
できますよ
51名無しさん@お腹いっぱい。:2013/05/24(金) 20:22:36.77 ID:e0QL6y9C0
>>50
スクリプトの方では、引数をどう受け取ればいいんですか?

for i=0 to 100

の100のところなんですけど・・
52名無しさん@お腹いっぱい。:2013/05/24(金) 20:27:58.59 ID:ZALXYKaU0
ヘルプの起動時パラメータを見ろ
53名無しさん@お腹いっぱい。:2013/05/24(金) 20:39:18.13 ID:e0QL6y9C0
for i=0 to =PARAM_STR[0]
 BTN(LEFT,DOWN,964,553,100)
 BTN(LEFT,UP,964,553,62)
 SLEEP(1)
next

コマンドライン UWSC.exe TEST.UWS 100

こうですな。どうもありがとう
UWSCのHELP、俺のPCだと開かないんだよね・・なんか環境がどうのこうのみたいなんだけど。
54名無しさん@お腹いっぱい。:2013/05/26(日) 16:45:15.20 ID:79a+oPyO0
UWSCの配列まわりでバグを発見した。
データが欠損するバグだ。これは致命的だ。
検証し速やかに報告をしなくては。
と思ったら俺オリジナルのバグだったまる
55名無しさん@お腹いっぱい。:2013/05/26(日) 22:07:51.28 ID:u6CyF/yT0
おまおれ
56名無しさん@お腹いっぱい。:2013/05/28(火) 12:47:44.70 ID:Vb6K8W270
配列の添字の仕様がアレですからねぇバグも出るよ。
57名無しさん@お腹いっぱい。:2013/05/28(火) 19:28:11.14 ID:wLizV2di0
配列添字の仕様で何かあったけ?
58名無しさん@お腹いっぱい。:2013/05/28(火) 20:08:20.89 ID:UeY4Jb/F0
ifb CHKIMG("check.bmp") then
SOUND("bell.wav")
endif

check.bmpという画像を元に、
"色を無視して形でチェックする"動作を行わせたいのですが、この場合どう記述すればいいのでしょうか?

CHKIMG("check.bmp",-1)ってやっても認識されなかったんだ・・・
59名無しさん@お腹いっぱい。:2013/05/28(火) 20:12:28.36 ID:UeY4Jb/F0
何か日本語おかしいな
check.bmpと同じ画像ではなく、同じ形の画像を認証させたいんだ
60名無しさん@お腹いっぱい。:2013/05/28(火) 20:31:14.36 ID:YVez0SZR0
>>56-57
C系言語が広がったんで
配列は0から始まるのが普通になったけど
それ以前は1から始まるのも結構あった
61名無しさん@お腹いっぱい。:2013/05/28(火) 20:41:49.26 ID:8GBjDRZd0
Cが広まったのってもう20年以上前のことじゃね?
62名無しさん@お腹いっぱい。:2013/05/28(火) 21:10:40.04 ID:w2XUmqDx0
配列が1から始まるのってBASIC系くらいじゃないの?
それよりも DIM A[10] ってしたとき A[0]〜[10]になるほうが慣れないなぁ
63名無しさん@お腹いっぱい。:2013/05/28(火) 21:11:42.12 ID:wLizV2di0
UWSCだって0始まりだよ。SafeArrayはともかく。
配列定義で DIM a[2] とやると 0〜2 の3つになるのはBASIC系言語の仕様でしょ
VBA、VBS、VB.NET、ActiveBasic …。もちろんUWSCはBASIC系。
社会人なら、エクセルのVBA位さわった事あるだろし
C系言語だけしか知らないのはどうかと思う
64名無しさん@お腹いっぱい。:2013/05/28(火) 21:38:44.82 ID:fFOk9yr80
今でもCOBOLのような業務系言語は基本的に1から。
65名無しさん@お腹いっぱい。:2013/05/28(火) 22:52:34.23 ID:SHgBZdOG0
>>62
これこれ
これが原因

添え字最小〜最大     = 配列数
1〜配列宣言時の数値   = 配列宣言時の個数    BASIC系
0〜配列宣言時の数値−1= 配列宣言時の個数    C言語系
0〜配列宣言時の数値   = 配列宣言時の個数+1 UWSC

FOR ループでは

for i = 0 to length(配列) -1   next UWSC
66名無しさん@お腹いっぱい。:2013/05/28(火) 23:09:52.74 ID:wLizV2di0
>>65
何言ってんの?
BASIC系も添え字最小は0だろが
67名無しさん@お腹いっぱい。:2013/05/28(火) 23:11:26.96 ID:SHgBZdOG0
マジで?


length(配列)じゃなくてmax(配列)として、添え字の最大値を使えればミスらないんだけどな。
for i = min() to max(配列)      next

これで解決。
68名無しさん@お腹いっぱい。:2013/05/28(火) 23:19:58.95 ID:wLizV2di0
>>67
上限値が欲しいなら Resize(配列)
for i=0 to Resize(配列)
next
69名無しさん@お腹いっぱい。:2013/05/28(火) 23:20:47.73 ID:SHgBZdOG0
maxだと要素中の最大値を求めるっぽくて駄目だな。
配列の添え字の最大って分かるようにしないと。
70名無しさん@お腹いっぱい。:2013/05/28(火) 23:35:21.36 ID:SHgBZdOG0
>>68
resizeで取れるならいいけど、一見して分かりにくいワードだな。まいっか。

C言語と同じ比較すればいいんだけどな。
添え字のカウントアップを忘れそうなのがな。

i = 0
while i < length(配列)
 i = i + 1
wend


だいたいBasic系の to って言葉が悪いよ。
なんで「〜の手前まで」って表現がないのか。
「To the front of」とか長すぎ。
71名無しさん@お腹いっぱい。:2013/05/29(水) 00:29:57.62 ID:zRGJR7FJ0
VBのUBound、LBoundが欲しいのか。
ごちゃごちゃしょーもねーな。
今更言ってもかわらねえよ。
72名無しさん@お腹いっぱい。:2013/05/29(水) 08:45:43.23 ID:1YG70QEx0
俺はCに慣れてるのもあるから0からが当たり前だと思っているがUWSCさわる人ってプログラムは知らないけどエクセルは使っていてエクセルマクロ(VB仕様?)で考えてる人が多いのかな?
俺はVBほとんどさわらないからその仕様もよくわかってないがw
73名無しさん@お腹いっぱい。:2013/05/29(水) 14:33:51.97 ID:klbIS0c8P
COBOLのような勘定系だけは1からだよ
C言語やVBで組んだとしても
74名無しさん@お腹いっぱい。:2013/05/29(水) 14:37:31.39 ID:2iSRKVo60
デフォルトは兎も角
環境の宣言で指標の使い方は自由に決める事が出来る言語は多い
75名無しさん@お腹いっぱい。:2013/05/29(水) 18:39:31.86 ID:4vdE1OTv0
>>68
俺ずっとそれでやってた上で、
> 0〜配列宣言時の数値−1= 配列宣言時の個数    C言語系
だと思い込んでやってたぜ。

>>72
VBAって
> 1〜配列宣言時の数値   = 配列宣言時の個数    BASIC系
だったか?
VB6のVBAけっこう使ったが、俺そこでも間違えてたのか?



UWSCってオブジェクト指向プログラミングで開発してるだろうに、提供する言語がコレって何かずるいw
76名無しさん@お腹いっぱい。:2013/05/29(水) 19:14:49.51 ID:VcYHKjX50
ttp://www.relief.jp/itnote/archives/001048.php
23区(23個)だから、「str23ku(23)」としたくなるところですが、
インデックス番号が「0」からはじまるため、
「Dim str23ku(22)」という宣言で計23個の配列が用意されることになります。

この「0」からはじまるという点が、配列を難解にしている要因の一つではないかと思うのです。

VBA(Visual Basic for Applications)ではこの0オリジンを1オリジンにすることができます。

> モジュールの宣言セクションに
> 「Option Base 1」
> と記述する

で、これがまたバグの元なので >>71 の UBound、LBound で範囲を設定すると言うわけか。
77名無しさん@お腹いっぱい。:2013/05/29(水) 19:36:42.32 ID:VcYHKjX50
>>75
数値とか個数という表現がさらにややこしくしてるんだな。
配列宣言時に入れる数値が最大なのか個数なのかが違う。

個数 = 10
最大 = 個数 - 1
として

・C言語
int 配列[個数]
for( i = 0; i < 個数; i++ ) {}

・VB, UWSC  (「Option Base 1」 を使わない場合)
Dim 配列[最大]
for i = 0 to 最大  next

で、最大 を入れるべきところで 個数 -1 を使ってたからややこしいと。

VBの場合は「Option Base 1」とか UBound、LBound を使って分かりやすく、間違いにくくできるけど
UWSC の場合は 0 が固定なので。
しかし、配列を処理する関数とか作ればUWSCでもなんとかなるかな。
イテレーターとか言うんだっけ。
token 切り出すみたいに1個ずつリターンしてもらう・・・
あ、配列にセットする場合はセットする関数が必要になってややこしいか。

関数作って覚えるなら、配列の扱いを覚えたほうが早いと言う。
っていうか、連想配列使えば1からでも好きなように出来るけど。
78名無しさん@お腹いっぱい。:2013/05/29(水) 19:39:11.02 ID:zRGJR7FJ0
true/falseで-1、0、1、
返り血で正常異常その他、-1、0、1、他、
色々さまざまあるじゃん

勝手な思い込みしないで、どっちだっけ?と確認する癖をつければいいんだよ。

てかレス遡ると配列サイズを得るのにlength()使うひとみたいだし、ヘルプや仕様をろくに読まないで文句いってるんでしょ。
79名無しさん@お腹いっぱい。:2013/05/29(水) 21:13:32.76 ID:ly6EKzsC0
sa = SafeArray() が、sa = SafeArray(1,0) と等価になるは納得いかん
上限値はResizeで変更できるけど、下限値は変更不可だから、1始まりのまま。
DIMで作る配列は0始まりなのに、紛らわしい仕様だ。
引数省略できなくするか、または、SafeArray(0,-1)をデフォルトにすべきだと思うな

長さ0の配列作ることのない人には関係ないかもしれんけど
80名無しさん@お腹いっぱい。:2013/05/30(木) 13:17:18.62 ID:/ebxCDEe0
どっちにしても全言語で統一されん限り確認は必要なのになに暴れてるんだ
81名無しさん@お腹いっぱい。:2013/05/30(木) 14:17:39.43 ID:AiY4CFow0
http://officetanaka.net/excel/vba/statement/OptionBase.htm

これ見ると、VBでも、A[5]は0〜4または1〜5であって、0〜5じゃないみたいだけど…?
82名無しさん@お腹いっぱい。:2013/05/30(木) 14:20:04.29 ID:AiY4CFow0
A[5]が0〜5になる言語なんて他にあるの?
83名無しさん@お腹いっぱい。:2013/05/30(木) 14:50:19.86 ID:AiY4CFow0
>>78
true/falseが定数名使わないと何であるかなんか、
定数名使う時点で関係なくなるから配列の添字の問題と関係無いじゃん…

確認するっつったって、確認した上で間違えるだろ、
あの素っ気ないHELPじゃ。


> 多次元配列には宣言が必要: DIM 変数名[数]
> (配列での初期値代入: DIM X[2]=1,2,3  配列数の省略可 DIM X[]=1,2,3 )


これだけだぜ。
「0〜4でも1〜5でもないので注意が必要です」とは書いてないからな。
84名無しさん@お腹いっぱい。:2013/05/30(木) 14:53:00.40 ID:AiY4CFow0
>>78
あと「ろくに読まない」について。
ヘルプに書いてない仕様が多すぎ。


> // For Next 文
> FOR 変数 = 初期値 TO 終了値 [STEP 刻み値] 
>   処理
> NEXT       // NEXTの後に変数を書いてはダメ


この変数が変更不能であるとは何処にも書いてない。
結果、様々な仕様テストPGを書きまくる必要が出てくる。
85名無しさん@お腹いっぱい。:2013/05/30(木) 14:53:23.18 ID:/ebxCDEe0
え…?
お、おう
86名無しさん@お腹いっぱい。:2013/05/30(木) 14:54:39.41 ID:arC1A+OO0
>>81
サンプルコードが、たまたまそうしてるだけでしょ
http://ameblo.jp/tech-note/entry-10157307186.html
87名無しさん@お腹いっぱい。:2013/05/30(木) 15:13:40.43 ID:arC1A+OO0
>>84
俺も以前それにハマッタわ

for i=1 to 5
 MsgBox(i)
 i=i+1
next

↑これ、VBSでもUWSCでも動作するコードだけど
VBSは、1,3,5 と表示される
UWSCは、1,2,3,4,5 と表示される
88名無しさん@お腹いっぱい。:2013/05/30(木) 15:38:52.61 ID:YYGEPe170
>>87
自分も前にハマったわ
他の言語じゃ普通に出来るので結構盲点
89名無しさん@お腹いっぱい。:2013/05/30(木) 15:39:43.26 ID:AiY4CFow0
>>86
VB6のVBAで試したら、

Option Base 0 '0と1でテスト
Public Sub testArrayUBound()
  Dim testArray(5) As Integer
  Debug.Print "LBound = " & LBound(testArray) ' Option Base で指定した数
  Debug.Print "UBound = " & UBound(testArray) ' 常に5
End Sub

正直すまんかった
90名無しさん@お腹いっぱい。:2013/05/31(金) 17:35:19.78 ID:98FmSm6p0
画像認証の場合でPCが小さくて画面サイズが小さい場合や
画像認証する画像が一番上に来ていない場合は動作しないの?
91名無しさん@お腹いっぱい。:2013/05/31(金) 17:44:29.14 ID:Tw3jfhbR0
1ドットの画像でも検索できる
バックグラウンドの画像でも検索できる
92名無しさん@お腹いっぱい。:2013/05/31(金) 19:25:46.81 ID:xbW2hM4i0
そもそもPCの解像度は関係ないだろ
93名無しさん@お腹いっぱい。:2013/06/01(土) 04:01:53.53 ID:OrBbD9si0
バックグラウンドはできないだろ。少なくともXPでは。
Vista以降ではウィンドウの表示イメージをアプリごとに持つようになったからできるかもしれないが。
94名無しさん@お腹いっぱい。:2013/06/01(土) 05:43:07.34 ID:IvQurseST
XPでも出来るよ
95名無しさん@お腹いっぱい。:2013/06/01(土) 17:39:15.30 ID:VghlwZOf0
VMwareで全て解決
96名無しさん@お腹いっぱい。:2013/06/01(土) 21:12:15.24 ID:Qq0Dkwxd0
XPmodeでも解決
97名無しさん@お腹いっぱい。:2013/06/02(日) 16:57:26.43 ID:dT70ZztK0
www.uwsc.info/history.html
> DOSCMD関数にてマルチ行の実行を出来るようにした

このマルチ行とはどのように記述すれば実行できるのでしょうか。

マルチ行の実行とは、DOSCMDの画面表示をTrueで実行すると
例えばバッチファイルに
echo テスト1
pause
echo テスト2
と記述して実行した場合と同じように複数行の実行ができると理解していますが、
理解が間違っているでしょうか。
98名無しさん@お腹いっぱい。:2013/06/02(日) 18:37:36.07 ID:75ivKy8G0
>>97
コマンドラインで1行ずつ入力するのと同じでしょ
バッチファイルとは異なり、gotoやサブルーチンコールなどは無理
99名無しさん@お腹いっぱい。:2013/06/02(日) 21:18:13.48 ID:qz1LaLI/0
>>97
確認してないけどマルチコマンドの事かと思ってた
echo テスト1 & pause & echo テスト2
こんな感じね
100名無しさん@お腹いっぱい。:2013/06/02(日) 21:53:53.39 ID:75ivKy8G0
command = "echo テスト1" + "<#CR>" + "pause" + "<#CR>" + "echo テスト2"
DosCmd(command, false, true)
改行文字を自動的に&に変換して>>99のと同じになるってだけだよ
101名無しさん@お腹いっぱい。:2013/06/02(日) 22:06:17.70 ID:oZqy933X0
ファイルが大きくなってきたのでファイルを分割したいんですけど、複数のファイルを読み込む方法があったら教えてください。お願いします。
102名無しさん@お腹いっぱい。:2013/06/02(日) 22:15:17.97 ID:pE3hSVB30
ファイルの数だけオープンすりゃいいだけでないの?
何が聞きたいのか分からん・・・
103名無しさん@お腹いっぱい。:2013/06/02(日) 22:21:25.83 ID:rUqBSzew0
>>93
xpからprintwindowっていうAPIがあってバックグラウンドでもイメージを取得できるようになった
UWSCはこれを使っていると思われる
104名無しさん@お腹いっぱい。:2013/06/02(日) 22:26:41.51 ID:oZqy933X0
>>102
すみません
hoge.uwsが大きくなったので、hoge1.uwsとhoge2.uwsに分割して、
二つを一つのスクリプトファイルとして読み込んで実行したいです。
105名無しさん@お腹いっぱい。:2013/06/02(日) 22:32:32.69 ID:pE3hSVB30
>>104
hoge1.uwsに
call hoge2.uws
と書いて呼び出せばいい
106名無しさん@お腹いっぱい。:2013/06/02(日) 22:41:16.73 ID:oZqy933X0
>>105
・・・まじですか!!
ありがとうございます。
なんかすみません。
107名無しさん@お腹いっぱい。:2013/06/03(月) 10:06:18.60 ID:ZGvrm2Kx0
UWSCを使ってPCから音声出力があったらマクロを実行ってできますか?
また、音の高さで分岐とかの処理はできたりしますか?
教えてエロい人
108名無しさん@お腹いっぱい。:2013/06/03(月) 10:51:37.40 ID:PFaPKpzq0
音声出力や音の高さを判定するソフトを操作すればいいんじゃないの
109名無しさん@お腹いっぱい。:2013/06/03(月) 11:02:05.21 ID:y4dsxozF0
UWSCの恐ろしい所は単体で機能がなくても
ソフト連携で理論上なんでもできるところだ

波形ソフトで数値を取得したり、最悪画面描画でどうにかできそうだな(適当)
110名無しさん@お腹いっぱい。:2013/06/03(月) 11:10:36.74 ID:ZGvrm2Kx0
なるほどなるほど また調べます >>108>>109 thx!
111名無しさん@お腹いっぱい。:2013/06/03(月) 16:32:29.59 ID:9yUXIAt80
音声入力のチェックだけならDICTATE関数で出来なかったっけ?
自分で使ったこと無いからどういう動作するかは知らないけど
112名無しさん@お腹いっぱい。:2013/06/04(火) 12:41:59.78 ID:D2R+OfVf0
オシロ表示できるソフトの画面監視すりゃいいんでね?
113名無しさん@お腹いっぱい。:2013/06/07(金) 21:26:36.21 ID:Nu5G3z9f0
ある数値を表示するとき、その数値>0の場合には+記号を付けたいのですが、どうすればいいですか?
114名無しさん@お腹いっぱい。:2013/06/07(金) 21:41:11.73 ID:wDDNi1sr0
>>113
それ用の関数を作ればいいよ

v = 3
MsgBox("v = " + cnv2str(v))

function cnv2str( x )
  if x>0 then RESULT="+"+x else RESULT=""+x
fend
115113:2013/06/07(金) 22:09:51.31 ID:5W9sZJKn0
>>114
できました!
ありがとうございますー。
116名無しさん@お腹いっぱい。:2013/06/09(日) 09:04:22.89 ID:fsDGzCHa0
久しぶりに使おうと思って最新のを入れて使ってるのですが
A=val("vk_1") でエラーの値しか帰って来ません。
昔はこれで整数に変換されてたとおもうのですが何か変わったのでしょうか?
117名無しさん@お腹いっぱい。:2013/06/09(日) 10:47:23.46 ID:5G4zFpJf0
何がやりたいかわからないがエスパーで
A=EVALl("vk_1")
118名無しさん@お腹いっぱい。:2013/06/09(日) 11:13:10.51 ID:af6X3Hrn0
A=vk_1だったり
119名無しさん@お腹いっぱい。:2013/06/09(日) 12:15:43.75 ID:fsDGzCHa0
すいません、説明不足でした。何がしたいかというと

STOP= EVAL("VK_" + READINI("設定","停止","設定データ.ini" ))
KEY = EVAL("VK_" + READINI("設定","キー","設定データ.ini" ))

IF STOP < 0 then exitexit

while true
fukidasi("tes")
IF getkeystate(STOP) then exitexit
IF KEY > -1 Then KBD(KEY,0)
wend

設定ファイルのキーコードを整数として扱ってそれできちんと設定されているか判断及び設定されているものだけ使用したいのです
教えていただいたEVALだと設定されているのもはきちんと値を返しくれますが使用したくない場合及び間違っている場合では定義されていませんと出て止まります
昔使ってたVALでは間違ってるものはエラーの値を返すだけなので使用したくなければINIで空白にでもしておけば使用しないように出来ました
最新のVALでは仮想キーコードはなぜかすべてエラーの値しか返してくれなかったのでお聞きしました
120名無しさん@お腹いっぱい。:2013/06/09(日) 18:42:31.00 ID:5G4zFpJf0
LENGTHを使えば?
空白なら0、なにか設定されていれば数値が返ってくると思うけど
121名無しさん@お腹いっぱい。:2013/06/09(日) 22:57:37.82 ID:g0cENTRK0
EVAL("VK_1")が構文評価で数値の1として評価されるなんて仕様が
定義されてるとHELPに書いてないから、作者が黙って仕様変更したんじゃね?
素直にPOS関数で文字列操作して数値変換したほうが。

っつか

TRY
  STOP = VK_0 + VAL( READINI("設定","停止","設定データ.ini") )
EXCEPT
  STOP = ERR_VALUE
ENDTRY

で済んだりして…
http://homepage3.nifty.com/ic/help/rmfunc/vkey.htm
122名無しさん@お腹いっぱい。:2013/06/10(月) 14:04:46.47 ID:ned+Tr5h0
マクロを完全に使いこなすにはどうしたらいいでしょうか?

書店等に本は出版されていますか?
Google先生のお陰でほとんどのことは出来るようになりました。
新しい壁に今現在ぶつかってしまい、物事さえうまく、説明ができないので知恵遅れだと感じました
123名無しさん@お腹いっぱい。:2013/06/10(月) 14:26:25.64 ID:5nXP9bfk0
そうですか
124名無しさん@お腹いっぱい。:2013/06/10(月) 14:55:17.31 ID:aLd1WaM10
125名無しさん@お腹いっぱい。:2013/06/12(水) 19:57:45.20 ID:dUBULt7r0
膨大なテキストから、特定の文字が含まれてたら
その行の文字を抜き出したいのですが
やっぱり全行を配列に格納してforによる総当たりposやるしかないですか?
もっと効率の良い方法ありませんか?
126名無しさん@お腹いっぱい。:2013/06/12(水) 20:26:20.96 ID:3W+l57Sd0
>>125
不可能ではないが、UWSCはWindows操作自動化ツールであってテキスト処理ツールではない。
出来たとしても専用ツールと比べ遅くてメモリも沢山食い潰しそうだ。
それより別のツールにやらせてその操作をUWSCで操作するのが本来的な使い方。
プログラミングでやるにしても他にもっと優れた言語が沢山ある。
バッチファイル+コマンドラインツールですらUWSCに勝るだろう。
127名無しさん@お腹いっぱい。:2013/06/12(水) 20:37:14.22 ID:3W+l57Sd0
っつか膨大なテキストをファイルに保存して1行ずつ処理すればメモリ食わないなw
128名無しさん@お腹いっぱい。:2013/06/12(水) 20:54:30.51 ID:HbO9IEH90
>>125
grepとかでざっくり抜き出し、その後uwscで処理が楽そう
129名無しさん@お腹いっぱい。:2013/06/12(水) 20:56:13.06 ID:5C+Yw55kT
>>125
正規表現使ったら?
130名無しさん@お腹いっぱい。:2013/06/13(木) 04:31:11.40 ID:dpmxU0lB0
メールを常に監視させて、条件に合致するメールを受信したらそれをトリガにしてある動作を走らせたいと考えています。
今風なやり方は、どんなですか?
メールは、Gmailです。

受信したら即座に反応してほしいので、時間差のあるPOPではなくて、IMAPでメーラーを設定するべき?
できればIEだけで何とかしたい。
131名無しさん@お腹いっぱい。:2013/06/13(木) 04:48:28.60 ID:fKmP/Ss20
即座に反応が重要ならメールサーバー立ち上げて転送機能を使ったほうがいいと思うよ。

送信は規制があってできないけど、受信は無料のサーバーで可能。
132名無しさん@お腹いっぱい。:2013/06/13(木) 11:12:32.27 ID:AtEMVCre0
メールトリガ手法は5年前に既に雑誌掲載済みだぞ

メール1通でPCを遠隔操作「GmailRemoteControl」 :教えて君.net
http://www.oshiete-kun.net/archives/2008/06/1pcgmailremotecontrol.html
まさに自爆スイッチ! Eraser&UWSCで緊急証拠隠滅 :教えて君.net
http://www.oshiete-kun.net/archives/2008/06/eraseruwsc.html
133名無しさん@お腹いっぱい。:2013/06/13(木) 18:05:51.60 ID:oTWqIS7D0
>>130
お勧めしないがBecky!2などの有料メーラーは
フィルタリング設定で条件マッチメール受信時に
実行ファイルの実行などを設定できる。
あとはやりたい放題。
134名無しさん@お腹いっぱい。:2013/06/14(金) 16:08:53.14 ID:gyZAJIqA0
>>133
なんでお勧めしないの?
GmailRemoteControlの方がいい?
135名無しさん@お腹いっぱい。:2013/06/14(金) 20:38:19.10 ID:VzX8I5H00
>>134
使いはじめるとベンダーロックインされる。
ベッキーのメールデータや振り分け設定などは他のメーラーに移行することが困難
136名無しさん@お腹いっぱい。:2013/06/15(土) 12:48:14.34 ID:zirlsqE10
画像判定について調べてると
ペイントで切り出すと精度が落ちるのでGIMP等で切り出そう!とか書いてるブログがありますけど
これってオカルトですよね?
単純なbmpなのにペイントとGIMPで生成画像に差が出るわけがないと思いますし
それとも何か理由があるんでしょうか?
137名無しさん@お腹いっぱい。:2013/06/15(土) 12:54:10.56 ID:1sbplwI70
ただの妄想だな
138名無しさん@お腹いっぱい。:2013/06/15(土) 13:59:42.24 ID:uIPTuPji0
あれだろ?精度が落るから繰り返しの中で画像が見つからなくなって止まるんだとか思っちゃう人だったんだろ?
139名無しさん@お腹いっぱい。:2013/06/15(土) 15:57:40.49 ID:qj2sql+LT
>>136
よくわからんけどマウスで切り取りの範囲選択しにくいってことじゃない
gimpだと細かく調整できる
140名無しさん@お腹いっぱい。:2013/06/15(土) 19:40:59.65 ID:RLdsHwZ/0
知り合いの話なんだけどで切り出されるネタが自分の妄想というのは
バレてるけどブログの話として自分の妄想を語る手口ってのは斬新だな
141名無しさん@お腹いっぱい。:2013/06/16(日) 08:31:03.91 ID:+GNRXPkP0
>>135
どういうこと?
もしベッキーしか使わないと決めるなら、メールをトリガーにしてマクロ起動するのに最適?
142名無しさん@お腹いっぱい。:2013/06/16(日) 23:11:39.40 ID:+GNRXPkP0
ttp://www.m88sb.com/Main/Sports/Sports.aspx

ここのユーザーネームとパスワードを入力させたいんだけど、RecIEを使っても記録されない。
inputがtableのなかにあるとできないっけ?

IE.document.getElementsByName("txtLoginID").Item(0).value = "test"
IE.document.getElementsByName("txtPassword").Item(0).value = "test"

IE.document.forms[0].elements[0].value="test"
IE.document.forms[0].elements[1].value="test"

IE.document.forms[0].txtLoginID.value = "test"
IE.document.forms[0].txtPassword.value = "test"

IESETDATA(IE,"test","txtLoginID","ユーザーネーム")
IESETDATA(IE,"test","txtPassword","パスワード")
も、みんなダメだった。
143名無しさん@お腹いっぱい。:2013/06/16(日) 23:38:52.75 ID:gFP3JC8Y0
ちょい質問
id = GETID("Microsoft Excel - 新規Microsoft Excel ワークシート.xls", "XLMAIN", -1)
これの xlmain と -1
って言うのは何か意味があるのでしょうか?
144名無しさん@お腹いっぱい。:2013/06/16(日) 23:50:05.57 ID:Ow9DJoNE0
あるよ
145名無しさん@お腹いっぱい。:2013/06/17(月) 00:03:47.36 ID:DRHhmxFu0
>>142
IFRAME内にフォームがあるから、フレームを辿る必要がある

たぶん
IE.document.getElementById("frameLogin").document.loginForm.txtLoginID.value = "test"
IE.document.getElementById("frameLogin").document.loginForm.txtPassword.value = "test"
146142:2013/06/17(月) 00:42:44.37 ID:B4TdB57y0
>>145
ありがとうございます。
でも、早速やってみましたがダメでした。
147名無しさん@お腹いっぱい。:2013/06/17(月) 16:43:54.90 ID:+1hECav50
ページ見てないけどインフレームでの入力ならこれじゃね?


RE:教えてください! umiumi

ドメインが違うIFRAMEの場合は、セキュリティ上 DOMでの制御はできません。

この場合は、SENDSTR関数(ACCを指定)を使用して下さい。
id = GETID("Sleipnir")
SendStr(id, "123456", 6, True, True)
148名無しさん@お腹いっぱい。:2013/06/18(火) 06:11:02.84 ID:mv3185SE0
エクセルを開いてマクロを実行させたいんだけど

excel = CreateOLEObj("Excel.Application")
excel.Visible = True
excel.WorkBooks.open("ファイル名")
excel.run("マクロ名")

だと
マクロは実行されるんだけど

COM_Error :例外が発生しました。
○行目:EXCEL.run("マクロ名")

って出るんだけどどこがダメなんでしょうか?
149142:2013/06/18(火) 12:16:56.15 ID:QeaOqY7V0
>>147
ありがとうございます。

ユーザーネームは

SendStr(id, "test", 3, True, True)

でいけましたが、パスワードは

SendStr(id, "test", 4, True, True)

でダメでした。
検証コードは

SendStr(id, "test", 5, True, True)

でいけます。
150名無しさん@お腹いっぱい。:2013/06/18(火) 20:31:43.75 ID:Q44JXB9F0
>>148
エクセル?
エクセルのあらゆる自動操作がエクセルVBAで可能で
マクロ記録機能使えばどんな操作もコード化してくれるのに
UWSCでエクセルに何いじるの?
151名無しさん@お腹いっぱい。:2013/06/18(火) 20:43:30.44 ID:Q44JXB9F0
こういうことするしかないんじゃね?俺はSENDSTRがACCでフリーズするので直接入力。
アルファベット対応版つくってくれ

// SENDSTR代用関数(フォーカス済みのテキストボックスに数字をタイプ)
FUNCTION sendNumDirectly(sourceNum, lPosX, lPosY, lFlgF10AndEnter=TRUE)
  RESULT = FALSE
  sourceNum = VAL(sourceNum)
  IF sourceNum=ERR_VALUE THEN EXIT
  LeftClick(lPosX, lPosY, 1)
  IF GETKEYSTATE(TGL_IME) THEN KBD(VK_KANJI,CLICK,500)
  KBD(VK_HOME, CLICK, 300)
  FOR lI=0 TO 5
    KBD(VK_DELETE, CLICK, 300)
  NEXT
  IFB sourceNum < 0 THEN
    KBD(VK_SUBTRACT, CLICK, 300)
    sourceNum = ABS(sourceNum)
  ENDIF
  sourceNumStr = "" + sourceNum
  FOR lI=1 TO LENGTH(sourceNumStr)
    aChar = COPY(sourceNumStr, lI, 1)
    KBD(VK_0 + VAL(aChar), CLICK, 500)
  NEXT
  //冒頭の対策でもIMEが解除できなかった(あるいは逆にIMEが起動してしまった)場合の対策
  //F10で半角英数、ENTERで確定。
  IFB lFlgF10AndEnter THEN
    KBD(VK_F10, CLICK, 300)
    KBD(VK_RETURN, CLICK, 300)
    KBD(VK_ESC, CLICK, 300)
  ENDIF
  RESULT = TRUE
FEND
152名無しさん@お腹いっぱい。:2013/06/19(水) 10:41:01.38 ID:KHwMYtgZ0
>>151
これ、どうやって使うの?
153名無しさん@お腹いっぱい。:2013/06/19(水) 13:31:15.16 ID:KHwMYtgZ0
LeftClickがありませんってエラー出る。
154名無しさん@お腹いっぱい。:2013/06/19(水) 18:45:02.33 ID:r7rd+SAb0
FUNCTION LeftClick(cx, cy, lSec=1, lBeforeSec=0.1, lAfterSec=0.4)
  RESULT = FALSE
  SLEEP(lBeforeSec)
  TRY
    BTN(LEFT, Down, cx, cy)
    SLEEP(lSec)
    BTN(LEFT, Up, cx, cy)
    RESULT = TRUE
  EXCEPT
    //writeLogAndFukidasi("ERR: LeftClick("+cx+","+cy+","+ly+")")
    SLEEP(10)
  ENDTRY
  SLEEP(lAfterSec)
FEND
155名無しさん@お腹いっぱい。:2013/06/20(木) 09:24:04.48 ID:xmgRBjlU0
>>151
問題は、どうやってそのテキストボックスにフォーカスするかだよね。
番号で指定できないとすると、タブ移動くらいしかないか。
156名無しさん@お腹いっぱい。:2013/06/20(木) 10:58:28.36 ID:HTL8kg6U0
>>142 のサイト見たけどSendStrで名前入れられるならその後TABキー(KBDで)でPASSWORD、検証コードって移動できるよ
157名無しさん@お腹いっぱい。:2013/06/20(木) 12:45:53.55 ID:cBQF4D4A0
とりあえず低レベル記録を再生して成功したら
パスワードを引数としてKBDで自動操作する関数を作りこめばいいだろうな
アルファベットや記号をVKにマッピングするのは面倒くさそうだ
例によってナンカのAPIだとtoStringで一発で出来るみたいではあるが
158142:2013/06/21(金) 09:21:10.08 ID:IAXRAkYw0
ありがとうございます。

>>151さんが作ってくれたのは、残念ですけどよく分かりませんでした。

結局、これで何とかやることにしました。

SendStr(id, "test", 3, True, True)
sckey(id, vk_tab)
Sleep(0.2)
sckey(id, vk_t)
Sleep(0.1)
sckey(id, vk_e)
Sleep(0.1)
sckey(id, vk_s)
Sleep(0.1)
sckey(id, vk_t)
159名無しさん@お腹いっぱい。:2013/06/22(土) 11:03:44.42 ID:E5xi7mLz0
仮想マルチモニターとか仮想デスクトップ使って
UWSCで監視できる範囲を広げたいんだけど、何かいいツールない?

やっぱ、でっかい液晶モニタ買って物理的に画面でかくするしか方法ないんだろうか
160名無しさん@お腹いっぱい。:2013/06/22(土) 11:21:22.95 ID:J7eZCuiw0
モニタのサイズは関係なくね?
161名無しさん@お腹いっぱい。:2013/06/22(土) 11:49:14.19 ID:E5xi7mLz0
>>160
モニタが大きい分、ウィンドウを多く並べて監視対象を増やせる
162名無しさん@お腹いっぱい。:2013/06/22(土) 12:33:32.38 ID:J7eZCuiw0
モニタ関係ないでしょ
解像度の問題
163名無しさん@お腹いっぱい。:2013/06/22(土) 15:40:07.83 ID:np8pCKDJ0
監視ってそもそも何をどうやってなのか後出し臭がするので聞かないが、
肉眼で目を離さずに見比べ続けるとかでなければ
ウィンドウを複数開いて自動操作対象のウィンドウ以外を最小化すればいい
164名無しさん@お腹いっぱい。:2013/06/22(土) 21:10:34.31 ID:KkoGM7lcP
窓ID指定すれば隠れてるウインドウも監視・操作できるはずだけど。
それじゃいけないのかな。
165名無しさん@お腹いっぱい。:2013/06/22(土) 22:22:53.30 ID:E5xi7mLz0
>>163
>>164
0.1秒毎に各ウィンドウの指定の座標をクリックし続けるようなスクリプトなんだけど
ウィンドウID指定しても、ブラウザのバグなのかうまく最前面に来てくれない事がある。
最小化はさすがに頻繁にやりすぎて何かしら問題が起きそう

仮想マシンとか試してみたけど無理っぽいから
諦めてでかい液晶モニタ買うわ
166名無しさん@お腹いっぱい。:2013/06/22(土) 23:07:54.83 ID:7z0zXQJ60
>>165
acwとか使わないの?
167名無しさん@お腹いっぱい。:2013/06/22(土) 23:14:06.51 ID:E5xi7mLz0
>>166
そのacwでウィンドウID指定して最前面に持ってきてるよ
168名無しさん@お腹いっぱい。:2013/06/23(日) 00:03:07.18 ID:KkoGM7lcP
ちがうちがう。MOUSEORGで直接窓IDを指定。
MOUSEORG(窓ID,2)って書いたあとはMOUSEORG(0)で閉じるまで
その窓IDがキーやマウス操作の対象になる。
acwで全面に持ってこなくても、隠れたまま操作可能。
169名無しさん@お腹いっぱい。:2013/06/23(日) 00:36:39.41 ID:gaCUD+RD0
>>168
HELP見てみたが
第2引数の指定って
何でわざわざ0と1があんのかね
2が出来て完璧なら0も1も要らないじゃん
0や1じゃないといけないケースって何
と思った。
170名無しさん@お腹いっぱい。:2013/06/23(日) 00:40:23.21 ID:gaCUD+RD0
>>165
複数ウィンドウを0.1秒=100msごとにクリックって相当過酷な操作だな
仮に自動操作じゃなくて超速くて正確な手動操作したとして
ウィンドウのほうが処理落ちでついてこれないことがあるんじゃね?
WindowsもLinuxもリアルタイムOSじゃないからね
171名無しさん@お腹いっぱい。:2013/06/23(日) 00:42:07.19 ID:+D0W6Ffx0
直接送れない対象もあるからだろ
172名無しさん@お腹いっぱい。:2013/06/23(日) 00:49:10.89 ID:hzDrnjpnP
>>169
窓内の相対的な位置で座標指定できれば、PC自体の解像度が変わっても
問題なく動作するっしょ。

0.1秒間隔でクリック連打するマクロは使ってるが、意外と大丈夫だ。
ぜーんぜんなんともない。
173名無しさん@お腹いっぱい。:2013/06/23(日) 00:51:09.28 ID:m4lgJVDw0
>>169
2が効かないケースがあるからな、ゲームとか
174名無しさん@お腹いっぱい。:2013/06/23(日) 02:05:38.05 ID:gaCUD+RD0
Ready状態後のウィンドウ上でなら100msぐらい余裕で反応するが
リソース不足気味のPCで
FLASHやUnityなど重いページを表示したブラウザなどを
タブでなく複数のウィンドウで何枚も立ち上げたりすれば
ウィンドウの切替だけでも数十msは待たされる印象がある
最小化したりすると目に見えて軽くなる
175名無しさん@お腹いっぱい。:2013/06/23(日) 02:07:19.36 ID:gaCUD+RD0
2が効かないケースが有るってことは
逆に言えば、最初から2を試して
効かない場合のみ下げていったほうが良いのかな…
今度やってみよう
176名無しさん@お腹いっぱい。:2013/06/23(日) 16:35:06.97 ID:Was00iAI0
MOUSEORGなんて便利なものがあったのか……
ただ、今からやろうと思うと膨大な量の書き変えと
ポチった液晶モニタのキャンセルが必要にorz

まあおいおい対応させよう
177名無しさん@お腹いっぱい。:2013/06/23(日) 17:39:07.22 ID:w8xoYb+30
MOUSEORG 使っても、画面より大きい範囲は指定できないと思うが。
178名無しさん@お腹いっぱい。:2013/06/23(日) 18:47:19.07 ID:qLhcglRE0
ここを見て、メール受信をトリガにしてマクロを動かすにはBeckey!がいいことはわかりました。

では逆に、マクロを動かし続けて、ある条件が発生したときにメールを送信して通知させるには、どうするのがよいでしょうか。
これも、やっぱりメーラー動かした方がいい?
179名無しさん@お腹いっぱい。:2013/06/23(日) 20:26:37.63 ID:hzDrnjpnP
Beckey!ってマクロ機能あったっけ?
そういうのなら秀丸じゃないかな??

UWSCは操作を自動化するソフトに過ぎないから
メールを送信するにはどうしたらいいかで
難しく考える必要は無いかと。

いつも使ってるメーラーがあれば、それを操作してメール送ればいいし
Pro版でよければWebブラウザの操作を丸ごと記録再生できるから
それでWebメール操作するのがラクかもしれない。
180名無しさん@お腹いっぱい。:2013/06/23(日) 20:53:21.71 ID:eCLLFT3s0
CDO.Messageを使えばGmailとかでメールできる
ただし、アクセス数多いとアカウント停止する
181名無しさん@お腹いっぱい。:2013/06/23(日) 21:29:13.24 ID:ITAURYwvP
アプリ立ちあげずにメール送れるその方式、
前から便利だと思ってたんだが、1日200通くらいまでなら大丈夫そう?
182名無しさん@お腹いっぱい。:2013/06/23(日) 21:46:22.65 ID:eCLLFT3s0
自分の場合は200通くらいで停止した
アプリのスクショとって添付してたのも原因かもしれない。
アカウントは一日で再度アクセス可能になったし、複数アカウント用意しておいて
何通かで切り替えるかアカウント停止したのがわかれば、
そこで切り替えてもいいかも
183名無しさん@お腹いっぱい。:2013/06/23(日) 21:51:26.49 ID:ITAURYwvP
>>182
Twitterの短時間フォローみたいに
一定の規定に達したらしばらく強制休憩ってことか。参考になった。
184名無しさん@お腹いっぱい。:2013/06/23(日) 21:52:59.01 ID:ITAURYwvP
これか

バリュードメイ○の社員だけど、無条件解雇されそう
http://toro.2ch.net/test/read.cgi/hosting/1366267840/

時期的にもこれで合ってるっぽいな
185名無しさん@お腹いっぱい。:2013/06/23(日) 21:55:03.70 ID:ITAURYwvP
すまん、誤爆した。
186名無しさん@お腹いっぱい。:2013/06/24(月) 01:05:01.91 ID:EGunV/Pd0
>>178
Vectorで探せばいくらでも出てくるよ
俺は数年前、コマンドラインでテキストファイルをメール送信するツール使ってたな
187名無しさん@お腹いっぱい。:2013/06/25(火) 09:50:49.93 ID:VirZPVgE0
>>186
俺それ使ってたけど
自分宛にしか送れなかった
188名無しさん@お腹いっぱい。:2013/06/25(火) 12:56:10.80 ID:paIsEIm90
そりゃプロバイダのポートブロック回避や自分のPCのファイアウォール設定とか必要だし
189名無しさん@お腹いっぱい。:2013/06/26(水) 14:27:30.32 ID:2WyGqAvE0
COMオブジェクトの操作のまとめコードみたいのってあります?
ヘルプに載ってないみたいで
IE.visible = True
IE.navigate("")

こういうのが載ってるのです
190名無しさん@お腹いっぱい。:2013/06/26(水) 15:02:28.37 ID:7m8/o62z0
>>189
MDSNに全部載ってる
191名無しさん@お腹いっぱい。:2013/06/26(水) 18:57:39.59 ID:9l7/Hty60
>>189
Visual Studio でインテリセンスに頼りながらプログラミングしたほうが幸せそうだ。。。
192名無しさん@お腹いっぱい。:2013/07/05(金) 17:49:24.76 ID:YiRDgNimO
輪郭が背景に溶け込んでぼやけてる縦横15ドットくらいの文字列画像認識したいんですがいい方法ないですかね
chkimgだとどうも上手くいかなくて
193名無しさん@お腹いっぱい。:2013/07/05(金) 19:12:47.46 ID:kUEgHuAz0
captraだっけ?
194名無しさん@お腹いっぱい。:2013/07/05(金) 19:42:42.22 ID:JxXZfGli0
ぼやけてる部分削ればいいじゃない?
195名無しさん@お腹いっぱい。:2013/07/06(土) 04:50:41.30 ID:OpOoU1O6P
俺も背景が変化する半透明っぽいボタンの認識に苦労してる
良く出来た「あいまい認識」の実装が急務だと思う
最近のゲームはボタン一つにもエフェクトがかかってたりして手が込んでるから
ゲーム用マクロツールとして見ると正直時代遅れの感が否めない
公式サイトを見ても、掲示板はかつてのteacupのようですごく古臭いし
最近流行りのSNSやgoogle+のシェア機能なんかも全く利用してないし、
作ってる人の感覚やPCを使うスタイルみたいなものが10年前で止まってそう
たぶん40歳越えたおっさんだと思う
196名無しさん@お腹いっぱい。:2013/07/06(土) 08:27:22.40 ID:hglpgn4w0
いや俺ゲーム用じゃないし
公式掲示板でもゲームのたぐいの話はNGだからな
197名無しさん@お腹いっぱい。:2013/07/06(土) 09:10:23.25 ID:kyU6RCLv0
>>192
無理
重ねあわせ処理によりbmpとして見た時に異なる画像になってしまうからこれ当たり前

>>193
CAPTCHA(キャプチャ)なら絶対無理
CAPTCHA画像をSAVEIMGしてメール送信して回答メールから解読結果を書き込むことは出来る

>>195
OpenCVやOCRじゃないと無理
そこまでやろうとするともやはUWSCでは全くの力不足
ロボットの視覚ソフトウェア作るレベル
だがゲームのbotツールとして見るなら方向性としてはパケットやメモリを覗いたほうが正しい
でもUWSCはbotツール用のソフトではないので。
まぁ俺は使ってるけどね。
>>192の場合なら単に背景に溶け込まない部分を探して使うだけ。
無ければそういう状況を探し出し作り出す。
当然その代償として作業全体としては遅くなる。
198名無しさん@お腹いっぱい。:2013/07/06(土) 09:16:28.53 ID:kyU6RCLv0
UWSCの最も生産的な使い方はコレな
http://jasst.jp/archives/jasst11e/pdf/E4-1.pdf
botツールでも何でもないから
甚だしい勘違いを力説されても聞いてるこっちが恥ずかしいから
199192:2013/07/06(土) 09:23:20.86 ID:epmGhJbJO
丁寧な解答ありがとうございます
文字の太さが1ドットなので溶け込んでない部分がないんですよね
OCR系のソフトと連携する方向で考えてみます
200名無しさん@お腹いっぱい。:2013/07/06(土) 10:21:24.19 ID:kyU6RCLv0
>>199
敢えて言おう
無理であると

もしそれがゲームであるなら、無理であることが意図通りであるということ

もしそれがゲームでないなら、別の手段でアクセシビリティが提供されていることに気づいていないか、
単にアクセシビリティが糞過ぎて使えないソフトかサイトであるということ
201名無しさん@お腹いっぱい。:2013/07/06(土) 11:26:29.25 ID:/UtYagXK0
公式掲示板が古臭いのは同意。俺も前から思ってたわ。
せっかく作者や使い手の交流が活発なのにもったいない。

誰か、スレッドフロート型にしてgoogle+1ボタン、facebokボタン、はてブボタン、mixiボタン、ツイートボタンとか設置することを提案してくれないかな。

今の仕組みじゃレス返信の固定URLを取得したい時にGETで繋げるの疲れるんだよね
http://www3.bigcosmic.com/board/s/board.cgi?id=umiumi&resno=ここにレスナンバー
例 -> http://www3.bigcosmic.com/board/s/board.cgi?id=umiumi&resno=4908

これじゃSEO的にもよろしくないっていうか、シェアウェアなのにサポートがレンタル掲示板な時点でもはや・・
202名無しさん@お腹いっぱい。:2013/07/06(土) 13:02:04.79 ID:kyU6RCLv0
まぁ
> 作ってる人の感覚やPCを使うスタイルみたいなものが10年前で止まってそう
> たぶん40歳越えたおっさんだと思う
は同意かなw
203名無しさん@お腹いっぱい。:2013/07/06(土) 21:05:33.51 ID:DYoRTlI/P
>>201
SNS連携だけはやめてくれ
204名無しさん@お腹いっぱい。:2013/07/07(日) 06:26:24.80 ID:Mu49Yu+8P
その何とかボタンってのまったく必要性ねぇwww
205名無しさん@お腹いっぱい。:2013/07/07(日) 10:20:59.59 ID:YJfmcDrT0
と思ってる無知なおっさんは時代に付いていけないのであった
206名無しさん@お腹いっぱい。:2013/07/07(日) 13:51:16.97 ID:S/QyIBwg0
SNS連携って何に使うの?
ゲームの知り合いとかに俺マクロしてるって言いたいだけ?
207名無しさん@お腹いっぱい。:2013/07/07(日) 13:56:46.56 ID:rs/+Gfht0
SNSで汎用関数群提供とか?
208名無しさん@お腹いっぱい。:2013/07/07(日) 15:28:14.50 ID:U0TriCwN0
そういう余分な気持ち悪い機能はいらん
209名無しさん@お腹いっぱい。:2013/07/07(日) 20:17:12.81 ID:CVZ4X/m/0
意味不明なマクロ構文が垂れ流されるぐらいなら余計な機能なんてイラネ
そもそも公式じゃなくて自分でその手のコミュ立ち上げてから口を開けよ
210名無しさん@お腹いっぱい。:2013/07/07(日) 23:09:37.41 ID:YJfmcDrT0
>>209
余計な機能なんてイラネ(キリッ

なんで上から目線なの?
お前みたいな屑の方がよっぽどイラネ(キリッ
211名無しさん@お腹いっぱい。:2013/07/07(日) 23:26:35.41 ID:3PhSIZj50
カスNSのボタン云々は蛇足じゃないの
デザインがショボいお、が真意じゃないかな
本気で連携ボタンほしいお、ってんなら、
いやどっちにしろ痛い子夏の風物詩だね
212名無しさん@お腹いっぱい。:2013/07/08(月) 05:59:21.52 ID:pgmJvHrF0
イイネボタンやツイートボタンで利用者アップ、
RSSフィードで更新情報や新トピックの配信、
Google+やトラックバックで関連記事と紐付ける、とかの
重要性が理解できないのは時代についていけなくなってる証拠
ガラケーで充分と言ってるのと同種の人間
本人は必要ない余分なものだと信じて疑わないが
実は価値観が出来上がってしまって頭が固くなってるだけ
気付くと新しい物に疎い中年の一丁上がり
ラジカセなんか要らないレコードの方が音がいい!
昔から延々と繰り返されてる
213名無しさん@お腹いっぱい。:2013/07/08(月) 07:53:06.27 ID:7JZtb1q3P
見ず知らずの情弱にイイネなんてつけられたら恥ずかしくて自害して果てる
214名無しさん@お腹いっぱい。:2013/07/08(月) 08:34:16.67 ID:4eIz7QGFT
本人は必要だと信じて疑わないが
実は価値観が出来上がってしまって頭が固くなってるだけ
215名無しさん@お腹いっぱい。:2013/07/08(月) 08:50:44.70 ID:1aHjlsVQ0
気付くと流行に踊らされるガキんちょの一丁上がり


そんなに新しい物が好きならこんな古臭い言語仕様のソフトなんて使うなよ
216名無しさん@お腹いっぱい。:2013/07/08(月) 11:25:46.46 ID:5EJiXE380
>>212
クソワロタwww
これ本気で言ってんだよな・・・?
すごい重要性だな!w
217名無しさん@お腹いっぱい。:2013/07/08(月) 13:30:16.57 ID:/3F9/myf0
検索
※過去ログ記事を検索するには、各過去ログ上で検索して下さい
※20件以上は表示されません


自前で掲示板一括全文検索できないなら
googleサイト検索のテキストボックスぐらいつければいいのに…
あ、レンタル掲示板でドメイン名がアレだから、それも無理なのかw
218名無しさん@お腹いっぱい。:2013/07/09(火) 07:47:45.63 ID:AZFmw7ltP
効いてる効いてるwww
219名無しさん@お腹いっぱい。:2013/07/09(火) 09:37:07.16 ID:r2U0dQBlP
>>203 >>204 >>209 >>211 >>213 >>214 >>215
”無いことのメリット”を説明できずに個人的な使用目的や感情論しか
垂れ流すことができないのって哀れだな。反論になってない事に気づいてない時点で論外。

新しいものを認めたくてキャンキャン泣いてる負け犬なのは誰がどう見ても明らかだが、この手のやつは
まともなスクリプト書く知能も思考能力も無いから短文や草、オウム返しとかでしか切り返しできないから見てな。
220名無しさん@お腹いっぱい。:2013/07/09(火) 09:45:20.47 ID:Qa5NRFrK0
きっとSNSに親でも殺されたんだろう。
仮にSNS=厨房が沸く的なイメージで固執してるならそれは大きな間違いだし
海外の技術フォーラムとか見た事あるスレ民なら説明しなくてもいわずもがなWeb連携のメリットは分かってるはず。

100歩譲ってボタンは省いたとしても、有用トピが超初心者のトピで沈むのを避けるために
形式変更はあった方が使いやすいね。掲示版住人も住み分けできてるから、例えば
一行の回答で終わるような話題は初心者トピに集めるとかすれば技術トピの発展もしやすい。
221名無しさん@お腹いっぱい。:2013/07/09(火) 10:59:32.03 ID:IlJj8ete0
uwscなんて本格的にプログラミングするためのものじゃない
これに尽きる
222名無しさん@お腹いっぱい。:2013/07/09(火) 11:24:58.08 ID:0nBCWq7U0
いや、お前の言う重要性とやらはよく分かったよ
お前にとってはかなり重要なことなんだろう
けどいちいち押し付けんなよ
223名無しさん@お腹いっぱい。:2013/07/09(火) 15:15:44.50 ID:FHocinqH0
使いたくないやつは機能実装されても使わなきゃいいだけじゃないの?
俺は使わん
224名無しさん@お腹いっぱい。:2013/07/09(火) 15:20:55.95 ID:FHocinqH0
他はともかく>>213みたいなのは病気でしょ
いいねボタン押されようが押されまいが思われたら一緒じゃね?
いいねがつくつかないで何か変わるの?
むしろ「恥ずかしくて自害して果てる(キリッ」なんて書き込みの方が恥ずかしいと思うんだが
さっさと自害しろって話
225名無しさん@お腹いっぱい。:2013/07/09(火) 17:04:48.50 ID:8y8XUxcY0
高尚(のつもりらしい)論を展開するのがなぜここなのか、というのが一番滑稽なんだが。
作者さんに直接、僕の考えた最強のサイト!案を出してこいよ。
226名無しさん@お腹いっぱい。:2013/07/10(水) 02:29:52.13 ID:dTtS8g6U0
まだいたのかよさっさと作者に凸ってこいよくそめんどくせぇ

そんなことよりimacrosに変数受け渡すスマートな方法誰か教えてくれ
227名無しさん@お腹いっぱい。:2013/07/10(水) 06:54:27.21 ID:xsW6IVFI0
つーかそういうことこそ公式サポート掲示板で聞いたらよくね?
このスレいらなくね?
228名無しさん@お腹いっぱい。:2013/07/10(水) 08:45:22.07 ID:agiaWkGQ0
恥ずかしくて自害して果てるってイイネ
229名無しさん@お腹いっぱい。:2013/07/10(水) 11:47:59.20 ID:TBTyy4PN0
>>227
ネチネチと粘着して気持ちわりーやっちゃなぁ・・・
なんでも自分の思い通りにならないと気が済まないんだろうけど
いらんと思うなら来なけりゃいいだけじゃねーの?
230名無しさん@お腹いっぱい。:2013/07/10(水) 11:54:12.30 ID:4B9H8XFU0
新しいものを取り入れられないどころか
拒絶するようになったらいよいよ老化が進んでる証拠だな
231名無しさん@お腹いっぱい。:2013/07/10(水) 12:00:53.95 ID:xsW6IVFI0
>>229
公式掲示板で聞けって何か間違ってた???
232名無しさん@お腹いっぱい。:2013/07/10(水) 12:31:41.68 ID:ZJ6IruZ30
>>231
間違ってないから公式掲示板に行け
戻ってくんな
233名無しさん@お腹いっぱい。:2013/07/10(水) 20:04:55.53 ID:OXCghVA50
戻ってくるとか自由なのになんで強制されなきゃいけないの?
そんなことよりお前ら>>226に答えてやれよ
234名無しさん@お腹いっぱい。:2013/07/10(水) 21:47:40.16 ID:lpqeO91F0
>>233
義務を伴わない自由や意味不明な個性が大切にされる社会なんてのは
空想上の社会なのよ?w
235名無しさん@お腹いっぱい。:2013/07/10(水) 22:47:15.88 ID:OXCghVA50
>>201は見てるならコテでもつけてもう一度降臨してほしい
気に食わない書き込みを全てお前だと決めつけている粘着キチガイが常駐しちゃってるぞ
236名無しさん@お腹いっぱい。:2013/07/11(木) 00:39:44.06 ID:gALvQ5k/0
検索
※過去ログ記事を検索するには、各過去ログ上で検索して下さい
※20件以上は表示されません


自前で掲示板一括全文検索できないなら
googleサイト検索のテキストボックスぐらいつければいいのに…
あ、レンタル掲示板でドメイン名がアレだから、それも無理なのかw
237名無しさん@お腹いっぱい。:2013/07/11(木) 13:50:32.00 ID:aFdSHBsc0
>>235
呼ぶなw
公式掲示板にいいねボタンつけろだとか
ここで喚いても意味ないことくらい分かるだろ?
238名無しさん@お腹いっぱい。:2013/07/11(木) 20:43:53.36 ID:62sGAFOb0
> googleサイト検索のテキストボックスぐらいつければいいのに…

その程度のことなら自分でできるだろ。
できることは自分で何とかするのが自動化ツールなんだってこと忘れるな。
239名無しさん@お腹いっぱい。:2013/07/11(木) 20:48:50.31 ID:U1mXYRfP0
はい、結論出ました
自動化ツールなんだから自分で何とかしろ
240名無しさん@お腹いっぱい。:2013/07/12(金) 08:03:05.90 ID:NYZtOCk50
>>238-239
缶切りの入った缶詰みたいな話ですね〜
イイハナシダナ〜
241名無しさん@お腹いっぱい。:2013/07/12(金) 09:18:48.77 ID:7rGn/c8R0
自分でgoogleサイト内検索できないような情弱はお断りなんだが
242名無しさん@お腹いっぱい。:2013/07/12(金) 10:00:38.86 ID:kwWda01y0
作者さんでもない人に何かを断られても何の影響も無さそうだが…

レンタル掲示板ドメインであってもUWSC掲示板のみターゲットとするサイト内検索方法を教えてくれないのなら、確かに困ったな。
俺情弱だから判らん。
243名無しさん@お腹いっぱい。:2013/07/12(金) 10:14:32.04 ID:kwWda01y0
Googleが独自ドメインとして扱う物はURLのスラッシュからスラッシュまでの間、
つまり http://この範囲/ 「この範囲」の部分です。

ですから独自ドメインを取得していなくても ”http://自分のID.ホストのドメイン/” 等、
エイリアスの場合も Google の検索システム上では独自ドメインとして扱われます。

ダメなのは http://ホストのドメイン/自分のアカウント/ の様に途中を/で切られてしまう場合です。
この場合はホスト下層のディレクトリーとして扱われます。


困ったな〜 情弱だから判らん
244名無しさん@お腹いっぱい。:2013/07/12(金) 13:25:54.11 ID:rd0TuFRI0
ttp://nem.symphonic-net.com/uwsct/0610uwsct.html
UWSC掲示板の過去ログ検索 UWSC掲示板の過去ログと現行ログを検索し、htmlファイルへ保存・表示します。(2008/04/13改版)

「 uwsc site:bigcosmic.com inurl:umiumi 」
約 845 件中 53 ページ目 (0.25 秒)

直リン  ttp://google.co.jp/search?q=site:bigcosmic.com%20inurl:umiumi
245名無しさん@お腹いっぱい。:2013/07/12(金) 18:51:51.98 ID:kwWda01y0
>>244
それサイト内検索じゃなくてフリー検索だけど
総論であなたが情強です
246名無しさん@お腹いっぱい。:2013/07/12(金) 19:15:20.50 ID:swEyN7iT0
ローカル保存してそこから検索するのならUWSC掲示板の一番下に置いてあるやん
247名無しさん@お腹いっぱい。:2013/07/12(金) 22:11:06.92 ID:rd0TuFRI0
>>245
サイト内検索でぐぐって一番最初に出てくるんだけど。
・普通はオプションを隠し属性で渡してるだけ。
・フリー検索じゃねーから

ttp://www.hyuki.com/netserv/google.html
検索サイトGoogle.comの検索用のテキスト入力のところでsite:というキーワードを利用すると、 指定したサイト内の検索を行うことができます。

でも上記の方法だと、site:www.hyuki.comという文字列が表示されていて、 ちょっと不恰好ですね。
このページでは site:www.hyuki.com を表示させずに サイト内検索をする方法を示します。

<input type="hidden" value="hyuki.com" name="as_sitesearch" />


ttp://www.google.co.jp/intl/ja/faq_freewebsearch.html
よくある質問 -- Google フリー検索 (カスタマイズ版) : ウェブ検索
よくある質問 -- Google フリー検索 (カスタマイズ版) : サイト検索
248名無しさん@お腹いっぱい。:2013/07/13(土) 17:36:37.53 ID:BzGdfk6A0
>>247
結局、
公式掲示板がコレ使わずに
過去ログを20件づつ分けてしか検索できないようにしてるのは
つけようと思えばつけられるけど
俺達への愛の試練として
敢えてつけないってことでFAなのか?
249名無しさん@お腹いっぱい。:2013/07/13(土) 19:40:24.85 ID:o1MYRZkK0
>>248
馬鹿はヘルプすら読まないから掲示板のその他の内容にも
目を通しておけってこった。意味不明な改行するぐらいなら
250名無しさん@お腹いっぱい。:2013/07/13(土) 20:55:28.55 ID:BzGdfk6A0
>>249
バカがヘルプすら読まないと
なんで掲示板が出てくるんだ?
ヘルプ読めば掲示板の過去ログなんて不要だから検索を便利にする必要もない、
なら筋は通るが
251名無しさん@お腹いっぱい。:2013/07/14(日) 00:39:39.13 ID:8G/7BQ3a0
沸いてるのが沸いてるナ
252名無しさん@お腹いっぱい。:2013/07/17(水) 03:21:13.82 ID:ifWXJKcRP
スレタイ読めよ。「UWSC使いよ集まれ」だよ。
「UWSC使いたい人集まれ」じゃないんだよ。
253名無しさん@お腹いっぱい。:2013/07/17(水) 19:01:35.01 ID:wTQ+6tj40
クリックイベントをバックグラウンで送れるように
タッチイベントをバックグラウンドで送りたいんだけどなにか方法ないかな
254名無しさん@お腹いっぱい。:2013/07/17(水) 19:11:26.96 ID:qVNMOs0q0
公式で聞け
255名無しさん@お腹いっぱい。:2013/07/18(木) 18:44:51.05 ID:vba2ML/t0
作ったスクリプトがどう動いてるか知りたいのですがよい方法ありませんか?
printを使って一文毎やると凄い手間がかかってしまいます。わかる方教えてください
256名無しさん@お腹いっぱい。:2013/07/18(木) 19:06:35.35 ID:XY1/hefU0
257名無しさん@お腹いっぱい。:2013/07/18(木) 19:06:55.56 ID:+5oWFf0C0
デバッガー
258名無しさん@お腹いっぱい。:2013/07/18(木) 20:06:32.44 ID:vba2ML/t0
>>256
ありがとうございます。正にコレですね
ただ…高い…。試用期間2週間って何度も出来るわけじゃないですよね?

>>257
そういえば、昔Excelのマクロを少し勉強した時にデバッグって目にした覚えがあります。調べてみます
259名無しさん@お腹いっぱい。:2013/07/18(木) 20:19:53.30 ID:CloOvDmV0
msgboxを入れてる
260255:2013/07/21(日) 11:50:32.28 ID:15KbCEU/0
デバッガをググってみたけど、pro版しかなさそうでした…。

>>259
ありがとうございます。msgboxはその都度止まってしまうし、print使うのと手間が変わらないです
261名無しさん@お腹いっぱい。:2013/07/21(日) 12:45:35.78 ID:CiMFRvso0
・関数分割による構造化の徹底
・CALL文によるファイル分割
・main()に相当する本分は1ファイルとし、他ファイルは関数ライブラリとする
・多用する基本命令を関数でラッピングし、エラー処理する
・ファイル入出力関数を使い、デバッグログ関数を作る
・長い関数は分割するのが基本だが、やむを得ない場合、
 関数内のどこまで進んだかの進行度変数を持たせ、
 ログやPRINTに表示させる。

PUBLIC LOG_FNAME_DEBUG = "debug.log"
PUBLIC gFlgLoggingDebug = TRUE
PUBLIC gMaxLinesNumOfLoggingDebug = 2000

PROCEDURE writeLog(lStrLog)
  IF !gFlgLoggingDebug THEN EXIT
  lFID = FOPEN(LOG_FNAME_DEBUG, F_READ or F_WRITE)
  deleteLinesUntilTargetLineCount(lFID, gMaxLinesNumOfLoggingDebug - 1)
  FPUT(lFID, getCriteriaDateTimeStr() + " " + lStrLog)
  FCLOSE(lFID)
FEND

PROCEDURE writeLogAndFukidasi(lStrLog, lMsgPosX=0, lMsgPosY=0)
  FUKIDASI(lStrLog, lMsgPosX, lMsgPosY)
  writeLog(lStrLog)
FEND
262名無しさん@お腹いっぱい。:2013/07/21(日) 12:48:45.96 ID:CiMFRvso0
FUNCTION deleteLines(lFID, lStartLine, lEndLine)
  RESULT = FALSE
  TRY
    //IF lEndLine < lStartLine THEN swapVariable(lStartLine, lEndLine)
    FOR lI=lStartLine TO lEndLine
      FDELLINE(lFID, lI)
    NEXT
  EXCEPT
    EXIT
  ENDTRY
  RESULT = TRUE
FEND

FUNCTION deleteLinesUntilTargetLineCount(lFID, lTargetLineCount, lDeleteDirection=0)
  RESULT = FALSE
  lLineCount = FGET(lFID, F_LINECOUNT)
  IFB lLineCount <= lTargetLineCount THEN
    RESULT = TRUE
  ELSEIF lDeleteDirection = 0 THEN //先頭行から削除
    RESULT = deleteLines(lFID, 1, 1 + lLineCount - lTargetLineCount)
  ELSE //最終行から削除
    RESULT = deleteLines(lFID, lTargetLineCount + 1, lLineCount)
  ENDIF
FEND
263255:2013/07/21(日) 13:26:56.15 ID:15KbCEU/0
>>261-262
これ自分に対してですよね?

そうだとしたら素人なのでよくわかりません。すいません。
これをスクリプトのどこかに貼れば良いんですかね?
無知ですいません。
264名無しさん@お腹いっぱい。:2013/07/21(日) 14:12:59.60 ID:RgGEVbsd0
ただのオナニーだから相手にしなくて良し
265名無しさん@お腹いっぱい。:2013/07/21(日) 14:26:45.27 ID:CiMFRvso0
266255:2013/07/21(日) 15:33:16.92 ID:15KbCEU/0
>>264
すいません。
今日は7月21日ってことで許してください

>>265
纏めれるものは纏めてしまえば解析が楽になるということですね
先程のスクリプトは何ですか?
267名無しさん@お腹いっぱい。:2013/07/21(日) 16:21:46.14 ID:CiMFRvso0
あらうまいw

>>266
出来ればコードを読んで使って欲しかったが…
デバッグ用のログファイルを出力するのに使う関数ですよ。
PRINT文の代わりにwriteLog("デバッグメッセージ")とすれば
テキストファイルに残るので、長時間の動作見るのに使える。

もっともPRINT文は、
> 同じ内容をUWSC.LOGに保存
> (最大行数は uwsc.ini の LogLines= にて指定可、もしくはOptionにて)
とあり、Optionでパスやモードも指定できるので、
ログファイルのファイル名が単一で良い場合は不要ですな…

私はPRINTのウィンドウが邪魔なのと
ファイル名を起動PCによって変えたりするのでコレでやってます。

あ、getCriteriaDateTimeStr() が無いとダメですね。

FUNCTION getCriteriaDateTimeStr(lOffsetDays=0, lRefDt="")
  IFB lRefDt = "" THEN
    GETTIME(lOffsetDays)
  ELSE
    GETTIME(lOffsetDays, lRefDt)
  ENDIF
  //  YYYY/MM/DD HH:NN:SS
  RESULT = G_TIME_YY4 + "/" + G_TIME_MM2 + "/" + G_TIME_DD2 + " " + G_TIME_HH2 + ":" + G_TIME_NN2 + ":" + G_TIME_SS2
FEND

全角スペースは半角かタブ文字に置き換えてね
268255:2013/07/21(日) 22:49:57.04 ID:15KbCEU/0
>>267
すいません。
まだ始めたばかりの素人なんで…。せっかく親切に教えて頂いたのできちんと時間ある時に一つずつググります。

それと、内容は全く理解してないですが
>>261,262,267をスクリプトの最初に貼り付けてみましたが、動かなくなりました。
269名無しさん@お腹いっぱい。:2013/07/22(月) 06:47:27.07 ID:Ew9PK0rK0
>>268
関数を最初に貼りつけたら
その後ろのベタ書き(main()相当)は動かないよ
後ろに貼り付けるか別ファイルにしてCALL
でもそれ以前の段階みたいだね
プログラミングの基礎から関数までのテキスト読んだほうがいいな
270255:2013/07/22(月) 11:35:15.78 ID:iklThCsb0
>>269
すいません。
本当にそれ以前の段階です。

皆様はどうやって学習していったのでしょうか?
自分は>>1にある初歩のサイトでスクリプトをコピペして動かして少し変えてみて動きを理解している段階です。
271名無しさん@お腹いっぱい。:2013/07/22(月) 13:37:29.36 ID:5CMbpVX70
>>270
http://pgtop.net/category/7687666-1.html
http://www.amazon.co.jp/dp/479812253X
http://moeprog.web.fc2.com/moe/sb/index.htm

UWSCは、言語仕様やそれについての情報の出方など、
初学者に極めて不利な言語。
こんな言語でプログラミング始めちゃうと袋小路に陥るよ。
272255:2013/07/22(月) 13:57:14.70 ID:iklThCsb0
>>271
そうなんですか…。
数年前事務職でEXCELとACCESSを少し使っていて、マクロに興味を持っていたんです。
最近UWSCの存在を発見したので遊び心で時間ある時にやりはじめたんです。

参考URLをご丁寧にありがとうございます。見てみます。
273255:2013/07/22(月) 13:59:18.05 ID:iklThCsb0
というか、自分スレ汚ししてるような気がするので、捨てアド貼った方が良いですかね?
274名無しさん@お腹いっぱい。:2013/07/22(月) 15:58:28.68 ID:MQGVK2XO0
メールだと誰かレスしたのかどうか分からないし
特定の人に依存することになるからよくない。
メールでやるくらいだったら公式掲示板で作者に質問したほうがいい。

2ちゃんねるは喧嘩とかにならなければ自由に書き込んでいいんじゃね?
時期によって常駐してる人も違うし、書き込んでみて何か言われたら考えればいい。

夏休みとかになると子供が多いんで適当なこといいまくるけど
そういうのは気にしなくていいお。
275名無しさん@お腹いっぱい。:2013/07/22(月) 16:18:52.86 ID:tB0sLBW60
>>273-274
UWSC使いが集まるチャットがあれば便利そうだな

ちなみに一昔前はグループチャットといえばIRCが定番中の定番だった
今もネット古参達の間では当たり前のように使われてるそうだが
276名無しさん@お腹いっぱい。:2013/07/22(月) 19:16:21.09 ID:T+NuwD250
別にこのままがベストだと思うけどな
チャットだと常に誰か居るわけでもないしすぐ過疎るのが目に見えてる
このスレで別に他のことで盛り上がってるってわけでもないし
277名無しさん@お腹いっぱい。:2013/07/26(金) 20:44:52.05 ID:udXNnBBY0
Linuxで同じようなソフトないかなぁ
278名無しさん@お腹いっぱい。:2013/07/28(日) 00:13:43.54 ID:JPJ+NpRD0
画像認識を含むスクリプトをexe化したいんだけど誰か方法わかりませんか?
iexpressでやってもやっぱり意味無いですもんね・・
279名無しさん@お腹いっぱい。:2013/07/28(日) 01:45:56.77 ID:Sb1g5G6j0
pro
280名無しさん@お腹いっぱい。:2013/08/01(木) 00:37:59.46 ID:MIPwYUryP
ちょっと質問なんですが
chromeで画像認識の簡単な操作してるんですが、デスクPC(i5、8GB、win7home)で再生すると
開始数分で通常時40%前後のメモリ使用率が80%を越えます。終了しても減らず、
タスクマネージャーで確認してもその使用率の上昇分が表示されず何に使われているのか不明です。
同じものをノートPC(i3、8GB、win7home)で再生してもこの現象は起きません。
原因わかる方いますか?
281名無しさん@お腹いっぱい。:2013/08/01(木) 07:37:17.15 ID:D5v7PAGU0
エアロ切ってないとかじゃない?
282名無しさん@お腹いっぱい。:2013/08/02(金) 01:46:48.19 ID:92qyhKvwP
回答ありがとうございます。
試したところ異常はなくなりました。ただどちらもエアロが有効のままだったので
片方だけ起きたのが謎ですね。
283名無しさん@お腹いっぱい。:2013/08/10(土) 11:54:25.18 ID:34t+9fGZ0
ピークカラー関数を使って、あるポイントの色($FF0000)の識別をしているんですが
たまに色が変わってないのにエラーが出る(ポイントの色が変わった時用のif分岐動作)ので調べてみると
$000000と$FFFFFFを吐き出しているようなんですが、これは仕様でしょうか?
負担をあまりかけないようにピークカラーは1秒おきに使用しているし
PCのスペックはそこそこで、使用中は余裕があるほどなのでスペック不足ということも無さそうなのですが…。
どなたか分かる方いらっしゃいますか?
284名無しさん@お腹いっぱい。:2013/08/10(土) 12:45:30.16 ID:qauz7CzG0
>>283
まずは再現する短かなソースかif周辺のソースを貼ったほうがいいかと
285名無しさん@お腹いっぱい。:2013/08/10(土) 13:52:28.72 ID:34t+9fGZ0
>>284
ソース張り忘れ失礼しました。
┌─┐
│; ↓
│while true
│;     sleep(1)
│;     color = peekcolor(25,25)
│;     ifb color = $FF0000
│;     ;     break
│;     elseif color = $000000
│;     ;     break
│;     elseif color = $FFFFFF
│;     ;     break
│;     else
│;     ;     エラー時の処理
│;     endif
│wend
│; │
└─┘
(25,25)が$FF0000色だったらbreak→再び1秒後カラーチェック
今はelseifで$000000と$FFFFFFを吐き出した時も問題ないようにして正常に動いてるんですが、なんかスッキリしなくて…。
もちろんチェックしてる座標に黒い物や白い物を被せたりはしてないですorz
286名無しさん@お腹いっぱい。:2013/08/10(土) 13:59:32.06 ID:LIYTDKH/0
色が変わってるんじゃない?
287名無しさん@お腹いっぱい。:2013/08/10(土) 14:18:18.52 ID:34t+9fGZ0
>>286
チェックしている対象は色が変わるような物ではないので大丈夫だとは思うのですが
一応各break、elseの部分に「print color」を入れてしばらく数値をチェックしてみましたが
自分で意図的に座標部分を隠した時以外は$FF0000(チェックしたい色)$000000、$FFFFFF以外の数値は出て来なかったので
目で判別できないレベルで色がひっそり変わってるというのは無さそうですorz
288名無しさん@お腹いっぱい。:2013/08/10(土) 14:30:13.90 ID:qauz7CzG0
>>287
今まで使ってきてpeekcolor()が変な値を返した事はないなぁ、mouseorg()とかは大丈夫?

あと可能ならuwscのバージョン変えて確認してみるのも1つかもよ
最新だから良いって物でもないしね
289名無しさん@お腹いっぱい。:2013/08/10(土) 17:34:09.31 ID:EdiHYuHy0
printでのチェックは他の部分も含めてのチェック?
そのループ部分だけの状態でのチェックだと他の部分が悪さしてるのとかわからないからエラーはかないってこともあるよ
290名無しさん@お腹いっぱい。:2013/08/10(土) 19:00:55.24 ID:DHhr1DP90
後出し後出しにならないように、サンプル作ってUPしてくれ。それが早い。
環境依存か仕様かどうかを、(俺以外の)スレ住人が総力を挙げて全力で調査してやる。
291名無しさん@お腹いっぱい。:2013/08/11(日) 21:06:57.07 ID:XK8uab3i0
elseでcolorが何になってるか吐かせればいいだけ。
何ならその時をSAVEIMGすればいいじゃん。
292名無しさん@お腹いっぱい。:2013/08/11(日) 21:11:29.55 ID:XK8uab3i0
ん?$FF0000色「しか」有り得ないはずって前提か?
ならば色判定する必要性自体が皆無なんだが…
$FF0000色になるのを待つ、って処理で、
$FF0000色になっているはずなのに$0や$FFFFFFを取得し続けるのか?
ループの中にウィンドウID再取得とMOUSEORG入ってないが?
293名無しさん@お腹いっぱい。:2013/08/14(水) 17:34:28.14 ID:mCz48KBM0
質問です、ネットゲームの話なんですが
メインPC側でUWSCを動かして仮想PC側のネットのキャラを動かしたいのですが
画像認識が上手くいきません

ACW(GETID("Windows 7-1 - VMware Player","VMPlayerFrame"),0,0,1170,928,0)


ifb chkimg("A.bmp",0,0,0,1000,0500)
mmv(G_img_X,G_img_Y)
endif

これで動かしているのですが目的の画像の上にマウスポインタが移動しません
bmpも24ビットで保存していて、画像自体も一色のみです
もしかしてメイン側では仮想PC側の画面を判定するのでできないのでしょうか?
294名無しさん@お腹いっぱい。:2013/08/14(水) 20:22:21.79 ID:uSPijeZ10
そっかー
295名無しさん@お腹いっぱい。:2013/08/15(木) 01:50:27.92 ID:8rADeWfMP
A、Bはそれぞれの行動であるとして・・・

Aを3回繰り返した後、Bを1回する。

これをループさせたいんですがどうすればいいんですか?
for kaisu=1 TO 3
A
next
B
からわかりません
296名無しさん@お腹いっぱい。:2013/08/15(木) 01:59:13.68 ID:SvjJrj/h0
リピート 1
A、B
297名無しさん@お腹いっぱい。:2013/08/15(木) 02:11:15.01 ID:hHgj9zWnP
>>295
それをループさせればいいんじゃない?
298名無しさん@お腹いっぱい。:2013/08/15(木) 19:43:21.12 ID:bN9bHqqX0
>>293
本当に画像判定が失敗しているってことが特定できているのかな?
SAVEIMGで画像が取得できていることを確認してみ。
実は、判定に成功してマウス移動しているけど、VMToolsのラグで操作が無効になってたりする場合も考えられるよ。
その場合は、画面内を一度クリックしてから操作するとか何とかが必要かもね。

>>295
VB 多重ループ でググる
299名無しさん@お腹いっぱい。:2013/08/21(水) 13:33:36.57 ID:U3XmayND0
UWSCでブラウザの操作を自動化したいのですが、同時に
二つのブラウザを使うもののそれぞれのセッションを別けな
いとダメのようです。

ブラウザを起動するときは -nomerge と言うオプションを使
って別けているのですが、UWSCで起動するときは

IE = CreateOLEObj("InternetExplorer.Application")
IE.Visible = True

以外にどの様な命令を出せば良いでしょうか?
300名無しさん@お腹いっぱい。:2013/08/21(水) 13:45:48.60 ID:qXvQQLco0
IE = CreateOLEObj("InternetExplorer.Application")
IE2 = CreateOLEObj("InternetExplorer.Application")
と2つオブジェクト作って操作するのはダメなの?
301名無しさん@お腹いっぱい。:2013/08/21(水) 13:55:54.75 ID:U3XmayND0
>>300
すいません説明不足でした。
UWSCを実行するときは既に一つブラウザが開いて使っている状態です。

それとは別にUWSC経由でブラウザを開いて、それは元から開いている
のとは異なるセッションを持たせたい感じです。

理由は特権権限でログインしてログを表示させながら一般権限でログ
インしてデータの投入を行いたいのです。IEとFirefoxを使えば実現出
来るかと思ったのですがシステムがIEでしかダメで、パソコンを別ける
のも難しいので悩んでいます。
302名無しさん@お腹いっぱい。:2013/08/21(水) 14:55:07.69 ID:g5EsATWj0
>>301
IE8以上使ってるならだったら
InPrivateブラウズモード使うといいかも

doscmd("start iexplore -private")
sleep(3) //IE起動を待ってみる
InPrivateIE = GETACTIVEOLEOBJ("InternetExplorer.Application", "InPrivate")
303名無しさん@お腹いっぱい。:2013/08/22(木) 17:37:22.45 ID:wqTqUzdp0
クラス感覚で機能単位のuwsファイル用意してcallで呼び出そうとしたら返値的なもの受け取る方法ないよね
どうしたものか
304名無しさん@お腹いっぱい。:2013/08/22(木) 17:51:34.83 ID:PVn8WfTn0
publicな変数で渡せばいいんでない?
305名無しさん@お腹いっぱい。:2013/08/22(木) 18:12:07.89 ID:7bTVXJ8F0
>>302
ありがとうございます!
なんとか行けそうです。
本当に助かりました。
306名無しさん@お腹いっぱい。:2013/08/22(木) 18:16:35.68 ID:wqTqUzdp0
>>304
そんなんアリなの?と試したらできたー
返値専用のpublic変数を用意しておけば捗るね
307名無しさん@お腹いっぱい。:2013/08/22(木) 19:46:27.29 ID:vQyzv3p30
IEのReferer弄ってUser-Agent変えたりReferer: http://www.jasrac.or.jp/とかにして遊んでるんだが
Use-Agentもそうだったが偽装って、開いたそのページ単体限定だよね。

サイトのアクセス解析には記録されるの?
308名無しさん@お腹いっぱい。:2013/08/29(木) 13:02:01.57 ID:2farnKmb0
androidでUWSC的な自動操作したいのだけどまだそういうソフトないのな
309名無しさん@お腹いっぱい。:2013/08/29(木) 13:43:50.78 ID:1Ek6LF/I0
Android マクロで検索すればいくつか出てくると思うけど?
アンドロイド端末でやらせるよりもリモート操作だったりPでCで操作できるようにさせてPCからマクロ実行っていうのが多いと思うけど(アンドロイド端末でやらせるよりも処理が軽い)
310名無しさん@お腹いっぱい。:2013/08/29(木) 18:17:30.86 ID:34ZOVHgZ0
>>309
PC対応ソーシャルゲームだがandroidの標準ブラウザでも一応動くのでスマホでマクロ操作させたい。
PCつけっぱは電気代がもったいない
311名無しさん@お腹いっぱい。:2013/08/29(木) 19:24:50.17 ID:zao0VB880
そうですか
312名無しさん@お腹いっぱい。:2013/08/29(木) 20:45:07.57 ID:AVh0QSJW0
電気代ケチる人が自動とか考えちゃダメだよ。
省電力PC組むだけじゃない。
この際出費も考えちゃダメ。
313名無しさん@お腹いっぱい。:2013/08/29(木) 20:51:51.16 ID:mLvRtgsAP
新調が必要なら、ノートPCならデスクトップと比べて遥かに電気代安いからノートがいいぞ
いまどき充分な性能のなんて3-4万でごろごろしてる
http://kakaku.com/pc/note-pc/ranking_0020/
314名無しさん@お腹いっぱい。:2013/08/30(金) 06:48:05.76 ID:coTgE53C0
電気代をケチるレベルならそもそもそのゲーム止めれば
そんなはした金ケチる必要ないんじゃね?
315名無しさん@お腹いっぱい。:2013/08/30(金) 07:24:24.28 ID:zYVg1Tzt0
PC一台マクロに占有されたくなく、使ってない旧いスマホなら占有されてもいいっていうか使い道ないから活用したい
ってならわかる
316名無しさん@お腹いっぱい。:2013/08/30(金) 07:49:19.92 ID:WlOSyuJl0
でもそうなると完全にスレチなので適切なスレへどうそって話だわな
317名無しさん@お腹いっぱい。:2013/08/30(金) 11:36:29.34 ID:DQoTlwfU0
単純に動作を記録再生だけならFRepとか使ってればって思う
AndroidはJAVAで簡単にプログラムも組めるしゲームのマクロ位ならツール探すよりも自分で作っちゃったほうが簡単な気もする
ただアンドロイド端末でずっとつけっぱなしとか熱対策とかそっちの問題のほうが難しとおもうが
318名無しさん@お腹いっぱい。:2013/08/30(金) 13:59:23.20 ID:/Qv/PnyoP
>>308
Tasker
319名無しさん@お腹いっぱい。:2013/08/30(金) 18:32:19.34 ID:3AgqLMPl0
UWSCの強みは、低レベル操作関数の作り込みと画像判定。
オブジェクトを取得してOLEで自動操作するのは
VB.netやC#などのオブジェクト指向言語+総合開発環境のほうが普通に楽だろ。
自動操作を考慮されてないアプリに対して自動操作を強行するには
画像判定でゴリ押しするのが手っ取り早い。
自分でやろうとしたら画像処理を自作で作り込むか、OpenCV使わないとだめだろう。
Linux系で無いのが残念。
320名無しさん@お腹いっぱい。:2013/08/30(金) 20:44:31.86 ID:jT4prRdU0
全角英数→半角英数にするの一番上手いやり方って何かね。
ヘルプ見てもこの変換はできないようだ。カタカナは変換したくない。

今はテキストエディタでやってるから問題ないし
26種×2をreplaceするのもなーって思った。
正規表現は分からんので参考になるURLあったら張ってくれ。
321名無しさん@お腹いっぱい。:2013/08/30(金) 21:10:26.29 ID:3AgqLMPl0
DOSCMDでこういうの使えば?
http://hp.vector.co.jp/authors/tfuruka1/software/zen2han/zen2han.html

StrConvをOLEで使うと書くのは楽だが重そう。自作するとこうなるらしい。
http://blog.livedoor.jp/midorityo/archives/51064633.html
322名無しさん@お腹いっぱい。:2013/08/31(土) 00:38:53.45 ID:95E4IqPW0
>>320
このくらいしか思いつかないわ

FUNCTION strconv2(str)
   for i=1 to length(str)
      ascii=asc(copy(str,i,1))
      if (ascii>=65296 and ascii<=65305) or (ascii>=65313 and ascii<=65338) or (ascii>=65345 and ascii<=65370) then ascii=ascii-65248
      RESULT=RESULT+chr(ascii)
   next
FEND
323名無しさん@お腹いっぱい。:2013/08/31(土) 11:14:47.78 ID:Ra07XkvF0
そうだぱーるでだぶりゅえすしーをかこう
324名無しさん@お腹いっぱい。:2013/09/01(日) 01:16:23.84 ID:n0EYOx0F0
>>312
電気代もそうだがこの時期無駄に部屋が熱くなる。
まぁお前は視野が狭いからどうでもいいんだろうが
325名無しさん@お腹いっぱい。:2013/09/01(日) 01:17:53.58 ID:n0EYOx0F0
>>314
なんか大げさだろ
スマホでできることをわざわざPCでって
自鯖とかもお古のスマホで十分
UPSいらないしな
326名無しさん@お腹いっぱい。:2013/09/01(日) 01:19:35.37 ID:n0EYOx0F0
>>315
ああそれそれ

>>319
カタイ事言うな
327名無しさん@お腹いっぱい。:2013/09/01(日) 01:43:22.16 ID:5txjSDWV0
ぷw
328名無しさん@お腹いっぱい。:2013/09/02(月) 13:31:29.18 ID:RIvn3m7+0
[Ver4.9]
  TRIM関数の全角指定にて UNICODEのスペース($2029-$202E)も削除するようにした
  GETACTIVEOLEOBJ関数にて順番に-1が指定された時は最新(一番最後)のものを取得するようにした
  SAVEIMG、CHKIMG、PEEKCOLOR関数にてクリップボードを利用するモードを付けた
  CTRLWIN関数にてトップにするがアクティブ化しない TOPNOACTV を付けた
  STATUS関数にて IDが有効かを調べる ST_ISID を付けた
  GETSTR関数にてアイテムが存在しない場合は EMPTYを返すようにした
  FUKIDASI関数のエリアス名として BALLOON を付けた
  スレッド使用にてエラーが出るパターンがあるのを修正(スレッドの安定化、最大数を64に)
  COM_ERR_IGN、MOUSEORGの有効範囲が全範囲だったのをスレッド単位にした
  SENDSTR関数にて DateTimePickerに日付を送れなくなっていたのを修正
  Pro版:
  SETFORMDATA関数直後の Navigate("javascript:") が実行できないを修正
  Debugger: メニューから登録スクリプトを実行できるようにした(初期状態で4つのスクリプト)
  RecIE: デフォルトのレンダリングモードが IE7相当だったのをインストールされているIEに合わせた
  RecIE: BusyWait関数のロジックを変更した(JavaScript、マルチフレーム対応の為)
  RecIE: 再生時に IEが終了されたらスクリプトも終了するようにした
  RecIE: 環境によりマルチフレームでの記録ができなくなっていたのを修正

ダウンロード
http://www.uwsc.info/download.html
329名無しさん@お腹いっぱい。:2013/09/02(月) 19:38:33.80 ID:Nt7TOesx0
復帰
330名無しさん@お腹いっぱい。:2013/09/03(火) 20:50:15.38 ID:L+RViJsF0
公式掲示版ってたまに白熱した展開になるよな
331名無しさん@お腹いっぱい。:2013/09/03(火) 22:11:26.98 ID:HF32yzN2P
ff14の単純作業でマクロを作ってみようと思うのですが
AutoHotKeyとUwscだとどちらが機能性充実していますか?
またどちらが覚えやすいでしょうか?
332名無しさん@お腹いっぱい。:2013/09/03(火) 23:14:41.89 ID:4iodfhPU0
どちらもそんなんに変わらん
UWSCは外部のAPIとかDLLを読み込めるが実行ファイルとかにするには有料版が必要(配布とか考えているなら)
AutoHotKeyはGUIの作成が簡単、実効化ファイル作るのが無料で出来る
333名無しさん@お腹いっぱい。:2013/09/03(火) 23:40:05.18 ID:WHaArix60
ありがとうございます。
UWSCの方が日本産まれなので参考になるサイトが多いかなと思ったのですが
少し触ってみるとたしかにAutoHotKeyは直感で組み立てることができますね。
334名無しさん@お腹いっぱい。:2013/09/03(火) 23:44:18.43 ID:SmAJC8yp0
ホットキーとしてつかうなら断然AHK。速度も早い
ただ書式がとっつきにくい… (自分は)
335名無しさん@お腹いっぱい。:2013/09/03(火) 23:54:40.02 ID:4iodfhPU0
ゲームのマクロって画像認識させてとかレベルのものでしょ?
テストで適当に特定条件下でのボタン押しマクロみたいに単純なもの作ってみて作りやすい、精度が高いと思ったほう使えばいいんだよ
ゲームマクロ程度ならUIも外部のAPIやDLLなんてほとんど関係ないんだから

中華のmobみたいなもの作ろうと思ったらマクロツールじゃなく本格的なプログラミング覚えた方が良い
336名無しさん@お腹いっぱい。:2013/09/04(水) 00:04:19.93 ID:WHaArix60
>>335
その通りです。画像認識を使って単純作業の効率化を目論んでます。
BOTを作るにはバイナリーのレベルで解読しないと無理なんですよね?
憧れますけどかなり敷居が高いですね。マクロすらまともに扱えない素人なので
337名無しさん@お腹いっぱい。:2013/09/06(金) 23:21:54.79 ID:kJgC51VJ0
> STATUS関数にて IDが有効かを調べる ST_ISID を付けた
やっとか
今までハンドルに変換してからウィンドウIDに再変換とか無駄なことさせられてたよ。
338名無しさん@お腹いっぱい。:2013/09/08(日) 10:19:18.58 ID:eECp2ZLU0
みんなahk使ってるのか
せっかくuwsc覚えてそこそこ使えるようになったのに
339名無しさん@お腹いっぱい。:2013/09/08(日) 12:22:57.05 ID:eosrxOyP0
主観をみんなと表現しちゃう人って
340名無しさん@お腹いっぱい。:2013/09/09(月) 09:18:55.35 ID:JNaRIkU70
さくらエディタでスクリプト書いてる人はこれやってる?
makoto-watanabe.main.jp/program.html#sakura
341名無しさん@お腹いっぱい。:2013/09/09(月) 11:00:39.95 ID:3ZzSIi720
それやらないとサクラエディタ使ってる意味殆ど無くね?
342名無しさん@お腹いっぱい。:2013/09/09(月) 11:15:45.62 ID:3fkjxtgS0
半端なurlだる
それってなに
343名無しさん@お腹いっぱい。:2013/09/09(月) 13:01:00.83 ID:VcrUiu1f0
http://anago.2ch.net/test/read.cgi/software/1350040751/909-911

909 名前:名無しさん@お腹いっぱい。[sage] 投稿日:2013/04/10(水) 10:45:29.23 ID:W+/E9QGj0
サクラエディタで .uws の色分け設定手順 のメモ
(後略)

911 名前:名無しさん@お腹いっぱい。[sage] 投稿日:2013/04/10(水) 12:38:32.28 ID:v0JIHrgl0
http://makoto-watanabe.main.jp/program.html#sakura
に既にあるよ
344名無しさん@お腹いっぱい。:2013/09/09(月) 13:01:29.80 ID:3ZzSIi720
頭にhttp:付ければ見れるよ
強調ワードとかF1でUWSCのヘルプ検索とかそういう設定
345名無しさん@お腹いっぱい。:2013/09/09(月) 13:07:15.68 ID:JNaRIkU70
頭にhttp:付けなくても今時のブラウザなら自動補完してくれるわけだが
開くの面倒とか思ってるやつは頭おかしい
346名無しさん@お腹いっぱい。:2013/09/09(月) 14:34:05.62 ID:3fkjxtgS0
なるとん
:が入ってたら補完してくれるかな
347名無しさん@お腹いっぱい。:2013/09/09(月) 18:49:38.33 ID:Y7+Rnm/L0
>>340
ttp://qb5.2ch.net/test/read.cgi/operate/1377674620/871

アドレスの修飾を省略するのが流行ってんのか?
348名無しさん@お腹いっぱい。:2013/09/09(月) 20:16:01.50 ID:KRdjHckK0
忍法帳のレベルが低いとURLかけないのよ
349名無しさん@お腹いっぱい。:2013/09/09(月) 21:08:20.83 ID:Y7+Rnm/L0
ああ、そういうことだったか。
確か :// あたりに反応するんだっけ。
350名無しさん@お腹いっぱい。:2013/09/09(月) 23:44:14.60 ID:UZG+jAID0
にんにん
351 忍法帖【Lv=40,xxxPT】(1+0:8) :2013/09/11(水) 09:50:04.09 ID:IKpy+pD/0
にんにん
352!ninja:2013/09/14(土) 12:53:49.32 ID:8bZZxalT0
名前欄に !ninja
353名無しさん@お腹いっぱい。:2013/09/16(月) 16:07:59.86 ID:gkEdeY2B0
データグリッドビューを操作することってできないんですか?
354名無しさん@お腹いっぱい。:2013/09/17(火) 02:14:41.63 ID:6N2JIO6OP
call(ブレイク)の数に制限ありますか?
今まで20個コールして自動運転できてました
25個に増やすと必ず22個目にハングアップ
uwscをタスクマネージャーでプロセス終了してはテストしてます
呼び出す順番変えても22個目にハングアップ
13個と12個に分けて2つのスケジュールにすると止まらず運転できます

windows xp sp3
uwsc4.8
Google chome

ブレイクかコールが怪しい気がしてます
どなたかご教示お願いしますm(_ _)m
355名無しさん@お腹いっぱい。:2013/09/17(火) 02:36:37.14 ID:cQEK+mzT0
そういう仕様についての質問は開発者しかわからんだろうし公式で聞きなよ
ちなみにテストで PRINT ("番号") だけ書いたファイルを25個用意して順番に読み込ませるテストしてみたけど正常に動作した
356名無しさん@お腹いっぱい。:2013/09/17(火) 04:00:11.21 ID:KYAFdips0
だからコール1回きりの関数プログラミングにしとけとあれほど…
357名無しさん@お腹いっぱい。:2013/09/17(火) 04:13:58.67 ID:6N2JIO6OP
354です
早速レスありがとうございます
うみうみ氏のところで質問しようとしたら
書き込みのところにゲーム関係の質問はしないで下さいとありました
嘘ついてまで質問できないのでこちらで質問させて頂いた次第です
今も全く別のスクリプトを作ってテストしました
やはりコールの23番目にハングアップします
開発者しかわからない仕様かもしれないですね
2つのスケジュールにわけて25個を動かす事にします
70分毎なのでスケジュールに設定するのが倍の手間になり面倒なので
一つのスクリプトからコールしたかったんですが
2つのスケジュールでやりくりしてみます
ありがとうございました
358名無しさん@お腹いっぱい。:2013/09/17(火) 04:33:07.49 ID:6N2JIO6OP
354です
書き漏れありました
コールで呼んだスクリプトの中にコールが一つあります
25個とも同じ作業です
Chromeを起動する時にUAで識別させているので
中身で違う部分はUAのユーザー部分だけでバイト数は全て同じにしてあります
失礼しました
359名無しさん@お腹いっぱい。:2013/09/17(火) 09:13:03.56 ID:ibplWCXa0
>>358
>356氏の言うようにコールじゃなくて関数化

UWSCのコールは都度読込みのではなくて、起動時に一括読込みだから
おそらくメモリ管理あたりでハングしてる
360名無しさん@お腹いっぱい。:2013/09/17(火) 11:32:39.30 ID:36GibZDU0
CALLは命令の文言的に誤解されちゃうのかな?
非関数部分のスクリプトは動作しちゃうから
その誤解を助長してしまう部分もあるかもしれないけれど
CALLはincludeな使い方をする命令
CALL先のスクリプトは出来るだけ関数のみ定義して
必要に応じて関数を呼び出す方が良いよ

同じファイルをCALLで複数呼び出すと変数の管理が想定外の自体になりやすそう
361名無しさん@お腹いっぱい。:2013/09/17(火) 21:01:18.94 ID:nJ6vraJi0
>>357
ネトゲ関係の質問しないでってそういう意味じゃないだろw
362名無しさん@お腹いっぱい。:2013/09/18(水) 00:49:53.48 ID:QV8bh5a60
>>357
>>361も言ってるけど、ネトゲ関係の質問するなってそういうことじゃないと思う。
掲示板のログ全部読んだわけじゃないけど、◯◯のゲームで××出来ますか、どうやるんですか、みたいな質問が多かったんじゃね?
お前の場合ならCALLで呼んでる別スクリプトの個別の内容の書き方を聞くような、ドキュメント嫁で終わる内容のさ。
その手のアホ質問じゃないから公式凸っていいと思う。というよりはうみうみ氏もバグ出しありがとうなネタなんじゃないかな
363名無しさん@お腹いっぱい。:2013/09/18(水) 09:17:25.86 ID:PCLMBNx00
何も考えず試さず、どうやってbot作るの教えれみたいな思考停止厨が嫌われてるだけで
掲示版は優しい人多いから理由(根拠)述べれば大丈夫だよ
364名無しさん@お腹いっぱい。:2013/09/18(水) 12:58:02.74 ID:z8shnxZb0
まぁその後ろめたい気持ちは忘れずになw
365名無しさん@お腹いっぱい。:2013/09/18(水) 13:37:30.75 ID:ukO20Gtq0
自動ログイン程度のことも出来ないスクリプトの知識がまったく無いやつが
一からUWSCを使えるようになるのに有用な本やサイトがあれば教えて頂きたい。
366名無しさん@お腹いっぱい。:2013/09/18(水) 14:26:13.78 ID:Ipi6esCZP
一からどこまでやりたいのかわからないとアレなんじゃねぇか?
367名無しさん@お腹いっぱい。:2013/09/18(水) 15:21:23.31 ID:cyy5QVev0
>>365
>1
368名無しさん@お腹いっぱい。:2013/09/18(水) 19:37:30.60 ID:1+41nBuCP
357です
原因わかりました
callでは無かったみたいです

callでスクリプト@を呼び出す
chromeをUA付きで起動して
ピークカラーで色判定
閉じる

callでスクリプトAを呼び出す
chromeをUA付きで起動して
ピークカラーで色判定
閉じる

作業内容は全く同じです
テストではprintとsleepだけです
23個目にハングアップ

chromeの起動する時にUAを付けないとハングアップしない
ピークカラーを使わずにsleepで時間待ちするとハングアップしない

うみうみ氏のサイトのサンプルでchromeの読み込み待ちを試したところ
UA無しでは機能していますが
UA付きでは機能しません
それでピークカラーでの色判定で読み込み確認していました

やりたい事はUA付きでchromeを起動して読み込み待ちです
22個目までは動きますが23個目にハングアップ
呼び出したスクリプト内にはcall無しに書き換えてもハングアップしました
ここまでわかりました長文すいません
369名無しさん@お腹いっぱい。:2013/09/18(水) 21:08:21.58 ID:1+41nBuCP
368を一部訂正
うみうみ氏のサイトのサンプルでは
UA付きでchromeを起動しようとしたら
エラーでChromeが起動しないです
もしかしたら私のUAの付け方に問題あるかもしれないです

拡張機能をオンにしてUA無しでChromeを起動させて読み込み待ちはできました

ChromeでUA付きで起動させて読み込み待ちをご存知の方おられましたら
ご教示お願いしますm(_ _)m
370名無しさん@お腹いっぱい。:2013/09/19(木) 10:28:53.98 ID:LLboGBuX0
宜しくお願いします。久しぶりにUWSCを使ってスクリプトを書いてみたのですが
私の想像通りの動きをするかの確認とスクリプトのアドバイスお願いします。
【Aループ開始】
画像1があればクリック→画像2があればクリック
どちらも無い場合【Bループに突入】
画像3を見つけてクリックするまでクリックできたらBreakでAループに戻る
上記の動きを上手く書けているかの確認と
バックグランドで動かしたいのでMOUSEORGを入れてますが現在上手く動きません。
なのでCTRLWINでアクティブにしてるのですがもう少し良いアドバイスあればお願いします。
id = GETID("F")
ifb id = -1 then
MOUSEORG(id, 2)
While True
 CTRLWIN(id,ACTIVATE)
 if GETKEYSTATE(VK_ESC) then exit
 endif
sleep(2)
 IFB CHKIMG("1.bmp")
  BTN(LEFT,click,G_IMG_X+25,G_IMG_Y+5)
  sleep(2)
  IFB CHKIMG("2.bmp")
   BTN(LEFT,click,G_IMG_X+25,G_IMG_Y+5)
 else
  While True
  IFB CHKIMG("3.bmp")
   BTN(LEFT,click,G_IMG_X+25,G_IMG_Y+5)
  eles
   Break
  endif
  WEnd
 endif
WEnd
371名無しさん@お腹いっぱい。:2013/09/19(木) 10:52:28.44 ID:rxRV5QPu0
クリックできたらBreakじゃなく画像が見つからない場合はBreakになってるよ
クリックできたらにしたいならBTNの下にBreakでしょ
372名無しさん@お腹いっぱい。:2013/09/19(木) 11:11:19.81 ID:GS2M5JEb0
>>370
これ実行してエラー出ないの?
色々ぐちゃぐちゃだけど
373名無しさん@お腹いっぱい。:2013/09/19(木) 11:20:03.00 ID:rxRV5QPu0
While True
if GETKEYSTATE(VK_ESC) then exit
sleep(2)
IFB CHKIMG("1.bmp") or CHKIMG("2.bmp")
BTN(LEFT,click,G_IMG_X+25,G_IMG_Y+5)
sleep(2)
ELSE
While True
IFB CHKIMG("3.bmp")
BREAK
ELSE
BTN(LEFT,click,G_IMG_X+25,G_IMG_Y+5)
ENDIF
WEND
ENDIF
WEND
こんなかんじだな
374名無しさん@お腹いっぱい。:2013/09/19(木) 11:20:53.43 ID:rxRV5QPu0
あ、上のままにするならね
これだとESC押しても3.bmpのループ中には終了しないとか問題ありそうだけど
375名無しさん@お腹いっぱい。:2013/09/19(木) 14:00:08.99 ID:LLboGBuX0
>>371
ほんとですねorz御指摘助かります。
>>372
画像3が出なかったら一応動きますよ。
>>373
or文って使えるんですか!勉強になります

画像3が必ずあるわけではないので
画像1をクリック→画像2をクリックまでは一連の流れなのですが
画像2をクリックしたあとアプリが更新されて20〜30秒待たされるんです
その後、アプリが問題なければまた画像1で
エラーだったら画像3をクリックしないと駄目なんです
とりあえずループさせて待ち時間を回避しようとしてますが何か良い案ありますか?
376名無しさん@お腹いっぱい。:2013/09/19(木) 14:16:06.48 ID:8Lperdvt0
>>370
コピペでエラー出る
13-14行目 endif追加
18行目 eles → else
377名無しさん@お腹いっぱい。:2013/09/19(木) 16:16:58.07 ID://1K/9uk0
ネトゲ不正スクリプトを添削してもらえるスレ
378名無しさん@お腹いっぱい。:2013/09/19(木) 18:52:21.22 ID:ZcqEfqq00
え?艦これの登録スクリプトだと思ってたぜw
379名無しさん@お腹いっぱい。:2013/09/19(木) 19:32:38.11 ID:Ab7uiD7Q0
画像1クリック→画像1が消えて画像2がでる
画像2クリック→エラーなしの場合は画像2が消えて画像1が表示
          エラーの場合は画像2が消えて画像3が表示
ってこと?


それとCHKIMG("1.bmp") or CHKIMG("2.bmp")って書き方はダメ
1.bmpが見つかって2.bmpが見つからなかった場合にG_IMG_X,G_IMG_Yに値がはいらない
380名無しさん@お腹いっぱい。:2013/09/19(木) 19:33:01.29 ID:zfAR1vuf0
// main()
while true
  ifb click1and2() then continue
  while true
    ifb click3() then break
  wend
wend

// functions
function click1and2()
  result = false
  if !CheckWindowAndMouseorg(2) then exitexit
  ifb clickImage(LEFT, "1.bmp", 25, 5, 2) then
    ifb clickImage(LEFT, "2.bmp", 25, 5, 2) then
      result=true
    endif
  endif
fend
function click3()
  result = false
  if !CheckWindowAndMouseorg(2) then exitexit
  ifb clickImage(LEFT, "3.bmp", 25, 5, 2) then
    result=true
  endif
fend
381名無しさん@お腹いっぱい。:2013/09/19(木) 19:34:38.08 ID:zfAR1vuf0
function CheckWindowAndMouseorg(lAfterWaitSec)
  result = false
  id = GETID("F")
  if id = -1 then exit
  result = true
  mouseorg(id, MORG_DIRECT, MORG_BACK)
  sleepWithEsc(lAfterWaitSec)
fend
function clickImage(lButton, lBmpName, lOffsetX, lOffsetY, lAfterWaitSec)
  try
    result = CHKIMG(lBmpName)
  except
    result = false
    exit
  endtry
  BTN(lButton, click, G_IMG_X + lOffsetX, G_IMG_Y + lOffsetY)
  sleepWithEsc(lAfterWaitSec)
fend
function sleepWithEsc(lSec)
  for ldSec=0 to lSec*10
    if GETKEYSTATE(VK_ESC) then exitexit
    sleep(0.1)
  next
fend
382名無しさん@お腹いっぱい。:2013/09/19(木) 19:36:13.58 ID:zfAR1vuf0
訂正:main() の ifb は全て if
383名無しさん@お腹いっぱい。:2013/09/19(木) 19:44:49.21 ID:zfAR1vuf0
>>368も一々callせず、
やりたいことを関数分割して main() の入ってないサブスクリプトを冒頭でcallしておき、
あとはcallではなく関数を呼び出すといい。
384名無しさん@お腹いっぱい。:2013/09/19(木) 20:02:21.70 ID:Ab7uiD7Q0
>>380
それだと画像3がでるまで無限ループしね?
385名無しさん@お腹いっぱい。:2013/09/19(木) 20:27:20.81 ID:zfAR1vuf0
どうしたいのか判らんけど
ここまで抽象化したら一目瞭然のはずなので
後は好きな様に変更すればよろし
386名無しさん@お腹いっぱい。:2013/09/22(日) 00:03:55.37 ID:vq2VKzfx0
IEのお気に入りとかのサイドバーが開いているか、閉じているかの判定はどうしたら良いのでしょうか?
387名無しさん@お腹いっぱい。:2013/09/22(日) 02:54:15.60 ID:cQEOBztW0
>>386
オプション指定して開くところから組み込めば好きに出来るんじゃね?
388名無しさん@お腹いっぱい。:2013/09/27(金) 13:19:38.89 ID:NbziS2wX0
幾つかthread命令を使った関数を走らせてる状態で、
メインは走らせつつ、メインから全threadの一時停止と再開、
メインは走らせつつ、とあるthreadから自分以外のthreadの一時停止と再開、
こういうことは可能でしょうか?

検索でヒットしたんですけど、何やら危険な香りが・・・
http://siromasa.digi2.jp/uwsc/u_sample/Base/SuspendThread.txt
> 排他制御中にサスペンドされるとデッドロックの可能性があります。
> それらを考えると、使用は全く勧められません。

PUBLIC変数をフラグとして使って、
好きなときに一時停止・再開をやろうとすると、
極端な話、1命令毎に変数チェック
とかやらないとダメなんでしょうかねぇ・・・
何か安全で良い方法は無いでしょうか?
389名無しさん@お腹いっぱい。:2013/09/27(金) 17:06:08.33 ID:yLJlY9pV0
全部止めたい時の一番簡単な方法はメッセージボックスの表示
特定のスレッドなら一旦そのスレッド閉じさせるとかフラグ作ってというのが簡単じゃない?
390名無しさん@お腹いっぱい。:2013/09/27(金) 19:34:14.13 ID:RZyz2ytJ0
>>388
厳密にやりたいならそれなりの言語にした方がいいよ。
外部からの強制一時停止だとか見るからに危険そうじゃん。
いつなら止まっても安全なのか知ってるのは、走ってるスレッド本人だけ。
既に思いついている通り、自作の一時停止願いシグナルを発行し、
スレッド側が出来るだけ常にそのシグナルをチェックし、スレッド側が自主的に一時停止。

シグナル用のあるグローバル変数がTRUEのとき一時停止として、
スレッドは一時停止していいタイミングごとにシグナルをチェック。
TRUEなら、それがFALSEになるまでSLEEP挟んで無限ループする関数に跳ぶ。
ゾンビスレッド対策に、そのループのときに別のシグナルでスレッドを終了してしまう箇所も設けておく。
どうかね?
391ひみつの文字列さん:2024/07/02(火) 08:15:21 ID:MarkedRes
日本国またはアメリカ合衆国、もしくはその両方の著作権法に触れる内容であると疑われることから表示できません。
392名無しさん@お腹いっぱい。:2013/09/27(金) 19:49:05.49 ID:RZyz2ytJ0
スレッド個別に制御したい場合は、まずスレッド生成時に一意のスレッド番号を必ず付与して区別できなければならんだろう。
このスクリプトでやるならその仕組は当然自作w
んで、シグナル発行直前に、複数の個別対象スレッドを指定する番兵付配列を設定してシグナル発行だ。
正直、それを以ってやりたいこと自体をもっと洗練させて、こんな手段が必要ないようにした方がいい気がするが…
393ひみつの文字列さん:2024/07/02(火) 08:15:21 ID:MarkedRes
日本国またはアメリカ合衆国、もしくはその両方の著作権法に触れる内容であると疑われることから表示できません。
394名無しさん@お腹いっぱい。:2013/09/27(金) 22:39:35.03 ID:eK2BCJYE0
画面のド真ん中(上下左右周囲誤差2ミリ)に指定した色があるとクリックしてくれるような物を作りたいのですが
できるでしょうか?
またクリックは時間0.1〜1秒単位で調整できないでしょうか?
色はF8F848位の明るい黄色からD3D822くらいの暗めの黄色です

イメージはこんなかんじです
http://i.imgur.com/GblFtqB.png



WHILE TRUE

RGB=PeekColor(512,384)
R=RGB AND $0000FF
G=(RGB AND $00FF00)/$100
B=(RGB AND $FF0000)/$10000


//ifb GETKEYSTATE(VK_RBUTTON) then
ifb ((R>=$色 AND R<=$色) AND (G>=$色 AND G<=$色) AND (B>=$色 AND B<=$色)) then
BTN(LEFT,CLICK)


Endif
//Endif
Endif
sleep(0.002)
WEND

これだとど真ん中しか意味がなくて困ってます
395名無しさん@お腹いっぱい。:2013/09/27(金) 22:53:29.94 ID:is10BqEK0
chkimgで範囲指定すれば簡単なんじゃね?
396名無しさん@お腹いっぱい。:2013/09/27(金) 22:56:26.95 ID:HUGPg872P
>>394
>できるでしょうか?

できます。
397名無しさん@お腹いっぱい。:2013/09/27(金) 23:06:32.69 ID:/HDIC86x0
>>394
repeatの式に範囲指定入りのchkimgをセット。
ネトゲの自動操縦のために同じ操作のもん作って使ってる。
398名無しさん@お腹いっぱい。:2013/09/28(土) 08:30:07.43 ID:OD1sw5uA0
そこまで色の幅があって、もし色がその幅の間を連続的に変化するとかだと、
仮に出来たとしても非常に辛いことになる(判定が安定しないだとか思いだとか)
まずは全力で、判定に使える変化しない画像が間接的に取得できないか考える。
399名無しさん@お腹いっぱい。:2013/09/28(土) 09:13:11.52 ID:U0jDnT+n0
色幅ありすぎるとchkimgでは厳しいから、
範囲も2mmと狭いし、素直に考えればまぁ
ループで回して1ピクセルずつ判定だろうなぁ
for py=384 to 394
  for px=512 to 522
400名無しさん@お腹いっぱい。:2013/09/29(日) 13:57:55.41 ID:kbraxm0W0
>>391
これ最初の変数 PUBLIC 書かなきゃダメだったね
401名無しさん@お腹いっぱい。:2013/09/29(日) 17:48:06.67 ID:kbraxm0W0
SPLIT関数の戻り値で配列を生成する場合、
データが無かったなどでSPLITの戻り値が要素のない謎の配列になる。
この状態の謎配列を、配列を引数に取る関数に渡すことが出来てしまう。
その時点でエラーにならない。

HELPには、SPLITの戻り値はSAFEARRAY型と書いてあるが、それ以外何の説明もない。
UWSCのHELPにSAFEARRAY型の仕様について記載はない。
ネットでググると、.NETのオブジェクトの一つっぽい。
UWSC自体を開発している言語に属するものなのだろう、と推測できるだけで解決には役立たない。

さてこの謎配列、関数側のエラー処理のつもりでこの配列の中身に指1本でも触ろうとすると、
「GetValue:バリアント配列が範囲を超えています」というエラーで止まってしまう。
配列サイズをRESIZEで調べると、配列でない変数は -1 になるはず(HELPに記載なし)だが、
この謎の配列はそうではないらしく、添字最大値判定でチェックできない。

そして、正常な配列であれば、少なくとも配列[0]だけは存在するはずだが、
その配列[0]の中身を参照しようとした時点で初めてエラーとなる。

エラーの原因が、異なる型を代入しようとしたのか、謎の配列を渡されてしまったのかを区別するために、
TRY〜EXCEPTで配列[0]の内容をログとして残そうとしても、エラーとなり記録に残せない。
そのため腫れ物に触るように2重3重にエラー処理を書くことになった。

元々UWSCのHELPにエラーメッセージ表すら無いのだから、GetValueの記載もバリアント型の説明もあるはずがない。
ネットでググると、.GetValueはNETのメソッドらしい。
UWSC自体を開発している言語に属するものなのだろう、と推測できるだけで解決には役立たない。

別に何らかの解決を望んでいるわけではない。
これがUWSCというスクリプト言語なのだなぁ。と感じるだけ。
プログラミング言語初心者にお勧めできない理由を巧く表現できないが、まぁそういうことなんですよ。
402名無しさん@お腹いっぱい。:2013/09/29(日) 18:27:35.08 ID:h7eXmv9f0
白馬の王子様まで読んだ
403名無しさん@お腹いっぱい。:2013/09/29(日) 19:44:00.67 ID:WpPp5CbK0
sckeyをバックグラウンドに送れたらいいのに
404名無しさん@お腹いっぱい。:2013/09/29(日) 20:02:40.88 ID:ifGtCVgR0
こんな感じでread processmemoryで読み込むアドレスを繰り返し処理で変動させてサーチみたいのしたいんだけど

DEF_DLL ReadMemory(string, DWORD, var DWORD, DWORD):int:Memory.dll
PUBLIC pname="○○"
PUBLIC size=4
public Buffer = 0
public Size = 4
public PowerAd = $△△△△
for i = 0 to 1000000
ReadMemory(pname,PowerAd+i,Buffer,Size)
IF (Buffer = $××××) THEN
next

これだと糞遅いんですけどどうにかなりませんかね
405名無しさん@お腹いっぱい。:2013/09/29(日) 20:03:50.02 ID:ifGtCVgR0
メモリを読み込んで指定範囲内のアドレスで特定の値があったら○○とかいうスクリプトを組みたいんです
どうすれば高速でできますか?
406名無しさん@お腹いっぱい。:2013/09/29(日) 20:06:38.84 ID:ifGtCVgR0
まあ画像認識とかでなくメモリサーチ型のbotを組んでみたいんだけどどうしたらいいか分からんとです
407名無しさん@お腹いっぱい。:2013/09/29(日) 20:09:56.48 ID:53zdW4H+0
素直にcでも使えよ
408名無しさん@お腹いっぱい。:2013/09/29(日) 20:17:12.50 ID:ifGtCVgR0
デバッガみたいな機能をスクリプト内でどうにかしたいんだがな
メモリ検索ソフトなんかすると一瞬でサーチできてる訳で
409名無しさん@お腹いっぱい。:2013/09/29(日) 20:39:19.42 ID:HJOF9n570
c++で作れば瞬時で終わるわ
uwscに拘る意味がわからん
410名無しさん@お腹いっぱい。:2013/09/29(日) 20:43:54.85 ID:ifGtCVgR0
一応UWSCとデバッガだけでどうにかする方法は思いついた
プログラミング言語も勉強したいけど…
411名無しさん@お腹いっぱい。:2013/09/29(日) 23:00:04.50 ID:5ZZUoNLo0
アプリのメモリ変更機能も欲しいが、俺はパケット生成機能の方が欲しい
412名無しさん@お腹いっぱい。:2013/09/29(日) 23:35:39.21 ID:ZgTfUU3i0
gui作成機能ほしい
413名無しさん@お腹いっぱい。:2013/09/30(月) 00:00:57.94 ID:5KavxXSQP
ttp://www.microsoft.com/ja-jp/dev/express/

開発環境ならマイクロソフトが無料で配ってるから大人しくCでやれ。
UWSCがまともに使えてるならこっちもやることはたいして変わらない。
414名無しさん@お腹いっぱい。:2013/09/30(月) 00:14:37.03 ID:acbWQbDh0
>>413
せめてC#にしたほうが
(unsafeの中なら何でもできる)
415名無しさん@お腹いっぱい。:2013/09/30(月) 01:42:46.48 ID:NliY0HqK0
分からんあるよ
完成品をいじるとかならともかくいきなりは無理ぽw
416名無しさん@お腹いっぱい。:2013/09/30(月) 07:53:20.05 ID:gQTBIC150
>>403
安鯖(2core以上,IntelNIC)買ってESXi5.1が最強。バックグラウンドに沈める必要自体が無かった。
417名無しさん@お腹いっぱい。:2013/10/02(水) 23:42:02.84 ID:7J20suBX0
早速visual studioダウンロードして動画やサイトを見ながらやってなんとかドラクエ10のメモリサーチするプログラムは組めました
でもc++で組んでも遅いんだよな
cheat engineなんかだと検索が一瞬で終わるのに
418名無しさん@お腹いっぱい。:2013/10/02(水) 23:51:34.58 ID:Ri4AmZEu0
スレチだけどサーチする範囲指定してないんだろ
419名無しさん@お腹いっぱい。:2013/10/03(木) 05:32:50.00 ID:WsYRHfXM0
>>412
マジこれ
420名無しさん@お腹いっぱい。:2013/10/03(木) 06:43:15.83 ID:QB4OoNl80
2013/10/03 UWSC Ver4.9a、 Pro版と Free版をリリースしました。
421名無しさん@お腹いっぱい。:2013/10/03(木) 07:20:50.68 ID:dkjQxuTt0
おう
422名無しさん@お腹いっぱい。:2013/10/03(木) 08:18:08.73 ID:yFcS95K90
>>412
pro版でhtml使えばいいじゃん
423名無しさん@お腹いっぱい。:2013/10/03(木) 11:56:25.13 ID:CObtDnQx0
直接CreateWindow叩いてウィンドウ作ればいいじゃん
それかサンプルの「PowerShellより .Net Frameworkを利用しフォームを作る」みたいにやるか
424名無しさん@お腹いっぱい。:2013/10/03(木) 13:30:33.68 ID:T/UN8W/Z0
.NETからUWSCをコンポーネントとして使えるようにすれば全て解決なんだがなぁ
425名無しさん@お腹いっぱい。:2013/10/03(木) 13:44:32.21 ID:6toiXf0z0
>>423
誰かがブログでやってたが、
メッセージループとコールバック関数が必要になり、裏技的にしか解決できない。

具体的にはマシン語のバイナリでそれを用意してスレッド作成とかで・・・だったような。
で、そこまでやったとしても、そのバイナリコードに UWSC のスクリプトを呼び出す仕掛けを作りようがなかったような。
まあ、メッセージループは UWSC で回せなくもないので割り込んで制御を読み取るなんて事は可能かな。
しかし、スクリプトが遅いので窓枠をマウスでいじると落ちたような。

PowerShell 経由で画面を作れるけど、結局、普通に UWSC としてコントロールするしかないので
特別リアルタイムに画面を作る必要でもない限り、HTML で作ったほうがいい。
ただ、ローカルの HTML を開くとセキュリティの警告がウザイ。
HTA で開けば警告は出ないけど COM オブジェクトがなくてコントロールできない。


マルチスレッドのプログラミングでメッセージのやり取りで同期を取る仕組みがあるんで
それを使って呼び出してるように見せることは可能じゃないかと思うけどめんどくさすぎ。
426名無しさん@お腹いっぱい。:2013/10/03(木) 15:54:26.66 ID:T/UN8W/Z0
GrapeCityみたいにコンポーネントの使用ライセンスで売れば商売になるだろ〜
PRO買った人には割安で頼むぜ
427名無しさん@お腹いっぱい。:2013/10/03(木) 19:03:11.64 ID:yFcS95K90
>>425
そのブログ知ってるけどあんなクソめんどくさいことやらなくても
createwindowはできる
428名無しさん@お腹いっぱい。:2013/10/03(木) 19:06:52.53 ID:6toiXf0z0
>>427
メッセージループでそのまま処理するんだっけ?
推奨されてない方法だけど。
429404:2013/10/04(金) 00:54:56.85 ID:+qKH2C550
read processmemoryの読み込みバイト数が4バイトずつ読み込んでたのが遅い原因でした
c++でプロセスメモリ検索みたいなのは組めたからuwscでも同じやり方でいけると思う
430名無しさん@お腹いっぱい。:2013/10/07(月) 21:15:28.05 ID:PdumpsxW0
win7だとバックグラウンドで実行できない?
431名無しさん@お腹いっぱい。:2013/10/07(月) 22:46:18.21 ID:uuINVVvt0
どっかのブログで既に開いているIEを取得して
操作するってのがあったけど思い出せない
誰かわかったら教えて
432名無しさん@お腹いっぱい。:2013/10/08(火) 01:18:22.15 ID:v32VmwGG0
>>430
できる

>>431
GETACTIVEOLEOBJ
433名無しさん@お腹いっぱい。:2013/10/08(火) 11:57:28.16 ID:YtPkArXU0
>>432
まじかー、xpからwin7に変えたらできなくなったんだよなぁ
434名無しさん@お腹いっぱい。:2013/10/08(火) 13:24:52.57 ID:gUrftZgt0
>>433
タブブラウザになってややこしくなってるだけじゃね?
435名無しさん@お腹いっぱい。:2013/10/08(火) 21:56:38.67 ID:ijSJS1eMi
>>432
ありがたい
436名無しさん@お腹いっぱい。:2013/10/10(木) 17:00:36.70 ID:Al5LPAbd0
POFF(P_MONIPOWER2)
sleep(10)
POFF(P_MONIPOWER3)
10秒間モニターOFFにしようと上記を実行したんですが
一旦オフになってすぐにオンになってしまいました

どうすればできるでしょうか?
437名無しさん@お腹いっぱい。:2013/10/10(木) 17:14:40.98 ID:EE93X4Sf0
>>436
最初に Sleep(1) を入れてみて
438名無しさん@お腹いっぱい。:2013/10/10(木) 17:41:44.21 ID:Al5LPAbd0
>>437
やってみましたがダメでした
439名無しさん@お腹いっぱい。:2013/10/10(木) 17:45:25.44 ID:EE93X4Sf0
>>438
じゃあ権限がなくてスルーされてるか
省電力動作を拒否してるアプリがいるかのどっちかかな。
管理者権限でUWSCを起動して実行するとか、
怪しい常駐ソフトを全部落とすとか。

デバイスドライバが省電力機能をに対応してない可能性もあるけど。
440名無しさん@お腹いっぱい。:2013/10/10(木) 18:10:58.90 ID:Al5LPAbd0
>>439
管理者権限で実行したら出来ましたー
ありがとうございます
441440:2013/10/11(金) 17:52:41.00 ID:nLsJdmZj0
>>440
訂正
原因は管理者権限ではなく
省電力動作を拒否してるアプリの方でした
442394:2013/10/16(水) 13:37:25.27 ID:D+9oU0+e0
Repeat

  //Aの色があればクリックしてX地点へ
  ifb CHKIMG("色")
   x=G_IMG_X
   y=G_IMG_Y
   BTN(LEFT, CLICK, x, y, 300)
  endif

  X地点

 //Bの色があればクリック、無ければZ地点へ戻る
 Until CHKIMG("色")

 x=G_IMG_X
 y=G_IMG_Y
 BTN(LEFT, CLICK, x, y, 300)
  endif

これを繰り返せばいいんでしょうか?
初心者なもので質問ばかりですいません・・・
443名無しさん@お腹いっぱい。:2013/10/16(水) 13:57:25.66 ID:wmvgywDY0
悪かった。君はもういいから掃除てもしてなさい。
444名無しさん@お腹いっぱい。:2013/10/16(水) 19:21:55.26 ID:C+VZh1h00
kusoresu.quit()
445名無しさん@お腹いっぱい。:2013/10/16(水) 19:34:55.28 ID:vyBCanNi0
このスレの人間は閉鎖的だな
リアルでもそうなんだろうけど
446名無しさん@お腹いっぱい。:2013/10/16(水) 19:58:14.38 ID:Dtwhp/0w0
xyに格納する理由が分からないけどまぁいいや。
447名無しさん@お腹いっぱい。:2013/10/16(水) 21:13:52.43 ID:o0LxKudr0
閉鎖的も何も三角関数はUWSC独自の話じゃないのよ
普通に検索して発見したロジックを移植したらいい
448名無しさん@お腹いっぱい。:2013/10/17(木) 08:27:06.80 ID:AbPeGgMt0
BOTスクリプト欲しがってるアホはUWSCの機能に関する質問とか一切せずに
糞BOT用に組んだ動かない馬鹿文の添削させようとしてるだけですし
449名無しさん@お腹いっぱい。:2013/10/17(木) 16:26:38.82 ID:sd51e1PI0
RGB=PeekColor(512,384)って座標指定してるからでほ
素直にフォーーーーーーーーーーって回してればええやん

for Xi = 500 to 505
for Yi = 380 to 390
RGB=PeekColor(Xi,Yi)
ifb 似ている色
クリック
breakbreak
endif
next
next
450名無しさん@お腹いっぱい。:2013/10/17(木) 19:10:26.34 ID:zUXVQmaR0
あ〜ふぉーやるのか〜
451名無しさん@お腹いっぱい。:2013/10/17(木) 19:20:44.33 ID:yie1+zES0
>>399にある通り色幅ありすぎだから。
CHKIMGのオプションでカバーできる範囲を超えてる。
提示した通りの判定方法でやるならフォーしかないが重い処理になる。
もっといい判定方法を探した方がいい。
452名無しさん@お腹いっぱい。:2013/10/17(木) 19:31:01.03 ID:sd51e1PI0
どんな使い方するのかしらんがそこまで重くなるか?
option SHORTCIRCUIT
は必須な
453名無しさん@お腹いっぱい。:2013/10/17(木) 20:46:58.80 ID:pxJlxHYnP
失礼します。
先生方、モバゲーで自動操縦しようと簡単なマクロを試験したら右クリックは可能なのに左クリックだけが対策されてるようで実行されないようなのですが
左クリックの代理となるショートカットキーやその他の抜け道をご存知でしたら教えてください。
よろしくお願いします。
454名無しさん@お腹いっぱい。:2013/10/17(木) 21:00:01.90 ID:zUXVQmaR0
よし、マウスのドライバで右左のクリック反転しようぜ。

しかし、対策されてたかなぁ?
455名無しさん@お腹いっぱい。:2013/10/17(木) 21:09:22.63 ID:imzyr2Zl0
聞いたことないけど
456名無しさん@お腹いっぱい。:2013/10/17(木) 21:16:58.13 ID:/rq1237LP
>>453
左クリック対策?
モバゲーのなんてゲームだろか
はじめて聞いた
457名無しさん@お腹いっぱい。:2013/10/17(木) 21:47:38.29 ID:yie1+zES0
重いと ,CLICK では反応しない場合があるぞ。
,DOWN ,300)
,UP ,700)
SLEEP(0.2)
ぐらいで、クリック成功を判定するまで何回でもクリックするループ組んでみ
458名無しさん@お腹いっぱい。:2013/10/17(木) 21:55:22.58 ID:pxJlxHYnP
>>456
モバゲー星矢っす。
手動だと左クリック可能ですけど、uwscで操作だと左クリックできません。
何かがおかしいのかな。
でもネットにも載ってるスクリプトで特におかしなとこはないと思うんですが。
459名無しさん@お腹いっぱい。:2013/10/17(木) 22:01:52.93 ID:4OIyHLEK0
自分で書いてないんなら書いた奴に言えよ
460名無しさん@お腹いっぱい。:2013/10/17(木) 22:34:56.25 ID:pxJlxHYnP
>>457
ありがとうございました。
教えの通りやってみましたがやはり不動でした。画像の場所までは行くのですがね。
星矢自体なぜかプロテクションが多くて嫌になります。
ネットに載ってる方法だけではPCプレイもできず、更にsgviewerを使って初めてPCプレイが可能になるほどです。
461名無しさん@お腹いっぱい。:2013/10/17(木) 22:41:37.26 ID:e0Uz+Nah0
UWSCが敗北する時がこようとは
462名無しさん@お腹いっぱい。:2013/10/17(木) 22:58:38.33 ID:sd51e1PI0
VMも無理なん?
463名無しさん@お腹いっぱい。:2013/10/17(木) 23:06:00.42 ID:pxJlxHYnP
VMってググったけど見ただけで俺がギブアップですw
464名無しさん@お腹いっぱい。:2013/10/17(木) 23:12:48.37 ID:Y/JXjsR60
先にMMVできちんと座標移動してからクリックでもだめなん?
465名無しさん@お腹いっぱい。:2013/10/17(木) 23:31:12.00 ID:/rq1237LP
>>460
CLICKではなく
down,upで時間の調整してみては?
自分は時間調整したり
連続DOWNのあとUPしてみたりしてるよ
BTN(LEFT,DNWN,座標x,座標y,20)
BTN(LEFT,UP,座標x,座標y,20)

BTN(LEFT,DNWN,座標x,座標y,40)
BTN(LEFT,UP,座標x,座標y,20)

BTN(LEFT,DNWN,座標x,座標y,100)
BTN(LEFT,UP,座標x,座標y,20)

BTN(LEFT,DNWN,座標x,座標y,20)
BTN(LEFT,DNWN,座標x,座標y,20)
BTN(LEFT,DNWN,座標x,座標y,20)
BTN(LEFT,DNWN,座標x,座標y,20)
BTN(LEFT,UP,座標x,座標y,20)
466名無しさん@お腹いっぱい。:2013/10/17(木) 23:33:03.63 ID:pxJlxHYnP
ありがとうございます。座標移動は省略可能なので試す意味がないかと思います。
467名無しさん@お腹いっぱい。:2013/10/17(木) 23:44:09.50 ID:pxJlxHYnP
>>465
ありがとうございました。
それ全部試して全滅でした。
468名無しさん@お腹いっぱい。:2013/10/18(金) 00:08:15.81 ID:RYIBRo1HP
>>467
ブラウザはGoogle Chrome ?
星也やらないからわからないけど
他のモバゲーでクリック対策された時に
ブラウザの拡張機能
Mouse2 Touch
これをChromeに拡張したらクリックできたよ
多分、ここに聞きにくる前に試してるとは思うけど念の為。
469名無しさん@お腹いっぱい。:2013/10/18(金) 00:10:26.14 ID:yFjnc+Dh0
>>466
違うよ
ゲーム側がどうやって判断してるかの推測、化かし合いでしょ。
マウスポインタが、人間が操作した時のように動いてからクリックしたのではなく、
いきなり特定の座標に瞬間移動してからクリックしたら、
自動操縦ソフトだと判断して操作を受け付けないような仕掛けがしてあるかもしれんでしょ。
操作の記録で、MMV省略しないよう設定してやってみればすぐ確認可能でしょ。
470名無しさん@お腹いっぱい。:2013/10/18(金) 07:21:05.54 ID:LcZccTmmP
>>468
ありがとうございます。クロムです。
Mouse2 Touchの拡張機能探してみたけど現在はないみたいで代わりにchromeタッチで
スライドタッチできるようにしてみたけどやっぱり不動です。
>>469
ありがとうございます。mmvでも動きませんでした。
471名無しさん@お腹いっぱい。:2013/10/18(金) 08:07:39.45 ID:1O6VRs/l0
というかそれゲームではなくクロームの拡張機能が制御してるんじゃないの?
ソーシャルゲームビューア使って無理やりスマホ用のゲームPCので動かしてるんでしょ?
472名無しさん@お腹いっぱい。:2013/10/18(金) 10:38:56.79 ID:LcZccTmmP
>>471
ということはsgviewerを使うと左クリック禁止になるってことですか?その他のモバゲーゲームでまだ試してないんで帰宅したら試してみます。
473名無しさん@お腹いっぱい。:2013/10/18(金) 10:42:53.55 ID:LcZccTmmP
寝マクロくんでも左クリック可能かどうか試してみます。
474名無しさん@お腹いっぱい。:2013/10/18(金) 18:41:35.68 ID:1O6VRs/l0
ちなみに下のサイトの一番下に書いてあるのは試してるよね?
http://nanapi.jp/67082/
475名無しさん@お腹いっぱい。:2013/10/18(金) 21:06:18.19 ID:LcZccTmmP
>>474
ありがとうございます。
設定弄るのは初耳だったので早速やってみましたがやっぱ不動です。
あと、モバゲーのガンダムコレクションも同様にやってみましたが星矢と同じで左クリックできませんでした。
476名無しさん@お腹いっぱい。:2013/10/18(金) 21:17:51.66 ID:LcZccTmmP
寝マクロも左クリックできん。詰んだ。
477名無しさん@お腹いっぱい。:2013/10/18(金) 21:33:00.01 ID:I5Mw1X2O0
普通にできるじゃん
そもそもUWSCとか寝マクロの問題じゃないからこれ以上は他所でどうぞ
478名無しさん@お腹いっぱい。:2013/10/18(金) 22:19:05.12 ID:LcZccTmmP
>>477
sgviewer環境で星矢できてるんですか?ブラウザなら普通に出来ると思いますけど。
あと、ここ以外UWSCの話題はスレ違いで入れないですよ?
479名無しさん@お腹いっぱい。:2013/10/18(金) 22:33:42.89 ID:IpIzhm5mP
ブラウザで普通にできるならブラウザでやれよ
480名無しさん@お腹いっぱい。:2013/10/18(金) 22:46:51.02 ID:RYIBRo1HP
>>475
ガンダムコレクション
今やってみた
やり方わからないから「探索」ってのを押して適当にクリックしてたら
新しいエリアってのに行けるようになった
UWSCのカメラモードで記録して再生しても同じようにできた
特別な事は何もしてない
Windows XP sp3 で試した
481名無しさん@お腹いっぱい。:2013/10/18(金) 23:12:37.97 ID:RYIBRo1HP
>>470
GoogleChromeの拡張検索でマウス2タッチは何故か検索できないようになってた
マウス2タッチをインストール済みのChromeでマウス2タッチのURLを調べた
そのURLへマウス2タッチのインストール無しのChromeから移動してみた
まだ無料でマウス2タッチをインストールできた
URLは長いから要請あれば教える
他のタッチで代用できてるなら要らないよね
482名無しさん@お腹いっぱい。:2013/10/18(金) 23:24:30.02 ID:LcZccTmmP
>>481
他にもctouchとか拡張してみましたがやっぱり左クリックできません。
解決したらもう消えますので、なんとかマウス2タッチのurlを教えていただけませんか?
うざくて申し訳ありません。
483名無しさん@お腹いっぱい。:2013/10/18(金) 23:59:36.42 ID:RYIBRo1HP
>>482
エッチてぃてぃぴーえす//chrome.google.com/webstore/detail/mouse2touch/bmokioijeefenglkpfnbalmpmocnodo

ガンコレはこれ無しでできたと書いてる
しかも代用も見つけたと書いてる
なんで今更これがいるのかね
自分が思うに左クリック出来ないのはUWSCが原因ではないと思う
つまりここで聞いても解決しないと思うね
まあやってみて。多分UWSC関係ないところで解決の糸口みつかる思う
UWSCはクリックするだけ
クリックのタイミングは変えれるがあくまでクリックするだけ。
484名無しさん@お腹いっぱい。:2013/10/19(土) 05:46:08.24 ID:xB2YOrMK0
堂々とゲームマクロ宣言してる上にこんな痛い奴相手にしてあげるなんてやさしいのな
違うスレにきたかと思ったわ
485名無しさん@お腹いっぱい。:2013/10/19(土) 07:20:21.12 ID:9pl7tSgXP
>>483
すみません。url行ってみましたが関係ないstylishという拡張機能のページが出てきました。
あと、ガンコレでできたとはどこにも書いていません。それは他の方がテストしてくれたものです。
代用タッチも失敗なので見つかっていません。
486名無しさん@お腹いっぱい。:2013/10/19(土) 07:48:33.33 ID:Bp61+rvoP
>>485
ガンコレで出来たって俺がテストしてあげてここに書いたけど
クリック出来ないのはUWSC関係ないかもね
クリックの問題=UWSCの問題
そう思ってるのならずっと解決しないよ
487名無しさん@お腹いっぱい。:2013/10/19(土) 08:49:10.13 ID:9pl7tSgXP
僕もそう思ってまして誠意調査中です。テストありがとうございました。
488名無しさん@お腹いっぱい。:2013/10/19(土) 10:28:26.21 ID:OmYFilmN0
単に画面右に時計やらカレンダーやら表示したままやろうとしてるだけじゃね?
489名無しさん@お腹いっぱい。:2013/10/19(土) 14:17:21.22 ID:Fn0sTgkK0
メモ帳にSENDSTRで文字列を送信すると
メモ帳がアクティブになってしまうんですが
バックグランドのまま送信することはできるのでしょうか?
490名無しさん@お腹いっぱい。:2013/10/19(土) 15:52:34.09 ID:uQg3rBD40
>>489
sendstr( id, "文字列", 1, false, 2)
491名無しさん@お腹いっぱい。:2013/10/19(土) 17:23:20.92 ID:Fn0sTgkK0
>>490
ありがとうございます
それ単体で動かすとアクティブにならずに送信できるんですが、
私がやりたいマクロに組み込むと送信ができないので
別問題ですかね
,1, false, 2)を使わなければアクティブにはなりますが送信はできるので歯痒いです
492453:2013/10/20(日) 00:36:51.79 ID:NlPrYuIzP
魚おおおおおおおおおおおおおっ。
できた。左クリック。
みなさんに色々提案していただきましたが、根気強く検索して自力解決できました。
windows7とvistaはそのままじゃUWSCが実行できないエラーが出る時があるんです。
解決方法はクロームとUWSCの両方ともダブルクリックじゃなく、右クリックで管理者として実行を選択するとエラー回避になるそうです。
これで僕も皆さんも一つ賢くなれました。ありがとうございました。約束通り消えます。
493名無しさん@お腹いっぱい。:2013/10/20(日) 01:04:35.44 ID:4+oRDMn30
UWSC一時敗北したと思ったがまた勝ってしまったか
494名無しさん@お腹いっぱい。:2013/10/20(日) 01:39:29.22 ID:ZKv2vJCO0
てか、管理者実行って基礎中の基礎…
495名無しさん@お腹いっぱい。:2013/10/20(日) 03:56:40.30 ID:ouHJd/VBP
>>492
そんなの当たり前だ
ここに来る連中はお前以外全員知ってる
あまりにも初歩的なので
ワザと>>480ではWindows XPで試したって書いておいたのに
読み飛ばしていたとはな
案の定管理者権限かよ
ここに書くのも恥ずかしいくらい初歩の初歩。
496名無しさん@お腹いっぱい。:2013/10/20(日) 10:20:04.51 ID:vvpxdxQO0
皆さんも一つ賢くなれました()
497名無しさん@お腹いっぱい。:2013/10/20(日) 10:34:05.79 ID:EA+PKxdl0
顔真っ赤で書いたんだろスルーしてあげろよそれが日本人の優しさだろ
498名無しさん@お腹いっぱい。:2013/10/20(日) 12:46:30.02 ID:zsqO5NmJ0
皆さんも一つ賢くなれました (=_=;)

なれてるとしたら次回から、こうすることに決めたことか。

真っ先に「管理者権限は?」と聞いて、
まともに答え(られ)ない奴を門前払い。
499名無しさん@お腹いっぱい。:2013/10/21(月) 07:16:17.15 ID:PFP4qAku0
香ばしいな
芋ケンピかってくるか
500名無しさん@お腹いっぱい。:2013/10/22(火) 23:41:10.23 ID:KqgMYyGLi
IE=createoleobj
でIE操作をするとき、1回の起動だったらだいたい問題ないんだけど、
何度も開いたり閉じたり、タブを複数扱ったりするとうまくいく時といかない時があるんだけど
、対処法ってあるんですか?

うまくいかない:スクリプトは間違っていないのに(何度かは開けている)のにたまにCOMエラー、
5回IEを開く命令をしたのに3回目でIEがずっと読み込み中のまま停止、
IE.document.forms[n].elements[i].value=1 とかでも、だいたいはうまくいくけど、たまにCOMエラー。
Excel = getactiveoleobj("Excel.application")これでもCOMエラーが出る時もあるんだけど、
対処法わかる人いたら教えて下さい。

ちなみに自宅でも職場でも似たような事態になるので、PCスペックとかではないかと。
一応自宅のはウインドウズ7、職場は確かXP。
501名無しさん@お腹いっぱい。:2013/10/23(水) 01:02:39.86 ID:uoD4c3xn0
>>500
間違ってなくてもタイミングでCOMエラーは出るよ。
たとえばドキュメントが空の時にページ内にアクセスしようとしたときとか。
502名無しさん@お腹いっぱい。:2013/10/23(水) 03:09:10.59 ID:7vLU54oT0
>>500
例外処理するかCOMエラー無視するかすればいいのでは
503名無しさん@お腹いっぱい。:2013/10/23(水) 08:09:09.53 ID:vfNEFuSR0
管理者権限忘れてるとかUWSCの問題じゃなく
知能が低すぎた事が原因じゃねーかw
504名無しさん@お腹いっぱい。:2013/10/23(水) 11:14:16.46 ID:lEAE4a4C0
>>501,502
あざっす!
そういうときはやっぱり>>502の言われるようにCOMエラー処理で皆さん対応されてるんですかね。
例えば、1.IE開く 2.navigateで特定URLへ誘導 3.そのサイトのフォームへ入力して送信
みたいな場合の2でCOMエラーが出ちゃう場合は、エラー無視してもしなくても(フォームが表示されないので)
アウトになっちゃいますかね?COMエラーは今まで触ったことないんで、これから学んでみます。
505名無しさん@お腹いっぱい。:2013/10/24(木) 04:08:05.90 ID:JZhyDuiY0
UWSCの「ChkCtlID.uws」というスクリプトを
どなたか、「AutoIt3」か「AutoHotKey_L」用に
移植していただけませんか?

どうかよろしくお願いします。
506名無しさん@お腹いっぱい。:2013/10/24(木) 04:15:45.52 ID:IuI8Dxub0
507名無しさん@お腹いっぱい。:2013/10/25(金) 14:02:44.40 ID:myLg+qn90
>>505
いくら出す?
508名無しさん@お腹いっぱい。:2013/10/25(金) 15:13:58.37 ID:QeOGckb30
お金は出せないが、
・無炭酸ノーマル味トンスル2本
・炭酸入りノーマル味トンスル2本
・無炭酸キムチ味トンスル2本
(1本350ml)なら用意できまする。

残念ながら、炭酸入りキムチ味トンスルは人気ゆえ現在在庫を切らしてる。
509名無しさん@お腹いっぱい。:2013/10/26(土) 01:08:28.88 ID:Mz3zlYRoP
そんな報酬じゃ朝鮮人しか引き受けねぇよな
510名無しさん@お腹いっぱい。:2013/10/26(土) 17:25:47.01 ID:rbH32/6B0
マクロ実行中にブラウザが消えてしまいました
もしやと思いctrlwinを試したところ無事表示されたんですが、原因の見当がつく方いらっしゃいますか?
スクリプトの内容は、単純なFlash操作で、せわしなくクリックを反復する類です
以前に一度だけあったような気もしますがそれだけなので、再現率はかなり低いと思いますが
不可解なので理由を知りたい
511名無しさん@お腹いっぱい。:2013/10/26(土) 17:42:44.72 ID:0nwTKMHm0
ポーズ入れて噴出しいれて何の処理したら消えるのか自分で確かめろよ
お前のローカルにあるスクリプトなんざ誰が確認できるんだよアホ
512名無しさん@お腹いっぱい。:2013/10/26(土) 19:20:35.62 ID:3BLZFps70
吹き出しよりもプリントの方が放置できるでしょ
UWSC以外の原因でもブラウザのバージョンアップで消えていたとかいろんな可能性はあると思うが
513名無しさん@お腹いっぱい。:2013/10/26(土) 20:47:58.42 ID:Clsf+Y8x0
これからの季節に最高の犬肉サムゲタンを2名様
炭酸入りキムチ味トンスルをお一人様1本ずつ
サービスするから>>505作って〜
514名無しさん@お腹いっぱい。:2013/10/26(土) 21:07:25.61 ID:nHVY41Qv0
スクリプト作成で困っている人を対象に
有料サポート掲示版を設置するのはどうだろう。
互いがWIN-WINになるだろうし。
515名無しさん@お腹いっぱい。:2013/10/26(土) 22:00:03.19 ID:3BLZFps70
金払うなら普通に業者に頼んだほうがいいだろ
後はクラウドソーシングとかはすでにあるしその手のサイトでも結構UWSCのスクリプト作ってみたいのはあるぞ
516名無しさん@お腹いっぱい。:2013/10/27(日) 15:08:15.28 ID:Bc3CZdr90
POSの引数の左右間違えちゃうわー
517名無しさん@お腹いっぱい。:2013/10/27(日) 16:32:38.67 ID:B8b8MZAV0
そうそう。
クラウドソーシングでUWSCの依頼あるね〜
放置されてるけどw
518名無しさん@お腹いっぱい。:2013/10/27(日) 19:16:52.28 ID:Er3d5o3V0
まじか。過疎るってことは重要無いってことなのかな
それとも日の当たりを浴びてないだけかどっちだろ
519名無しさん@お腹いっぱい。:2013/10/27(日) 19:38:25.66 ID:B8b8MZAV0
依頼者が技術を甘く見てるとか、
そんなのUWSCで無理やりやるの?
みたいなパターンのほうよ。
520名無しさん@お腹いっぱい。:2013/10/28(月) 01:00:24.02 ID:23r+fMxT0
windows7で動いていたのが、持出し用のwindows8ノートパソコンに移したら全然動かなくなった。
マウスのクリックが全然記録・実行されないようだ。
SONY VAIOタッチパネル付。タッチパネルが悪さしてるのかな?
まだ過去ログあさってないのだが、こういう事象って解決してますか?
521名無しさん@お腹いっぱい。:2013/10/28(月) 01:04:13.93 ID:23r+fMxT0
70くらい上のレスに「管理者として実行」というのがあったので、
これか!と思い試してみたところ、見事に問題解決しました。
本当にありがとうございました。
522名無しさん@お腹いっぱい。:2013/10/28(月) 12:46:50.48 ID:rcD6MX+X0
皆さんも一つ賢くなれました(名言w)
523名無しさん@お腹いっぱい。:2013/10/28(月) 22:15:45.87 ID:s3Odbqit0
ご教授をお願いします。
UWSC4.9aのプロ版を試供状態で作ったスクリプトが、ライセンス登録後に動かなくなりました。
原因のわかる方いらっしゃいますか?
現在試したこと
○アンインストール後、試供版での動作
×アンインストール後、ライセンス登録での動作
○友人pcでの試供版での動作

いずれもver4.9aです。
524523:2013/10/28(月) 22:18:02.60 ID:s3Odbqit0
以下は実際に動かしているスクリプトになります。
Sleep(3.0)
while true
ifb CHKIMG("開始.bmp")   
x=G_IMG_X           
y=G_IMG_Y
BTN(left,click,x,y)        
SLEEP(3.0)
if CHKIMG("中止.BMP") THEN KBD(VK_1,CLICK)
SLEEP(3.0)
endif              
ifb CHKIMG("中止.bmp")   
x=G_IMG_X           
y=G_IMG_Y
MMV(x, y)          
endif              
Wend
525名無しさん@お腹いっぱい。:2013/10/29(火) 00:29:40.82 ID:rweRPAld0
>>524
登録済みでも動くけど
526名無しさん@お腹いっぱい。:2013/10/29(火) 00:42:04.95 ID:XWXNqM+o0
ライセンス登録したならデバッグツール使ってみれば?
無駄は多いけど変なところはないと思うけど
527名無しさん@お腹いっぱい。:2013/10/29(火) 00:57:17.70 ID:Gp8ITveT0
行数少ないんだから、とりあえず1行ずつ消してみて、どこで動かなくなっているか見るのも手だわな
動いてる人もいるんだし
528名無しさん@お腹いっぱい。:2013/10/29(火) 01:08:57.87 ID:lvzW+Lk60
left,click
529523:2013/10/29(火) 05:33:25.28 ID:q+h1Wa5+0
ご返信ありがとうございます。
デバックツールで確認したところ
L20が存在しません。
というエラーが表示されました。

エラー内容が解釈できないのですが、どなたかご教授をお願いします。

何度も質問ばかりで申し訳ない。
530名無しさん@お腹いっぱい。:2013/10/29(火) 08:16:56.44 ID:Ra6FInjq0
>>529
それは是非公式に聞いてください
531名無しさん@お腹いっぱい。:2013/10/29(火) 08:38:42.45 ID:6if1SN5D0
>>529
もっと、お勉強してからにしましょうね!
532名無しさん@お腹いっぱい。:2013/10/29(火) 13:52:40.26 ID:rweRPAld0
>>529
ちゃんとライセンス買ってください
533529:2013/10/29(火) 16:09:49.91 ID:q+h1Wa5+0
ご返信ありがとうございます。
もう少し調べてみます。

ライセンスは自分で購入したものです。
534名無しさん@お腹いっぱい。:2013/10/29(火) 16:59:42.19 ID:2s2ZtBSO0
>>533
>>1の最後にあるように割れ対策じゃね
誤爆だから作者に連絡し
535523:2013/10/31(木) 05:59:37.30 ID:JXFIbavg0
L20のエラーについてですが、アドバイスを頂いたとおり、公式にて問い合わせをして解決しました。
アドバイスを頂きありがとうございました。
536名無しさん@お腹いっぱい。:2013/10/31(木) 08:16:04.43 ID:9Pw/9XzB0
原因なんだったんだ?
折角なんだから一言ぐらい書いておこうぜ。
537名無しさん@お腹いっぱい。:2013/10/31(木) 08:45:34.29 ID:rFsYD34F0
虚偽でなければ、(違法割れ業者とか割れ友人から)購入したんじゃね。
都合が悪い事から書けないでしょ。
538523:2013/10/31(木) 09:22:37.25 ID:Yb7q90j80
私が購入した、シリアルナンバーの入力を誤っていたのですが、偶然にもその数字が通ってしまい、アドバイスを頂いた割れ対策のエラーがでていたようです。

以下、公式からのお返事です。

登録するのは 伝票番号の xxxxxxxxx ではありません。
ベクターより 17桁のライセンスキーが発行されているはずですので
一度 UWSCをアンインストールしてから 再インストールをして
17桁のライセンスキーを入力してください。

たまたま、伝票番号の xxxxxxxxxx が登録処理を通り
その後に 不正キーの扱いになり、機能制限がかかったようです。
大変に失礼いたしました。

こんなミスをする人はなかなかいないと想いますが、L20のエラーを次回のテンプレのL22の次にでもそっと追加をお願いします。
539名無しさん@お腹いっぱい。:2013/10/31(木) 09:57:29.35 ID:VEqL6FdH0
> 登録処理を通り
> その後に 不正キーの扱いになり、

あるんだね@
540名無しさん@お腹いっぱい。:2013/10/31(木) 10:15:17.48 ID:8eXda3A3P
>>538
報告おつでした
541名無しさん@お腹いっぱい。:2013/10/31(木) 10:44:56.89 ID:a28apKJB0
試しに何度か適当にキー打ってみたら登録ありがとうございますって出た
もっともエラーコードも出なくて試用状態のままだから本当に不正キーとして通ってはないようだけど
542名無しさん@お腹いっぱい。:2013/10/31(木) 22:45:52.07 ID:xspnaOUP0
むう…Chromeでブラゲーをバックグランドでも動かしていたのだが
とーとつにクリック情報を認識しなくなってしまった。

id = GETID「ウィンドウ情報」
hnd_id = GETCTLHND(id,"Chrome_RenderWidgetHostHWND",1)
MOUSEORG(hnd_id,2)

アクティブならちゃんと動作するし、hnd_idで出力してもIDちゃんと吐くんだけど
他にバックグラウンドで動かすのに必要な要素を
見落としてそうなら、ぜひ教えてください
543名無しさん@お腹いっぱい。:2013/10/31(木) 23:56:57.15 ID:+mcM++QP0
ヘルプに、バックグラウンドだか非アクティブだかって単語があったようなないような
544名無しさん@お腹いっぱい。:2013/11/01(金) 08:35:33.60 ID:4cR8MTIl0
UWSCのキージェネレータって今もアプリ版とVBS版2種類出回ってるんだな。最新版には対応してないけど。
VBS版は普通にテキストエディタでソースもろ見えだから見たけど結構単純なアルゴリズムだった。


>>538
悪意なく偶然にも通ってしまったのか。疑ってすまんかった。

UWSCの試用期間と登録キーは2エントリ共レジストリで管理してるけど
登録キーってアンインストールしてから 再インストールをすれば直ったっけ?

過去にいずれもピンポイントでバックアップ取って14日制限を復活させたり、
UWSCProを一度も立ち上げずに正規登録済みにして遊んだ事があったが
アンインストールでは試用期間は復活しなかったのは覚えてるけど
そういや登録キーの方は試してなかったんで気になった。どうでもいい事だが。


>>541
試用期間消えないダミー処理もあるのか。
IERECやデバッグツールが動くかどうかで正規として通ってるか判断できると思う。
まぁエラー出ると思うが、その番号がL22かL20かそれ以外なのかをできれば報告頼む。
545名無しさん@お腹いっぱい。:2013/11/01(金) 23:44:46.17 ID:PXZP+Eni0
今まで2Dゲームでuwsc使ってマクロ作ってたんだが、3Dゲームになると難易度めっちゃ上がるな…

画像認証なんてのは3Dゲームだと陽当たり、角度で認識が変わるから使えんし、移動も角度によって行き先が変わるから中々上手くいかない


3Dゲームでuwsc使ってる人いたら移動とかのアドバイスくれないか?
546名無しさん@お腹いっぱい。:2013/11/01(金) 23:50:44.98 ID:4z3Ujd150
マップが表示できるならそこで判断
それ以上のことやると座標データ取るのにメモリ解析とかさせないといけないから外部DLL作るとか別ソフトと連動させるとかしないとかなり面倒だと思う
そこまでするならUWSCに拘る必要性もなくなるが
547名無しさん@お腹いっぱい。:2013/11/02(土) 06:32:23.15 ID:VY3THxib0
>>545
アイテムのプロパティだとかダイアログだとかは2Dだろ?
548名無しさん@お腹いっぱい。:2013/11/02(土) 09:33:50.28 ID:V9ftTVrJ0
CHKIMGのG_IMG_X、G_IMG_YってTHREAD実行で二つ以上の画像判定を並行させて
同時にヒットしたときってどーなってんだろ?
てかG_IMG_X、Yに限らず関数実行結果が返る特殊変数全般なんだけど。

RPGをセミオート化しててなんも考えず
「敵シンボルを認識して追跡」
「同時に戦闘コマンドウインドウを認識(エンカウント)したら追跡中断し戦闘ロジックへ」
みてーなことやってみて今んとこ衝突誤爆らしき事象がないんだが・・・
たまたまかな?
549名無しさん@お腹いっぱい。:2013/11/02(土) 09:51:00.87 ID:74szR1uR0
グローバルじゃないから問題ない
550名無しさん@お腹いっぱい。:2013/11/02(土) 10:27:56.29 ID:V9ftTVrJ0
>>549
おー、グローバルじゃないんだ。ありがと!

特殊変数のスコープってヘルプや公式に記載あるの?
全然見つけられん・・・
551名無しさん@お腹いっぱい。:2013/11/02(土) 11:50:37.39 ID:J6jlqaqni
>>547
今どきダイアログに透過かかってねぇ3Dゲーなんてほとんどないよ
そんだけで単純なchkimgじゃ検知しづらい
2Dオブジェの点滅や回転も多いしね。

まぁUWSCでやる範疇じゃねーな…
552名無しさん@お腹いっぱい。:2013/11/02(土) 12:43:52.36 ID:+GHyYRAl0
>>551
uwscで使う画像も透過にすりゃいいだけだろw
553名無しさん@お腹いっぱい。:2013/11/02(土) 16:19:03.00 ID:VY3THxib0
>>550
UWSCにデータシートみたいな上等なもん期待しちゃいかん…w
554名無しさん@お腹いっぱい。:2013/11/02(土) 16:24:14.97 ID:VY3THxib0
>>551-552
透過あり画像で出来るかもしれんけど、
行き当たりばったりなプログラミングじゃなくて
うまくいかないのが画像判定に失敗してるのかバグなのか
判定するためのテストケースのあるプログラミングが
必要になってくるね。
> IMG_MSK_BGR4: 各色(BGR)に対し 16/256の色幅を許す
のオプション以上に曖昧な判定するには
OpenCVに手を出さなきゃあかん
メモリピークとどっちが楽なんだろw
どちらにしてももはやUWSCでやるメリットが少ない
555名無しさん@お腹いっぱい。:2013/11/02(土) 19:19:02.44 ID:vmw8hfJt0
UWSCはBOTツールではなくマクロツールだからな
BOTを作りたいならCとかCが難しいならPythonとかRubyあたりを勉強するといいよ
556名無しさん@お腹いっぱい。:2013/11/02(土) 21:06:52.89 ID:V9ftTVrJ0
>>553
・・・。
特殊変数の有効範囲程度でも自力検証してるってこと?
557名無しさん@お腹いっぱい。:2013/11/02(土) 21:34:45.68 ID:gziCldKj0
G_IMG_Xってグローバルだと思うよ
別スレッドでChkimgしたとき上書きされた
558名無しさん@お腹いっぱい。:2013/11/02(土) 22:01:20.62 ID:dTg0fzXN0
どういう検証をしたらグローバルだと思うんだ
559名無しさん@お腹いっぱい。:2013/11/02(土) 22:27:18.22 ID:VY3THxib0
グローバルだとすると>>381のclickImage関数がリエントラントじゃくて使えない
ローカルならもはや関数化しない理由がない

>>556
FOR文の変数が変更不能なのすら書かれてないしw
560名無しさん@お腹いっぱい。:2013/11/02(土) 22:34:00.88 ID:sTaBUkPW0
>>559
>FOR文の変数が変更不能なのすら書かれてないしw

これ、むっちゃハマったわ
561名無しさん@お腹いっぱい。:2013/11/02(土) 22:34:47.87 ID:VY3THxib0
名前 G_IMG のプレフィックス G はグローバルであることを示している可能性大。
グローバルなら、
グローバル変数で割り込み禁止フラグを設定し、
CHKIMG実行前にフラグONなら待機もしくは中止
CHKIMG実行前にフラグON
G_IMGの読み取り後にフラグOFF

http://anago.2ch.net/test/read.cgi/software/1350040751/410
の方法

これも関数化しないとひどい目にあう
562名無しさん@お腹いっぱい。:2013/11/02(土) 22:41:02.19 ID:VY3THxib0
そもそもUWSCはスレッドを使うように設計されてないんで
スレッドを使わずラウンドロビンにするなど極力避けたほうがいいぞ。
スレッドがリソースのデッドロックで応答なしになった場合、
通常のまともなマルチスレッド言語と違って
スレッドを強制終了する方法そのものが実装されて無い。
UWSCは自動操作の相手次第でデッドロック頻発する。
563名無しさん@お腹いっぱい。:2013/11/02(土) 22:42:00.41 ID:VY3THxib0
あと、複数のスレッドから特定の1スレッドを指定するIDも、必要になったら自作だなw
564名無しさん@お腹いっぱい。:2013/11/02(土) 23:08:37.12 ID:gkIwz1g90
1ドットの青と赤の画像用意してやってみたけど変わらんやん

Thread c2()

for i = 1 to 3
CHKIMG("c:\blue.bmp")
print "c1 " + G_IMG_X + " " + G_IMG_Y
    Sleep(1)
next
print "ここからCHKIMGなし"
for i = 1 to 10
print "c1 " + G_IMG_X + " " + G_IMG_Y
sleep(1)
next

procedure c2()
  for i = 1 to 20
CHKIMG("c:\red.bmp")
print "c2 " + G_IMG_X + " " + G_IMG_Y
    Sleep(0.5)
  next
fend
565名無しさん@お腹いっぱい。:2013/11/02(土) 23:16:48.66 ID:VY3THxib0
特殊変数はコンテクストによって
ローカルになったりグローバルになったりしてる可能性はあるね
初心者に分かり易くという親切心で謎の挙動になってるんじゃね
検証してみればなんてことはないかもしれんが
他にも仕様が謎の部分だらけなんでやる気起きない
566名無しさん@お腹いっぱい。:2013/11/02(土) 23:58:23.29 ID:74szR1uR0
恥の上塗り
567名無しさん@お腹いっぱい。:2013/11/03(日) 00:01:34.21 ID:kJlRwpqy0
スレッド内のchkimgの変数がグローバルかどうかはちょっとコードを書けば確認できるけど
それが仕様なのかどうかがHelpとか読んでも判らないのが・・・
568名無しさん@お腹いっぱい。:2013/11/03(日) 01:03:02.93 ID:v89Bom+B0
仕様だと明記する仕様として確定してしまい黙って変更できなくなる。
その手間すら惜しい開発体制なのだろう。

仕様をせっかく検証しても、「今のところ」という非公式なものとなり
その仕様に従って開発するのは自己責任ですということに。
クローズドの典型的な悪い例みたいになっちゃってる。
569名無しさん@お腹いっぱい。:2013/11/03(日) 01:36:52.92 ID:/CHfXc7v0
>>554
ゲームにもよるがchkimgの透過、色幅でどうこうできる範疇超えることが多いねー

一見単純な2Dに見えるもんが実はテクスチャだったり
>>192-195辺りの話にコマンドウインドウ等の透過処理、アンチエイリアス、光源、エフェクト・・・と
色々絡まって一見同色に見えるもんが刻々と変わってる感じ。

そこをシステムデザイン・UIの穴堀り、なんとか色固定ドット数点と認識幅探して、透過やエフェクト時のマッチングパターンも多数用意して・・・
なんて力技かましゃ「認識できない・・・」から「誤爆が増えたw」になる嫌な予感しかしねーから素直にOpenCVsharpにシフトするも
画像処理の地盤がない俺じゃやれること(勝手にそこまでやってくれるwこと)が多くて
適正な手法を絞れず結局超えられない壁が残っちまうw
570HH:2013/11/03(日) 08:28:15.18 ID:gJ3EnPh60
初めて投稿します。
どなたかからUWSC EXECLシートのプリントプレビュー画面の枚数を取得する方法をご存知の方 教授ください。
UWSCでEXCELシート内データを一部を変更して、ファイルセーブするスクリプトを持っています。
これにプレビュー枚数を記録する機能をつけたく思います。
現在は、いちいちプリントプレビューを開き、枚数をずらして、複数枚になっていないかを確認しているのでとても手間が
かかっています。
EXCEL(.DOCUMENT(50)なる表現をインターネット上で見つけたのですが、UWSCでの実装方法がわかりません。
どなたか、教授頂けると幸いです
571名無しさん@お腹いっぱい。:2013/11/03(日) 09:07:32.86 ID:v89Bom+B0
EXCELなんてVBAマクロで全て自動化できるだろ
マイクロソフトがEXCELをそう作ってある
UWSCでEXCEL操作するという発想自体が筋が悪い
VBAで出来るはずのことを調べきらずに
UWSCで誤魔化す形になってないか
572名無しさん@お腹いっぱい。:2013/11/03(日) 09:11:15.26 ID:i7XdnQhk0
>>570
EXCEL = GETACTIVEOLEOBJ("Excel.Application")
Page = EXCEL.ExecuteExcel4Macro("get.document(50)")
MsgBox(Page)
573名無しさん@お腹いっぱい。:2013/11/03(日) 09:13:21.58 ID:v89Bom+B0
言っておくがUWSCでEXCELを操作しようなんて
わざわざ問題を難しくしてるんだぞ
UWSCのテキストエディタじゃ
EXCELのオブジェクトの後にドットをタイプした後に
候補が表示されたりせんだろ?
http://ja.wikipedia.org/wiki/%E3%82%A4%E3%83%B3%E3%83%86%E3%83%AA%E3%82%BB%E3%83%B3%E3%82%B9#.E4.BE.8B

調べるのはUWSCじゃなくてEXCELのVBA。
UWSCは必要ないしココじゃわからないしスレ違い。
574名無しさん@お腹いっぱい。:2013/11/03(日) 15:52:12.39 ID:RaTkj/Nv0
以下、ダウンロードさせて頂いたプログラムですが
デザイン変更で動かなくなってしまいました

1.画像A(反転前)があるか判定する
2.画像Aがあれば、画像Zをクリックする
3.画像A(反転前)が無い場合、画像B(反転後)をクリックしたい
575名無しさん@お腹いっぱい。:2013/11/03(日) 15:53:03.61 ID:RaTkj/Nv0
PROCEDURE MYPAGE_CHECK()
//マイページのチェック、移動
mypage = 0
LOOP_COUNT = 0
WHILE mypage = 0
SLEEP (0.5)
PRINT ("LOOP_COUNT: " + LOOP_COUNT)
mypage = CHKIMG("mypage03.bmp")
PRINT ("マイページ画像検知(WHILE中): " + mypage)
LOOP_COUNT = LOOP_COUNT + 1
IF mypage = 1 THEN BREAK
IF LOOP_COUNT = 10 THEN BREAK
WEND
IFB mypage = 1
mypage = CHKIMG("mypage03.bmp")
PRINT ("マイページ画像を検出: " + mypage)
PRINT ("マイページ画像座標: " + G_IMG_X)
PRINT ("マイページ画像座標: " + G_IMG_Y)
MMV (G_IMG_X + 5,G_IMG_Y + 5)
BTN (LEFT,CLICK)
SLEEP (1)
MMV (10,10)
ELSE
PRINT ("マイページ画像を検出不可")
CALL reload01.uws
SLEEP (2)
CALL energy_recheck.uws
576名無しさん@お腹いっぱい。:2013/11/03(日) 15:54:05.64 ID:RaTkj/Nv0
UWSC 画像判定と条件分岐について質問です
画像判定してボタンを押したいのですが一度ボタンを押すと色が反転してしまいます
そのため 押したいボタンの反転前と反転後の双方を候補にして
どちらかが判定されたら次の処理に入りたいと思ってます
アドバイスお願いします
ちなみに次の処理もボタンを押すと色が反転するタイプです
宜しくお願いします
577名無しさん@お腹いっぱい。:2013/11/03(日) 15:57:28.63 ID:RaTkj/Nv0
↑  ↑  ↑
なぜか3つに分かれてしまいました ごめんなさい
もし アドバイス頂けたら助かります  ↑
578名無しさん@お腹いっぱい。:2013/11/03(日) 17:16:01.17 ID:ATUfXnl+0
FOR loop_count = 0 TO 9
  SLEEP(0.5)
  mypage = 1
  IF CHKIMG("mypage03a.bmp") THEN BREAK
  IF CHKIMG("mypage03b.bmp") THEN BREAK
  mypage = 0
NEXT

IFB mypage = 1
  MMV(G_IMG_X + 5, G_IMG_Y + 5)
  BTN(LEFT, CLICK)
  SLEEP(1)
  MMV(10, 10)
ELSE
  CALL reload01.uws
  SLEEP(2)
  CALL energy_recheck.uws
ENDIF
579名無しさん@お腹いっぱい。:2013/11/04(月) 13:48:07.48 ID:B13tSujf0
>>578さん
ありがとうです 無事クリアしました
助かりました
またお願いします 感謝です
580名無しさん@お腹いっぱい。:2013/11/08(金) 07:18:41.25 ID:k2YzIZCi0
最近になってUWSC始めました

現在極々簡単なスクリプトをスケジュールで一回だけ実行に登録して使っています
本当はインターバルがよいのですが、明示的に今から40分毎に・・・
とはできないんですよね?みなさんはこういう時どうされてますか?

あともう一点、たまに実行時間を忘れてマウス操作などをしているときに
スクリプトが走り出して止まってしまうことがあります
スクリプト実行中は、例えばesc以外のkeyやmouseを
受け付けなくする方法などはありますか?(UWSCの処理を優先したい)
581名無しさん@お腹いっぱい。:2013/11/08(金) 07:42:26.02 ID:Zj0emzR20
もう忘れてしまったな現役に教えてもらってくれ

単にこれキックじゃダメなんだっけ
ループ終了
SLEEP(40*60*60)
実行処理
ループ終了

実行の数十秒前にこれでも書いて自分に警告ウィンドウ出すとか
MsgBox
あとは仮想マシン上で実行とか

40分毎って回復のタイミング??ゲームとか?
582名無しさん@お腹いっぱい。:2013/11/08(金) 07:43:07.04 ID:Zj0emzR20
ループ開始をループ終了と書いてた
583名無しさん@お腹いっぱい。:2013/11/08(金) 08:34:54.81 ID:6RBz0/hh0
スケジュール使ってないから知らんけど
式による設定で出来るんじゃない
ヘルプに書いてあるのが
(YMDNN mod 18)= 0 // 18分間隔
だからmod 40にして=0を適当に変えりゃいいんじゃないの

>受け付けなくする方法
LOCKHARDとかLOCKHARDEXとか
特定キー残したいならSETHOTKEYでいらないキー潰すとか?
584名無しさん@お腹いっぱい。:2013/11/08(金) 11:04:45.43 ID:x8SdEe0M0
>>581
sleep 1回だとかなりアバウトになる。

>>583 のやり方は初めて知ったけどいいね。
どういうときに使うのか知らんけど。

> 今から40分毎
今を基準にするなら
((YMDNN+x) mod 40)= 0
とか言う式になるけど、xはどうやって設定するのか。

UWSC.ini の [SCHEDULE] に登録すれば GetTime で現在の x が指定できるっぽいね
x = INT(GetTime() / 60) mod 40
str = "((YMDNN+" + x + ") mod 40) = 0"
WRITEINI( "SCHEDULE", "M" + 番号, str, GET_UWSC_DIR + "\UWSC.ini" )

S スクリプトファイル
M 条件
P 別プロセスフラグ

でも、現在時刻で起動するか分からんな。
重複チェックした上で1回目は起動してやる必要がありそう。
585名無しさん@お腹いっぱい。:2013/11/08(金) 16:58:42.30 ID:k2YzIZCi0
>>581
レスありがとうございます。sleepは最初使っていたのですが、他のスクリプト走らせると
とまってしまうので(別プロセスもうまく働かない)スケジュールにしてました

msgboxはモニタを見てない時に困るので何かないかな?と
仮想マシンはありかもしれないですね。そちらの導入も少し考えてみます

風景を時々刻々アップしてるサイトのスクリーンショットとか
ニコ動でキーワード検索して新しいものがあったらダウンロードなどに使ってます
40分はあくまで例えです。すいません

>>583
ループのところしか見てませんでした
式による設定、あとで調べてみます

>LOCKHARD
おー!そういう命令がやはりあるんですね。
一通り目を通したつもりでしたが見落としてました。
どうもありがとうございます

>>584
ちょっと複雑になってきましたが、詳しくありがとうございます
式による設定しらべてみます

せっかくインターバルあるならこの辺りの設定
作者さん見直してくれないかな〜とおもいつつ・・・
みなさんに教えていただいた方法、試行錯誤してみます
どうもありがとうございました
586名無しさん@お腹いっぱい。:2013/11/09(土) 13:36:37.84 ID:gzzGzzLX0
570です
572さん RES どうもありがとうございました。
プリントプレビュー画面を開くことで画面数の取得ができました。
以上
587名無しさん@お腹いっぱい。:2013/11/14(木) 21:12:10.24 ID:W+xyXMne0
perlとpython使いの先輩がセミオートでドヤ顔しながらPCに張り付いて仕事してたから
UWSCでさらっと完全自動なものを作ったら怒られた
588名無しさん@お腹いっぱい。:2013/11/15(金) 05:30:52.07 ID:GLXccNAH0
Ver4.9b3
589名無しさん@お腹いっぱい。:2013/11/15(金) 07:27:44.50 ID:lGKSYVtG0
>>587
自動化で君の仕事がなくなったので明日から会社に来なくていいよクビね
590名無しさん@お腹いっぱい。:2013/11/15(金) 16:17:56.80 ID:ZozEFNAfP
Jane Styleのレスボタンをclkitemで押すのは無理なのかな?
591名無しさん@お腹いっぱい。:2013/11/15(金) 20:48:39.91 ID:m9esDzip0
超ど素人なんだけど質問よい?
ループで再生するとマウス座標が勝手にずれてくるんだけどなぜ?
例えばAの位置からBにマウスを引っ張って最後またAに戻るとゆう操作を
再生するとAとは明らかにずれた位置から始まる。

しかも最初の頃は問題なかったのに突然こうなった。
どうすれば回避できるのか教えて欲しい
592名無しさん@お腹いっぱい。:2013/11/15(金) 20:50:17.23 ID:m9esDzip0
あとUSWCってセキュリティは大丈夫ですか?
なんかこれ使いだしてからクレカの番号盗用されて
不正利用されたんだけどまさか情報吸い取られてたりとかないよね
593名無しさん@お腹いっぱい。:2013/11/15(金) 20:50:53.10 ID:m9esDzip0
失礼
USWC ×
UWSC ◎
594名無しさん@お腹いっぱい。:2013/11/15(金) 23:17:04.55 ID:1lkAb53y0
>>591
AからBまで、例えばMVしてるなら座標からインターバルから何から何まで見直すか、破棄して一新。
ダメならバージョンやOS諸々晒しつつ再現方法を提示してくれ。暇な住民が検証するかも。

>>592
怪しいと疑惑を吹っ掛ける根拠を示してくれ。必要のない背景や被害状況は省いて。
595名無しさん@お腹いっぱい。:2013/11/16(土) 00:12:42.55 ID:6RqO6Np90
Ver4.9b3にしてみたら既存のスクリプトがエラーが発生したので

調べてみたらこの対応に漏れがあるね

UWSC 掲示板
http://www3.bigcosmic.com/board/s/board.cgi?id=umiumi&mode=all&no=5077

1行目からCLASS宣言してる自前のCALL用のスクリプトでエラーが発生していた
1行目をコメントにしたらエラーが発生しなくなったぜw

エンバグ対応のケース出し甘いよ
596名無しさん@お腹いっぱい。:2013/11/16(土) 07:48:08.55 ID:23B9K16rP
>>592
オンラインゲームの自動操作のためにUWSCを導入

構文を学習せずにマクロスレや親切()な人のサイトでマクロを拾ってくる

アッー!

なんてことをしなければね。
自分で書いてる分には大丈夫だよ。

身元不明のEXEファイルを実行しちゃいけませんて学校で習ったよね。
UWSCも同じだからね。
597名無しさん@お腹いっぱい。:2013/11/16(土) 09:07:46.79 ID:UhpLBBuh0
とあるツールの補助ツール作って限定配布したことがあるが
そのツールで表示できる情報なら根こそぎ奪えるよな〜と思ったことはあるな。
ログインから求めるようにすればパスワードも入力するだろうし、
バックグラウンドで何か送信するとかもできるし。まあUWSC以外の全プログラムにも言えるが。
598名無しさん@お腹いっぱい。:2013/11/16(土) 10:26:35.82 ID:uhNaj/0g0
>>594
>>596
ど素人の自分にレスくれてありがとう。本当に初心者なので
他人のサイトを参考にwhiel1って入力したぐらいで、他人の作ったマクロは
まだ使用していないから盗用の件でUWSCは特に問題なさそうですね。
たまたまタイミング的に近かったから思わず疑ってしまったけど、
自分結構ネットショップとかでクレカ使用してたからそこから漏れたんだとは思うw

あとズレに関してはあきらかに同じ位置にマウスを持ってきてるのに
座標みても完全に横にそれてしまってるから、新しく記録を繰り返すんだけど
またズレて記録されているといった感じ。素人すぎてなんのこっちゃ
自分にはよくわからないから、ファイル自体を一旦削除してまたDLでやってみても
最初の2〜3回はうまく行くけどまた同じような症状に戻ってくる。
もしかしたら自分のやってるオンゲで狂わせるような対策されてるのだろうか・・・
599名無しさん@お腹いっぱい。:2013/11/16(土) 13:37:28.41 ID:J8NATlyD0
>>598
ブラウザは?
途中からブラウザのツールバー出てきてない?
600名無しさん@お腹いっぱい。:2013/11/17(日) 06:08:06.08 ID:eVkjMAE60
おれも超初心者だけど
再生中に自分でなにか操作すると上書きされたりするよね?
ちょっと上のレス参考にして

Lockhard で挟んでスケジュール化(while削除)
Mouseorg(2) を使うことでうまくうごくようになた

ただlockhardはちょっと危険かもしれない
601名無しさん@お腹いっぱい。:2013/11/17(日) 17:44:39.59 ID:jRtTDlcT0
配列IMG[5][5]があったとして、中身が例えば
00122
00122
00122
00122
00122
となっていた場合、0の部分を白、1の部分を赤、2の部分を黒の画像を表示
させる方法はあるでしょうか。
1ピクセルのそれぞれの画像を用意して、それを張り合わせていく方法を考えたのですが、
今回は5*5ピクセルですが、実際に使う場面だと数百*数百になって、とても効率が悪そうです。
uwscでbmp画像を作成、その後表示という方法とか理想的かなと思ったんですが
そもそもどう作ればいいのかぐぐればいいのかがよくわからなかったですorz
602名無しさん@お腹いっぱい。:2013/11/17(日) 18:34:18.88 ID:vT4n3l0m0
>>601
「BMP ファイルフォーマット」とか「BMPデータ構造」とかでググれば出てくる
32bitBMP形式が一番単純で作り易い
603名無しさん@お腹いっぱい。:2013/11/17(日) 18:34:41.83 ID:GQKDHkCO0
昔グリッド表示させるだけの簡単なツール作ろうとしたけどめんどくさかったからCで作ったの思い出したわ
http://d.hatena.ne.jp/junjun777/20130221/uwsc_popupmenu_ex
この辺りの記事は参考になるんじゃないか?
604名無しさん@お腹いっぱい。:2013/11/18(月) 08:35:38.07 ID:DwKKw/ngP
UWSCの紹介して正規ユーザーなったら2000円バックとかないかな?
アフィリエイトってやつw
あれば結構な人数を紹介できそうなんだよね
作者さんここ見てる?
紹介制度検討して下さい
605名無しさん@お腹いっぱい。:2013/11/18(月) 12:32:29.22 ID:kU4iDUl+0
ゲームマクロ乞食が昇格した?
606名無しさん@お腹いっぱい。:2013/11/18(月) 15:31:39.86 ID:wNf+o+2t0
俺が製作者ならサイトをSEO対策してBBSもスレッドフロート型にした上でSEO対策する
607名無しさん@お腹いっぱい。:2013/11/18(月) 16:49:53.63 ID:8gRgTwhk0
一部のオタクしか課金しないんだからSEOで収益が上がるようなものじゃないだろ
608名無しさん@お腹いっぱい。:2013/11/18(月) 18:32:41.67 ID:bfW4eMwA0
s/UWSC/Win8.1/ < 604 > nul
609名無しさん@お腹いっぱい。:2013/11/19(火) 03:19:41.27 ID:mKl63du20
>>604
黙って紹介しろよw
610名無しさん@お腹いっぱい。:2013/11/19(火) 06:40:16.19 ID:p7hxwwtC0
ClkItemのアイテム名はFlashだとどこを見ればわかりますか?
611名無しさん@お腹いっぱい。:2013/11/19(火) 07:01:58.05 ID:8oT7GQ9h0
ソース
612名無しさん@お腹いっぱい。:2013/11/19(火) 08:09:19.42 ID:gHtbsTwx0
>>607
お前何も分かってないのなw
613名無しさん@お腹いっぱい。:2013/11/19(火) 18:34:32.99 ID:p7hxwwtC0
>>611
swfを落としてflaにして中身を見るということですか?

サンプルのIEFlash.uwsが正常動作しなかったので
(GETSTR(flashid, 1, STR_ACC_STATIC)以下が効かない)
なんとかしたかったのですが、
検索すると昔は ClkItem(flashid, "Pause" が ClkItem(flashid, ""
だったということまでしかわかりませんでした
GETSTR(flashid, 1, の「1」を30まで増やしてみましたが無理でした
どうすれば動くようになりますか?
614名無しさん@お腹いっぱい。:2013/11/19(火) 19:40:14.96 ID:X/HDHiUF0
>>613
エスパーして答えるが
IE10、IE11だったらFlashハンドルを取得出来ないからそのサンプルは使えないぞ
どうしても試したかったら、XPもしくはwin7+IE9(できたっけ?)で動かすしか無い
615名無しさん@お腹いっぱい。:2013/11/19(火) 20:32:56.60 ID:p7hxwwtC0
>>614
ありがとうございます
最初に書いてあるのに思いきり見逃していました
616名無しさん@お腹いっぱい。:2013/11/20(水) 04:43:53.38 ID:Pwzu/+cH0
ぬおおお
何で座標指定してクリックするとウインドウが切り替わるんだ

今日休みだから一日使って考えられること全部実行して、解決出来なかったら質問させて頂くかもです
その時は宜しくお願いします
617名無しさん@お腹いっぱい。:2013/11/20(水) 23:07:26.64 ID:Pwzu/+cH0
616ですが事故解決しました。
結局直接的な原因が何だったかは分からずでしたが...
618名無しさん@お腹いっぱい。:2013/11/21(木) 04:13:19.34 ID:9tFw0a6v0
フリーの高機能テキストエディター「Mery」v2.2.0.4910が公開
ttp://www.forest.impress.co.jp/docs/news/20131118_624089.html
プラグイン機能が拡充、不具合の修正と機能の改善も
619名無しさん@お腹いっぱい。:2013/11/21(木) 06:33:02.35 ID:9HTmfqi30
誤爆
620名無しさん@お腹いっぱい。:2013/11/21(木) 07:18:44.22 ID:cMbn85Zii
大学の課題全部片付けるスクリプト作ったった
捗るわ
621名無しさん@お腹いっぱい。:2013/11/21(木) 08:15:48.30 ID:6xc710eh0
>>620
ツール売れば人生セミリタイアできるくらいには稼げるんじゃね?
622名無しさん@お腹いっぱい。:2013/11/21(木) 08:17:19.60 ID:6xc710eh0
世の中にはUWSCのためなら金払っても構わん人達も少しながらいるらしいな
http://www.lancers.jp/work/search?keyword=UWSC
623名無しさん@お腹いっぱい。:2013/11/21(木) 14:50:53.40 ID:OGSKo2zj0
>>621
某大学の特定のネット上課題を遂行するスクリプトだからなぁ
その大学の生徒には売れるかもしれんが
624名無しさん@お腹いっぱい。:2013/11/21(木) 16:59:50.95 ID:23jTyM8C0
1時間程度で出来そうなスクリプト作るのに1ヶ月丸々かかっちゃってるんですけど。
625名無しさん@お腹いっぱい。:2013/11/22(金) 04:40:00.31 ID:ptSzHs+B0
俺も大学の卒業研究で膨大な量のデータ処理する為にスクリプト組んで処理させてたわ

今年も同じような研究してる筈だけど、プログラムのプの字も知らない輩だから大変だろうな
礼儀が全然な奴らだったからスクリプトも全部消したかそういえば
626名無しさん@お腹いっぱい。:2013/11/22(金) 04:46:16.07 ID:cltufWvl0
あっそ
627名無しさん@お腹いっぱい。:2013/11/22(金) 08:38:43.30 ID:piUdSr0t0
業務が捗りすぎてヤバいのは感じたことあるな
RPGでみんな必死にボカスカやってる中でザキやデス覚えてしまったような感覚
628名無しさん@お腹いっぱい。:2013/11/22(金) 18:06:28.36 ID:3cCwn0Ip0
>>627
やぁ、クリフト。
629名無しさん@お腹いっぱい。:2013/11/22(金) 20:01:24.47 ID:7bdTwuoSP
リメイク版ではザキ連発しなくなった代わりに、アリーナがちょっとでもダメージを受けていると最優先で回復するようになったぞ
630名無しさん@お腹いっぱい。:2013/11/25(月) 00:56:28.34 ID:K31vMnpx0
uwscで割り込みとか、ある処理を強制的に外部から止めるとかってさすがに厳しいのかな

thread 処理()
sleep(3)
処理() exit


procedure 処理()
while true
hukidasi("a")
sleep(1)
wend
fend
みたいな感じに外部から強制的に処理を中断する手段がほしい
631名無しさん@お腹いっぱい。:2013/11/25(月) 01:19:21.42 ID:dTuMZrho0
>>630
グローバル変数で自作
スレッド内で変数を見て自主的に終了
632名無しさん@お腹いっぱい。:2013/11/25(月) 01:25:22.13 ID:K31vMnpx0
>>631
やっぱりそれしかないかなぁ
実際はスレッド内はいろんなところでループしてるからそのループごとに
監視しないといけないとなるとかなりの手間になっちゃう
633名無しさん@お腹いっぱい。:2013/11/25(月) 01:40:54.69 ID:OsoXcu5+0
>>630
exitexit すれば強制的に全部終了


個別にやるなら、フラグで制御できるループをスレッドで呼び出して
そっから機能を呼び出せば、機能自体はいじる必要がない。
ただし、強制的な終了じゃない。

もっときめ細かくやるなら、処理の最中に常にフラグをチェック。
めんどくさいならSleepを呼び出すときにフラグをチェックして終了する関数にする。

public flag = false って終了フラグと

function fSleep(time)
 Sleep(time)
 result = flag
fend
って関数を作っておいて

通常
Sleep(1) とか書くところを
if fSleep(1) then exit と書く

長ったらしい行動スクリプトのときにやったけどめんどくさいし反応遅いけどね。

処理時間を引数から出して
kbd(vk_a); if fSleep(1) then exit
とかやるんだけど
いくつかまとまった行動を関数化しているときはその関数内でフラグチェックして
if walk() then exit

ああ、強制終了が欲しくなるな・・・
634名無しさん@お腹いっぱい。:2013/11/25(月) 01:48:36.32 ID:jh3F0xy70
スレッド生成時に何も受け取っていない時点で・・・

因みに自分はめんどくさがりなので大抵のバッチ系はこんな感じで動かしてる
何か例外的な事が発生したら自分でおkボタンを押してるわ

thread メイン処理() ←※基本無限ループ、正常終了する時は下のおkボタンを押下しちゃう
MSGBOX("OKボタンを押下すると終了", BTN_OK, 4, 858)
635名無しさん@お腹いっぱい。:2013/11/25(月) 02:09:11.19 ID:K31vMnpx0
説明に不備があってやろうとしてることがうまく伝わっていない様子
読み返してみたら言わんとしてることと確かに違う
上記のは処理の例で、実際にやろうしていることは

while true
while true
長ったらしい処理
wend
別の処理
wend


基本的にループの「長ったらしい処理」をしてて、目的のことを終えると「別の処理」に移って、
それも終わったらまた最初に戻る
ただ、「長ったらしい処理」を待たず、別のスレッドから命令を与えると、そのループを抜けて
「別の処理」を行うようにしたい
割り込みでよくある電話でたとえると、
・基本的に本を読んでいる 本を読み終えるとAさんに電話をして、電話が終わったらまた本を読み始める
っていう処理に、本を読んでいる途中にAさんから電話がかかってくる処理を追加したい
・Aさんから電話がかかってきたらすぐに電話に出る。ただ、電話が終わったあと
しおりをはさんでいないので、最初から読み直す

という感じにしたい これも例えがわかりにくい気がしてきた・・・
636名無しさん@お腹いっぱい。:2013/11/25(月) 02:44:23.12 ID:OsoXcu5+0
http://siromasa.digi2.jp/uwsc/u_sample/Base/SuspendThread.txt
umiumi さん が作ったスレッド停止スクリプト。
Win32API を使ってスレッドを停止、再開する。

それで他の関数を探してみたが、
CloseHandle はシンプルだけど終了しなかった。
TerminateThread はUWSCのプロセスが終了しなくなる。
ためしに SuspendThread したまま exitexit しても同様に終了しなかった。

最終的に強制終了は必要になるけど、TerminateThread でスレッドは止まる。
しかし、SuspendThread したまま放置したほうが安全かもしれない。


>>635
それは外部から強制終了とか不可能だけど
マルチプロセスでやれば可能。
637名無しさん@お腹いっぱい。:2013/11/25(月) 03:08:32.59 ID:OsoXcu5+0
>>635
EXECに同期フラグってあるでしょ。
だからこれでおk。
while true
 EXEC(GET_UWSC_DIR + "\UWSC.exe " + REPLACE(GET_UWSC_NAME, 自分のファイル名, "sub.uws"), true)
 別の処理
wend

sub.uws を taskkill コマンドで強制終了すれば実現できる。
・・・どうやって sub.uws と自分を区別できるんだっけ。
タスクリストから自分のプロセスハンドルを除外した UWSC.exe を全部終了すればいっか。
ハンドル見るからちょっとめんどくさいね。
自分のハンドル取得は GetCurrentProcess。

マルチプロセスはデータの共有とか同期がめんどくさいんだよね。
起動に時間かかるからよっぽどじゃないと使わない。
638名無しさん@お腹いっぱい。:2013/11/25(月) 03:53:55.49 ID:K31vMnpx0
>>637の方のが一番しっくりきそうな感じです
ただ、ハンドルとかそのあたりのことを一切知らないのでこれから勉強ですねorz

あと、replaceがどういう意図で使われているのかがわかりません
普通に"sub.uws"とどういう違いがあるんでしょうか
639名無しさん@お腹いっぱい。:2013/11/25(月) 05:15:04.45 ID:OsoXcu5+0
>>638
スクリプトの起動方法によってカレントディレクトリが変わるんで
ファイルはフルパスで指定したほうがいいかなと。
で、スクリプトファイルのディレクトリのパスを直接取得できないんで
スクリプトファイルのパスを取得してファイル名部分を置き換える。
ファイル名を削ってからつなげるのが普通だと思うけど、めんどくさいんで。
あと、REPLACEを使えば >>637 みたいに1行で書けるし。
640名無しさん@お腹いっぱい。:2013/11/25(月) 08:21:02.06 ID:aLnYvoV00
読書中にかかってきた電話が偶然にもコーヒーカップを口に運んでる時だとして、
カップを床に落としても問題がないので電話を取るっていうのなら殺すべきだろうけど、
読書中にコーヒーを飲む事ある?あるならカップはテーブルに置いた方がいいかも。
興味本意だけどそこが気になった。しっくり来たならコーヒーは飲まない派だろうけど。
641名無しさん@お腹いっぱい。:2013/11/25(月) 20:30:24.72 ID:zNMIqzEz0
>>590
すまんわからん
642名無しさん@お腹いっぱい。:2013/11/25(月) 20:50:32.77 ID:w2REF44q0
IE11にしたらルーター操作のIEマクロが動かなくなった
作り直して動けばいいけど、上げるんじゃなかった
643名無しさん@お腹いっぱい。:2013/11/26(火) 08:04:06.08 ID:YSzEgR5B0
俺もアンインストしたぜ
644名無しさん@お腹いっぱい。:2013/11/29(金) 09:36:03.76 ID:util4cTD0
まともな大学生ならスクリプトなんて組まずにプログラムを組むし
どんな三流大だよ
645名無しさん@お腹いっぱい。:2013/11/29(金) 15:28:00.77 ID:ei62fL2Q0
スクリプトにはスクリプトの長所ってものもあるのさー
人間の作業負担の代替の場合は基本的に手続き型の操作になるから特にね

コスパでどっちを使うか選べば良い
646名無しさん@お腹いっぱい。:2013/11/29(金) 17:42:58.03 ID:PBQCCQCq0
というかどんな作業なのか分からないのに
プログラムの方がいいとか判断できる>>644はとってもすごい大学行ってるんだなw
647名無しさん@お腹いっぱい。:2013/11/29(金) 19:50:35.10 ID:ETKomlWdP
スクリプトもプログラムの種類なんですけど
648名無しさん@お腹いっぱい。:2013/11/30(土) 01:21:28.37 ID:luoLBufb0
認証させたい画像が良くても5割しか判定に成功しません
切り取る画像の大小、デフォ透過色無視の0,1,-1も試しましたが無理でした
同ゲーム画面の別の画像は問題なく認識します
解決方法をご存じないでしょうか

ifb CHKIMG("認識したい画像.bmp",IMG_MSK_BGR6)      //
x=G_IMG_X 
Y=G_IMG_Y
BTN(LEFT, CLICK, x, y, 80)
649名無しさん@お腹いっぱい。:2013/11/30(土) 01:24:45.92 ID:luoLBufb0
↑が途中で切れてしました
確認に使っているスクリプトです
ifb CHKIMG("認識したい画像.bmp",IMG_MSK_BGR6)      //
x=G_IMG_X 
Y=G_IMG_Y
BTN(LEFT, CLICK, x, y, 80) 
else
PRINT "みつかりません "
endif
650名無しさん@お腹いっぱい。:2013/11/30(土) 02:18:38.00 ID:2vwDJyFb0
画像の撮り方が悪いとかエフェクトがはいってて認識できないとか
651名無しさん@お腹いっぱい。:2013/11/30(土) 02:29:13.90 ID:3O3UvhwD0
>>648
それだと透過色/色無視の引数にIMG_MSK_BGR6を指定してるから
ifb CHKIMG("認識したい画像.bmp",,,,,,,IMG_MSK_BGR6)
これで試してみ

それ以外だと情報が少なすぎて分からないな
652名無しさん@お腹いっぱい。:2013/11/30(土) 09:09:22.23 ID:luoLBufb0
原因が分かりました、それより上の行のスクリプトがおかしかったようです

PUBLIC id=getid("ゲーム名")
正:MOUSEORG(0)  誤:MOUSEORG(id)
以下↑に同じ

どちらもマウス移動の相対化で
どこかのサイトには(0)より(id)の方がいいと説明されてました
653名無しさん@お腹いっぱい。:2013/12/01(日) 08:37:32.64 ID:VZ9QrxsBi
654名無しさん@お腹いっぱい。:2013/12/01(日) 09:50:07.87 ID:VZ9QrxsBi
UWSCを触り出して2ヶ月になります。色々なサイトを見ながら、仕事に必要な
マクロはだいたい組めるようになり、他の人(職場の)に比べて数十倍以上の
効率で処理を行えるようになったと思います。なので、現時点で特に
スキルアップの必要性はないけれど、個人的な興味から今より上の技術を
学びたいと思っています。ただ僕はUWSC以外のプログラムはほぼ触ったこと
がなく、VBAをわずかに触ったくらいです。UWSCの上級者と思われる人たち
は、UWSC以外にも精通している方が多いですよね。色々な点で自分は
相当無知だとも自覚しており、今はある程度全体を俯瞰できるような上達の
目安表が欲しいと感じています。

例えば漫画板ではちょくちょく見かける強さランキング。
Sランク:
Aランク:
Bランク:
Cランク:

このような形で「ここまで到達したらUWSCのレベルはこのくらい」みたいな
部分を教えて頂けないでしょうか。
655名無しさん@お腹いっぱい。:2013/12/01(日) 10:00:28.54 ID:VZ9QrxsBi
連投すいません。個人的な主観の場合。

■初級の中:記録機能を使わずとも、最低限の処理は一から書いて対処できる程度。
 ウインドウ関連…getid,clikitem,ctrlwin,sendstr,sckey,sendstr,getstrなど
 ダイアログ関連…input,msgbox,slctbox
 制御関数関連…exec,sleep,gettimeなど
 文字列操作関連…copy,pos,length,replaceなど
 スクリプト構文…変数、if(ifb)-endif、for-next,select-selendなど
 …この辺りの一部を扱い、基本的な処理を形にできる。

■初級の下:記録機能からの「保存→編集」ができ、不要な記述を
カット、編集して効率化を図れる程度。
 ウインドウ低レベル関数(mmv,btn,kbd,acw)やsleep辺りを何となくいじれる。

■触り始めた直後:記録機能を使って「保存→再生」ができる程度。
656名無しさん@お腹いっぱい。:2013/12/01(日) 10:02:38.69 ID:qSolREYa0
UWSCに限らずプログラムというのは一方向に知識が偏ることが多いからこれができたらこのランクというものはない
あえて言うなら詰まった時に自分で調べて打開できるか出来ないかの違いだけだ
657名無しさん@お腹いっぱい。:2013/12/01(日) 10:07:11.51 ID:cGDn0QjY0
物事を1つやるだけでもいろんなアプローチの仕方があるし
ソースだって重視するのが見やすさか文字量か処理の早さも人によってこだわりがあるだろうし

ただ、レベル高い人は正規表現が使いこなせるイメージがある
658名無しさん@お腹いっぱい。:2013/12/01(日) 10:09:33.17 ID:PoC6gXCV0
正規表現なんて初歩の初歩だろ・・・
659名無しさん@お腹いっぱい。:2013/12/01(日) 10:15:59.59 ID:QpNJpLmDP
Excelなら読み書き保存で初級、グラフ・関数で中級、マクロで上級ってのが一般だが
会社によって使用頻度の高い機能が違うから、これができてこれを知らないのかよ!
ってのはありがちなのと同じだな。

この感覚でいけば、記録再生で初級、ヘルプを読めばソース書けるで中級
外部のAPIやDLLなどと言い出したら上級のような気がしてる。
660名無しさん@お腹いっぱい。:2013/12/01(日) 10:25:21.13 ID:R19BYUvk0
>強さランキング

ネタをネタだとわからないようじゃあ、いつまでも2ちゃん初心者
661名無しさん@お腹いっぱい。:2013/12/01(日) 12:45:04.41 ID:gtUCgZTV0
UWSCは、他のプログラム言語でそれなりの知識を積んだ人が、使うものだと思うよ
ヘルプも、プログラミング中級者以上を対象にした書き方になってるし
少し気の効いた事やろうとすると、COM/WindowsAPI/マルチスレッド&排他処理などが、必要になってくる
それらの知識を持たないなら、いつまで経っても初級のまま・・・かもしれない
662名無しさん@お腹いっぱい。:2013/12/01(日) 13:37:17.63 ID:BNiYCnON0
初級:
・記録したマクロを、構文や変数などで初歩的な構造化を施し、改変できる。
・ヘルプのスクリプト関数を調べて7割を活用できる。

中級:
・自作関数による基本的な構造化が出来る。(>>261 >>265 CALL多用は除外)
・ヘルプのスクリプト関数を調べて9割を活用できる。
・googleで検索してトラブルシューティングやヘルプ未記載の仕様制限を確認できる。
・googleで検索して初歩的なAPI活用・OLE使用を行い、UWSCの使用制限を突破できる。
・基本的な例外処理を行える。

上級:
・自作関数を適切に分類し、自作ライブラリを構築してCALLでincludeしている。
・ソフトウェアテストの行い易い構造化を行い、大規模になっても部分に切り分けたアジャイルな開発を行える。
・他の言語と比べたUWSCの欠点を理解し、費用対効果でUWSCが適している場合のみUWSCを使う。
・高度な例外処理や、リソースのデッドロックによるフリーズに対処出来る。

超上級:
・UWSCを卒業。オブジェクト操作は各種高級言語から、画像判定はOpenCVで行う。
・あるいは逆に、ソフトウェアテスト業界でUWSCをバリバリ活用しているか、LancersなどでUWSCの仕事を受注している。


余計な一言
UWSCなんぞで数十倍以上の効率で仕事を処理できるなんて、なんて非効率で甘々な仕事なんでしょうか。羨ましいです。
663名無しさん@お腹いっぱい。:2013/12/01(日) 18:21:51.11 ID:VZ9QrxsBi
>>661
やっぱりそうですよね。ヘルプ読んでてそう感じました。

>>662
ありがとうございます。こういうのが欲しかったです。
参考にさせて頂きます。
※「処理が数十倍」というだけで結果は必ずしもそうではなく、極端な例で言うと
漫画家に近いかもしれないです。週1本書けるのが普通の漫画家とすると、
それを30本描けるようになった…みたいな。
664名無しさん@お腹いっぱい。:2013/12/02(月) 00:18:10.14 ID:wBtlrZYu0
この土日をフルに使って、某ブラゲの長時間遠征系のマクロの雛形が出来た
いい解説サイトがなくて、調べて理解して自分で使って動作検証しての繰り返しでかなり手間がかかった

今までは単純なマウス記録で済ませてた。

使ったのはifb CHKIMG、Else、sleep、xy=G_IMG_Y、BTN(LEFT, CLICK, x,y ,80)
くらいだから、UWSC初心者レベルで見ても相当遅いんだろうな
665名無しさん@お腹いっぱい。:2013/12/02(月) 00:48:47.89 ID:MJ36lxJ50
吐き出したいけど卑怯だと理解してるからTwitterなどSNSでは言えず、結果ここしかないんだろうけど、目障りだって想像できないのかな

まあ実際にはどういうつもりかは知らんけどアプローチの仕方を少しも考えないような、やはりゲームを自動化するような奴は自己中なんだろうって思いました
666名無しさん@お腹いっぱい。:2013/12/02(月) 01:28:16.53 ID:uaNtuaug0
なんじゃそりゃ
目障りもなにも、見たくなきゃ見るな、というのが2ちゃんねるなんですけど。

単純作業の自動化は、単純作業で延命するタイプのネトゲでだけ卑怯とされるのであって、
ゲーム以外のほとんど全てでは、推奨される美徳であり、生産的な価値ある行為なんだがなw
667名無しさん@お腹いっぱい。:2013/12/02(月) 02:01:52.47 ID:dfQlVJCTP
その通り
見たくなければ来るな
668名無しさん@お腹いっぱい。:2013/12/02(月) 04:13:53.32 ID:2wsp+l6xi
>>665
お前目障りだな
669名無しさん@お腹いっぱい。:2013/12/02(月) 07:35:30.27 ID:4w3ZnRs7P
え、まぁチラ裏すぎてなぜこのスレに書いたのかわからない日記には見えるけどw
670名無しさん@お腹いっぱい。:2013/12/02(月) 07:39:44.04 ID:26s67htj0
>>669
じゃあ消えろ
671名無しさん@お腹いっぱい。:2013/12/02(月) 08:08:17.60 ID:FAVWzEvbi
uwscをそこそこ触れるようになった時点で、
次のステップとしてお奨めの言語ってありますか?
どれやっても大差ない?
672名無しさん@お腹いっぱい。:2013/12/02(月) 10:24:52.60 ID:mkpy9VBG0
>>671
VBS
673名無しさん@お腹いっぱい。:2013/12/02(月) 17:05:02.70 ID:2nIyQNqZ0
>>671
UWSCぐらいの日本語情報がないと厳しいなら
今ならC#あたりじゃない?
674名無しさん@お腹いっぱい。:2013/12/02(月) 17:50:57.77 ID:uaNtuaug0
DOBON.NETで勉強できるC#かVB.NETで決まりだな。
675名無しさん@お腹いっぱい。:2013/12/03(火) 08:31:28.07 ID:JbyZZNIR0
N88BASIC
676名無しさん@お腹いっぱい。:2013/12/03(火) 09:03:58.40 ID:O6KFcVp/0
アプリのメモリ弄りたいんだがどれがおすすめ?
677名無しさん@お腹いっぱい。:2013/12/03(火) 10:18:41.78 ID:4fSifEn90
どれもそう変わらんから自分の好きなの使うといいよ
678名無しさん@お腹いっぱい。:2013/12/03(火) 10:33:38.38 ID:13+niociP
どれを好きになればいいのかって事かと
679名無しさん@お腹いっぱい。:2013/12/03(火) 12:28:44.85 ID:pAgmWecwi
皆、どういう目的のプログラム組んでるの?
仕事、私用問わず。

俺は仕事の7割くらいの作業の効率化と、
生活のルーチン化。

アフィリで稼ぐのにプログラム組んでる人ってどのくらい?
680名無しさん@お腹いっぱい。:2013/12/03(火) 13:27:08.04 ID:JbyZZNIR0
>>679
俺使ってるよ。年額でたった75万位にしかならんけど。
681名無しさん@お腹いっぱい。:2013/12/03(火) 20:44:23.94 ID:pAgmWecwi
>>680
マジか。それってクリック式のとこ?
組み方の問題とか、遊びでやってるレベルだからとか?
それともやっぱセンスなのかね。

まぁ75でもお小遣いとして見れば悪い数字ではないよね。
682名無しさん@お腹いっぱい。:2013/12/04(水) 08:33:53.34 ID:bw3mM4NP0
そりゃ今どきこんなんもゴロゴロしてるからなw
http://crowdworks.jp/public/jobs/36700

報酬30万〜50万。
今回はお前らに譲ってやるからサクッと作ってミソ。
683名無しさん@お腹いっぱい。:2013/12/04(水) 09:27:06.77 ID:O9PKPAQg0
オープンデータでアプリ開発 総務省がコンテスト
http://uni.2ch.net/test/read.cgi/newsplus/1386020361/
総務省はパソコンやスマートフォン向けアプリの開発コンテストを開く。
行政や公的企業が公開する指定のデータを利用するのが条件だ
684名無しさん@お腹いっぱい。:2013/12/04(水) 10:23:05.97 ID:Xx/m3zMm0
>>682
作れんし
作れても詐欺師の道具なんて金もらえんだろ。
ウィルス作成罪で警察に突き出すと言われて逆に脅し取られるわ。
685名無しさん@お腹いっぱい。:2013/12/04(水) 11:10:07.90 ID:Xx/m3zMm0
>>682
> オートマウスにての稼働ですが、
> これを完全自動化させた感じで

オートマウスでの自動が駄目ならUWSCもダメだろ。
最初から作らないと。
686名無しさん@お腹いっぱい。:2013/12/04(水) 11:19:36.96 ID:DDVDxB9Yi
不正でのアクセス稼ぎじゃなくて、送信数を大幅に増やすことで
アクセスアップを狙えば問題ないわけだろ。興味のありそうな人への
自動送信とかさ。この「興味がありそう」っていうところをプログラムでの
自動判別にして、手動だったら毎日10人送るのも面倒かもしれない作業を、
自動で毎日1000人くらいに撒けば、最低でもアクセスはそこそこ取れる。
ブログや記事内容が不正や騙しでなければ固定ファンがつく可能性もある。
30〜50の不正プログラムを作るなら、毎月コンスタントに5万稼げる健全な
プログラムを考えた方が遥かに良いとは思うな。
687名無しさん@お腹いっぱい。:2013/12/04(水) 11:35:55.65 ID:XNzpX2uF0
IEでページ移動した後、いつまで経ってもBusy状態なのだけど、何か考えられる理由ありますか?
688名無しさん@お腹いっぱい。:2013/12/04(水) 13:48:04.97 ID:p7b8WpTl0
GetItem(id,ITM_ACCTXT,-1)で
まったく取得できなくなったんだけどわかる人いるかな。
他の環境(OS・ブラウザ同じ)だとちゃんと取得できるんだけど。
今の環境だとIE以外のブラウザでも取得負荷。たっけてー
689名無しさん@お腹いっぱい。:2013/12/04(水) 19:20:32.54 ID:YzQNco3L0
つかIP偽装しなきゃ毎回変えられんだろ…
690名無しさん@お腹いっぱい。:2013/12/04(水) 19:21:59.02 ID:YzQNco3L0
>>688
アクセシビリティ経由は超遅くて超不安定。
デッドロックで応答なしもショッチュウだな…
691名無しさん@お腹いっぱい。:2013/12/04(水) 20:22:51.19 ID:CfzmkTdX0
>>688
JavaランタイムとJava Access Bridge for Windows がインスコ済みかどうかの違いとか?
692名無しさん@お腹いっぱい。:2013/12/04(水) 21:05:10.25 ID:p7b8WpTl0
>>691
Bridegeはどっちも入ってない ランダイムは入れなおしてみたけどだめだった
他のアプリだと取得できるけど、やっぱりIE,Firefox,Chromeはだめだー
693名無しさん@お腹いっぱい。:2013/12/04(水) 23:02:14.08 ID:XNzpX2uF0
IEのポップ(規定のブラウザにしますか?、パスワードを保存しますか等)を
uwscで消す方法ってどうするのん?
694名無しさん@お腹いっぱい。:2013/12/05(木) 03:45:22.88 ID:c0ktLMVg0
>>692
>やっぱりIE,Firefox,Chromeはだめだー
ここ読んで少し試してみたけどIE,FirefoxはACC経由の情報は問題なく取得できるけど
Chromeは取得できないな
本家サンプルの
// Google Chrome にてGoogleを表示、日本語ページより検索(ACC方式)  #n37
http://www.uwsc.info/sample.html#n37
も動かない(GETITEM(id, ITM_ACCCLK or ITM_ACCTXT))で戻り値0で表示完了処理でループしてる

win7+IE11,Firefox,Chrome,uwscは共に最新
環境によるのかねえ・・・
695名無しさん@お腹いっぱい。:2013/12/05(木) 04:18:30.43 ID:gM/tAOSd0
最新()
696名無しさん@お腹いっぱい。:2013/12/05(木) 09:23:36.07 ID:Uf0CCUOd0
>>693
そのウィンドウが出たら閉じるボタン押せばいいだけでは
697名無しさん@お腹いっぱい。:2013/12/05(木) 12:25:33.41 ID:6PYLkaC6i
>>696
それを自動的にしたいのだと思われ。
俺も似た症状がしょちゅう出るうっとい。
698名無しさん@お腹いっぱい。:2013/12/05(木) 12:37:24.73 ID:cllrD0gp0
本来手動で行う操作の自動化なんだろ?
ならばその画面が出る可能性がある箇所に
画面が出ていないか判定し出ていたら任意の操作を行う関数を作成
呼び出しすればいいだけじゃね?
699名無しさん@お腹いっぱい。:2013/12/05(木) 14:39:29.20 ID:MK4OvRdJi
というかスレッド処理しろよどんだけ無知なんだよ
700名無しさん@お腹いっぱい。:2013/12/05(木) 17:48:28.14 ID:dBf/68S20
というか、IEの設定画面から無効にするか、レジストリを書き換えるかしろよ
701名無しさん@お腹いっぱい。:2013/12/05(木) 21:26:11.55 ID:V0rkpS1D0
While true

if GETKEYSTATE(VK_ESC) then exit     // ESCキーを押すと終了させる

ifb CHKIMG("6.bmp",0)      //
btn(left,click,g_img_x,g_img_y)
endif

wend

画像認証で指定の画像をクリックする簡単なマクロですが
マウスの移動→クリックの過程の動作を早くすることは出来ますか?
702名無しさん@お腹いっぱい。:2013/12/05(木) 23:13:21.36 ID:xFO7dKYI0
良いCPUのPCで実行する
intervalを10にするとなんか早い気がする
703名無しさん@お腹いっぱい。:2013/12/06(金) 00:02:10.76 ID:qtwVC0200
実行までの待ち時間はきちんと入力したほうが早い
詳しくは忘れたがデフォだと100だか200に固定されてるんだっけ?
704名無しさん@お腹いっぱい。:2013/12/06(金) 00:30:32.14 ID:r8O6LCJL0
CLICKよりも、DOWNしてUPさせた方が速い
705名無しさん@お腹いっぱい。:2013/12/06(金) 08:09:08.53 ID:BHCOviGC0
>>694
IE/Firefoxに関してはAcrobat proが原因でした。
Chromeは改善せず。
706名無しさん@お腹いっぱい。:2013/12/06(金) 19:26:50.84 ID:hf02iXmP0
速くするだけなら幾らでも早くすればいいが、
相手があるんだからその分失敗率が高くなるぞ
707名無しさん@お腹いっぱい。:2013/12/07(土) 11:52:58.81 ID:UVBdHf6I0
相手のレスポンス待ってる訳じゃないからな、
やれることは指定時間のウェイトの後にクリックする事出し。
708名無しさん@お腹いっぱい。:2013/12/10(火) 01:01:16.27 ID:4K0w/5tR0
どなたか詳しい方、教えてください…
hoge.dll
public class a{
public a(string b){
...
}
public int c(){
...
}
}
こういうDLLがあるとして、UWSCから使うにはどうすればよいのでしょうか?
bのaを作って関数cを使いたいです。
DEF_DLLでオブジェクトaを作ろうにも、bの渡しかたがわからず挫折しました。
DLL自体を解ってないのでそもそもの発想が間違ってるのかもしれません…
709名無しさん@お腹いっぱい。:2013/12/10(火) 13:01:53.68 ID:cfeTVeM9i
msgboxの自動ループって機能的に無理ですよね?

例えば、ページ1、ページ2、ページ3…ページ100とかあって、
それをOKボタンを押さずに、3秒おきにページを進めていくとか。

printだとちょっとニュアンスが違うような気がして。
fukidasiでも考えてみたいですけど、先にmsgboxから。
710名無しさん@お腹いっぱい。:2013/12/10(火) 13:27:47.75 ID:nIhaKsx10
>>708
DLLの呼び出し規約で、vc++の場合は関数名の後ろに@数字がついてる。
あと、DLL側で extern はしないといけないんじゃないかな。

>>709
できないね。
711名無しさん@お腹いっぱい。:2013/12/10(火) 14:09:27.06 ID:NfZkpDL30
>>709
Thread使うと出来そうだけど
SLCTBOXで代用したほうがシンプルで良さそうだよ
タイマーも付いてるし
712名無しさん@お腹いっぱい。:2013/12/10(火) 14:41:42.79 ID:SrrG4AtL0
エスパーして中断機能が欲しいと予想しても、だ
基本 Thread を使い中断機能部分は msgbox に
進捗状況はその上にオーバーライドさせた fukidasi で表示するのが吉かな
713名無しさん@お腹いっぱい。:2013/12/10(火) 21:27:21.09 ID:zPPbVhv30
WScript.Shellオブジェクト作ってPopUpメソッド呼び出す力技
714名無しさん@お腹いっぱい。:2013/12/10(火) 22:07:52.01 ID:4t1OnZV20
thread多用し過ぎw
それで済んだとしても典型的なバッドノウハウだろ。
SLCTBOXで十分だし、
それで不満ならUWSCを卒業した方がいい。
715名無しさん@お腹いっぱい。:2013/12/11(水) 00:33:45.68 ID:y4jYxVxx0
>>710
勉強になります。
externはDLL側に必要なんですね。
DLL付属のドキュメントには関数ぐらいしか書かれてなかったので、externされていることを祈りつつ呼び出し規約を色々試してみます。
716名無しさん@お腹いっぱい。:2013/12/11(水) 08:13:50.28 ID:EcETM5+z0
>>709-711
VBscriptにはmsgboxのタイマー設定できるのな。自動で○秒表示。
UWSCにもその機能あればいいのに。
717名無しさん@お腹いっぱい。:2013/12/11(水) 11:43:21.80 ID:JgCyEb1D0
なぜかChromeのRC版テスターに選ばれて
32.0.1700.41 m Auraを使ってるんだけど

クラス名「Chrome_RenderWidgetHostHWND」取得が出来なくなったみたい
影響は少ないと思うけど(UWSCでChrome操作してる人いるのか・・・)
次期Ver32で少し改修しないといけない場合があるかも(安定版でどうなるかわからないけど)
Chrome_RenderWidgetHostHWND→Chrome_WidgetWin_1で座標系が少し狂うのかな?
718名無しさん@お腹いっぱい。:2013/12/11(水) 12:28:11.98 ID:ZOveDWBO0
>>716
SLCTBOXにはついてるでしょ
719名無しさん@お腹いっぱい。:2013/12/11(水) 17:36:06.88 ID:EcETM5+z0
>>718
MSGBOXのこと言ってるのに何こいつ

これがアスペか
720名無しさん@お腹いっぱい。:2013/12/11(水) 18:40:39.35 ID:ZOveDWBO0
>>719
わがまま言わないのっ
721名無しさん@お腹いっぱい。:2013/12/11(水) 18:45:06.85 ID:NRJZIdbi0
>>719
VBSのタイマー付きは、>>713と同じだろ
既に在るのに、何言ってるのw
722名無しさん@お腹いっぱい。:2013/12/11(水) 23:42:12.15 ID:B7dif2gFi
スクリプトAを毎日、違う時間で実行させたい時、例えばinputで
「15:20」と入力したら、15:20に起動させるようなことって可能?
それが「式による設定」になるんかな?
723名無しさん@お腹いっぱい。:2013/12/11(水) 23:59:48.29 ID:3TsV9WVa0
現在の時刻と指定時間の差を取ってsleepで待つ ってしてるな
724名無しさん@お腹いっぱい。:2013/12/12(木) 01:41:31.81 ID:1iGv0hPy0
>>713
WScript.Shellやってみたけど消えなくね?
user32.dll、MessageBoxTimeoutAは消えたけど色が変だ
725名無しさん@お腹いっぱい。:2013/12/12(木) 01:55:03.43 ID:1iGv0hPy0
>>709
OK押さずにか・・・
こういうのじゃ押しちゃうから駄目ってことか

THREAD msgclk()

for i = 0 to 10
msgbox("test"+i)
next

PROCEDURE msgclk()
while true
sleep(3)
id = GETID(, "TFmsgDlg.UnicodeClass", -1)
CLKITEM(id, "OK", CLK_BTN)
wend
fend
726名無しさん@お腹いっぱい。:2013/12/12(木) 02:00:29.63 ID:zx8f+biJ0
>>724
MessageBoxTimeoutはミリ秒、PopUpは秒
727名無しさん@お腹いっぱい。:2013/12/12(木) 08:36:12.75 ID:XPNt3Jjz0
>>725
OK押さずにってところで

CLKITEM(id, "OK", CLK_BTN)

CTRLWIN(id, CLOSE)

これでどうだ(閉じる、キャンセルボタン押した事になる)
728名無しさん@お腹いっぱい。:2013/12/12(木) 11:57:57.58 ID:8RGLip6z0
>>722
UWSCのスケジュール機能の式による設定ってのは
設定画面で入力するYMDを使う計算式のことだろ。
YMDと四則演算しかないから違う時刻というのは無理。

> 例えばinputで
それはスクリプトで出来るけど既に動いてるスクリプトがあっての話。
動いてるスクリプトがあるんならCALLでもEXECでもなんでもすればいい。
729名無しさん@お腹いっぱい。:2013/12/12(木) 21:42:27.07 ID:CF+xnjhz0
バグの危険性増やしてまで仕様以上のことをしようとするより
素直にSLCTBOX使えば良い。
ボタンの配置などがちょっとMsgBoxと違うだけで使用上は全く問題ない。
仕様で出来る範囲で割り切って使う。
そのかわり簡単手軽にサクッと使う。
それが“スクリプト”を使う意義。
ボタンの配置などがちょっと違う程度のことも許せずに
延々と不要で煩雑な手間を掛けるのはテクニシャンでも何でも無く
ただの暇人。
730名無しさん@お腹いっぱい。:2013/12/13(金) 14:00:04.21 ID:FL5R9eVIi
>>725
そういうので全然おkっす。あざっす!
要は、「手動作業を入れずに」ってことですね。
(自動でボタンを押す分には問題ない)

>>729
仮にそれが暇の産物だったとして、暇から生まれた有益な開発は多いですよ。
アインシュタインの相対性理論だってある意味そうだし、科学上の重要な発見の多くもそうだと思うので。

個人的にはデフォルトでできることを、
癖のある変則スクリプトなど組んで、傍から見たら
「よくもそこまでやるねぇ」って呆れられるくらいのレベルの人が
細部においても実力がある人が多いように感じます。
uwscとかプログラムに限らず、どんなジャンルでも。
731名無しさん@お腹いっぱい。:2013/12/13(金) 14:21:38.39 ID:JuAhHeQu0
>>730
最初の人かどうかはもはやどうでもいいんだけれどさ

それって作業前の応答待機中は何もしないって事なんだぜ
って事はそもそも進捗表示じゃないから
print や fukidasi を使ってみようかって考えている時点で・・・

そして自動応答なら SLCTBOX にあるのだから
メイン処理が止まっているのに
わざわざ THREAD を作ってまで MSGBOX 使うって・・・

まぁ、おつかれさん
732名無しさん@お腹いっぱい。:2013/12/13(金) 14:57:17.56 ID:+/SEDNvb0
本当に優秀なプログラマは無駄なコードは書かない
733名無しさん@お腹いっぱい。:2013/12/13(金) 18:04:35.00 ID:0g6Ly3oc0
優秀なプログラマはトリッキーな事はしない
シンプル伊豆ベスト
734名無しさん@お腹いっぱい。:2013/12/13(金) 19:28:06.15 ID:Ic4HdSRj0
最近まで動いてたんだけど
マウスとキー情報を直接送ることができなくなった
最低限のこのプログラムでも動かなくて
//test.bmpのx,y=100,100にクリック
mouseorg(getid("test"),2)
btn(Left,0,100,100,100)
windowsのアプデのせい?
誰か解決策教えて
735名無しさん@お腹いっぱい。:2013/12/13(金) 19:46:24.57 ID:CGWOFh4w0
何がしたいのかいまいちわからん
相対座標にして情報送っただけと指定の座標をクリックするだけで動くも動かないもないかと
それだけで何もしないならUWSC自体が動作してないって事でアプデ以前の問題
736名無しさん@お腹いっぱい。:2013/12/13(金) 20:27:53.20 ID:Ic4HdSRj0
>相対座標にして情報送っただけと指定の座標をクリックするだけで動くも動かないもないかと
そう指定の座標をクリックしたいだけ

win付属のペイントでtest.bmp開いておいて、
ペイントは非アクティブの状態で、
uwscでマウス情報を直接ペイントに送って、ブラシ(マウス)で点を描きたい

最近まで出来てたのに、、、
737名無しさん@お腹いっぱい。:2013/12/13(金) 22:45:39.46 ID:YLPUMqSi0
管理者
738名無しさん@お腹いっぱい。:2013/12/13(金) 22:47:48.78 ID:YLPUMqSi0
管理者権限での実行は?
常識だけど…
739名無しさん@お腹いっぱい。:2013/12/14(土) 03:24:00.34 ID:Sfxs7E+C0
>>736
興味本位で聞くけど、ペイントで自動操作ってどんな用途で使ってるのか
支障が無ければ教えて
あと、Windowsの種類とペイントのバージョンもあれば情報が出やすいかも知れない
XPと7のあのペイントは別物だろってくらい違うでしょw

windowsのアプデって、XP→8.1にしたとか言う落ちだったら笑うが
740名無しさん@お腹いっぱい。:2013/12/14(土) 06:36:55.72 ID:QbNMeCa10
もちろん管理者権限も確認してます

>>739
ペイントは最低限の動きを確認するため
即席で書きました

実際は
ショートカットキーを押すと非アクティブウィンドウに指定した座標を押すという簡単な作業に使ってます

mouseorgの基準指定を(0に)変えればマウスカーソルが動いて点を描くんですが、、、
地味にキー情報を非アクティブウィンドウに送信するというのが便利だったんです
741名無しさん@お腹いっぱい。:2013/12/14(土) 06:49:18.20 ID:4RTqbKED0
解決策システムの復元
742名無しさん@お腹いっぱい。:2013/12/14(土) 06:58:17.03 ID:XkK8E4tQ0
今まで動作していたって話なら
前提条件が崩れているとしか考えられないから

とりあえず getid が成功しているのかとか
処理を分解しながら確認してみたら?

後、成功を前提としたスクリプトを描いていると
何処で躓いているか迷うから最低限のエラー処理は入れておくべきだよ
743名無しさん@お腹いっぱい。:2013/12/14(土) 08:44:14.58 ID:UVZHtyeJi
>>731
グダグダ入ってないで代替案と代替コード。
744名無しさん@お腹いっぱい。:2013/12/14(土) 09:08:10.64 ID:C08spLVQ0
他力本願
745名無しさん@お腹いっぱい。:2013/12/14(土) 09:41:26.92 ID:Vc79l0iS0
>>740
Windows7とかのペイントだったら描画部分をmouseorgでクリックしたい場合はそこのオブジェクトを指定しなきゃダメだぞ?
お前何か勘違いしてないか?

こんなかんじで
mouseorg(getctlhnd(getid("ペイント"),"Afx:0000000000000000:8"),2) // 16桁の0の部分は起動ごとに変わる
btn(Left,0,100,100,100)
746名無しさん@お腹いっぱい。:2013/12/14(土) 10:04:23.97 ID:QbNMeCa10
mouseorg(getid("test",,-1),2)
btn(left,0,100,100,100)
print "end"
これでtestのペイント開いてない状態で走らせると、もちろんgetidのところで待ちに入る。
ペイント開いた瞬間endが表示され、プログラムはそこで終了する。
しかし点は描かれない。なぜ〜
747名無しさん@お腹いっぱい。:2013/12/14(土) 10:07:01.84 ID:QbNMeCa10
mouseorg(getid("test",,-1),0)
btn(left,0,100,100,100)
print "end"
こちらはキー情報直接送信ではない方
マウスカーソルが動くがプログラムとしてはちゃんと動いてるので問題なし

プログラムは何も問題無いはずなんだよ(この最低限の3行コードでも動いてくれてないけど
キー情報直接送信だけがどうしても、うまく動いてくれない
748名無しさん@お腹いっぱい。:2013/12/14(土) 10:31:20.53 ID:QbNMeCa10
>>745
ありがとう
getctlhndで動きました
オブジェクトを指定しなければならないとはわからなかった
アイテム名って簡単に調べる方法や固定する方法はありますか?
749名無しさん@お腹いっぱい。:2013/12/14(土) 11:48:17.93 ID:Vc79l0iS0
>>748
調べたいところにマウス合わせて
idtohnd(getid(GET_FROMPOINT_OBJ))
とかかなぁ
750名無しさん@お腹いっぱい。:2013/12/14(土) 11:57:46.66 ID:Vc79l0iS0
名前が知りたいならこっちか
status(getid(GET_FROMPOINT_OBJ), ST_CLASS)
751名無しさん@お腹いっぱい。:2013/12/14(土) 14:41:16.43 ID:Sfxs7E+C0
>>740
なるほど、ペイントは確認のために使っただけで実際は違うプログラムの操作を行っていると
とするwindows updateの前にペイントにマウス、キー情報を直接送れてた訳ではない感じか

>>748
ペイントの場合だけどAfx:以下が変わるのであれば、固定されている所から取得するように作ってみた

getallwin(hndtoid(getctlhnd((getid("ペイント")),"MSPaintView")))
id = hndtoid(getctlhnd((getid("ペイント")),status(ALL_WIN_ID[0],ST_CLASS))) //ALL_WIN_ID[0]は子ウインドウ1個の場合なので考慮が必要かも
752名無しさん@お腹いっぱい。:2013/12/14(土) 15:32:41.78 ID:owIcRGV/0
指定したアドレスをchromeで開くのにSENDSTRを使って、
F6
SENDSTR(ID,"アドレス",1,True,True)
RETURN

で試してみたのですが、まずF6を押して、そのままENTERを押してしまっているようです。
IDはChomeになってるし、アクティブにもなっています。Windows7です。

誰か解決方法教えていただきたいです。
753名無しさん@お腹いっぱい。:2013/12/14(土) 16:01:45.54 ID:Sfxs7E+C0
>>752
エスパーするとid取得が出来てない
本家サンプルの
path = "C:\xxxx\Application\chrome.exe"
id = Exec(path + " --force-renderer-accessibility --process-per-tab --new-window http://www.google.co.jp/")
この形だとidに-1が返ってきてid取れないから

id = GETID("Google","Chrome_WidgetWin_1")
Chrome開いたあとあらためてid取得しないとダメ
754名無しさん@お腹いっぱい。:2013/12/14(土) 16:27:05.55 ID:owIcRGV/0
>>753
chromeっていいましたが、実際はchromiumというブラウザです、すいません。

いつもはchromiumを開いた後にマクロを開始して、一行目に
ID = GETID("Chromium")
としてやっているのですが、なんせ知識が全くないもので合ってるのかわからないのですが。
そもそもGETID("Chromium")では取得できてないですか?
755名無しさん@お腹いっぱい。:2013/12/14(土) 16:56:12.75 ID:Sfxs7E+C0
>>754
idが取得できたか知りたいときは
ID = GETID("Chromium")
print ID

で-1が返ってきた時は取得できてない(通常は1とか2とか)
chromiumを使ってないから分からないけど、仮にChromeと同じ感じだとして
google(http://www.google.co.jp/)を開いている時のid取得は
ID = GETID("Google")
クラス名を指定していないから、googleと言うタイトルのプログラムがあれば
そちらを拾ってくるかもしれない
756名無しさん@お腹いっぱい。:2013/12/14(土) 17:15:57.62 ID:owIcRGV/0
>>755
1が反映されました。
IDが取得できているのなら、SENDSTRのところが間違ってるのかもしれませんね。。。
SCKEY(ID,VK_F6)
SENDSTR(ID,"http〜",1,True,True)
SCKEY(ID,VK_RETURN)でできないです。

ちなみに、SENDSTRでアドレスをクリップボードに置いて、それを張り付けて移動ということはできました。
757名無しさん@お腹いっぱい。:2013/12/14(土) 17:40:38.71 ID:owIcRGV/0
連続してすいませんが、
SENDSTR(ID,"http〜”)で行うと、文字を一文字ずつ打ち始めました。
エディトコントロールとかいうのがポイントかもしれません。
758名無しさん@お腹いっぱい。:2013/12/14(土) 19:07:48.26 ID:Sfxs7E+C0
>>757
うーん、わからない
Chromeだとgoogle開いておいて

id = getid("Google",,-1)
sckey(id,VK_F6)
sendstr(id,"http://anago.2ch.net/test/read.cgi/software/1367340336/",0,True,True) //第3引数はF6押してフォーカス持っているので
sckey(id,VK_RETURN)

これで行けるんだけどな
759名無しさん@お腹いっぱい。:2013/12/14(土) 22:56:05.22 ID:2n9SW1AO0
日々、コピー&ペーストで確認する作業に疲れてしまい
UWSCの導入を考えています。
IDを複数所有していまして、順番にサイトにログインして確認する作業を自動化、ルーチン化したいのです。
例えば
ID1
ID2

ID50
とIDが50個あり、これをサイトのログインページに自動でログインさせ、表示されたページの特定の数字を.txtなどにID毎に出力をさせたいのですが
UWSC コバヤシ式とかいうサイトを見ればできるようになりますか?
このようなスクリプトはだいたい既にネット上に落ちているスクリプトをパズルのように組み立てていくと聞いたのですが、
初心者の自分には左も右もわからない状態です。
おすすめの参考サイトなどありましたら教えて下さい。
760名無しさん@お腹いっぱい。:2013/12/14(土) 23:48:45.77 ID:XkK8E4tQ0
761753:2013/12/14(土) 23:48:55.79 ID:Sfxs7E+C0
>>753訂正します
>id = Exec(path + " --force-renderer-accessibility --process-per-tab --new-window http://www.google.co.jp/")
>この形だとidに-1が返ってきてid取れないから

Chromeが一つも開いていない状態で実行するとidが取得出来ました
Chromeがすでに開いてい状態で(新たにChromeを開く形で)実行すると-1になりました
762名無しさん@お腹いっぱい。:2013/12/15(日) 01:19:41.34 ID:0Dfj/ivV0
>>759
楽勝でできる。構文がわかれば10分もかからずに作れる。
構文を学ぶには>>1をどうぞ。無料だ。
763名無しさん@お腹いっぱい。:2013/12/15(日) 01:27:34.61 ID:BKUUjItg0
文脈的に単一のサイトに50のIDと読めるがなんだろうな
およそまともとは言いがたいだろうと想像してしまうが、どうでもいいことか
764名無しさん@お腹いっぱい。:2013/12/15(日) 11:00:26.79 ID:5waI6v/O0
>>759
ちなみに何のID?
簡単なら作ってみるよ!!
765名無しさん@お腹いっぱい。:2013/12/15(日) 11:25:36.22 ID:XL6gRW5r0
RecIE
766名無しさん@お腹いっぱい。:2013/12/16(月) 13:36:49.49 ID:P1CceyfHi
ぶっちゃけた話なんですけど、コバヤシ式のサイトに書かれてることとか、
本に書かれていることってあまり上級な内容ってないですよね?
悪口は言いたくないんですけど、あのサイトなり本なり読んで「上級」って
書かれてることは、ちょっと学べば誰でもすぐにできると思うので、
初級〜中級のように感じました。中級を上級と言われると、勘違いしてしまう
のが嫌ですね…。
767名無しさん@お腹いっぱい。:2013/12/16(月) 17:49:49.07 ID:1XaQBdMT0
明確な資格試験が無い以上
自称上級者や勘違いなんて主観の問題なんだよ

他人に主観を押し付けている時点で同類になるから
思うだけにしとけ
768名無しさん@お腹いっぱい。:2013/12/16(月) 20:20:54.24 ID:zXajPP3R0
いままでは
PRINT ("ブラウザ再起動開始")
画像A = CHKIMG("画像A.bmp")
IFB CHKIMG("画像A") = 1
PRINT ("画像A検知有無: " + 画像A)
PRINT ("画像A画像座標: " + G_IMG_X)
PRINT ("画像A画像座標: " + G_IMG_Y)
MMV (G_IMG_X + 450, G_IMG_Y)
SLEEP (2)
BTN (LEFT, CLICK)
KBD (VK_F5, CLICK, 50)
PRINT ("リロード実行")
PRINT ("トップ画像検知スタート")
画像B = 0
LOOP_COUNT = 0
       WHILE 画像B = 0
SLEEP (1)
画像B = CHKIMG("画像B.bmp")
PRINT ("TOP画像検知: " + 画像B)
LOOP_COUNT = LOOP_COUNT +1
PRINT ("LOOP_COUNT: " + LOOP_COUNT)
IF 画像B = 1 THEN BREAK
IFB LOOP_COUNT = 30
PRINT ("ERROR: 画像B NOT FOUND ")
PRINT ("ブラウザ再起動失敗")
っで問題なく動いてましたが
最近は複数のエラーが多発のため画像を2つ追加して対策したいと思ってます
『新規画像1を感知した場合、新規画像2を左クリック』←追加したい
新規プログラムを以前のプログラム先頭にして
新規画像1を感知しない場合は以前のプログラム通り動いて欲しいと考えてます
ご教授 宜しくお願いします
769名無しさん@お腹いっぱい。:2013/12/16(月) 21:16:26.16 ID:jp57wvxR0
>>768
>『新規画像1を感知した場合、新規画像2を左クリック』←追加したい

簡単だよ。既存のそのプログラムからも学べるし、>>1のサイトを参考にしてもいい。
770名無しさん@お腹いっぱい。:2013/12/16(月) 23:20:45.53 ID:zXajPP3R0
>>769さん
是非とも新規プログラムを以前のプログラム先頭にして
発見時は新規プログラム実行後、以前のプログラムへ以降する書き方を
教えていただきたいです
プログラム自体を教えて頂きたいのです
参考サイトの伝授は いま現在はパスです
ありがとうです
771名無しさん@お腹いっぱい。:2013/12/17(火) 00:01:09.71 ID:b9ycVjHg0
sute.jp のログインスクリプト作ってたらアクセス拒否食らった。
作成済みのアカウントにログインは出来るけど新規が作れない。
アカウントは24時間で無効になるから・・・オワタ

以前、ログインを試行錯誤してたことがあったけどそん時は大丈夫だった。
ログインは今も可能なことを考えると、パスワードミスとかで何度も試行することは許容されるのか。
それとも作成できるアカウントの数に制限があるのか。

めんどっちいから成功失敗関係なく通しで処理したのがいけなかったのかな。
772名無しさん@お腹いっぱい。:2013/12/17(火) 07:46:44.96 ID:zvnFUH9g0
>>770
5万といいたいところだが3万でいいよ
773名無しさん@お腹いっぱい。:2013/12/17(火) 22:03:14.47 ID:YitmULdvi
「スクリプトを組む能力」と「数学的に考える力」は別物と考えて
いいんですかね?例えばfor〜next、repeat〜until、while〜wend
を多用したスクリプトを見て、「この実行結果はこうなるだろう」って
すぐに予想できるのは数学的な力が高い人だと思うんですけど、
プログラムを組む際にそういう力って重要なんでしょうか?
(無関係ではないのはわかるんだけど、ここで聞きたいのは
「重要かそうでないか?」ということ)
774名無しさん@お腹いっぱい。:2013/12/17(火) 22:51:27.35 ID:CVky9ZRf0
数学的なのかは知らんが
実装したい手続きを抽象化してグループ分けする力とか
そういうのであればあった方が楽なのは確かだよ

でもそれって別にUWSCに限った話じゃないしな
775名無しさん@お腹いっぱい。:2013/12/17(火) 22:55:50.33 ID:8wRZFCri0
数字の認識力について、か。
お題としては数学と言うよりは算数だし、重要ではないかな。
その辺りの話なら算数よりもロジックの積み重ね方や閃きの方が重要。

しかし、ループで複数行を使えば実現は可能だが、ある計算式、公式を知っていたらたったの一行で済むということはたまにある。
可読性、バグの発生、メンテナンス性が上がるという点で、重要と言える。

でもUWSCに限らない話だな。プログラミング雑談スレ part836に逝ってよし
776名無しさん@お腹いっぱい。:2013/12/18(水) 03:16:38.99 ID:fCfq0HiW0
・組む能力
言語的熟語力です。

・ループを数式に
中高レベルの数列です。
777名無しさん@お腹いっぱい。:2013/12/18(水) 18:43:01.84 ID:/RT+wXEhi
スケジュール設定で、「条件が満たされていなければ実行」
「満たされていたら実行しない」みたいな設定ってできないですよね?

例えば毎時間、「今日はノルマの腕立て伏せ50回しましたか?」っていう
確認メッセージが出てくるとして、「はい」を押したらそれ以後は出てこない
(明日になったらまた出てくる)。「いいえ」の場合は、「はい」が押されるまで
24時まで毎時間出続ける…という形にしようと思ったら、
スケジュール設定ではなく、sleepでやるべきなんでしょうか。
778名無しさん@お腹いっぱい。:2013/12/18(水) 19:01:35.73 ID:anX/Ell/0
>>777
条件は実行するスクリプト内で判断すればいいのでは
「実行後、条件が満たされていなければ続きの処理」
「実行後、条件が満たされていれば何もせず終了」
779名無しさん@お腹いっぱい。:2013/12/18(水) 19:52:17.97 ID:jglqda+X0
これじゃなきゃダメなんてルールはないし自分でやりたいようにやりゃいい
スリープでやろうが次官取得なり何らかの条件付けでやろうが思った通りの動作してくれりゃ自分で使うにはなんの問題もないだろ
780名無しさん@お腹いっぱい。:2013/12/18(水) 23:15:26.77 ID:fhnY0MBu0
以前、公式掲示板でUWSC.INIを直接書き換えてスケジュール設定する方法を
考えている人がいたな

ポイントは、UWSC.INI書き換え後UWSCを再起動しないと設定が適応されないらしい

興味があれば、(公式掲示板直リンしてもいいのかわからないのでgoogleで
「UWSC.INI ある条件となった際にスケジュールを設定する方法」で検索して)該当スレを探してくれ

一応書いておくけどUWSC.INI壊すと、当然設定壊れるから慎重に、最悪誤動作の可能性もある
わからなければスルーが吉
781名無しさん@お腹いっぱい。:2013/12/18(水) 23:28:13.03 ID:jglqda+X0
再起動なんてしなくても適用されるだろ
iniへの上書きだけで変数変えてないとか逆にiniだけ書き換えて再読み込みしていないとかポカしてるだけじゃね?
少なくとも俺が試した限りでは再起動なんて必要ない
そもそもUWSC.INIで設定する必要も・・・
782名無しさん@お腹いっぱい。:2013/12/18(水) 23:31:15.75 ID:Y1sO7Jhr0
いにじゃなくてつくりこもうよたのしもうよ
783名無しさん@お腹いっぱい。:2013/12/18(水) 23:42:36.21 ID:OKj70rsb0
起動するのに、Windows標準装備のタスクスケジューラを使うのは、このスレではご法度なの?
784名無しさん@お腹いっぱい。:2013/12/18(水) 23:43:14.59 ID:I35zS+P70
iniを屠るのもそれはそれで楽しそうだな

スクリプトはsleepで待って、PC自体はWindowsのスケジューラでスリープから復帰ってしてるな
そんで処理が終わったらPCもスリープに入る の繰り返し
785名無しさん@お腹いっぱい。:2013/12/18(水) 23:50:27.90 ID:fhnY0MBu0
>>781
そうなのか、いつか使おうと思って覚えていただけなので
教えてくれてありがとう。

>>777の場合はsleepで待機して>>778の通り条件判断するか、
状態記録するファイルを用意してインターバルで1時間に一回起動
条件判断がいいかもしれないね

>>779の言う通り
786名無しさん@お腹いっぱい。:2013/12/19(木) 00:09:01.59 ID:ijTdWfFs0
>>783
その方法もあり
787名無しさん@お腹いっぱい。:2013/12/19(木) 07:55:43.11 ID:fN2y80zU0
色々突っ込もうと思ったが>>779が結論出してた

例えば数万行のテキスト処理方法を議論してる中で
正規表現使えよみたいな効率化観点ではない時点で
結局はどういう方面でアプローチしていくかの次元でしょって事
788名無しさん@お腹いっぱい。:2013/12/19(木) 16:00:23.94 ID:ihCKETXj0
俺なら各スクリプトを制御するマスタスクリプトを走らせるな
何らかの出来合いのもので管理するということは、
その出来合いのものが想定した枠内でしかスケジュールが組めない。

ましてや、サブスクリプトの実行結果をマスタプログラムが見て、
スケジュールを条件分岐させることは不可能だろう。

たとえば二日間連続で実行して次の三日間は実行しない、
なんてパターンはどのスケジューラも既定で持っていないパターンだろう。
スクリプトなら、年間積算日を返す関数などを作っておいて、
( DayOfYear() MOD 5 ) < 2
で判定できるわな。

サブスクリプトの実行結果をマスタに送信するには、
単にグローバル変数を使ってもいいし、
既存のINIファイル命令を介してもいいだろう。

マスタスクリプトの信頼性に自信がないなら、
自分が活動中であることを示すため、
レポートを好きな形式でログに出してもいいし
FUKIDASIで表示してもいいだろうし、
コマンドライン対応のタイニーメールサーバでメール報告させてもいいだろう。
それらを介して外部ツールがマスタスクリプトの生存確認を行い、
生存か確認できなければUWSCの全プロセスを強制停止して再起動すれば良い。

したがって、既存のスケジューラで十分な、単純なスケジュールなら、
マスタスクリプトの製作の手間を省く意味でのみ、既存のものを使い、
そうでないなら、姑息な裏ワザなど追求せずに、マスタスクリプトを書けばいい。

まぁあくまで個人の感想ですが。
789名無しさん@お腹いっぱい。:2013/12/19(木) 16:48:06.28 ID:2jFgW9wG0
すいません
IE.document.body.innerTEXTを取得してprintできるサイトと
できないサイトがあります。この違いは何でしょうか?
790名無しさん@お腹いっぱい。:2013/12/19(木) 17:37:40.84 ID:rL44yr4d0
>>789
<BODY>が有るか無いか。フレームだけのページなどは<BODY>が無い
または
サイトの応答が遅いのに、IEの読み込み完了待ち処理をせず、sleepで時間を決め打ちしてるなど
791名無しさん@お腹いっぱい。:2013/12/19(木) 18:09:20.16 ID:2jFgW9wG0
>>790
どっちも大丈夫です
何が悪いんでしょうか
792名無しさん@お腹いっぱい。:2013/12/19(木) 18:53:24.29 ID:rL44yr4d0
>>791
「エラーが出る」 それとも 「有効な文字列が返ってこない」 どっちなの?
サイトのURLは出せないの?
793名無しさん@お腹いっぱい。:2013/12/19(木) 23:44:28.88 ID:2jFgW9wG0
>>792
例えばこういうページです
社名とか住所とか抽出したいって思った時に出来なかったので
ttp://townwork.net/detail/Fh30010s_lac_01_rid_15469519_axc_40/
ttp://townwork.net/detail/Fh30010s_lac_01_rid_15474704_axc_40/
794名無しさん@お腹いっぱい。:2013/12/20(金) 00:36:11.40 ID:TwwIyG9Q0
>>793
問題なし
795名無しさん@お腹いっぱい。:2013/12/20(金) 00:45:46.49 ID:+ZuJ2gew0
>>794

SLEEP(1)
SENDSTR(0,IE.document.body.innerTEXT)
SLEEP(1)
txt=GETSTR(0)
SLEEP(1)
company=BETWEENSTR(txt,"企業情報・お問い合せ先","住 所 :")
sleep(1)
print company

これでもならないんです
796名無しさん@お腹いっぱい。:2013/12/20(金) 00:58:43.63 ID:cky2JDef0
>>793
できたけど

IE.Document.body.innerTEXT
IEGETDATA( IE, "TAG=body" )

どっちでもできる。
BETWEENSTRで失敗してるだけ。

”住 所:”  ○ 
”住 所 :”  × 

エディタで検索したら一発
797名無しさん@お腹いっぱい。:2013/12/20(金) 00:59:23.43 ID:TwwIyG9Q0
>>795
所 と : の間に余計なスペース文字が1つ入ってる

SendStr(Exec("notepad"), txt, 1, true)
してtxtを確認すべき
798名無しさん@お腹いっぱい。:2013/12/20(金) 01:31:06.35 ID:+ZuJ2gew0
ありがとうございました。
799名無しさん@お腹いっぱい。:2013/12/20(金) 08:28:35.22 ID:n6HVXl8p0
こういう住所や電話番号などの絡みは
テキストを一旦、全角か半角に統一・余計な空白削除・括弧類削除
ーを-に修正etcを統一で行う変換関数を作っておくと便利
800名無しさん@お腹いっぱい。:2013/12/21(土) 12:33:38.88 ID:7c2sTaTH0
CHKIMG関数の座標なんですがデスクトップの座標をしている為、
他のPCで使用すると座標がずれてしまいます。
起動しているアプリ上の座標を指定するにはどうしたらいいでしょうか?
801名無しさん@お腹いっぱい。:2013/12/21(土) 12:43:15.73 ID:av9VbQcF0
mouseorg
802名無しさん@お腹いっぱい。:2013/12/22(日) 03:04:59.42 ID:8CS1lk/R0
すいません
uwscでcsvに出力したいんですが、
セルを指定して出力することは出来ますか?
A1なら会社名、B1なら住所、C1なら電話番号みたいな感じで
803名無しさん@お腹いっぱい。:2013/12/22(日) 04:00:41.45 ID:DeAG8fOO0
エクセルオブジェクト
804名無しさん@お腹いっぱい。:2013/12/22(日) 08:50:17.39 ID:TPfcNBRBi
>>802
comオブジェクト、createoleobjとかgetactiveoleobjでExcel作って、
Excel.range("a"+n).value=kaisya

とかで。コバヤシさんのサイトに触りは書いてる。
805名無しさん@お腹いっぱい。:2013/12/22(日) 09:29:07.73 ID:DeAG8fOO0
そういえばCSVなら便利な関数あるじゃん
806名無しさん@お腹いっぱい。:2013/12/22(日) 10:36:22.07 ID:bWx3fLwv0
わざわざEXCELオブジェクト経由する意味が判らん。
csvの仕様と、EXCELがcsv読み込む仕様に、
難しい所は何もない。
EXCELがcsvを吐くときの仕様に行儀の悪いところがあるだけ。
1行目をタイトル行として、
"会社名,住所,電話番号"
2行目以降をデータ行として
"株式会社ほげ,東京都不臥区禿1−2−3 髭ビル2F,03-0000-0000"
これを拡張子csvで保存してEXCELから開けば端から入っていって
嫌でもA1が会社名になるぞ。
テキストエディタで書いてEXCELで開いてみろよ。
807名無しさん@お腹いっぱい。:2013/12/22(日) 11:54:34.35 ID:8CS1lk/R0
FPUT(fid,company+address+tell,3,3)
これでやると
companyが3行目の3列目C3
addressがA4
tellがA5って感じになっちゃいます
列に隣り合って出力したいんですが・・・
例:A1=company B1=address C1=tell
808名無しさん@お腹いっぱい。:2013/12/22(日) 12:35:12.55 ID:r78nVN2p0
>>807
FPUT(fid, company, 10, 1) //10行1列のセルにcompanyを書き込む
FPUT(fid, address, 10, 2) //10行2列のセルにaddressを書き込む
FPUT(fid, tel, 10, 3) //10行3列のセルにtelを書き込む
809名無しさん@お腹いっぱい。:2013/12/22(日) 12:42:16.01 ID:bWx3fLwv0
HELPよく読んでなくてFPUTの引数を間違えてるだけか…
実際のテキストがどうなってるかCSVをテキストエディタで開いてすらいないだろうな。
FPUTになまじ列対応機能とかあるのが裏目に出たな。
810名無しさん@お腹いっぱい。:2013/12/22(日) 13:28:59.09 ID:8CS1lk/R0
>>809
やってるんだけど、出来ないんです
10,1=A10
10,2=B11
10,3=C12
に出力されちゃうんです
811名無しさん@お腹いっぱい。:2013/12/22(日) 14:06:39.78 ID:DeAG8fOO0
>>810
>10,1=A10
>10,2=B11
>10,3=C12

バグじゃん、開発に報告よろ
812名無しさん@お腹いっぱい。:2013/12/22(日) 14:10:55.09 ID:r78nVN2p0
>>810
UWSCのCSV機能は中途半端だから、改行やダブルクオートを含んだ文字列だと、正常なCSVにならないよ。
FPUTのCSV機能使わずにやるか、EXCEL/Calc経由でやるかだね
813名無しさん@お腹いっぱい。:2013/12/22(日) 16:13:29.81 ID:2PGvt7Kg0
事前に文字列編集してから、FPUTすればいいような
814名無しさん@お腹いっぱい。:2013/12/23(月) 00:19:37.24 ID:AYjBzUmf0
まぁ俺もFPUTの列機能なんて使ったことなくて、
単に
FPUT(fid, company + "," + address + "," + tell)
ってやってるだけだけどね。

>>810
だからさ
その出力されたCSVをテキストエディタで開いてみたかい?
CSVというのはそもそも何なのかぐぐってみたかい?
出力されちゃうんです、じゃねーよw
815名無しさん@お腹いっぱい。:2013/12/23(月) 00:44:54.61 ID:qo4dX5M80
>>802
>>807
テストコード書いたよ
F_READ or F_WRITE を指定するのが普通だけど
それだと前回書いた 4:3 の ”3” が残っちゃって分かりにくいんで。

[test_13_018.uws]
filename = replace( GET_UWSC_NAME, ".uws", ".csv" )

FID = FOpen( filename , F_WRITE )
FPut( FID, "a,b,c",  2 )
FPut( FID, "1",    3,  1 )
FPut( FID, "2",    3,  2 )
FPut( FID, "d,e,f",   3,  F_INSERT )
FPut( FID, "3",    3,  3 )
FPut( FID, "g,h,i" )

FClose( FID )
DOSCMD("notepad " + filename)


[test_13_018.csv]

a,b,c
d,e,3
1,2
g,h,i
816名無しさん@お腹いっぱい。:2013/12/23(月) 01:56:25.79 ID:JSLVoiAW0
ちゃんとした利用法なら十分な利用性のある関数でしょ
読み書き、蓄積、なんでもござれだよ
817名無しさん@お腹いっぱい。:2013/12/24(火) 05:03:39.84 ID:hIhyC3Zn0
バグなのか
ならしょうがないな
818771:2013/12/24(火) 06:13:49.26 ID:4ztCQIgc0
sute.jp は、1日あたり5〜10のメアドが使えるらしい。
それ超えると新規作成を拒否される。

たかがログインするだけのものが意外とでかくなった。
ttp://scripts.web.fc2.com/scriptsup/sute.zip


↑のスクリプトで fukidasi() をスレッドで呼び出そうとしたらなぜか死ぬほど遅くなる。
スクリプト全体が遅くなる。
IEのイベント登録したのが関係あるのかな。
819名無しさん@お腹いっぱい。:2013/12/24(火) 12:35:31.69 ID:+HAhVDeGi
途中まで書いたけど、そこで断念して放置したまま3ヶ月以上死蔵している
スクリプトっていくつくらいあります?
820名無しさん@お腹いっぱい。:2013/12/24(火) 14:22:13.79 ID:MMX97s2G0
>>818
module構文なんて使わないから面白かったわ。
変数のスコープをmodule内に限定できるみたいだから便利だね。
コレ使えばよかったわってのが手持ちに沢山あるな…

ところで
GetTime()
date = eval(G_TIME_YMD)
time = eval(G_TIME_HMS) // YMDとHMSを同時に処理できない
こういうのは凝ったことせず素直に
function getDateAndTime(var date, var time)
で良くね?

ログ出力はFPUT使ってるけどバッチファイル方式かw

Function GetWindowTitle( ID ) に status(id, ST_TITLE) 使わないのは何故

> fukidasi() をスレッドで呼び出そうとしたらなぜか死ぬほど遅くなる
myfukidasiの中でthreadで更に呼び出して
2〜3秒後に自動的に消える投げっぱなし方式のfukidasiにしたかったとか?
即席でテスト書いてみたけど特に怪しい動きはしなかったよ。
試しに1000個生成しようとしたら64個制限エラーが出て生成できなかったし
64個ではCPU使用率に変化殆どなし。
ただし、試しにスレッドごとにIEオブジェクト生成させてみたら、
20個ぐらいから遅くなり始め、MAX64個生成したら俺の4コアマシンでも応答なしになって
UWSCを強制終了するのに数分かかってしまったよ。
821名無しさん@お腹いっぱい。:2013/12/24(火) 14:23:01.20 ID:MMX97s2G0
げ、UWSC強制終了してもIEのプロセスが64個残ったままだわw
822名無しさん@お腹いっぱい。:2013/12/24(火) 17:42:22.81 ID:4ztCQIgc0
>>819
やりたい事と出来る事を突き合わせて作るので未完成と言うのはあまりないけど数は分からない。
他の言語なら未完成があるよ。
UWSCの場合は”出来なかった”と言う確認の積み重ねがほとんどだと思う。
結局、UWSCで出来る事を確認するためのテストコードを大量に書く事に。
動いたコードをGrepで探してコピペだから、一旦動けばずっと使える。

まあ、可能な事なら完成するまでつぎ込める時間があるです。
だけど、Web使うものはWebサイトが閉鎖されたり、仕様が変更されたりした時点で動かなくなって放置なんで
大抵のものが死蔵になってるかな。
gooメールとかメール確認すらなく登録できてたのに・・・


>>820
G_TIME_ って GetTime() を呼び出したスコープでしか使えない。
G_TIME_ を使えば、GetTime() の1回の呼び出しでいろいろ自由にできる。
自由に指定できる関数を作ると言う手もあるけど・・・自由度が増せば複雑度が上がる。

> status(id, ST_TITLE) 使わないのは何故
存在を忘れてた。いや、マジで。
WindowsAPIを使いたい中二的意味もあるかも。

> 2〜3秒後に自動的に消える投げっぱなし方式のfukidasiにしたかったとか?
そうそう。
スレッドはこういうときに便利に使えるはずなんだけどなぜか重くなっちゃって。
823名無しさん@お腹いっぱい。:2013/12/24(火) 18:17:50.49 ID:MMX97s2G0
> G_TIME_ って GetTime() を呼び出したスコープでしか使えない。
関数の中でGETTIMEを呼び出してG_TIME_を元に加工した値を返せばいいでしょ。
俺はG_TIME_みたいなシステム変数をメインルーチンの中では一切触らずにやってるよ♪

for id=0 to 65
  myfukidasi("thread myfukidasi id:"+id, 3+id)
next
sleep(10); exitexit
procedure myfukidasi(str, wait)
  thread threadMyFukidasi(str, wait)
fend
public _staticMyFukidasiId=0
procedure threadMyFukidasi(str, wait)
  fukidasi(str, _staticMyFukidasiId*20, _staticMyFukidasiId*30)
  _staticMyFukidasiId=_staticMyFukidasiId+1
  sleep(wait); fukidasi("")
  _staticMyFukidasiId=_staticMyFukidasiId-1
fend
この_staticMyFukidasiIdもmoduleで外から隠せるのでそのうち使いたいと思ふ
824名無しさん@お腹いっぱい。:2013/12/24(火) 23:02:17.66 ID:q5yMpqMO0
UWSC 画像判定と条件分岐について質問です
どうか宜しくお願いします

1.画像Aがあるか判定する
2.画像Aがあれば、画像Bをクリックする
3.画像Aなければ、いままで使ってるリロード処理を行う

画像A判定→画像Bクリック

以下 いままで使っているリロード処理
IFB ZZ_reload = 1
ZZ_reload = CHKIMG("ZZ.bmp")
PRINT ("リロード画像を検出" + ZZ)
PRINT ("リロード画像横軸: " + G_IMG_X)
PRINT ("リロード画像横軸: " + G_IMG_Y)
MMV (G_IMG_X + 5,G_IMG_Y + 5)
BTN (LEFT,CLICK)
SLEEP (2)
BREAK
ENDIF

IFB LOOP_COUNT = 5
PRINT ("リロード画像無し")
BREAK
ENDIF

困っています 是非お願いします
825名無しさん@お腹いっぱい。:2013/12/24(火) 23:40:02.05 ID:m3X1dCwI0
.画像Aがあるか判定する
これがまず出来てないじゃん

IFB CHKIMG("A..bmp")
画像があるときの処理(画像Bをクリックする)
ELSE
画像がないときの処理(いままで使ってるリロード処理)
ENDIF
826名無しさん@お腹いっぱい。:2013/12/24(火) 23:46:14.16 ID:aJSnW0Lh0
827名無しさん@お腹いっぱい。:2013/12/25(水) 22:08:16.14 ID:ns18OXLs0
//1.画像Aがあるか判定する
判定A=CHKIMG...
//2.画像Aがあれば、画像Bをクリックする
IFB 判定A THEN
  //画像Bをクリック
ELSE //3.画像Aなければ、いままで使ってるリロード処理を行う
  //リロード処理
ENDIF

こんなの今や義務教育らしいじゃん?
828名無しさん@お腹いっぱい。:2013/12/26(木) 03:17:20.66 ID:WuxhXLR9i
自分のプライベート用に作ってるプログラムってどんなのあります?
俺はスケジュール管理系ばかり。
829名無しさん@お腹いっぱい。:2013/12/26(木) 08:24:35.33 ID:QuoI/O7E0
IEと相性良いんで、ネット活動の自動化や一括化やね。

(アフィ)サイトの自動更新、テキスト整形(innerHTML連携で便利なんで)
ブラウザPCゲームの自動稼ぎ、一括登録系、一括POST系、一括メール送信
あとはAPI提供が無いサイトからデータ蓄積・抽出botみたいなスクレイピング。
830名無しさん@お腹いっぱい。:2013/12/26(木) 09:42:55.81 ID:HQsDpckn0
SAVEIMGで保存された時の画像名なんだけど
同じフォルダにその名前のものがあったら違う名前を自動でつけるのってどうすればいいんだ?
831名無しさん@お腹いっぱい。:2013/12/26(木) 10:57:51.05 ID:OI9DnE6z0
>>830
basename = "hoge"
extname = ".bmp"
suffix = ""
for i=1 to 10000
 filename = basename + suffix + extname
 if FOPEN(filename, F_EXISTS)=false then break
 suffix = "(" + i + ")"
next
if i>10000 then MSGBOX("ファイル多過ぎ")
SAVEIMG(filename)
832名無しさん@お腹いっぱい。:2013/12/26(木) 11:11:28.23 ID:OI9DnE6z0
とりあえず上書きされなければいいのなら

def_dll GetTickCount(): dword: kernel32.dll
SaveImg("hoge " + GetTickCount() + ".bmp")
833名無しさん@お腹いっぱい。:2013/12/27(金) 00:25:18.14 ID:RRJWn5gn0
>>815
このバグの回避方法教えてください
Excel出力は有料じゃないと使えないので無料のcsvでなんとだめなんです
834名無しさん@お腹いっぱい。:2013/12/27(金) 00:44:46.07 ID:rgUl75St0
>>833
指定通りに出力されるみたいだけどどのあたりがバグなの?
835名無しさん@お腹いっぱい。:2013/12/27(金) 00:47:08.07 ID:cb+pHm6l0
836名無しさん@お腹いっぱい。:2013/12/27(金) 00:49:13.78 ID:RRJWn5gn0
>>834
されてないじゃん
837名無しさん@お腹いっぱい。:2013/12/27(金) 00:55:58.66 ID:RRJWn5gn0
ごめん されてたわ 忘れて
838名無しさん@お腹いっぱい。:2013/12/27(金) 01:38:32.81 ID:O962ZiXx0
イラくるなあ
839名無しさん@お腹いっぱい。:2013/12/27(金) 06:30:55.19 ID:pqunq3290
>>833
バグがある機能は使わない。

直された後でさえ、かつてバグがあった機能は使わない、永遠にだ。

この程度の開発体制のスクリプトに期待を持つな、不当な期待だ。
840名無しさん@お腹いっぱい。:2013/12/27(金) 10:32:38.11 ID:muE0Qsfli
スクレイピング時の疑問なんですけど、例えば
単語1/単語2/単語3/単語4…単語155
とかってあったとして、単語の文字数も一定ではなく、単語の項目も一定ではない時に、「山」「川」「谷」「田」のどれかを
含む単語だけ抽出したい、っていう場合ってあっさりしたコード記述では難しいですよね?山川…の漢字も4つとかでなく、100以上あるような場合は
結構難解なコード書くしかありませんかね?

あと、入力をした数字によって表示される文字列を変えるコードを書く時、今は

Dim moziretu[99]
test=input("testに数字を入力")

select test
case 0 ;print moziretu[0]
case 1 ;print moziretu[1]
case 2 ;print moziretu[2]

case 99 ;print moziretu[99]
selend

と律儀にやってるんですけど、例えばこれを

select test
case test ;print moziretu[test]
selend

みたいにするのはできないんですかね??
さっき試してみて、どちらも撃沈したやつなので、簡略化できる方いたら教えて下さい。
841名無しさん@お腹いっぱい。:2013/12/27(金) 10:37:49.70 ID:5l7CgQ1V0
配列を使うかcsvのように区切り文字を使って抽出する範囲を判別させる
842名無しさん@お腹いっぱい。:2013/12/27(金) 11:00:22.31 ID:+NM9ZlC40
>>840
s = "池本/桜井/中川/釜田/安永/川本"
re = CreateOleObj("VBScript.RegExp")
re.Pattern = "[^/\s]*[山川谷田][^/\s]*"
re.Global = true
m = re.Execute(s)
for i=0 to m.Count-1
 print m.item(i).Value
next
MsgBox("END")
843名無しさん@お腹いっぱい。:2013/12/27(金) 12:28:09.90 ID:cb+pHm6l0
やっぱ正規表現か。だよな。
844名無しさん@お腹いっぱい。:2013/12/27(金) 14:45:01.00 ID:uj3SuZ7Y0
>>840質問番号でもつけろよ。
前半の質問
正規表現が最も有効>>842だが
使わないなら、検索対象単語配列の各要素に対して検索語配列の全要素を検索する2重ループにする。
もちろん低速。とはいえ100*100程度なら数秒じゃないか?
コードとしてはあっさりしたものになるぞ。

後半の質問
test=input("testに数字を入力")
IF CHKNUM(test) THEN print moziretu[test]
ではなくSELECTしてる理由は?
845名無しさん@お腹いっぱい。:2013/12/27(金) 23:36:04.82 ID:RRJWn5gn0
すいません。URLパターンがhttp://*******@ttss
のみを絞るときはどうすればいいですか?↓だと全URLが出てしまいます
re.Pattern = "https?:\/\/[-_.!~*'()a-zA-Z0-9;\/?:\@&=+\$,%#]+"
846名無しさん@お腹いっぱい。:2013/12/27(金) 23:38:23.09 ID:RRJWn5gn0
事故解決しました
847名無しさん@お腹いっぱい。:2013/12/28(土) 00:45:40.44 ID:n/FJjJDP0
ttp://anago.2ch.net/test/read.cgi/software/1278083626/876
というのをUWSCでやってみた。

最初 (1) を作ったんだけど3つのプロセスのうちひとつしか設定されないうえに
タスクマネージャーから開くと権限が書き換わってエラーが出るようになった。
管理者権限でタスクマネージャーを起動すれば見れたけどそんなのあほらしいんで
(2) を試してみたらしたらうまく行ったんだけど、これだと start コマンドでやっても同じだなあと。

(1)
ID = exec(program)
Hnd = OpenProcess( PROCESS_QUERY_INFORMATION or PROCESS_SET_INFORMATION, TRUE, STATUS( ID, ST_PROCESS ) )
SetProcessAffinityMask( Hnd, 5 )
CloseHandle(Hnd)

(2)
Hnd = GetCurrentProcess()
SetProcessAffinityMask( Hnd, 5 )
exec(program)
CloseHandle(Hnd)

// 定義部分
DEF_DLL GetCurrentProcess(): hwnd: kernel32
DEF_DLL OpenProcess(dword, bool, dword): hwnd: kernel32
DEF_DLL GetProcessAffinityMask(hwnd, var dword, var dword): bool: kernel32
DEF_DLL SetProcessAffinityMask(hwnd, dword): bool: kernel32
DEF_DLL CloseHandle(hwnd): bool: kernel32

public PROCESS_DUP_HANDLE       = $0040
public PROCESS_SET_INFORMATION   = $0200
public PROCESS_QUERY_INFORMATION = $0400

program = "C:\Users\xxx\AppData\Local\Chromium\Application\chrome.exe"
848名無しさん@お腹いっぱい。:2013/12/28(土) 02:02:25.47 ID:ZNYh/MSX0
数分間、又は数回画像認識できない場合F5を押して途中で見つかったらまた繰り返す処理をしたいのですがどうすればいいでしょうか
While True
ifb CHKIMG("画像A",0)
x=G_IMG_X
y=G_IMG_Y  
btn(left,click,g_img_x,g_img_y)
MMV(x+50,y+50,0)
sleep(3)
//B,D,E,F画像で同じ回数chekimg
endif //個数分書いてます

IFB chkimg("画像1.bmp")=true THEN
 ifb CHKIMG("画像2.bmp",0)
 x=G_IMG_X
 y=G_IMG_Y   
 btn(left,click,g_img_x,g_img_y)
 MMV(x+50,y+50,0)
 sleep(3)
 endif
 REPEAT
// chekimg数回
UNTIL chkimg("画像3")=true 
endif
wend

このような感じです
849名無しさん@お腹いっぱい。:2013/12/28(土) 02:57:30.35 ID:n/FJjJDP0
ほれ
どう考えてもperiodに達しないけど


dim 秒数 = 60
dim 回数 = 3
dim 画像リスト[] = "画像A", _
          "画像B", _
          "画像C", _
          "画像D"

while true
 // 内while終了条件をリセット
 period = gettime(秒数/24/60/60)   // ループ終了条件1 予定時刻
 count = 0              // ループ終了条件2 予定エラー回数
 
 while gettime() < period
  for i = 0 to length(画像リスト) - 1  // 必要な個数分繰り返し
   ifb !chkimg(画像リスト[i])
    count = count + 1       // なかった回数をカウント
   else
    // あったらやり直し?
    continue 3
   endif
   sleep(0.1)
  next
  if 回数 < count then break
  sleep(1)
 wend
 KBD(VK_F5)
 
wend
850名無しさん@お腹いっぱい。:2013/12/28(土) 13:40:44.79 ID:KkqSZHRk0
URLリストからブラウザでIEを起動せず、情報を入手したいんですが
それってできますか?
851名無しさん@お腹いっぱい。:2013/12/28(土) 14:14:52.97 ID:VkYFC1vS0
>>850
つ Microsoft.XMLHTTP
852名無しさん@お腹いっぱい。:2013/12/28(土) 14:16:52.56 ID:pthmA2h10
可能だよ
でも結局ブラウザに類するオブジェクトを内部的に作成して〜って流れになるよ

参考URL
http://siromasa.digi2.jp/uwsc/u_term/MSXML.html
853名無しさん@お腹いっぱい。:2013/12/28(土) 18:11:24.19 ID:Sm1OlDTO0
IE8以降ならHTML独自仕様ほとんどないから
Safari,Chromeあたりと同じ位置づけでいいんじゃない?
854名無しさん@お腹いっぱい。:2013/12/28(土) 18:24:57.67 ID:J11FVOKU0
ChromeもCOM的に操作できたら捗るんだけどなぁ。
855840:2013/12/29(日) 07:34:58.06 ID:qF357mkgi
返事遅くなりました。

>>842
ありがとうございます!正規表現調べて自分のものにします。
参考にさせてもらいます。
VBScriptとか全然触れたことがなかったけれど、コードを見る限り、
全く手が届かないものでもなさそうなので、そちらも調べてみます。

>>844
質問番号は確かに。以後気をつけます。

>>検索対象単語配列の各要素に対して検索語配列の全要素を検索する2重ループにする

これって「自分が予想できる要素のみで構成されている場合において有効」なもの
ではないでしょうか?例えば「単語が100あり、その中に全ての常用漢字が使われる可能性がある」
というような場合、コードを書く時かなりしんどくないでしょうか?

CHKNUMは触ったことがなく、用途も知りませんでしたが、確かにそれならいけますね。
勉強になりました。ありがとうございます!
856名無しさん@お腹いっぱい。:2013/12/29(日) 13:23:07.10 ID:y3E8xddb0
>>855
スクレイピングと言ったのだから対象要素が不定という要求仕様があるということは
言わなくても判るものだ、というつもりだったのかな?
VBScriptも正規表現も使ったことないのに今までどんだけ言語いじってきたか知らないが、
そこまで言うなら金出してスクレイピングソフト買うなり製作依頼の仕事出すなりすべきじゃないか?
要求仕様の後出しはやめようね。

大量のデータ捌くのは、データ構造の設計して、
判定用マスタ情報も自動で読ませるのが普通。
じゃなきゃどんな方法使おうと無意味。しんどいに決まっとる。

まぁ正規表現でやるにしても、常用漢字のチェックとか
不利だらけのUWSCでやらなきゃいけない意味が判らんが。

エラーチェックはChkNumだけでなくもっと沢山必要だぞ。
ループでやるなら判定材料を配列に納めろところさえ自動でやればPG自体は簡単。ただし遅い。
正規表現でやるならさらに、式を文字列操作関数で自動生成することになるが、
果たして何文字までの正規表現ならまともに動くかな?ということになるな。

ちなみに[a-z]とは書けるが[亜-腕]と書けるわけでもない正規表現で
2136字の常用漢字を判定するつもりなら、
正規表現が最適かどうか怪しいぞw
要求仕様の後出しはやめようね。
857名無しさん@お腹いっぱい。:2013/12/29(日) 14:42:01.56 ID:gH8OCtI+0
もしVBSの正規表現で間に合わないならbregonig.dllでやるのもいいよ
そっちならShiftJIS全文字並べた長いパターンでも大丈夫だし、戻り読みにも対応してる
858名無しさん@お腹いっぱい。:2013/12/29(日) 18:33:20.42 ID:6fGhBvbo0
ファンクションを作成したuwsファイルを別のuwsファイルで読み込んで
使うことってできる?
859名無しさん@お腹いっぱい。:2013/12/29(日) 18:36:34.33 ID:U3C3rCXu0
call
860名無しさん@お腹いっぱい。:2013/12/29(日) 18:53:21.14 ID:6fGhBvbo0
>>859
できました
ファイルの実行しかできないと思ってた、有難うございます!
861名無しさん@お腹いっぱい。:2013/12/30(月) 00:10:29.58 ID:uCwyxvsg0
IESETDATA( IE, 1, , "A" )
IESETDATA( IE, 1, , "B" )
IESETDATA( IE, 1, , "C" )

これらをwhile trueの間ランダムで選択し続けたいのですがどうすればいいのでしょうか

また
Aを押したらBかC、Bを押したらAかC、Cを押したらAかBとするのは可能ですか
862名無しさん@お腹いっぱい。:2013/12/30(月) 00:35:19.60 ID:iGnraarK0
> Aを押したらBかC
HTML内でOnClickイベント時にBかCをするようにinnerHTMLを書き換えればいいけど
直接呼び合うとおかしくなるんで
それぞれをクリックしたときの動作を関数として外に出してそれを呼ぶようにする必要がある。

WebページのボタンをクリックしたときにUWSCを呼び出す事は出来ない。
Pro版を使ってGUIを作ったときの話は知らないんで本家で聞いてね。

 RANDOM(Range)      // 0 <=X <Range の範囲にある乱数を返す

select RANDOM(3)
 case 0
  data = "A"
 case 1
  data = "B"
 case 2
  data = "C"
selend
IESETDATA( IE, 1, , data )

配列を使ってもいいけどこっちの方が汎用的。
863名無しさん@お腹いっぱい。:2013/12/30(月) 00:43:07.89 ID:GBw32SmH0
近頃UWSCと関係ない、それ以前の構造文の基礎の質問だらけだな。
義務教育でプログラミングが採用されてからは習ってるはずだが?

chars[] = "A", "B", "C"
sel = 0
while true
 sel = random(3) // 0-2の整数
 IESETDATA(IE, 1, , chars[sel])
wend


VKABC[] = VK_A, VK_B, VK_C
getABC[] = false, false, false
for idx=0 to resize(VKABC)
 getABC[idx] = getkeystate(VKABC[idx])
next
resChar = ""
for idx=0 to resize(getABC)
 ifb getABC[idx] then
  resChar = chars[( idx + random(2) + 1 ) mod 3] //または
  resChar = CHR( ASC("A") + ( ( idx + random(2) + 1 ) mod 3 ) )
  break
 endif
next
864名無しさん@お腹いっぱい。:2013/12/30(月) 00:49:52.71 ID:iGnraarK0
ああ、AとかBとかCとかを押したらってのは文字通りキーボードの事だったか。
だけど呼び合う事が出来ないのは同じ。

UWSCでBをクリックすると、Bがクリックされた事を拾ってしまうから。
865名無しさん@お腹いっぱい。:2013/12/30(月) 07:48:43.41 ID:dTdK4kbH0
フラグ管理しとけばなんお問題もない
866名無しさん@お腹いっぱい。:2013/12/30(月) 09:45:35.27 ID:u85b+QZp0
> 近頃UWSCと関係ない、それ以前の構造文の基礎の質問だらけだな。
> 義務教育でプログラミングが採用されてからは習ってるはずだが?

高等学校情報B
http://ja.wikibooks.org/wiki/%E9%AB%98%E7%AD%89%E5%AD%A6%E6%A0%A1%E6%83%85%E5%A0%B1B

これいつ頃からやってんの?w
867名無しさん@お腹いっぱい。:2013/12/30(月) 10:40:01.59 ID:/xfC/q5R0
プログラミングってこと理解した方がいいよな
わからないならマウス記録機能だけ使ってろっての
868名無しさん@お腹いっぱい。:2013/12/30(月) 13:51:06.76 ID:WqxIqwX90
キーボードは使っちゃいけないの?コード組むよりショートカット使ったほうが捗ることもあるけど
869名無しさん@お腹いっぱい。:2013/12/30(月) 17:42:00.42 ID:7PGIvt+4P
>>866
こういうのってさ、英語と同じで教科書ばっかり進化しても
先生がそもそも知らんわけよ。
ヘタしたら親がPCいじりの好きな生徒の方が詳しかったりね。

もともと義務教育でベーシック言語みたいな項目がさらっとあったはずだけど
先生もまともに説明できないもんだから、歴史の教科書の後半並みに飛ばし読みで
終わりだし。
870名無しさん@お腹いっぱい。:2013/12/30(月) 17:46:26.77 ID:jYyFXJvx0
いつから高校が義務教育になったんだ
871名無しさん@お腹いっぱい。:2013/12/30(月) 18:36:16.98 ID:JYEaJHQV0
必死にP2使ってまで無知をひけらかすとか何がしたいんだろうな。
もう来るな。
872名無しさん@お腹いっぱい。:2013/12/30(月) 18:58:55.48 ID:W3exYdgUP
2chでp2バカにする奴は田舎もん確定
p2使うのはIP規制が頻繁にあるから
つまり人口が多い地域に住んでいる証明みたいなもん
地方じゃIP規制なんてならない
年がら年中IP規制なあ時なんて無い人はP2使う
田舎もんには信じられないだろうが
あるんだよね
年がら年中IP規制の地域
どこのプロバイダーに替えてもIP規制の多い地域は一緒一緒
結局人口密度だろ

無知をひけらかしたんでは無く
本人大真面目
お前にそういう時期は無かったの?
そういう時期だから質問するってさっしてやれよ田舎もん
873名無しさん@お腹いっぱい。:2013/12/30(月) 19:01:51.74 ID:eezGA68y0
安定の末尾Pw
874名無しさん@お腹いっぱい。:2013/12/30(月) 19:49:45.57 ID:F+f0ZyTmP
>>872
地方でもそうでなくても大手のISP使うのは変わらん気がするが?
875名無しさん@お腹いっぱい。:2013/12/30(月) 20:06:19.02 ID:uMbXUb3w0
ここ数日、回答もらったのにお礼すら書かない人が多いね
義務教育で礼儀を教えろよ>文科省
876名無しさん@お腹いっぱい。:2013/12/30(月) 20:28:48.71 ID:7PGIvt+4P
あれだ、年末でバタバタしてんだろ。
877名無しさん@お腹いっぱい。:2013/12/30(月) 21:19:17.75 ID:u85b+QZp0
>>875
基礎がないので貰った回答が理解できんのだろう。
878名無しさん@お腹いっぱい。:2013/12/30(月) 21:28:47.20 ID:jYyFXJvx0
2chなんかでお礼を期待するほうが馬鹿
879名無しさん@お腹いっぱい。:2013/12/30(月) 22:37:42.88 ID:DADWNRVk0
じゃあ、2chで回答を期待するのも馬鹿ってことになるな
880名無しさん@お腹いっぱい。:2013/12/30(月) 23:20:45.31 ID:jYyFXJvx0
そういうとこだろ
881名無しさん@お腹いっぱい。:2013/12/30(月) 23:21:59.65 ID:DADWNRVk0
じゃあ、もう回答も不要だな
スレ終了w
882名無しさん@お腹いっぱい。:2013/12/31(火) 01:33:01.85 ID:+kaZuARN0
期待するなってことなのに
どうして極論なのか
883名無しさん@お腹いっぱい。:2013/12/31(火) 02:11:17.39 ID:IabyV/GM0
ぶっちゃけ、くだらない質問に親切心で答えてやってるやつが
結果的に「荒らしに餌をやる構図」になってる。

答え教えてるやつが結果的にスレ汚しに加担してる形になってるわけだ。

テンプレ読まない、何がやりたいのか説明しない、作成途中のスクリプトすら書かないやつには
直接答えを教えず、道標だけ示せばいいかと。それか放置か叩けばそのうち懲りるんじゃね。
884名無しさん@お腹いっぱい。:2013/12/31(火) 13:23:17.63 ID:xO+kU/q10
「ぼくの考えた最強の2ちゃんねる」は過去現在未来において存在しません
885名無しさん@お腹いっぱい。:2013/12/31(火) 13:32:55.77 ID:S468KNLe0
>>883
それ、次からテンプレに入れるべきだね
886名無しさん@お腹いっぱい。:2014/01/02(木) 00:18:59.49 ID:ccFUumo70
>>847 は無駄だったと思ったんだけど意味あったよ。

環境引っ越して chrome-win32 を Program Files (x86) に置いてショートカットを設定しようとしたら
start コマンドじゃ登録できなかった。

ダブルクォーテーションが使えないんだな。
C:\Windows\System32\ にあるアクセサリは start コマンドでもいけた。
ただし、Windows 8.1 のスタート画面のショートカットではコマンドプロンプトは開くものの、アプリは起動しなかった。

Windows 8.1 は動作がきびきびしてるが、コマンド関係が不自由になってる。
887名無しさん@お腹いっぱい。:2014/01/02(木) 01:07:24.03 ID:o8PIdPa50
ウィルス対策だから仕方ないわな
888名無しさん@お腹いっぱい。:2014/01/02(木) 05:59:52.19 ID:ccFUumo70
いや、俺が間違ってただけだった。
ダブルクォーテーションのありとなしで動作が変わるからはまった。

詳しくは
ttp://anago.2ch.net/test/read.cgi/software/1278083626/876-877
ttp://toro.2ch.net/test/read.cgi/tech/1374205515/321-323

UWSCでもコマンドライン オプションでプログラムを指定して汎用的に動くようにしようとすると
ダブルクォーテーションをつけないと動かなかったんだ。当然と言えば当然だけど。

だけど、UWSCのスクリプトで直接実行ファイルを指定して動かせたから
start でも動くかもと試行錯誤する気になったわけで、まあ、意味はあった。
急ぐ場合でもとりあえず動かせるのがいい。

ちゃんと動くコマンドラインのサンプルがこれ。
C:\Windows\System32\cmd.exe /c start /affinity 5 "chrome" "C:\Program Files (x86)\chrome-win32\chrome.exe"
"C:\Program Files 3\uwsc\UWSC.exe" "C:\Program Files 3\uwsc\小物\SetAffinity.uws" "C:\Program Files (x86)\chrome-win32\chrome.exe"
889名無しさん@お腹いっぱい。:2014/01/02(木) 22:40:55.09 ID:zaHC9MQ50
バッチファイルユーザーは過去散々、
忌まわしい空白混じりパスに対しダブルクォーテーションで戦ってきたので
例え不要になったとしても省略したりなどしない。
ダブルクォーテーションで囲ってもいいなら是非囲う、それが漢ってもんだろ。
890名無しさん@お腹いっぱい。:2014/01/02(木) 22:47:48.33 ID:r85/cisY0
コマンドに渡すときだけダブルコートだね
変数定義でダブルコートつけてるやつはニワカ
891名無しさん@お腹いっぱい。:2014/01/02(木) 23:48:25.30 ID:34T51zIfP
いやぁ。パスは囲んじゃうね。
囲まないことでトラブることはあっても囲んで悪いことは無いし
習慣として囲むわ。
892名無しさん@お腹いっぱい。:2014/01/02(木) 23:56:15.83 ID:2HtQnuQy0
Program Files 何度MSってバカじゃねーのと思ったことかw
893名無しさん@お腹いっぱい。:2014/01/03(金) 00:37:45.86 ID:OcF3kY1E0
実はバカじゃなくて、独禁法違反の妨害行為なんだろうけどね。
今回の Program Files (x86) のカッコもわざとだろ。
自爆してるけど。
「Microsoft の使い方が誤っています」http://orangeclover.hatenablog.com/entry/20090903/1251988909
スレ違いだからこの辺にしておくか。
面白いネタをありがとう。
894名無しさん@お腹いっぱい。:2014/01/03(金) 17:53:21.05 ID:LYGpL4/d0
LFNの完全に正しい仕様
そりゃ20年経ってもLFNに対応しないのがおかしい
895名無しさん@お腹いっぱい。:2014/01/04(土) 20:15:04.45 ID:U27tC0SB0
質問させてください。
id = EXEC("notepad.exe")
と書いたuwsファイルを実行すると、問題なく新規メモ帳が開きますが
fid = FOPEN("D:\UWSC49\test.txt", F_READ or F_WRITE)
と書いてもtest.txtが起動しません。

念のためMSGBOX(GET_CUR_DIR)でテストしましたがtest.txtを置いている階層はあっていますし
ファイル名、フォルダ名共に間違いもありません。
何か他に考えられる原因などありますでしょうか?

win7proで使用しています。
すみませんがよろしくお願いします
896名無しさん@お腹いっぱい。:2014/01/04(土) 20:27:52.00 ID:lt87u3EU0
fopenはそういう用途に使うもんじゃない
897名無しさん@お腹いっぱい。:2014/01/04(土) 20:44:43.31 ID:AfeuS2620
>>895
何が聞きたいのかよく分からんけど、おそらくメモ帳でtest.txtを開きたいってことかな?
だったらexec("notepad.exe D:\UWSC49\test.txt")でいいと思うけど
898名無しさん@お腹いっぱい。:2014/01/04(土) 20:45:47.93 ID:Y6uX3Tpp0
fopenはUWSC.exeが自分でFGETしてFPUTしてFDELLINEしてFCLOSEするので
notepad.exeは必要ないし起動もしない

*.txtを関連付けで起動したいなら、DOSのstartコマンドを使う
c:\> start "Hello World" "D:\UWSC49\test.txt"
899名無しさん@お腹いっぱい。:2014/01/04(土) 20:55:53.72 ID:U27tC0SB0
皆様、レスありがとうございます。
fopenは、あくまで内部的に操作をするという事だったのですね。
私が考えていた動作は>>897さんが書いて下さったものでした。
私の質問文が言葉足らずだったようで申し訳ありません。

回答ありがとうございました。
900名無しさん@お腹いっぱい。:2014/01/05(日) 04:18:01.75 ID:uecPH+Nc0
とあるブログからコピペした↓を自分の環境で動かしてみたら

while True            //ループ開始
ifb CHKIMG("ball.bmp")   //もし、ball.bmpと同じ画像があったら
x=G_IMG_X           //xにball.bmpのX座標を代入
MMV(x, 770)          //座標(x,770)にマウスを移動(y座標は調整してください)
endif               //IFbの条件終了
WEND             //whileからここまでの無限ループ

KansuCall:モジュール 'UWSC.exeのアドレス 004FCD34 でアドレス00000000 に対する読み込み違反がおきました。
2行目:IFB CHKIMG("ball.bmp")
と表示されて動かないんだけど何が原因?
901名無しさん@お腹いっぱい。:2014/01/05(日) 05:04:04.51 ID:AIY7SRvH0
>>900
画像がおかしいんじゃね?
24ビットカラーで保存してる?
902名無しさん@お腹いっぱい。:2014/01/05(日) 05:30:23.89 ID:uecPH+Nc0
>>901
うん

試しに他の画像にしても同じエラーが出る
書き込む前にggってみたけど同じ様なエラーでてる人いないっぽいし
903名無しさん@お腹いっぱい。:2014/01/05(日) 05:52:20.72 ID:RUQK6DJV0
>>902
じゃ、他の画像もおかしいんじゃね?
904名無しさん@お腹いっぱい。:2014/01/05(日) 06:11:23.55 ID:uecPH+Nc0
>>903
小さくてわかりづらいかも知れないけど

ttp://uproda.2ch-library.com/747466sLR/lib747466.bmp
905名無しさん@お腹いっぱい。:2014/01/05(日) 06:27:16.80 ID:bdZGvP5F0
晒せる範囲で環境晒してみたら?

自分はWin7x64環境のV2C(x64)で
設定した板を巡回するスクリプトでCHKIMG()を使っているが
特に問題ないよ

後、問題の切り分けのために
調査対象じゃない画面でCHKIMG()を使ってもエラーになるかとか調べてみるといいよ

要するに自分の環境ではエラーになるという現実を受け入れて
どこにその原因があるかを考えるのだ

UWSCのバージョンを変えてみるとか
再インストールしてみるとか
頑張れ
906名無しさん@お腹いっぱい。:2014/01/05(日) 06:49:43.09 ID:uecPH+Nc0
>>905
バージョン下げてみたらエラーでなくなった

ありがとう
これで先にすすめるよ
907名無しさん@お腹いっぱい。:2014/01/05(日) 07:05:09.19 ID:BC7rx3sd0
>>904
jpgやん
908名無しさん@お腹いっぱい。:2014/01/05(日) 07:52:48.18 ID:rRy9nCfoi
>>856
専門馬鹿?

>そこまで言うなら金出してスクレイピングソフト買うなり製作依頼の仕事出すなりすべきじゃないか?
要求仕様の後出しはやめようね。

読んでわからない人?後出しせず最初に書いてるがな。
ソフト買うのは目的と違うし、自分は毎回買いながら言わないと筋違い。

>大量のデータ捌くのは、データ構造の設計して、
判定用マスタ情報も自動で読ませるのが普通。
じゃなきゃどんな方法使おうと無意味。しんどいに決まっとる。

それを最初から聞いてるのわからないかな?
結論「俺じゃ無理」とだけ書いておけば、的を射た回答だった。
何かうっすいし疲れるね。プログラム出来てもコミュ(ry

ただ、勉強にはなった。今後気をつける。
909名無しさん@お腹いっぱい。:2014/01/05(日) 08:10:03.80 ID:rRy9nCfoi
>>857

遅くなってすいません。
参考にさせて頂きます。ワードを参考に調べてみますね!
ありがとうございました。
910名無しさん@お腹いっぱい。:2014/01/05(日) 10:09:00.25 ID:CZaJ7SoX0
メモ帳に以下のようにあります

//文字列行数、名前、チーム,
//チームは必ず2人1組です

1山田,1
2,田中,2
3,佐藤,3
4,小川,2
5,高橋,3
6,西川,1
911名無しさん@お腹いっぱい。:2014/01/05(日) 10:29:39.15 ID:+eNMVSJd0
宿題は自分でやりなさい
912名無しさん@お腹いっぱい。:2014/01/05(日) 10:32:56.67 ID:6spSaAVu0
すみません、途中で送信してしまいました。

チーム1の山田さんはチーム2の田中さんのことが好きです。
チーム3の佐藤さんは同じチームの高橋さんが嫌いです。
他にも、チーム替えすべきことが幾つかあります。
相応しいチームに組み替えるCSV処理を教えてください。
なお、サンプルの人達は男子校を想定しています。
913名無しさん@お腹いっぱい。:2014/01/05(日) 10:59:34.59 ID:Mqt93rqf0
>>912
作成依頼スレで聞いてください
914名無しさん@お腹いっぱい。:2014/01/05(日) 11:03:18.70 ID:p22aiR/T0
腐女子の自動カップリンクスクリプトか?
915名無しさん@お腹いっぱい。:2014/01/05(日) 11:06:29.26 ID:CZaJ7SoX0
すみません、気付かないうちに途中で書き込んでしまっていました。
聞きたかった事は、どの組み合わせが一番効率が良くなるか?という事です。
(組み合わせ=ペアです)

それではよろしくお願いします。 
916名無しさん@お腹いっぱい。:2014/01/05(日) 12:56:06.91 ID:TUVWg/yo0
>>908
何も難しいことはない、速度を気にしなければループで処理するだけ、お前以外の誰でも出来る。
正規表現もお前以外だれでもできるが、各正規表現ライブラリの仕様制限がどこまでかに縛られる。
あと>>909のワードはキーワードな。おまえは伸びない。
917名無しさん@お腹いっぱい。:2014/01/05(日) 12:59:23.33 ID:0w/qSVoX0
IFB  …A
 IFB …B
  IFB…C
  ENDIF
 ENFIF
ENFIF

上記のようにIFBを入れ子にして上からA,B.Cとする
Aの式の条件を満たしてない時にBの式の条件を満たしても
Bのスクリプトは動作しないよね?
918名無しさん@お腹いっぱい。:2014/01/05(日) 13:07:25.45 ID:CZaJ7SoX0
>>917
つかそんなの適当に計算なりカウントなり適当に動作させれば分かるだろ
ここで聞く事か?

自分の頭で何も考えられないゆとりは帰れよ
919名無しさん@お腹いっぱい。:2014/01/05(日) 13:11:56.95 ID:GRZ6wbM60
そうそう。屑質問は徹底的に叩き潰せ。
少しでも情けをやると付け上がって俺たちを無料デバッガーか
UWSC版Googleのようにこき使うからな。
920名無しさん@お腹いっぱい。:2014/01/05(日) 13:27:18.93 ID:0w/qSVoX0
>>918
最近始めたばかりで簡単な式で試験的に動作させるという発想がなかったわ
ありがとう試してくる
921名無しさん@お腹いっぱい。:2014/01/05(日) 13:27:34.78 ID:4FXrkyqB0
>>915
なにがそれでは、だw
これはデータ構造と、数理計画・離散最適化の問題で、やればやるほど難しいし、
そもそも操作自動化スクリプトであるUWSCが目的とする課題ではない。
素のC言語やBASIC言語やJavaやらで勉強したほうがためになるよ?

//同姓同名を考えず、名前のみで一意な個人が特定できるものとする。
//同姓同名がいる場合は名前に対応するシリアルナンバーが必要。

//好き嫌いテーブル:名前、チーム,好き嫌い,対象の人,対象の人のチーム
//一人が複数の好き嫌い対象を持つことも可能
山田,+1,田中
佐藤,-1,高橋


//判定テーブル
山田,山田,-999
山田,田中,+1
山田,高橋,-1

田中,山田,…

このような総当り判定表を2重ループで自動生成。
各個人ごとにうまく配列に納めてソートすれば、各個人が誰と一番組みたいかまで判る。
更に、ある個人が一番組みたい誰かと、その誰かがその個人とどれだけ組みたいかの
判定ポイントを合算した配列をソートすると良いだろう。
想定通りにうまく判定させるには好き嫌い判定ポイントを絶妙に設定する必要がある。
また片思いや三角関係やストーカー関係まで判定するには更なる工夫が必要。

ちなみにこの分野はこういうのね。
http://www.secom.co.jp/isl/research/cs/report03/
これをBLのカップリングスケジュール問題として応用するわけかw
922名無しさん@お腹いっぱい。:2014/01/05(日) 13:33:34.04 ID:B/Gq4CWU0
>>921
悪質な質問は完全スルーしろよ
923名無しさん@お腹いっぱい。:2014/01/05(日) 13:33:47.66 ID:4FXrkyqB0
>>921の訂正
//好き嫌いテーブル:名前、好き嫌いポイント,対象の人
//一人が複数の好き嫌い対象を持つことも可能
山田,+1,田中
佐藤,-1,高橋


だな。
RDBならクエリを連鎖させれば数発で出る。
924名無しさん@お腹いっぱい。:2014/01/05(日) 13:34:11.35 ID:CZaJ7SoX0
>>920
おう、そのやり方はコード書く上では必須だから今後も使うといいぜ。

他には
FUKIDASI() とか、PRINT() なんかもデバックにはかなり使えるから試してみるといいよ
頑張れよ!!
925名無しさん@お腹いっぱい。:2014/01/05(日) 13:35:33.28 ID:4FXrkyqB0
>>922
出来ないのに云々の捨て台詞阻止で
どれぐらい無理ゲーなのかを示してやっただけだよ。
926名無しさん@お腹いっぱい。:2014/01/05(日) 13:36:22.53 ID:4FXrkyqB0
>>924
それハマったけど
FUKIDASI("hoge")
PRINT "hoge"
なんだよなぁw
927名無しさん@お腹いっぱい。:2014/01/05(日) 16:45:08.57 ID:4FXrkyqB0
//このスクリプトはリファレンスに乏しいから、
//一々こうやって調べにゃならんのよ。

// FORのテスト

PRINT "FOR loop=0 TO 3"
FOR loop=0 TO 3; PRINT loop; NEXT// 0,1,2,3
PRINT "end of 'FOR loop=0 TO 3'"
PRINT "now loop="+loop+", out of loop." // ループ抜けた後も生存し、値は4
PRINT

PRINT "FOR loop=1 TO 1"
FOR loop=1 TO 1; PRINT loop; NEXT // 実行されんの?
PRINT "end of 'FOR loop=1 TO 1'"
PRINT "now loop="+loop+", out of loop." // ?
PRINT

PRINT "FOR loop=1 TO 0"
FOR loop=1 TO 0; PRINT loop; NEXT // エラー?逆方向にループ?
PRINT "end of 'FOR loop=1 TO 0'"
PRINT "now loop="+loop+", out of loop." // ?
PRINT

PRINT "test end."
928名無しさん@お腹いっぱい。:2014/01/05(日) 21:17:20.58 ID:bdZGvP5F0
この言語に限らず
何か気になった時に実際に組んでいる途中のスクリプトだと問題点の切り分けがややこしくなりがちなので
最小単位の独立したサンプルを作成して試すってのは往々にして必要だよね
929名無しさん@お腹いっぱい。:2014/01/05(日) 21:21:45.16 ID:Kggkpa/w0
つ オブジェクト指向
930名無しさん@お腹いっぱい。:2014/01/05(日) 21:22:06.17 ID:izEOBSmY0
だな、自分はforの変数がループ内で変更出来ないのでハマったわ
931名無しさん@お腹いっぱい。:2014/01/05(日) 21:46:31.53 ID:4FXrkyqB0
お、テストにソレ忘れてたと思って書いてみたら
俺の認識を更に改める結果になったw

FOR loop=0 TO 5
  IF loop=2 THEN loop=3
  PRINT loop
NEXT

UWSCの仕様だと
0, 1, 3, 4, 5
0, 1, 2, 3, 4, 5
0, 1, 3, 3, 4, 5
どれでしょうか?
こんな事がHELPに仕様、書かれてないのがUWSC
932名無しさん@お腹いっぱい。:2014/01/05(日) 22:05:10.40 ID:FYJIQhJu0
それはそれとして
for文のループ変数を途中で弄るよう奴が書くコードなんて読みたくないな
933名無しさん@お腹いっぱい。:2014/01/05(日) 22:29:50.77 ID:p22aiR/T0
>>931
HELPにキチガイの間違い集とか要らないんで
934名無しさん@お腹いっぱい。:2014/01/05(日) 22:55:02.34 ID:4FXrkyqB0
jpcertのセキュアコーディングスタンダードなどのコード規約や
コーディング作法でならば非推奨でも、
仕様に書いていない、何の規格も規約も無いスクリプトで、
禁止されていない書き方をしたのだから、間違いではないなw
935名無しさん@お腹いっぱい。:2014/01/05(日) 23:06:37.65 ID:bdZGvP5F0
うーん、HELPをど親切にしろとは言わないが
例えば GETKEYSTATE() は瞬間値では無いという説明が無いのは良くないと思うぜ
While等のループ脱出に使いたい場合空呼びが必要ってのは地味にハマる
936名無しさん@お腹いっぱい。:2014/01/05(日) 23:39:35.23 ID:+eNMVSJd0
基本もっと親切にっていう人は他のプログラムにさわったことない人なんだよな
ヘルプにUWSCとは別の部分のリファレンスがわからないから説明載せろとか(APIとかDLLとか)
937名無しさん@お腹いっぱい。:2014/01/06(月) 00:20:50.84 ID:v0tRZf2D0
>935
While等のループ脱出に空呼びって、どういうこと?
ループ中に入れたsleep()にgetkeystate()を押したらダメということ?
938名無しさん@お腹いっぱい。:2014/01/06(月) 00:53:37.44 ID:Yt+Bs/7Y0
>>937
GETKEYSTATE() は過去に指定したキーが押下されたか判定する関数なので
例えば無限ループをESCキーで脱出したい場合は

GETKEYSTATE(VK_ESC)
While True
if GETKEYSTATE(VK_ESC) then exit
//適当な処理
WEnd

ってしていないとダメ
長いスクリプトで起動からループまでの間に VK_ESC が押されていたら 適当な処理 が動作しない
なのでWhile前に ESCキーの押下判定を一旦クリアする必要があるの
939名無しさん@お腹いっぱい。:2014/01/06(月) 01:03:46.60 ID:Krcr01vp0
長い処理させる時には普通キー用の自作関数作って並列処理(厳密には並列処理していないが)させるだろ
940名無しさん@お腹いっぱい。:2014/01/06(月) 01:45:44.74 ID:v0tRZf2D0
>938
初めて知った。
今まで、ループ前にキー押下げクリアなんてしたことなかった。
ありがとう。
941名無しさん@お腹いっぱい。:2014/01/06(月) 01:46:36.63 ID:+eI3fzs30
>>938
なるほど直前にバッファークリアが必要なんだね。
組み込み系のプログラミングに似てるな。
参考になったわ。

>>939
長い処理させるときに並列処理で補助するかしないかはスタイルの一つであって
普通かどうかは自明ではないよ。
キー用に限らずあらゆる事を自作関数にして抽象化すること自体は普通だけどね
942名無しさん@お腹いっぱい。:2014/01/06(月) 07:56:18.49 ID:Z43t07Si0
943名無しさん@お腹いっぱい。:2014/01/06(月) 08:02:39.22 ID:ARjq633PP
>>935
ハマったわー。
ググったら例のせてくれてる人がいてすぐ解決したけど
944名無しさん@お腹いっぱい。:2014/01/06(月) 08:39:05.70 ID:+eI3fzs30
>>942
やっぱりな〜
「GETKEYSTATEのその他の仕様はMSDNと同じです」
などと書くか、
そのページを丸ごとコピペでもして置いてくれればよかったのにね。
945名無しさん@お腹いっぱい。:2014/01/06(月) 08:41:50.20 ID:+eI3fzs30
ってかそもそも、仮想キーコードからしてそうだよな。
「A」が「VK_A」なのも「VK_A=65」なのも、一切書いてないし。
もはやそれがUWSCらしさだよ。
946名無しさん@お腹いっぱい。:2014/01/06(月) 08:52:16.61 ID:cZ4NkHVk0
HTML の話だけど
ドラッグ&ドロップで受信する方法は何がいい?

HTML5 の ondrop を見てるけどうまく動かん。

IEの空ページにドロップして BeforeNavigate2 を受け取ってキャンセルが一番確実かなと思う。

ondrop とか FileAPI 関係見てると HTML と Javascript だけで行けそうと思ってしまうけどダメなんだな。
確かに megaupload とかはやってるっぽいんだけど・・・
947名無しさん@お腹いっぱい。:2014/01/06(月) 14:39:48.19 ID:N4SpDzR00
ゲームが起動してる時だけUWSCで画像が認識されなくて、
ゲームの起動をやめれば画像をちゃんと認識してくれます・・・
ゲームを起動しながら画像を認識してくれるようにするにはどうすれば良いですか?
ちなみに仮想マシンのwindowsXPです。

ゲーム起動時の画像と、そうでないときの画像をPrtScnで保存し、拡大して見比べましたが
両方一致しました。
けどなぜかゲームを起動しているときだけ画像認識が動いてくれません。

メインpcはちゃんと動きます
仮想のwin7も動きます xpのだけ動かなくなりました。
948名無しさん@お腹いっぱい。:2014/01/06(月) 14:51:03.03 ID:Nift5gto0
本気で解決したいならこれ以上書く事無いと思えるまで情報を書け
情報不足

Aの可能性もあるがBの可能性もある。けれどCという場合もあるしDを試すのも良いかもしれん
…という回答でいいなら別だが
949名無しさん@お腹いっぱい。:2014/01/06(月) 15:02:09.91 ID:t8gval8A0
win7で記録しようとしても「保存すべき有効なデータがありません」と出て
保存できない症状なんですが、FAQにある他の常駐アプリを消しても
UACのレベルをあわせ?ても(管理者で実行等)、症状が改善されません。

他に何か考えられることはありますか?
ちなみについ先日購入したばかりの新しいPCです。
今まで他のPCでは使えていたのですが、新しいPCに乗り換えてから
記録できない症状が出ました。何かしらのセキュリティに引っかかってるの
でしょうか?セキュリティソフトはESET使ってます。
950名無しさん@お腹いっぱい。:2014/01/06(月) 15:24:27.45 ID:Ev3dFHii0
>>949
設定-記録方法-低レベル記録
951名無しさん@お腹いっぱい。:2014/01/06(月) 15:47:31.64 ID:t8gval8A0
>>950
低レベル記録になっていますね・・
952名無しさん@お腹いっぱい。:2014/01/06(月) 16:13:04.21 ID:Ev3dFHii0
セキュリティソフト全部切ってnotepad等の記録を試しても出来ないのならもう誰も判らん
953名無しさん@お腹いっぱい。:2014/01/06(月) 16:22:39.58 ID:Yt+Bs/7Y0
確か記録に必要なのは RecUws.dll だけど同梱されているから
とりあえずUWSCの破損を疑った方が良いので再DLしてみたらどうかな
後、環境との相性の可能性も無くはないので過去バージョンも含めて色々試してみると良いかも
954名無しさん@お腹いっぱい。:2014/01/06(月) 19:28:05.66 ID:lz3428n30
>>949
「設定」−「記録後クリップボードへコピーする」にチェックを入れて
メモ帳にコピペでもだめ?
955名無しさん@お腹いっぱい。:2014/01/06(月) 21:50:09.71 ID:E/Kpd+Tq0
>>947
ゲームがdirect xで画面かいているか、そうでないか程度は最低限書いた方が良いな。
俺は、それ聞いても分からんけど
956名無しさん@お腹いっぱい。:2014/01/07(火) 00:07:58.21 ID:gWrRYOEB0
>>952=>>955
皆さんレスありがとうございます。
クリップボードへコピーでもコピーできてませんでしたので
先程バージョンを下げて試したところ無事記録できるようになりました。
相性の問題なのかわかりませんがひとまずこれで
やっていこうと思います。
ありがとうございましたm(_ _)m
957名無しさん@お腹いっぱい。:2014/01/07(火) 08:33:58.44 ID:FtwaQqTr0
Windows8.1 + IE11 でリンクをドロップしようとしてるんだけど
通常起動したIE11ではドロップを受け付けるのに
UWSCで起動したIE11ではドロップを受け付けてくれない。

同じファイルで同時に起動しててもそれぞれ違う動作をする。
タイトルバーにすらドロップできないから移動できない。

動作環境変えて動いたとしてもめんどくさいな。

試しに CreateOLEObj("InternetExplorer.Application") を
exec( IEPath + HTMLPath )
GetActiveOLEObj( "InternetExplorer.Application", Title )
に変えてやってみたけどダメだった。

バッチファイルから IE と UWSCを呼び出したら成功。
だけど、start で呼び出さないとコマンドプロンプトが残る。
start使ったからか、カレントディレクトリが変わってしまうので . が使えない。
TIMEOUT はHTMLのタイトルが設定されるまで待つため。

-- test2014_010.bat --
set CURDIR=%CD%
"C:\Program Files\Internet Explorer\iexplore.exe" "%CURDIR%\test2014_009.htm"
TIMEOUT /T 3 /NOBREAK
start "UWSC" /b "C:\Program Files 3\uwsc\UWSC.exe" "%CURDIR%\test2014_010.uws"

同じタイトルのIEが起動してると失敗するから、
IE起動前に同じタイトルのウィンドウを閉じるかリスト化して渡すといいかもしれんがめんどくさいな。
でも確実に動いてほしいから閉じることにするか。
958名無しさん@お腹いっぱい。:2014/01/07(火) 11:06:27.94 ID:NfQOr1I/0
DOSCMDとかDROPFILEは使わんの?
959名無しさん@お腹いっぱい。:2014/01/07(火) 12:12:44.13 ID:FtwaQqTr0
>>958
DOSCMD は戻り値がコマンドが出力した文字列だから意味がない。
やってみたけどやっぱりドロップを受け付けなかった。
DROPFILE はドロップ操作を自動化するものだけど、ドロップされたファイルを処理するものではないし。

そもそもIE起動時に HTML を渡すのはタイトルを指定することで他のウィンドウと区別するためだし。
今やってみたら IE を閉じないと進まなくなったんで START で起動するように変更した。

GetActiveOLEObj の前に GetID() で 見つかるまで待つ(-1)を指定したら、TIMEOUT はなくしても大丈夫だった。

GetID( Title, "IEFrame", -1 )
IE = GetActiveOLEObj( "InternetExplorer.Application", Title )


affinity を指定したとき、UWSC の affinityMask が起動後のアプリに引き継がれたことを考えると、
UWSC本体がドラッグ&ドロップを受け付け・・・・るよな。
なんでこんなことになるのか分からんけどできる方法が見つかったからまあとりあえずおk。
960名無しさん@お腹いっぱい。:2014/01/07(火) 14:05:27.53 ID:FtwaQqTr0
ダメだ。
バッチで起動して GetActiveOLEObj だと、ページが遷移したときに OnQuit が飛んできて
BeforeNavigate2 の URL も ”about:blank” になってしまう。
キャンセルフラグをセットしてもキャンセル出来ない。
IEの画面では普通にドラッグされたページが開いているのに。

しかも、そのあと IE を終了すると OnQuit を受信してるし。

ログ
start
get
OnQuit
getNavigateURL : about:blank
getNavigateURL : no match : about:blank
OnQuit

あ、IEの保護モードのチェックを外したら普通に動いた。

ややこしい。
961名無しさん@お腹いっぱい。:2014/01/07(火) 14:42:21.78 ID:QzAVQZuY0
ファイルのドロップだと、ondropでフルパスは得られないからBeforeNavigate2イベントなんだろうけど
ウェブページのリンクをドロップなら、JavaScript側からURLを読み取れるでしょ
962名無しさん@お腹いっぱい。:2014/01/07(火) 15:49:44.75 ID:B4h7jA6Z0
FGETでメモ帳から数値を読み取り1行目の3列目と6列目の数値を計算させようとしました。
数値A = FGET(ID, 1, 3)
数値B = FGET(ID, 1, 6)

計算結果 = 数値A + 数値B 

を計算したいのですがエラーが出て上手く計算できません。
エラーは"型があっていないorオーバーフローです"と表示されます。
数値A数値Bはともに小数点以下3桁まであります。
良くわからずググった結果、型が合っていないとエラーが出るのは文字列型になっているのかな?と考え
AAA = VARTYPE(数値A, VAR_DOUBLE)
と試してみましたが違うエラーが出ました。
"OleStr型からDouble型へのバリアント型変換はできません"

・FGETで参照した値は全て文字列扱いなのでしょうか?
・小数点以下3桁までの計算を行う方法があるでしょうか?

知識不足なので、質問内容自体、変な事を言っていたらすみません。
963名無しさん@お腹いっぱい。:2014/01/07(火) 16:07:10.65 ID:B4h7jA6Z0
962です。
自己解決しました。解決方法がuwscのヘルプに乗っていたのを見落としていました。
スレ汚しすみませんでした。
964名無しさん@お腹いっぱい。:2014/01/07(火) 16:38:20.73 ID:AAKW+iTv0
質問掲示板で嫌われるタイプ。
・教えてもらった知識は俺のもの。俺が自力で気付いた知識は俺だけのもの。
・質問の仕方の不備を指摘されると逆ギレ。
・自己解決しました、のことを、自決しました、と書いて命を無駄にする奴。

故意ではないだろうが1番目のやつに該当。
965名無しさん@お腹いっぱい。:2014/01/07(火) 16:41:46.70 ID:aBW4r/WR0
>>964
意味わかんね、安価させよ
966名無しさん@お腹いっぱい。:2014/01/07(火) 16:53:14.63 ID:FtwaQqTr0
>>961
目的がファイルのダウンロードなんだけど、普通は「名前を付けて保存」ダイアログを操作する必要があるから
JavaScript で自動ではできない。

FileAPIはよく分からん。
967名無しさん@お腹いっぱい。:2014/01/07(火) 17:10:06.88 ID:B4h7jA6Z0
>>962です。>>963で自己解決したと書きましたが、その内容です。
数値A = FGET(ID, 1, 3)
数値B = FGET(ID, 1, 6)
計算結果 = 数値A + 数値B
では、"型があっていないorオーバーフローです"とエラーが出ましたが

計算結果 = VAL(数値A) + VAL(数値B)
とする事で問題なく計算が行えました。
小数点云々の私の質問は自分の勘違いだったようで、整数でも少数でも計算可能でした。

・FGETで参照した値は全て文字列扱いなのでしょうか?(>>963)
の質問は、これはuwscのヘルプの#n21に該当していました。以下引用です
>数値を COPY、POS、CHGMOJ、GETSTR関数等で取得して 数値演算したいのだが文字演算になる  #n21
>>文字操作関連の関数は戻り値として文字列を返す為です。
>>VAL関数を使い数値にする必要があります

helpにも載っていた事でしたので、あえて詳しい内容までは書きませんでしたが
>>964は恐らく自分に対しての指摘だと思いましたので、内容を書かせていただきました。
質問時のマナーを知らず、不快にさせてしまっていたら本当にすみませんでした。
以後気を付けたいと思います。
968名無しさん@お腹いっぱい。:2014/01/07(火) 17:54:55.00 ID:AAKW+iTv0
>>967
やっぱVALか、おつかれw
969名無しさん@お腹いっぱい。:2014/01/07(火) 18:03:06.58 ID:wCiKvcnI0
exeを起動したいのにexec関数で起動しません。どういうこと?
EXEC("C:\Program Files (x86)\hoge\xxx.exe")

仕方なくデスクトップのショートカットをクリックという方法で代用してます。
CLKITEM(GETID("Program Manager", "Progman", 1), "abc", CLK_LSTVEW or CLK_DBLCLK)

環境はwin7(64)です。
970名無しさん@お腹いっぱい。:2014/01/07(火) 18:20:49.53 ID:QzAVQZuY0
× EXEC("C:\Program Files (x86)\hoge\xxx.exe")
   ↓
○ EXEC("<#DBL>C:\Program Files (x86)\hoge\xxx.exe<#DBL>")
971名無しさん@お腹いっぱい。:2014/01/07(火) 20:27:26.65 ID:A30Yirm20
IE11に自動アップデートされてしまった
busywaitを公式FAQのに変更しただけじゃ昔通り動かなくなった
ctrlwinで最大化する処理省いたら直ったけどなんだったんだか
972名無しさん@お腹いっぱい。:2014/01/07(火) 21:10:21.86 ID:pbwF3a880
現在のマウスカーソルの位置情報を取得した後に指定箇所をクリック
その後もとの位置にマウスカーソルを戻すにはどうすればいいでしょうか
973名無しさん@お腹いっぱい。:2014/01/07(火) 21:27:28.38 ID:8nOZyfS+0
>>972
現在のマウスカーソルの位置情報を取得
↑の座標にmmvすればいいだけでは
974名無しさん@お腹いっぱい。:2014/01/07(火) 21:50:07.66 ID:lIdyOim40
>>969
同じwin7(64)だけど、問題なく起動できる(IE、Chrome)
何のプログラムか分からないけど管理者権限で実行とかじゃないの?
975名無しさん@お腹いっぱい。:2014/01/09(木) 01:57:44.22 ID:QRJpD11F0
fizz buzzができない
教えて
for i = 1 to 100

print i

next
976名無しさん@お腹いっぱい。:2014/01/09(木) 02:21:12.37 ID:QRJpD11F0
ここまで出来たけど、fizz buzzがうまくいかない

for i = 1 to 100
if int(i/3)=(i/3) then
print "fizz"
elseif int(i/5)=(i/5) then
print "buzz"
elseif int(i/3*5)=(i/3*5) then
print "fizz buzz"
else
print i

endif
next
977名無しさん@お腹いっぱい。:2014/01/09(木) 02:29:56.29 ID:t9zaTET30
fizz buzz問題って教えてもらうものか?
特に縛りがなくてシンプルなコードにするなら MOD 使うといいよ
978名無しさん@お腹いっぱい。:2014/01/09(木) 02:32:15.93 ID:QRJpD11F0
>>977
modなんて関数ない
教えてくださいじゃないと寝れないです
979名無しさん@お腹いっぱい。:2014/01/09(木) 02:34:35.56 ID:t9zaTET30
関数じゃなくて演算子
980名無しさん@お腹いっぱい。:2014/01/09(木) 02:54:37.13 ID:u/wf6nTj0
ひどいコードだな
そもそも最初のif文に包含されてるから動くわけないんだが
インデントくらいつけろよと
981名無しさん@お腹いっぱい。:2014/01/09(木) 03:19:51.80 ID:EAgfSN4R0
modなんてエクセルにもあったろエクセルのヘルプみろって…
982名無しさん@お腹いっぱい。:2014/01/09(木) 03:41:32.63 ID:h9lX67Zz0
変数を理解して無いクズと見た
983名無しさん@お腹いっぱい。:2014/01/09(木) 03:45:31.69 ID:opUgv9RQ0
>>976
がんばれw

プログラムの基本ならCかJavaの入門書で勉強するのがお薦めだよ
アルゴリズムの基礎も探索やソートを分かりやすく解説した書籍があるし
WEBで評判の良い物を何冊か探して、実際に大きな書店に行って
自分に合いそうなもので学習しなよ
特にアルゴリズムの基礎は今後UWSC(その他プログラム言語)を使う上で
学習しておいて損はない

あとhelpを読むのは基本だよ
984名無しさん@お腹いっぱい。:2014/01/09(木) 03:49:44.84 ID:opUgv9RQ0
>>976
スレが1000に近いのでとりあえず作ってみた

for i = 1 to 100
ans = ""
if !(i MOD 3) then ans = "Fizz"
if !(i MOD 5) then ans = ans + "Buzz"
if ans = "" then ans = i
print ans
next
985名無しさん@お腹いっぱい。:2014/01/09(木) 03:53:39.82 ID:opUgv9RQ0
インデントが消えてしまったorz
全角スペースじゃないとダメなの忘れてました、ごめんね
986名無しさん@お腹いっぱい。:2014/01/09(木) 07:46:17.97 ID:ohh50qT+0
これ解答なんてキリないぞw
http://codezine.jp/article/detail/7546
987名無しさん@お腹いっぱい。:2014/01/09(木) 08:05:01.66 ID:t9zaTET30
もともとプログラマの個性や言語仕様に対する理解や閃き的な部分を評価するための問題だからね
ぶっちゃけ答えそのものは説いた人の数だけあると言っていい
なので「教える」もんじゃないのよ
988名無しさん@お腹いっぱい。:2014/01/09(木) 08:25:26.58 ID:ohh50qT+0
S="FizzBuzz";FOR i=1 TO 100;PRINT i+":"+COPY(S,(i MOD 3)*9,4)+COPY(S,5+(i MOD 5)*5,4);NEXT
90文字
989957:2014/01/09(木) 10:17:56.83 ID:Jp4PcdDZ0
どうもうまくいかんからいろいろいじってたけど
Javascriptにバグがあるとまったく反応しなくなるんだな。

if 文の判定のかっこを忘れても警告とかないし
オブジェクトを間違って使っても警告なし。

UWSC からも Javascript からもソースをいじろうとして反応しなくなったからなんだろうと思ったら
そういうことらしい。
990名無しさん@お腹いっぱい。:2014/01/09(木) 10:34:31.68 ID:haB4wTeX0
UWSCから外部モジュールを使うんじゃなくて
外部モジュールからUWSCを使えさえすれば
全て問題ないのにね
991名無しさん@お腹いっぱい。:2014/01/09(木) 11:33:22.88 ID:FI6wHjFI0
dim a[]=0,"Fizz","Buzz","FizzBuzz";for i=1 to 100;a[0]=i;print a[(i mod 5=0)*2+(i mod 3=0)];next

>>989
エラー表示するかどうかはブラウザの設定次第だよ
992名無しさん@お腹いっぱい。:2014/01/09(木) 13:14:00.37 ID:hFz7Kd3R0
次スレ立てますよ
993名無しさん@お腹いっぱい。:2014/01/09(木) 13:19:29.38 ID:hFz7Kd3R0
次スレ
自動化ツールUWSC使いよ集まれ11
http://anago.2ch.net/test/read.cgi/software/1389240960/
994名無しさん@お腹いっぱい。:2014/01/09(木) 14:05:28.21 ID:n9nCZ7V20
>>993
995名無しさん@お腹いっぱい。:2014/01/09(木) 15:05:11.72 ID:3HQ+L1tS0
1
996名無しさん@お腹いっぱい。:2014/01/09(木) 16:27:17.06 ID:Jp4PcdDZ0
>>993
おつ
997名無しさん@お腹いっぱい。:2014/01/09(木) 17:03:55.73 ID:kaf0rJYM0
1
998名無しさん@お腹いっぱい。:2014/01/09(木) 17:29:06.52 ID:t9zaTET30
うめうめ
999名無しさん@お腹いっぱい。:2014/01/09(木) 18:42:03.05 ID:aUvaeWPw0
1000名無しさん@お腹いっぱい。:2014/01/09(木) 18:42:36.91 ID:aUvaeWPw0
5年ぶりの1000!
10011001
このスレッドは1000を超えました。
もう書けないので、新しいスレッドを立ててくださいです。。。