2ちゃんねる ■掲示板に戻る■ 全部 1- 最新50    

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

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

1 :名無しさん@お腹いっぱい。:2015/03/08(日) 00:18:57.40 ID:itdOhEn30.net
Windowsの作業を自動化するツール
フリーソフト版とシェアウェア版の2種類がある
ttp://www.uwsc.info/download.html

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

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

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

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

2 :名無しさん@お腹いっぱい。:2015/03/08(日) 10:57:43.76 ID:itdOhEn30.net
Q.シェアウェア版で「L20が存在しません」「L22が存在しません」とエラーが出て一部機能が動作しない
A.割れシリアルを使った時に出る、ささやかな割れ対策

Q.購入したのに上記エラーが出る
A.ライセンスキーが正しいか確認(ベクターで購入した場合、登録するのは 伝票番号の xxxxxxxxx ではありません)
UWSCをアンインストール後、再インストールして正しい17桁のライセンスキーを入力してください。

●Pro版の追加機能
EXE化ツールが付属しています。(EXE化後は単体での実行が可能であり、ライセンスフリーにて配布できます)
IE(Web)用記録ツールが付属しています。(Web上の動作をUWSCのスクリプトとして記録する事ができます)
HTMLを利用した画面関数が使えます。
EXCELシート用関数が使えます。(OpenOffice.org/LibreOfficeの表計算(Calc)に対しても可)
デバッガが付属しています。

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

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

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

3 : ◆evw/E7kww2 :2015/03/08(日) 13:36:01.33 ID:EbQAJigF0.net
このスレに俺を恨んでる奴がいるっぽいけど
なんとなく理由が分かった。

昔、俺がこの↓スレを立てたからだろう。

ttp://anago.2ch.net/test/read.cgi/software/1126521460/

いや、本当にこんなスレを立てたか覚えてないけど
怪しいのを見つけたら怪しい怪しい言う癖があるから
多分、俺が立てたんじゃね?

4 : ◆evw/E7kww2 :2015/03/08(日) 13:40:11.87 ID:EbQAJigF0.net
山下が欲しいのはパクるため同じJane系のviewとxenoのソース
他は案外どうでもいい感じ























------------------------------------------------------------
この書き込みに反応があれば図星。
スルーなら外れ。
ttp://fox.2ch.net/test/read.cgi/poverty/1425736511/89-
ttp://fox.2ch.net/test/read.cgi/poverty/1425736511/234-
ttp://fox.2ch.net/test/read.cgi/poverty/1425736511/387- 👀

5 :名無しさん@お腹いっぱい。:2015/03/09(月) 03:18:02.19 ID:eBNM6Qn/0.net
UWSCとPowerShellって何が違うの?

6 :名無しさん@お腹いっぱい。:2015/03/09(月) 22:21:50.64 ID:2/ojQ+3U0.net
FUNCTION 関数名
FEND ← まだ分かる

PROCEDURE 関数名
FEND ← え?

〜ENDとEND〜を混在させたあたり開発当時の経緯とか聞いてみたい

7 :名無しさん@お腹いっぱい。:2015/03/10(火) 08:29:30.87 ID:EAdi39LF0.net
END系は確かに気持ち悪い
どのブロックの終了かどうかなんて
インデントちゃんと付けてりゃ問題ないよな
forはnextでwhileはwendで〜って考える方が手間かかるわ

8 :名無しさん@お腹いっぱい。:2015/03/10(火) 10:26:22.34 ID:zqfIB0Ga0.net
Unityアプリに対して
MOUSEORG(Hnd,2)
BTN(LEFT,CLICK,x,y,ms)
ってやるとマウスクリックの座標が指定値(x,y)じゃなくて現在のマウス位置(つまりデフォ値?)
になっちゃうんですけど、解決方法ご存知ありませんか

9 :名無しさん@お腹いっぱい。:2015/03/10(火) 10:48:43.93 ID:EAdi39LF0.net
>>8
バックグラウンド処理は意図しない挙動することが多い
仮想立ててその中で処理させたらどうか

btn clickだとクリック速度が速過ぎて
クリック先のアプリが認識しない場合がある
downしてから少し間を開けてupした方が確実

10 : ◆evw/E7kww2 :2015/03/10(火) 11:24:24.19 ID:Zvi6jbGW0.net
>>8
アプリ側でクリックイベントとは別にマウス位置を取得してる場合はそういう動作になる。
その場合はマウスを動かすしかない。

ところで、バックグラウンドではマウスカーソルは動かないけど、どうやってクリック座標を確認したの?

11 :名無しさん@お腹いっぱい。:2015/03/11(水) 03:39:14.61 ID:TpOr3Ryj0.net
お二人ともレスありがとうございます

>>9
クリック速度について、別件ではありますが利用させて頂こうと思います

>>10
な、なるほどその可能性が非常に高い感じがします
別の方法を検討してみます

ご質問についてですが、テスト対象の画面を完全に覆う形で
別ウィンドウを被せてテストしていた際
たまたまアプリ領域上にマウスがあったために
あるボタンがバックグラウンドでクリックされ画面が推移していた事から気付いたものです

12 :名無しさん@お腹いっぱい。:2015/03/11(水) 19:25:11.98 ID:+rYcEFRE0.net
単発質問でごめんなさい
LeftClick(230,150,80,80)
左クリック(X座標,Y座標,待ち時間ms,**)
**は何を表しているんでしょうか?

13 :名無しさん@お腹いっぱい。:2015/03/11(水) 19:43:39.38 ID:Kv0GqNyV0.net
LeftClick っていうUWSCのスクリプト関数はなかったきがする。
たぶん、CLICKを押している時間じゃないの。

14 :名無しさん@お腹いっぱい。:2015/03/11(水) 19:59:43.56 ID:+rYcEFRE0.net
>>13
解決しました。ありがとうございます
関数じゃないとの言葉から改めて探したところ見つかりました!
Procedure LeftClick(X1,Y1,X2,Y2)の一文が!
それの内容を見たところ理解できました

15 :名無しさん@お腹いっぱい。:2015/03/12(木) 09:01:13.68 ID:cPx9pA420.net
基本的なことで申し訳ないんですが、
formsとelementsが何番目かどうかってどうやって判断すればいいんですか?
htmlソース見ても複雑なのが多くて…

16 :名無しさん@お腹いっぱい。:2015/03/12(木) 10:48:59.97 ID:uSEK81CY0.net
パスワードを忘れてしまいました0000〜9999の中のどれかが該当するんですが
自分で総当たりするのではなくUWSCにやってもらおうと思いました。
どのようなスクリプトを組めばいいか教えてください。

具体的には下記の作業をやらせたいのです。
0000入力→エンターキー→バックスペースx4入力
          ↓
0001入力→エンターキー→バックスペースx4入力
          ↓
0002入力→エンターキー→バックスペースx4入力
          ・
          ・
          ・
9999入力→エンターキー

17 :名無しさん@お腹いっぱい。:2015/03/12(木) 11:37:14.37 ID:DyIbiY5i0.net
>>16
ループさせてその処理を書くだけ
0詰め編集は必要かな

18 :名無しさん@お腹いっぱい。:2015/03/12(木) 11:46:11.90 ID:DyIbiY5i0.net
>>15
よく分からんが、
ループで回して欲しい要素のidやnameやvalueの値を見ればいいのでは?

19 :名無しさん@お腹いっぱい。:2015/03/12(木) 11:48:38.58 ID:xGHFbvBc0.net
よく分からんなら答えるなよカス

20 :名無しさん@お腹いっぱい。:2015/03/12(木) 11:51:03.47 ID:DyIbiY5i0.net
>>19
煽るだけならレスすんなよクズ

21 :名無しさん@お腹いっぱい。:2015/03/12(木) 12:37:16.04 ID:QWbt8LCP0.net
>>17
横からで悪いけど連番作るのはFor a = 1 to 100で簡単に思いつくけど
前の空きを0で埋める方法って具体的にどんな方法があるんだろう
現状必要としてないけど、知識として知っておきたい

22 :16:2015/03/12(木) 12:46:14.67 ID:uEkExkhE0.net
9999までforで代入するのはわかるけど、それをどうやって文字に変換するの?
sendstrのクリップボードに送りたい

23 :名無しさん@お腹いっぱい。:2015/03/12(木) 12:57:12.93 ID:2RVo/dHL0.net
UWSCのみでやるなら
ゼロプレスは最大桁数-1の”0”(この場合は”0000”)とVAL()で文字列を数値に変換したのを連結する
POS()と連結後の長さを使えば良い

24 :名無しさん@お腹いっぱい。:2015/03/12(木) 13:13:51.32 ID:eDOJrmZ/0.net
UWSCの構文網羅した入力補完機能付きエディタありませんかね?
Visual Studioに慣れてしまって、入力補完ないとサクサクコーティングできない

25 :名無しさん@お腹いっぱい。:2015/03/12(木) 13:18:35.81 ID:2RVo/dHL0.net
秀丸はヘルプの予約語からコピペして辞書作ったら出来るよ
コーディング向けエディタなら大抵出来ると思うが

26 :名無しさん@お腹いっぱい。:2015/03/12(木) 13:39:50.50 ID:uSEK81CY0.net
>>16は諦めました
メモ帳に
0001
0002
0003
0004
0005
0006
(省略)
9998
9999

と自動で打ち込むにはどう書けばいいか教えてください。

27 :名無しさん@お腹いっぱい。:2015/03/12(木) 13:49:25.76 ID:MRuS/Qcf0.net
>>26
Excelでセルの書式設定→表示形式を文字列にする

0000
0001
0002
と入力する

その3つのセルを選択して、9999まで引っ張る

メモ帳にコピペ

28 :名無しさん@お腹いっぱい。:2015/03/12(木) 13:58:30.94 ID:J8DmLdi70.net
>>23
copy使ったほうが簡単な気も

29 :名無しさん@お腹いっぱい。:2015/03/12(木) 13:58:49.90 ID:cPx9pA420.net
>>18
まあ製品目的じゃないわけだし、そういった総当り的なやり方でもいいね

30 :名無しさん@お腹いっぱい。:2015/03/12(木) 14:25:53.29 ID:Twlw2OwD0.net
数値→文字列変換なんてのはどの言語にもあるし、UWSC 文字列 関数でぐぐればすぐ分かるよ。

31 :名無しさん@お腹いっぱい。:2015/03/12(木) 14:48:17.44 ID:uSEK81CY0.net
>>27
ありがとう。でも知りたいのはUWSUでやる方法なんです

32 :名無しさん@お腹いっぱい。:2015/03/12(木) 14:49:04.15 ID:2RnQOx5x0.net
for 0 to 9を4つ重ねてひっつける方法が真っ先に浮かんだけど
ぐぐって出てきたformatとreplace使う方法のほうが良さそうだ

33 :名無しさん@お腹いっぱい。:2015/03/12(木) 14:54:24.36 ID:J8DmLdi70.net
>>31
execとsendstr使えばいいけど、
遅いから一旦ファイルに書き出した方がいいと思うよ

34 :名無しさん@お腹いっぱい。:2015/03/12(木) 14:55:30.92 ID:srIDA4G60.net
for i = 0 to 9999
number = replace(format(i, 4), " ", "0")
sendstr(0, number)
クリップボードに文字列が入っているので処理する
next

こんな感じではいかんの?

35 :名無しさん@お腹いっぱい。:2015/03/12(木) 15:11:43.96 ID:J8DmLdi70.net
formatか
勉強になった

36 :名無しさん@お腹いっぱい。:2015/03/12(木) 16:31:15.31 ID:uSEK81CY0.net
>>34
をコピペしたけど出来なかった。

37 :名無しさん@お腹いっぱい。:2015/03/12(木) 16:40:42.25 ID:srIDA4G60.net
コピペだけじゃなくてちっとは自分で考えろや
クリップボードに入れる所まで作ってもらっといてまだできないとかお前はミジンコか?

38 :名無しさん@お腹いっぱい。:2015/03/12(木) 16:49:05.39 ID:s3+uw6570.net
仕様書いたら、誰かが完璧なコードに起こすのを待ってるんだろうな

39 :名無しさん@お腹いっぱい。:2015/03/12(木) 17:17:25.66 ID:ZJ/7B8lw0.net
The クレクレ君

40 :名無しさん@お腹いっぱい。:2015/03/12(木) 17:19:12.36 ID:uSEK81CY0.net
ミジンコですんません次はプラナリア目指します
ごめんなさい

41 :名無しさん@お腹いっぱい。:2015/03/12(木) 17:23:47.76 ID:Twlw2OwD0.net
てっとりばやく動くものがほしければ、お金出してつくってもらえばいいんでない。
コードいじったりするつもりないなら

42 :名無しさん@お腹いっぱい。:2015/03/13(金) 05:31:41.02 ID:d1ZXmJXS0.net
モバゲーのサークル等画像認証がある場合連投ツールはUWSCで作れますかね。1から勉強してみようと思っているのですが

43 :名無しさん@お腹いっぱい。:2015/03/13(金) 05:49:48.08 ID:SzHwFuiM0.net
>>42
UWSC単独では無理
画像解析の勉強もすることになる、というかそっちの方のウェイトが大きい

44 :名無しさん@お腹いっぱい。:2015/03/13(金) 12:19:53.14 ID:bWuS9Pqc0.net
画像認証する理由がマクロ対策のためだからな
それが簡単に出来たら対策じゃないし

45 :名無しさん@お腹いっぱい。:2015/03/13(金) 14:03:28.27 ID:kEU/A8NO0.net
>>42 >>43さんありがとうございます。毎回画像認証をかいくぐって連投してくる人がいるのですが

仕組みをよく理解されてるみたいです。画像認証についても勉強してみます。

46 :名無しさん@お腹いっぱい。:2015/03/13(金) 14:14:36.21 ID:Grt+Wagz0.net
>>45
> 毎回画像認証をかいくぐって連投してくる人

何も画像認識をしているとは限らないと思いますが、
画像にしても弾く処理にしても、どっか甘いんじゃないですか?

2ちゃんねるだってAPI実装で
今日から過去の専ブラが使えなくなりましたが
みんなそれをかいくぐってアクセスしてるでしょ?

47 :名無しさん@お腹いっぱい。:2015/03/13(金) 14:18:43.29 ID:fXWUGn930.net
CAPTCHA突破じゃなく連投制限にひっかかってCAPTCHA出てるだけじゃない?
モバゲーは知らんけども、同一IPからこ連投には荒らし対策としてCAPTCHA入れてくるところがある
それなら自動的に串刺すとかで対処してるんじゃないかな
よっぽど見やすいものでもない限りCAPTCHA突破は無理

48 :名無しさん@お腹いっぱい。:2015/03/13(金) 14:54:18.58 ID:iLROOU3y0.net
最近は人力解除サービスもあるけどね

49 :名無しさん@お腹いっぱい。:2015/03/13(金) 15:46:21.29 ID:n6HUnrPd0.net
ウィンドウ操作のCTRLWINで最前面操作はありますが、最後面にしたい場合はどうしたらいいですか?
別の方法でもかまいません

50 :名無しさん@お腹いっぱい。:2015/03/13(金) 16:05:04.46 ID:bWuS9Pqc0.net
>>49
getallwinで全てのウインドウ取得して
ループさせて、対象のウインドウ以外を一通り最前面にすれば一応できそう
でも非表示の変なウインドウまで出すとエライことになるはずだから
statusで座標、可視状態、アイコン状態?とかを見て
普通のウインドウであることを判定してからやる必要がありそう

51 :49:2015/03/13(金) 16:08:07.04 ID:dhQkIESf0.net
うーん、getallwinは使ってみたんだけど使うたびにウィンドウIDの連番が変わるのと言っている通り変なウィンドウまで取得しちゃうし
getallwin(getid("firefox"))としてもfirefoxのウィンドウだけ取得するってのができなかったんだよね…

52 :名無しさん@お腹いっぱい。:2015/03/13(金) 16:16:10.16 ID:k9PzO4D60.net
>>47さん そうなんですね。全くの素人で分からないのですが、youtubeに画像認証突破している同士がをさっき見つけたので見やすいものなんだとおもいます。

53 :名無しさん@お腹いっぱい。:2015/03/13(金) 16:22:01.41 ID:fXWUGn930.net
発展途上国では画像認証入力代行のアルバイトもあるってどっかで見たな

54 :名無しさん@お腹いっぱい。:2015/03/13(金) 16:26:41.95 ID:bWuS9Pqc0.net
>>51
使うたびにと言うのはループの外で一度だけ呼べばいいと思うけど
何か問題あるん?
家帰ったらコード書いてみようかな

getallwin(id)は小ウインドウ取得みたいだから、親子関係になってないと取れないね

55 :名無しさん@お腹いっぱい。:2015/03/13(金) 16:33:35.20 ID:dhQkIESf0.net
>>54
申し訳ないです…
使うたびに変わるのは問題ないんですが、取得したものの中からfirefoxのものだけ抽出するのがうまくいかずに…
親ウィンドウ子ウィンドウの関係が理解できなかったけど、タブのようなものかな?

56 :名無しさん@お腹いっぱい。:2015/03/13(金) 16:55:43.66 ID:M+E6GPZL0.net
>>55
Status()でパスとかタイトルからFirefoxと認識するのでは不十分ってこと?

57 :名無しさん@お腹いっぱい。:2015/03/13(金) 17:10:01.60 ID:4oBlUJIb0.net
画像認証で画像が消えるまでその画像を1秒おきにクリックするという
スクリプト作りたいんだけど、どういうの使うかアドバイスくだされ

58 :名無しさん@お腹いっぱい。:2015/03/13(金) 17:14:41.38 ID:fXWUGn930.net
さすがにそれはuwscの基本でしょ
chkimgのヘルプ見るだけでできると思う

59 :名無しさん@お腹いっぱい。:2015/03/13(金) 17:16:53.57 ID:PxmAUj3h0.net
これって他の言語から呼び出して戻り値を渡すことってできる?

例えば、C#で作成したフォームアプリにUWSCに画像認識任せて、結果をC#に返す。みたいな。

UWSC単体ではGUIが表示できないので困ってます

60 :名無しさん@お腹いっぱい。:2015/03/13(金) 17:41:52.92 ID:bWuS9Pqc0.net
>>59
exitexitで終了コードは返せる

61 :名無しさん@お腹いっぱい。:2015/03/13(金) 17:44:26.22 ID:IhBN30Jy0.net
surface pro 3で、クリックで記録しているのてすが、ズレが生じています。
自分が動かした所の右下で記録した動作が行われてしまいます…
関数書く知識もないので原因が全く分かりません…

分かる方宜しくお願いいたします…!

62 :名無しさん@お腹いっぱい。:2015/03/13(金) 17:45:37.39 ID:b9N18eWc0.net
どっから迷いこんできたんだこれ

63 :名無しさん@お腹いっぱい。:2015/03/13(金) 17:52:47.80 ID:KwP/0EEO0.net
>>59
ぶっちゃけc#使えるならOpenCVSとか使った方が良いぞ?

64 :名無しさん@お腹いっぱい。:2015/03/13(金) 18:04:46.58 ID:Nd6+FKpZ0.net
>>60
ありがとうございます。

>>63
OpenCVSですか、ちょっと調べてみます。

65 :名無しさん@お腹いっぱい。:2015/03/13(金) 18:51:22.90 ID:p6+WWHEG0.net
>>61
>surface pro 3 での動作について NEW / shadow
>windows8.1です。
>
>uwscで記録は出来るのですが、記録した通りの動きをしてくれません。
>必ず少し右下からの動作になり、ズレが生じてしまいます。
>
>わかる方居りましたらよろしくお願いいたします。
>No.997 2015/03/13(Fri) 17:25:07
>☆ Re: surface pro 3 での動作について NEW / shadow
>すみません。
>ブラウザはクロームです。

これは酷い
エスパーにしか分からんわ

ブラウザの位置を左上に戻せよ

66 :54:2015/03/13(金) 20:31:01.18 ID:g+EPUdK80.net
>>55
まず、下の処理を実行して全てのウィンドウ情報を出力してみる
for id in getAllWin()
  print "■" + status(id, ST_TITLE)
  print status(id, ST_CLASS)
  print status(id, ST_VISIBLE)
next

出力した中で不要なIDっぽいのを判別できる条件を探す。その条件を一つずつ指定して、除外していく。
俺の環境の場合↓で行けたっぽい
for id in getAllWin()
  // 非表示は処理しない
  if !status(id, ST_VISIBLE) then continue
  // タイトルなしも処理しない
  if status(id, ST_TITLE) = "" then continue
  // スタートボタン(タスクバー?)も処理しない
  if status(id, ST_TITLE) = "スタート" then continue
  // 何コレ
  if status(id, ST_TITLE) = "Program Manager" then continue
  // 対象のウィンドウは処理しない(今回はFireFox)
  if status(id, ST_CLASS) = "MozillaWindowClass" then continue
  
  print "■" + status(id, ST_TITLE)
  print status(id, ST_CLASS)
  print status(id, ST_VISIBLE)
next

対象のウィンドウ以外で、普通のウィンドウだけが残ったなら、最後に、printの行のところをctrlWin(id, ACTIVATE)にすればOK
全角空白でインデントしてるので、半角スペースやtabに置換してね
環境によるから2番目のコードは参考程度にして自分で作ったほうがいい

67 :49:2015/03/13(金) 20:34:35.74 ID:JhaWoMs/0.net
>>66
ありがとうございます
調べながらやってみます

68 :名無しさん@お腹いっぱい。:2015/03/14(土) 02:35:32.08 ID:YAMOqMkr0.net
>>49
Alt + Esc

69 :名無しさん@お腹いっぱい。:2015/03/14(土) 08:13:04.56 ID:WGKI2Nkm0.net
ブラゲマクロのループ内にiniのデータ再読み込みを入れてるのに、ini書き換えても反映されないと思ったら
public宣言と同時に読み込みしてたから二重定義で二回目以降はスルーされてたんだな
エラー吐かないから全然気づかなかったわ
配列の二重定義だとエラー吐くのに

70 :名無しさん@お腹いっぱい。:2015/03/14(土) 08:38:53.68 ID:mkTRBuo80.net
というかゲーム自動化マクロの話題はNGっていうのが暗黙の了解じゃなかったのか?
久しぶりに来たら、その類いの質問に覆われてるんだけど

71 :名無しさん@お腹いっぱい。:2015/03/14(土) 08:53:32.25 ID:5WiP7gL70.net
あの4桁は銀行か携帯だろうしな
そろそろやばいと思うわ

72 :名無しさん@お腹いっぱい。:2015/03/14(土) 09:10:58.21 ID:oSk0qD2D0.net
あんな程度で突破できるセキュリティならとっくに破られてるわw
つーかあーいうのは5回くらいミスると別のロックがかかるのが普通だしな

73 :名無しさん@お腹いっぱい。:2015/03/14(土) 09:20:37.66 ID:yF8bwDJf0.net
>>70
いつのまにかそうなってるね
答える側が消えない限り以前のようになるのは無理だと思う

74 :49:2015/03/14(土) 09:30:10.62 ID:3A8gIjv70.net
>>68
すみません助かりました
ありがとうございます

75 :名無しさん@お腹いっぱい。:2015/03/14(土) 10:18:14.28 ID:WGKI2Nkm0.net
>>70
スレ見始めたのも使い始めたのも最近だから知らんかった
すまんな

ゲーム自動化の話題はNGってテンプレに入れといたほうがいいんじゃない?

76 :名無しさん@お腹いっぱい。:2015/03/14(土) 10:57:25.31 ID:BYWwaXUY0.net
ここに書き込むのって、ほぼゲーム自動化マクロだから、どうせ禁止にしたって質問する奴は後を絶たない
OKでいいんじゃない?

77 :名無しさん@お腹いっぱい。:2015/03/14(土) 11:09:35.85 ID:x4MA2C8f0.net
目的で禁止するんじゃなくて、丸投げを禁止するとかで

78 :名無しさん@お腹いっぱい。:2015/03/14(土) 12:44:57.63 ID:EJC2N5U10.net
普通のアプリ操作する分にはコントロールが取得できるから
ぶっちゃけゲーム目的でもない限り画像比較なんて滅多に使わないよ
IE以外のブラウザを意地でも操作したいケースとJavaアプリを操作するケース位じゃないかな

79 :名無しさん@お腹いっぱい。:2015/03/14(土) 16:39:06.41 ID:vESWpEGX0.net
同じ症状で解決策があれば教えてください

参考サイト
http://uwsc.wpblog.jp/?page_id=13

IFB CHKIMG("sample1.bmp")
MSGBOX("画像認識に成功しました。)
ELSE
MSGBOX("画像認識に失敗しました。")
ENDIF

//この時点では画像認証成功

COUNT = CHKIMG("sample1.bmp",1,,,,,-1)
MSGBOX(COUNT)
IFB COUNT > 0
MSGBOX("画像認識に成功しました。")
ELSE
MSGBOX("画像認識に失敗しました。")
ENDIF

//COUNT = CHKIMG("sample1.bmp",1,,,,,-1)この行で
//「CHKIMG: Unknown error」が出てしまいます。
//念のため次の行でCOUNTを出力するとやはり0で
//記述が間違っていますでしょうか

80 :名無しさん@お腹いっぱい。:2015/03/14(土) 16:48:09.18 ID:vESWpEGX0.net
chkimgの引数をかえて解決できそうです失礼いたしました。

81 :名無しさん@お腹いっぱい。:2015/03/14(土) 16:58:10.03 ID:WGKI2Nkm0.net
ヽ(・ω・)/ズコー

82 :名無しさん@お腹いっぱい。:2015/03/15(日) 05:42:44.66 ID:hoogL2Uj0.net
【net】今日も元気にスクリプト水増し
ttp://next2ch・net/test/read.cgi/poverty/1426346131/

UWSCで投稿スクリプトを作って200レスx2,3日やったら規制食らったんだけど
1000件以上書き込みしてる連中は規制されないのかね?
API必須になったから規制しやすいと思うんだけどね。

83 :名無しさん@お腹いっぱい。:2015/03/16(月) 00:40:08.18 ID:DlzN5Tfx0.net
msvcrt.dllからmemcmpを利用して配列の比較を行いたいと思ってます。
UWSCでの記述方法がわかりません。
以下のように記述すると等しくない配列の場合でも戻り値が0になります。

DEF_DLL memcmp(var int[],var int[],int):int:msvcrt.dll
n = 8
DIM y01[] = 0, 1, 0, 0, 0, 0, 0, 0, 1
DIM x01[] = 0, 1, 0, 0, 0, 0, 0, 0, 1
DIM x02[] = 0, 1, 1, 0, 0, 0, 0, 0, 1

IF memcmp(y01, x02, n) = 0
 PRINT "TRUE"
ELSE
 PRINT "FALSE"
ENDIF

84 :名無しさん@お腹いっぱい。:2015/03/16(月) 00:43:14.47 ID:DlzN5Tfx0.net
C言語なら以下サンプルのように記述すれば動作するようです。
#define N 8
int main(void) {
 int x1[] = {0, 1, 2, 3, 4, 5, 6, 7};
 int x2[] = {0, 1, 2, 3, 4, 5, 6, 7};

 /* x1 と x2 を比較 */
 if ( memcmp(x1, x2, sizeof(int) * N) == 0 ) {
printf("x1とx2は同じ要素を持つ配列です.\n");
 } else {
printf("x1とx2は異なる要素を持つ配列です.\n");
 }

 return EXIT_SUCCESS;
}
比較したい配列の内容はサンプルと同じ数字1文字になります

85 :名無しさん@お腹いっぱい。:2015/03/16(月) 01:21:25.94 ID:WrVIpTH30.net
Cだと sizeof(int) * N なんだから n*4 とかにするんじゃないの?
UWSCのintが32bit長かどうかは知らないけど

86 :名無しさん@お腹いっぱい。:2015/03/16(月) 01:56:19.65 ID:UdmG8GDz0.net
動かして見たけどn=length(y01)*4が正しそうだね

87 :名無しさん@お腹いっぱい。:2015/03/16(月) 05:23:07.52 ID:2C8i7Z6P0.net
WEBなどから取り込んだテキストを,等で区切って文字列を配列に格納したいのですが、そういった命令文はありますか?あと、その場合、配列の総数がわからないのですが、あらかじめ多めに用意しておくものなのでしょうか?

88 :名無しさん@お腹いっぱい。:2015/03/16(月) 07:32:26.75 ID:UdmG8GDz0.net
>>87
カンマ区切りを配列にするのはsplit

89 :名無しさん@お腹いっぱい。:2015/03/16(月) 07:41:51.44 ID:NlIIv4/A0.net
配列の総数はsizeofで求めれるでしょ
はい終了

90 :名無しさん@お腹いっぱい。:2015/03/16(月) 09:40:46.71 ID:PlEJfnTV0.net
>>83
memcmpなんか使っちゃダメ
UWSCでは配列のアドレスが連続であることまで保証していないから
同じサイズ、同じ数字同士の比較であっても一致判定されるとは限らないよ
そもそも型サイズすら保証されてないから意味がない

91 :名無しさん@お腹いっぱい。:2015/03/16(月) 10:19:30.77 ID:Wof3gerZ0.net
>>90
> UWSCでは配列のアドレスが連続であることまで保証していないから
dll呼び出しで渡した時点で連続になる

> そもそも型サイズすら保証されてないから意味がない
ドキュメントにあるがサイズは決まってる
※int=long= bool(4byte)、dword=uint=hwnd、 char=boolean(1byte)

92 :名無しさん@お腹いっぱい。:2015/03/16(月) 14:14:26.06 ID:j9PZCEg20.net
>>87
ワイPerl使い
UWSCの配列には不評
これを常に持ち歩く
ttp://heppoko.fam.cx/UWSざんがい/Array.uws.txt

93 :名無しさん@お腹いっぱい。:2015/03/16(月) 17:36:09.87 ID:2C8i7Z6P0.net
>>92
ありがとうございます。
スマホでぱっとみた感じ、キューとかも実装してるんですかね。
帰ったら詳しくみてみます。

94 :名無しさん@お腹いっぱい。:2015/03/16(月) 19:31:01.71 ID:tKWF7XPV0.net
>>92
>Function Push(var PAR[], Val)
> DIM Siz = ReSize(PAR) + 1
>
> ReSize(PAR, Siz)
> PAR[Siz] = Val
>
> Result = Val
>FEnd

おいおい
ふざけてんのか?

95 :名無しさん@お腹いっぱい。:2015/03/16(月) 21:12:06.58 ID:xJMP86aK0.net
茶化すだけだと見っともないよ

96 :名無しさん@お腹いっぱい。:2015/03/16(月) 21:22:23.98 ID:KRGYyVXs0.net
ん?
Rubyだと配列を引数で渡しても参照元のオブジェクトが同一だから破壊的に変更すればメソッドの中と外の両方に影響するけど
UWSCはオブジェクト指向じゃないからそんなことできないよな?

97 :名無しさん@お腹いっぱい。:2015/03/16(月) 21:42:12.49 ID:xJMP86aK0.net
>>96
それは関数の引数にVerつけて参照引数にすればできるよ

98 :名無しさん@お腹いっぱい。:2015/03/16(月) 22:06:12.60 ID:KRGYyVXs0.net
>>97
まじで?
UWSCの配列使いづらすぎて敬遠してたけど今度自作関数作って使ってみようかな

99 :名無しさん@お腹いっぱい。:2015/03/17(火) 00:56:03.25 ID:G6kIl/aB0.net
ふざけるも何もPerlの挙動と一緒だろ
何がおかしいのかわからん

100 :名無しさん@お腹いっぱい。:2015/03/17(火) 01:09:24.08 ID:V1uFplEC0.net
UWSCでは関数名に代入することで戻り値になるのね
だから最終行の Result への代入では戻り値に成らない
でも引数は参照渡しだかえら呼び出し元はソッチを使っている筈
要するに FUNCTION である必要はなくて PROCEDURE で良い挙動なのです

でも個人的には動作しているならとりあえずはそれでイイんじゃない?ってスタンス
おいおい勉強していけば良いのです

101 :名無しさん@お腹いっぱい。:2015/03/17(火) 06:49:13.32 ID:trvcbMmd0.net
perlはやったことないけどググってみたらpushの戻り値は値追加後の配列の要素数って書いてるけど
rubyでも戻り値はselfだから追加した要素が戻り値なのはどこの仕様なんだ?

>>100もfunctionにresultが必要ないとか言ってるし意味わからん
仕様が変わったのかと思って>>100の言うとおり関数と同じ名前の変数に値を代入してfunctionを抜けたらやっぱり「resultがない」エラー出たし

急に知ったかおじさん増えすぎじゃね?

102 :名無しさん@お腹いっぱい。:2015/03/17(火) 08:21:27.03 ID:HJBxL4o70.net
pushは押し込むって意味なんだから
それ以外の意味の処理があっても使わないわ
可読性が落ちる

103 :名無しさん@お腹いっぱい。:2015/03/17(火) 08:26:46.64 ID:IrmOB+4O0.net
関数名に代入すると戻り値?VB系とUWSCの区別が出来てないだけだろ

「FUNCTION である必要はなくて PROCEDURE で良い挙動」だけは賛成
配列サイズを戻すとかなら理解できるが
引数で渡されたものをそのまま戻り値に設定とかPerlって頭おかしいの?

だいたい配列サイズ取得にresizeを使ってる時点でウンコード
はやく消すべき

104 :名無しさん@お腹いっぱい。:2015/03/17(火) 09:24:02.94 ID:bEbY/JTw0.net
UWSCのヘルプより

 // Function - Fend    関数(戻り値あり)

 FUNCTION関数名( 引数, Var 引数, 引数[], Var 引数[][], 引数=定数, .... )
    処理
    RESULT = 戻り値    // Result に戻り値を入れる
 FEND

(例)
// 関数定義
function 階乗計算(値)
  ifb 値 = 0 then
    Result = 1
    Exit
  endif
  Result =値 *階乗計算(値-1)  // このように再帰計算もできるよ
fend

105 :名無しさん@お腹いっぱい。:2015/03/17(火) 13:02:08.56 ID:LvEKUW+E0.net
貼った意味がわからん

106 :名無しさん@お腹いっぱい。:2015/03/17(火) 16:33:33.21 ID:oYHC9Epn0.net
youtubeでリストを倍速で見たい

3〜10分の情報系の動画をまとめて見る際に通常は1.5倍速で見てる
倍速を毎回押すの面倒
ggr→UWSC→UWSCで倍速は出来るが毎回(リストの次動画に変わる事に)押さなくちゃいけん
→ifとかでブラウザ変わったらとか?→ない→積んだ

どうにかできますか?
プログラムには特に興味はありません
全く素人ですがggって目的を達成できるなら素人なりの事はしようと思ってます
レスは夜になると思いますがよろしくおなしゃす

107 :名無しさん@お腹いっぱい。:2015/03/18(水) 08:11:53.70 ID:lBs4xwoHB
倍速なんてあったんだな。便利やね。

youtubeの構造ちゃんと理解してないが、「動画ごとにURLが違う」のであれば、whileで監視して、アドレスが変わるたびに倍速処理をすれば良いと思われ。
busywait()の中身はggrば出てくる。

Public IE
IE = CreateOLEObj("InternetExplorer.Application")
IE.Visible = True
setOleEvent()
url_b="https://www.youtube.com/watch?v=p0IZoYoEwtA"
IE.Navigate(url_b)
BusyWait()

while true
 sleep(0.2)
 url_a=IE.locationURL
 ifb url_a<>url_b then
   print "URL(動画)が変わったよ" //←消して良し
   //←←←←ここに倍速を押す処理を記入する
 endif
 url_b=url_a
wend

108 :名無しさん@お腹いっぱい。:2015/03/18(水) 13:56:12.05 ID:WtkQEVNZ0.net
YouTubeAPIを使って再生リストの動画を全部1.5倍速で再生するプレイヤーをJavaScriptとHTMLで書いて、実行すればいいよ。

109 :名無しさん@お腹いっぱい。:2015/03/18(水) 15:52:33.19 ID:Dr6MH4qF0.net
EXE化したスクリプトって分解できない?

110 :名無しさん@お腹いっぱい。:2015/03/18(水) 17:36:57.16 ID:F7+nEtwv0.net
>>108
ありがとうございます
少し調べてみましたが、自分の現時点での能力・知識では
時間がかかりそうなので今回は辞めときます

111 :名無しさん@お腹いっぱい。:2015/03/18(水) 22:46:05.79 ID:NqSwYxol0.net
>>106
リストってことは、最初から見る動画は決まってるんだから、事前にローカルにダウンロードしとけば?

112 :名無しさん@お腹いっぱい。:2015/03/19(木) 00:44:39.56 ID:5ftHMR6F5


113 :名無しさん@お腹いっぱい。:2015/03/19(木) 00:46:01.06 ID:5ftHMR6F5
やる気があるように見せかける初心者が屑に見える最近

114 :名無しさん@お腹いっぱい。:2015/03/20(金) 05:20:54.52 ID:f+wf7u8Q3
UWSCとVBAとJavascriptくらいしか触ったことないんだけど、
CとかJAVAとかRubyなんかで作業の自動化しようと思うと
やっぱりそれなりに手間なものなの?
どっかで、pythonだと1週間かかるものがUWSCだと数時間でできる、みたいに
書いてた。

115 :名無しさん@お腹いっぱい。:2015/03/20(金) 16:55:34.66 ID:fi6uTuYEj
>>114
習熟度による。

書き込みは 。net じゃないと返事もらえないよ

116 :名無しさん@お腹いっぱい。:2015/03/20(金) 18:11:16.33 ID:5p/YG16zF
UWSCの利点は手軽にCHKIMGが使えるところかな
それ以外だとVBAでもVBSよい気がするし
Javascript、pythonだとデスクトップ操作と用途が違うし
C、JAVAも開発環境入れないといけないぶん手軽にというわけにはいけないし
ただUWSCのCHKIMGも慣れないと使いこなすのが難しいという
おそらく数時間でできると言うのは記録機能のことだと思うけど(たぶん)
記録機能は簡単だけどあまり使い物にならなくてそれ以上の事をすると要求レベルが上がる感じかな
UWSCもsikuliのようなIDEあればかなり簡単になりそうなのにね

117 :名無しさん@お腹いっぱい。:2015/03/20(金) 23:56:32.15 ID:f+wf7u8Q3
>>114
指摘ありがとう。最近はそうなのか。調べてみる。

>>115
わかりやすくて助かる。やっぱ開発環境準備は色々面倒そうだな。
あと正直、CとJAVAは文法が面倒なイメージもある。
一応有名どころの10種類くらいは浅く広く触ってみる予定。
参考になったよ。ありがと

118 :名無しさん@お腹いっぱい。:2015/03/24(火) 19:46:39.60 ID:0csxS8hZ0.net
プロセスのメモリアドレスを直接指定し、値の変化によって条件分岐させたいんですが
ヘルプを読んでも見当たりません
分かる人いましたら教えてください

119 :名無しさん@お腹いっぱい。:2015/03/24(火) 20:00:31.60 ID:0csxS8hZ0.net
>>118
自己解決したので取り下げます

120 :名無しさん@お腹いっぱい。:2015/03/24(火) 21:33:05.04 ID:ubWEHTBe0.net
>>91
> >>90
> > UWSCでは配列のアドレスが連続であることまで保証していないから
> dll呼び出しで渡した時点で連続になる
> > そもそも型サイズすら保証されてないから意味がない
> ドキュメントにあるがサイズは決まってる
> ※int=long= bool(4byte)、dword=uint=hwnd、 char=boolean(1byte)

少なくともHELPには載ってない。
実際のところ作者がC++とかに準拠して作ってるために
結果的にその通りになっているのかもしれないが、
だとしても、作者がHELPに「載せてない」
ということは、作者がその挙動を保証しない、ということ。

121 :名無しさん@お腹いっぱい。:2015/03/24(火) 21:43:20.01 ID:VG1i25kl0.net
>>120
Helpの「DLL仕様定義」に書いてあるよ

122 :名無しさん@お腹いっぱい。:2015/03/24(火) 22:08:48.85 ID:ubWEHTBe0.net
くっそまた罠にかかったわ
どうせ「dll呼び出しで渡した時点で連続になる」もソースはあるが
俺みたいのが罠にかかったレスするようにソース示さんのだろ…

<DLL 使用定義>
 // DLL(API等)の関数を使用する事ができるようになります (64bitのDLLは呼び出せません)

 DEF_DLL 関数名(型, 型, ...): 戻り型: DLL名
 型: int、long、bool、uint、hwnd、string、Wstring、float、double、word、dword、byte、char、pchar、Wchar、pWchar、boolean、longlong、Extended、SafeArray

 参照引数(値変更あり)の場合は Var 宣言を付ける   関数名( var double, var int )      
 構造体:型を { } にて展開して書く    関数名( double, {int, int, int} ) 
 配列の場合は型に [] を付ける      関数名( double[], int[] )

 ※int=long= bool(4byte)、dword=uint=hwnd、 char=boolean(1byte)
   ヌルポインタを渡す時は NULL定数を使用してください

123 :名無しさん@お腹いっぱい。:2015/03/24(火) 22:25:07.26 ID:SkbizcxB0.net
特に調べずにレスるけれど
そのHELPの説明文でDLLに配列を渡すケースの例示をしている時点で
対応している(少なくとも渡す時点で並べ替えている)と認識すべきでは?

124 :名無しさん@お腹いっぱい。:2015/03/24(火) 23:24:02.37 ID:+Gkl469c0.net
ポインタのポインタを渡す必要のあるDLLの場合は
どう呼び出したらいいのこれ?

125 :名無しさん@お腹いっぱい。:2015/03/25(水) 00:34:52.49 ID:oRqHVS3u0.net
初心者です。
初めて手動で組んだのですが動きません・・

監視対象がアクティブになっている時に、
右クリックを押しているかの判断をして、右クリックが押されている間はメッセージを表示しながら左クリックを押し続ける。右クリックが離されたらメッセージ表示と左クリックをやめる。
といった内容で作ったつもりなのですがどこが悪いのでしょうか?

//ソース

If GETID(GET_ACTIVE_WIN) = GETID("hoge","hogehoge")
if (Light, CLICK)
While True
printf("右クリックを離すまで、左クリックを押し続けます");
BTN(LEFT, CLICK)
ExitExitExit
endif

126 :名無しさん@お腹いっぱい。:2015/03/25(水) 02:02:25.74 ID:jIUaDhvR0.net
なんて高度な釣りなんだ・・・

127 :名無しさん@お腹いっぱい。:2015/03/25(水) 02:31:24.70 ID:XEMtgflI0.net
win8でCCleanerがアクティブウィンドウになってるとuwscが動かない
セキュリティ的な何かが働いてるの?

128 :名無しさん@お腹いっぱい。:2015/03/25(水) 10:50:01.93 ID:oRqHVS3u0.net
>>126
釣りじゃないプログラムとか一切したことないからそう見えるのかもしれないけれど・・
右クリックを離すまで、左クリックを押し続けてほしいのに、離した後もクリックが解除されません
助けてください

//ソース一部間違ってたので直しました

If GETID(GET_ACTIVE_WIN) = GETID("hoge","hogehoge")
if (Light, CLICK)
While True
printf("右クリックを離すまで、左クリックを押し続けます");
BTN(LEFT, DOWN)
Else
BTN(LEFT,UP)
printf("右クリックを離したので、クリックは解除されました");
ExitExitExit
endif
endif

129 :名無しさん@お腹いっぱい。:2015/03/25(水) 10:52:48.25 ID:cHsBSJbN0.net
画面の一部分だけ認証したい場合はどうすればいい?
画面全体から指定画像を探すより指定画像がある位置が分かってるなら画面の一部分の範囲だけを
認証させたほうが早いと思うんだけど

130 :名無しさん@お腹いっぱい。:2015/03/25(水) 11:27:53.42 ID:NZF9GBii0.net
>>129
helpより抜粋
// 指定画像が画面上にあるかチェック、あればその情報を返す
戻値 = CHKIMG( 画像名, [透過色/色無視, x1, y1, x2, y2, 番号, 色幅] )
引数
 x1, y1, x2, y2: サーチ範囲
戻値
 有ればTRUE、無ければFALSE
 TRUE の場合は見つかった座標を特殊変数 G_IMG_X、 G_IMG_Y に格納

131 :名無しさん@お腹いっぱい。:2015/03/25(水) 11:37:57.45 ID:cHsBSJbN0.net
>>130
それは既に見たんだけどx1 y1 x2 y2 番号 色幅の部分がいまいち分からない
x1 y1には指定画像の座標入れるとしてx2 y2にはなにいれればいいんだ
あとは番号 色幅

132 :名無しさん@お腹いっぱい。:2015/03/25(水) 11:53:24.81 ID:NZF9GBii0.net
CHKIMG( 画像名
の画像をペイントで開いて拡大してピクセルを数える
のが面倒だったら
たとえば、1024x1024→512x512→256x256みたいに小さくして試してみる
のもできないようだったら諦メロン

>あとは番号 色幅
う〜ん、簡単なことすぎて説明が難しい
なにも指定しなくても、つまり
CHKIMG(a.bmp, ,x1, y1, x2, y2, , )
で動くことがあるけど、動かなかったら諦メロン

133 :名無しさん@お腹いっぱい。:2015/03/25(水) 16:09:15.57 ID:3cfucZBw0.net
>>129
UWSCのヘルプ見て直感的に分からない様だと
センスが無いと思ってあきらめたほうが良いかもしれんな

CHKIMG( 画像名, [透過色/色無視, x1, y1, x2, y2, 番号, 色幅] )
        |      |       | | |  |  |   ↓ 
        |      |       | | 100%同じ画像〜大体そんな感じの色
        |      |       | | と言うように曖昧性を持たせられる
        |      |       | | 画像と対象の色素数が違う場合は重要
        |      |       | | |  |  ↓ 
        |      |検索範囲に同じ画像が複数ある時、左上から数えた番号
        |      |       | | └┬┘
        |      |       | |   ↓
        |      |       | | 開始地点からのX Y距離
        |      |       | | 要するに画像サイズ
        |      |       | | 終了地点の座標はX1+X2、Y1+Y2
        |      |       └┬┘
        |      |         ↓
        |      ↓   開始地点のX Y座標
        | 認識させたい対象が別の映像の上にのっかっているとき
        | (例えばデスクトップの壁紙の上にあるアイコンを見つけたいとき)
        | 背面が単色の中央に認識対象がある画像を作り、その単色を指定
        ↓ 白でも黒でも緑でも何でもいいが画像ファイるに合わせる事
 画像ファイル名を指定

134 :名無しさん@お腹いっぱい。:2015/03/25(水) 16:30:06.28 ID:ClTC/D2u0.net
ヘルプが超不親切でも、自分で動かしてみたら分かることなんだから、
聞く前にやれと

135 :名無しさん@お腹いっぱい。:2015/03/25(水) 17:32:39.84 ID:3cfucZBw0.net
>>128

Fukidasi("何かウインドウを選択")
While Status(GETID(GET_ACTIVE_WIN), ST_Active); WEnd

Dim Flag = 1
Dim Msg = Status(GETID(GET_ACTIVE_WIN), ST_Title)+":を選択中"
Dim WinID = GETID(GET_ACTIVE_WIN)

Fukidasi(Msg)
While Status(WinID, ST_Active)
Select Flag
Case 1; Ifb GetKeyState(2)
Btn(Left, Down)
Fukidasi(Msg+"<#CR>右クリックが押されています")
Flag = 2
EndIf
Case 2; If GetKeyState(2) = False
Btn(Left, Up)
Fukidasi(Msg+"<#CR>右クリックが離されました")
Flag = 1
EndIf
SelEnd
WEnd

Fukidasi(Msg+"<#CR>ウインドウがアクティブでなくなりました");Sleep(1)

136 :名無しさん@お腹いっぱい。:2015/03/25(水) 18:09:42.58 ID:FLBnQPHw0.net
今まで勘違いしてたわ
x2/y2って座標じゃなくてデルタ分なのかよ

>SAVEIMG( [画像名, ID, x, y, 幅, 高さ,
ならこういう感じで書いてくれたほうが判りやすいのに・・・

137 :名無しさん@お腹いっぱい。:2015/03/25(水) 18:44:09.93 ID:0L3rdstQ0.net
まじかよ
それなら普通 x, y, width, height って書くんじゃないのかw

138 :名無しさん@お腹いっぱい。:2015/03/25(水) 22:24:24.61 ID:5lotzBbd0.net
>>135ありがとうございます
参考にして電卓の7キー監視コード書いたのですがクリック関係の処理が思うように動作しません・・
すみませんがもう一度見てもらえないでしょうか・・
電卓を監視して電卓の7キーが#ffa500(オレンジ色)になった時に、
右クリックを押していたのなら、右クリックを離すまで、左クリックを押しっぱなしにする。
ただし、7キーが#fffafa(白色)に変わったのなら、右クリックを離していなくても左クリックを解除する。
ややこしいですが、まとめるとこんな感じです。
電卓7キーの色がオレンジ→その時、右クリックを押していたのなら、左クリックを押しっぱなしにする。
↑の左クリックが解除されるのは、右クリックを離した時。7キーの色が#fffafaになった時。
//ソース 電卓監視プログラム
Dim Flag = 1
While True   //監視ループのため追加。
If GETID(GET_ACTIVE_WIN) = GETID("calc","calc") Then  
If PeekColor(392, 79) = #ffa500 then
Select Flag
Case 1; Ifb GetKeyState(2)
Btn(Left, Down)
Fukidasi(Msg+"<#CR>電卓の色を元に戻すか右クリックを離すまで、左クリックが続行されます")
Flag = 2
EndIf
If PeekColor(392, 79) = #fffafa then
Case 2; If GetKeyState(2) = False
Btn(Left, Up)
Fukidasi(Msg+"<#CR>色が元に戻ったので、左クリックを解除しました")
Flag = 1
EndIf
Case 3; If GetKeyState(2) = False
Btn(Left, Up)
Fukidasi(Msg+"<#CR>右クリックが離されたので、左クリックを解除しました)
Flag = 3
EndIf
WEnd //アクティブでなくなっても終了させない。

139 :名無しさん@お腹いっぱい。:2015/03/26(木) 06:31:07.23 ID:3d3GQGmu0.net
>>136
いや、座標じゃないの
7x8の画像でテストして59,220,10,10で画面に散らばってる画像に3ヒットしてきたし

140 :名無しさん@お腹いっぱい。:2015/03/26(木) 10:55:39.64 ID:WxPb2UPl0.net
>>138
ttp://imgur.com/Fx2QWIf

141 :名無しさん@お腹いっぱい。:2015/03/26(木) 19:00:35.51 ID:3vXgCBKo0.net
>>140
すみません。画像見れない環境なので内容が分かりません・・・

142 :名無しさん@お腹いっぱい。:2015/03/26(木) 19:13:29.61 ID:gtlCQqye0.net
>>138
http://i.imgur.com/1iUqKm0.jpg

143 :名無しさん@お腹いっぱい。:2015/03/26(木) 19:20:46.41 ID:qEmTKwNj0.net
質問丸投げ系に一度答えてしまうと
こうして何度も似たようなコードを貼られてしまう

もし今の質問が解決しても今度は「電卓では動くけど○○では動かない」
と言い始めてまた質問を繰り返すだろう

簡単に答えてしまうことは誰の得にもならない

144 :名無しさん@お腹いっぱい。:2015/03/26(木) 19:28:17.80 ID:XjewbGLC0.net
考える気がない質問については同意
後は非アクティブでマウス(ユニークな資源)を使いたい系の質問は仮想環境組めとしか答え様がない

145 :名無しさん@お腹いっぱい。:2015/03/26(木) 19:40:58.28 ID:GF0ghmk90.net
○○はどうやればいいんでしょうか?(訳:スクリプト組んでください)

146 :名無しさん@お腹いっぱい。:2015/03/26(木) 20:00:15.14 ID:yo+FEPo60.net
UWSCが動くけど画像が見れない環境ってどんなのだ

147 :名無しさん@お腹いっぱい。:2015/03/26(木) 20:58:44.15 ID:3vXgCBKo0.net
>>143
丸投げじゃないです。自分なりに考えて書きました・・
今回は ifbに PeekColorを使ってますが ここは何でもいいんです
要は>>135のコードで、右クリックが押されている時をトリガーにしていましたが、
ここに更に分岐を組み込み、二つの条件を同時に満たした時に左クリックを実行させ、
同様に>>135では左クリックの解除条件が一つでしたが、解除条件を二つに増やし
そのどちらかの条件が満たされていた場合に、クリックを解除する
というコードのつもりで書いたのが>>138です
これ以上はもう追加のコードを書いて聞いたりしないので、助けてください。
お願いします。

>>144
非アクティブ時にマウス使う必要はありません
非アクティブ時にも自身を終了させずに、アクティブになったら監視を再開するように書き直しただけです

148 :名無しさん@お腹いっぱい。:2015/03/26(木) 21:25:01.58 ID:XjewbGLC0.net
やりたいことを整理できているならコード化できる筈
最初はどんな泥臭いコードでもイイんですよ
やりたいことが動けば
だから貴方は考える気がない人か釣り人です

149 :名無しさん@お腹いっぱい。:2015/03/26(木) 22:19:31.90 ID:3vXgCBKo0.net
>>148
はい。コード化は>>138でしました
だけどやりたい事が動かないから聞いてるんです・・
最初にも言ったけど釣りじゃないです
プログラムはもちろんスクリプトも書いたことなかったので、
なんで目的の動作しないのか分からないんです

150 :名無しさん@お腹いっぱい。:2015/03/26(木) 22:26:42.64 ID:XjewbGLC0.net
これだけ時間がたっても画像が見れない環境に居続けているってのが先ず信用出来ないから釣り確定です
明日ID変わってから別のネタでどうぞ

151 :名無しさん@お腹いっぱい。:2015/03/26(木) 22:54:38.20 ID:3vXgCBKo0.net
>>150
すみません。ウィルス感染したことがあって画像は見れないです
そもそも画像にする意味が分かりません
ここに書いてくれればいいと思います

152 :名無しさん@お腹いっぱい。:2015/03/26(木) 22:59:42.32 ID:gtlCQqye0.net
(´・ω・`)・ω・`) キャー
/  つ⊂  \  ウイルス怖いー

153 :名無しさん@お腹いっぱい。:2015/03/26(木) 23:18:53.51 ID:BAoGSiVG0.net
(´・ω・`)・ω・`) キャー
/  つ⊂  \  ウイルス怖いー

154 :名無しさん@お腹いっぱい。:2015/03/26(木) 23:25:10.91 ID:WxPb2UPl0.net
(´・ω・`)
もうID:3vXgCBKo0は助けない

155 :名無しさん@お腹いっぱい。:2015/03/26(木) 23:29:40.49 ID:XjewbGLC0.net
>>152-154
(´・ω・`)出荷よー

156 :名無しさん@お腹いっぱい。:2015/03/26(木) 23:32:34.76 ID:WxPb2UPl0.net
      _,..-――-:..、    ⌒⌒
    /.:;;;;;;;;;;;;;;;;;;;;;::.\      ^^
   / .::;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::..ヽ   ドナドナドーナードーナー
         __AーA
      _,ィ´▼⊂(´・ω・`)⊃
.... .. ..  ' {●.▲ヽ(_⌒)   .. ... ........ ... .. .... ..
:::: :: .,'  i――――――i  ':, :: :::: :::: :::::::: ::::
;; ;; :,"  |______|  `:, :;;; ;;;;;; ;;; ;;;;
w ,.'    i,,i ;;;;;;;;;;;;;;;;;;;; i,,i;;:..  ゙v w゙゙w゙w゙゙w
",i    ,;'' :::::::::::::::::::::::';,::::::... ヾ、 w vw w
./    ,;;:´  :::::::::::::::::::::':;;,::::::::.. i,'、 ww w

157 :名無しさん@お腹いっぱい。:2015/03/27(金) 00:26:08.98 ID:PrwW+KZP0.net
>>154
すみません・・画像見ました。コードに解説つけて説明してくれたんですね
画像で感染するウィルス踏んでOSインストールし直す目にあってから
画像踏めなくなったんです許してください
しかし専門用語が多すぎて説明の意味がほとんど分かりませんでした
自分で調べながら試行錯誤してみますが無理だったらまた力になってください
あなただけが頼りです

158 :名無しさん@お腹いっぱい。:2015/03/27(金) 00:27:33.17 ID:qyMRpl9y0.net
あなただけが頼りですってwww
まずはその前に単語の意味調べてこいよwwwww

159 :名無しさん@お腹いっぱい。:2015/03/27(金) 00:33:22.48 ID:hEw2Ht7w0.net
例えばここで間違ったコードを提供するとするやん?
すると意味がほとんど分からなかったはずなのに、鬼の首を取ったかのように指摘してくるぜ、きっとw

160 :名無しさん@お腹いっぱい。:2015/03/27(金) 01:49:31.00 ID:pxfAJWsn0.net
って思うじゃろ?
さりげなく間違えとるんじゃが多分どこかすらわからんだろうなあ

161 :131:2015/03/27(金) 02:40:41.29 ID:PrwW+KZP0.net
指摘された問題箇所を修正したのですが、右クリックを押してさえいれば、PeekColor関係なしにクリックされ続けてしまいます。
指定座標の色が#00a5ffかつ、その時に右クリックを押している時のみクリックという条件が機能していない?
間違えてるところははif→ifb とifbの後にendif入れ忘れですよね?、
あとアドバイス通りthenの後にCONTINUEを追加し真の時のみ実行させるようにしたんですがCONTINUE あると起動しないのでCONTINUEは削除しました。。。後はコード短くするため PeekColor の取得値を X に入れました。

//問題の処理部分のみ。前半は省略します

X = PeekColor(392, 79)
ifb X = #00a5ff then CONTINUE //式がおかしいor型があっていないと出ます・・
EndIf              //endifを入れ忘れてたので追加
Select Flag
Case 1; Ifb GetKeyState(2)
Btn(Left, Down)
Fukidasi(Msg+"<#CR>電卓の色を元に戻すか右クリックを離すまで、左クリックが続行されます"
Flag = 2
EndIf
ifb X = #ffafa then CONTINUE   //式がおかしいor型があっていないと出ます・・
EndIf
Case 2; Ifb GetKeyState(2) = False
Btn(Left, Up)
Fukidasi(Msg+"<#CR>色が元に戻ったので、左クリックを解除しました"
Flag = 1
EndIf //endifを入れ忘れてたので追加
Case 3; Ifb GetKeyState(2) = False
Btn(Left, Up)
Fukidasi(Msg+"<#CR>右クリックが離されたので、左クリックを解除しました)
Flag = 1
EndIf
SelEnd
WEnd

見捨てないで、どうか助けてください。今日はもう寝ます・・

162 :sage:2015/03/27(金) 03:05:57.82 ID:5MNpCEnQ0.net
いつまでこの茶番続けるん

マジなら絶望的に向いてないな

163 :名無しさん@お腹いっぱい。:2015/03/27(金) 03:15:48.42 ID:qyMRpl9y0.net
>間違えてるところははif→ifb とifbの後にendif入れ忘れですよね?、

何だこれ
ヘルプぐらい読んでくれよwww

164 :名無しさん@お腹いっぱい。:2015/03/27(金) 06:12:09.40 ID:C2HioZf90.net
こういうのこそあっちに誘導してクソコテに相手させればいいんじゃね

165 : ◆evw/E7kww2 :2015/03/27(金) 06:32:15.17 ID:qYu4G05r0.net
>>161
ttp://www.google.co.jp/search?q=uwsc%20ifb%20endif%20then

ググるのもいいけど
2ちゃん専用ブラウザ入れてUWSC過去スレまとめて検索するのを覚えるべき。
2ちゃんねるの仕様が変わってちょっと不便になったけど。

166 :名無しさん@お腹いっぱい。:2015/03/27(金) 09:09:15.99 ID:TzycqFpk0.net
歌パニエでめっちゃお世話になったなぁ

167 :名無しさん@お腹いっぱい。:2015/03/27(金) 09:14:13.45 ID:pxfAJWsn0.net
わしの間違いは = じゃなく <> だったのだが
多分言っても分からんのじゃろうなあ・・・

変なのにかまってしまって申し訳ない

168 :名無しさん@お腹いっぱい。:2015/03/27(金) 19:37:46.66 ID:PrwW+KZP0.net
>>165
そんなのもの最初に検索してるに決まってるじゃないですか。
それでも目当てのものが見つからないからこうして聞いてるんです
>>138で具体的な解らない場所まで掲示してるのにいまだにちゃんと動作しません
嘘とか教えてないでせめて質問したコードが動くようになるまでは力をかしてほしいです

169 :名無しさん@お腹いっぱい。:2015/03/27(金) 20:11:18.34 ID:WEip1DaD0.net
これが構った結果
罪は重い

170 :名無しさん@お腹いっぱい。:2015/03/27(金) 20:29:02.03 ID:igAiJuqF0.net
要求仕様を書いたんだから、動くコードを提供するのは当たり前!
って金を払ってから言えよw

171 :名無しさん@お腹いっぱい。:2015/03/27(金) 20:40:56.12 ID:PrwW+KZP0.net
>>170
そう見えたのならすみません。でも言葉だけじゃなくコードも書いてます
テンプレ守って具体的に分からない所も掲示してコードも出して質問してますし
それなのにわざと間違えたコードを入れたり煽ったりするのは酷いと思います
>>135みたいに優しく教えてくれる人お願いします・・

172 :名無しさん@お腹いっぱい。:2015/03/27(金) 20:45:40.80 ID:qyMRpl9y0.net
わざと間違えたコードを入れているわけじゃないだろwwww

173 :名無しさん@お腹いっぱい。:2015/03/27(金) 20:47:27.70 ID:xpUecemo0.net
>>135
っていうかcaseの条件にifbっておかしくね?

174 : ◆evw/E7kww2 :2015/03/27(金) 21:05:47.25 ID:qYu4G05r0.net
>>173
; で区切ってるからエラーではないけど
理解を妨げるような書き方ではある。

175 :名無しさん@お腹いっぱい。:2015/03/27(金) 21:54:03.58 ID:pxfAJWsn0.net
そもそもわし128なのに
やさしい人呼ばわりから、間違えてコード入れて煽ったりする人よばわりで困惑
そもそも間違えたわけではなく指摘し忘れただけで、注訳付けただけやのに・・・

情けは人のためにならない世の中ですね(´・ω・`)

176 :名無しさん@お腹いっぱい。:2015/03/27(金) 22:51:36.70 ID:qyMRpl9y0.net
>>175
貴方は何も悪くないから安心すると良い
何か悪い事があるとすれば、コードを全く理解しようとしない質問者の幼稚な頭かな

177 :名無しさん@お腹いっぱい。:2015/03/27(金) 23:02:39.71 ID:PrwW+KZP0.net
>>175
貴方の発言に >さりげなく間違えとる とあったので
わざとやったのかと思ったんですが
煽る人ってゆうのは貴方のことじゃなくて釣りとか言ってくる人です
ちなみに注訳に従って
X = PeekColor(392, 79)
ifb X = #00a5ff then CONTINUE
としたら、構文エラーで起動しませんでした・・
乗りかかった船は最後まで手伝ってください・・
>>176
初めてなりに理解しようとはしてます。その証拠にコードをアレンジとかしてますし
もう読んでるのに過去ログ読めという人ばかりなんですよ
コードを深く理解できてるのならすぱっと教えてください・・

178 :名無しさん@お腹いっぱい。:2015/03/27(金) 23:18:11.59 ID:qyMRpl9y0.net
>>177
理解しようと思うなら該当の構文のヘルプぐらい読んでから質問しろよ
ifとifbが〜なんてふざけた事言うな
そんで乗りかかった船は手伝えとか何様だよ

179 :名無しさん@お腹いっぱい。:2015/03/27(金) 23:21:44.69 ID:hEw2Ht7w0.net
俺らはお前よりも知識があって偉いから、気分を損ねる不快な奴には教えてやんないもんね!

180 :名無しさん@お腹いっぱい。:2015/03/27(金) 23:22:53.76 ID:xpUecemo0.net
そもそもその船には誰も乗ってないよね。沈没船を話題にしただけだ。

181 :名無しさん@お腹いっぱい。:2015/03/27(金) 23:31:58.34 ID:igAiJuqF0.net
まじ、これよ>>178
これができないなら、他のどんなプログラミングもできないから
スパッと諦めた方がいいよ
諦めて今までどおり手動で操作しているべきだよ…

これだけ皆に言われているんだから、まずは自分の人間性を疑ってかかった方が良い

182 :名無しさん@お腹いっぱい。:2015/03/28(土) 00:00:02.80 ID:5DGPcVxp0.net
質問丸投げ系に一度答えてしまうと
こうして何度も似たようなコードを貼られてしまう

もし今の質問が解決しても今度は「電卓では動くけど○○では動かない」
と言い始めてまた質問を繰り返すだろう

簡単に答えてしまうことは誰の得にもならない

183 : ◆evw/E7kww2 :2015/03/28(土) 00:24:04.65 ID:k9OYpbEw0.net
>>177
> その証拠にコードをアレンジとかしてますし

1.アレンジすんなコピペしろ
2.文法がわからないなら1文ずつエラーチェックしろ

Wikipediaより
> アレンジ(arrange)とは、英語で「整頓する」「配列する」「用意」「手配」といった意味を持つ。日本では外来語として定着しており、主に以下の意味で用いられる。
>
> 音楽における編曲のこと。
> 上記に転じて、物事の一部を変化させるなどの手を加え、その物事を構成し直すこと。この場合、厳密には異なるがリメイクと同じような意味を持つ事が多い。

184 :名無しさん@お腹いっぱい。:2015/03/28(土) 01:13:42.18 ID:bZyZO34x0.net
つかさ
もともとの質問は>125で
それは>135で解決してるじゃんよ

それをアレンジ()でぶっ壊して動けなくしたのに
責任とって直せとか斜め上杉内?

ここってキチママスレだっけ?

185 :名無しさん@お腹いっぱい。:2015/03/28(土) 01:20:26.12 ID:sU6n2E0R0.net
とりあえず放置してほっとけ。
お疲れ様。解散。

186 :名無しさん@お腹いっぱい。:2015/03/28(土) 02:00:16.20 ID:sqKFQT9+O
コードを書いたら一行一行、自分が期待した通りに動いているかチェックが必要なの。
それを全部やればちゃんと動く。
わかりきっているなら必要ないけど、慣れてない言語ならなおさら。
だからめんどくさがらずにやること。
そのためにFUKIDASIとかPRINTを使う事

187 :名無しさん@お腹いっぱい。:2015/03/28(土) 07:49:28.39 ID:LX5gUCeWd
厚かましい人間ってマジで屑だよな。
俺も無料で作ってやったソフトに「こんな機能があったらいいかもです」
って提案されたことあるけど、これを訳すと「この機能を作ってくれ」だもんな。無料で。
「自分で追加するといいと思いますよー」って返したけど、自分で覚える段階に
なると何もしないんだよな。死滅しろよと

188 :名無しさん@お腹いっぱい。:2015/03/28(土) 08:19:34.96 ID:3IzHMtV9f
>>186
.sc に書いても .net の人には見えませんよ。

>>187
作ってくれならまだいいよ。現実には、「作れ」って命令されるよ。しかもその脅迫は延々と続くよ。

189 :名無しさん@お腹いっぱい。:2015/03/28(土) 08:29:11.61 ID:zH5Vl2tA0.net
MOUSEORG関数でMORG_DIRECTを指定した時のBTN関数の挙動って
ウィンドウ領域にカーソルを静止させないと記述どおりに動いてくれないじゃん
なんだかなあ

190 :名無しさん@お腹いっぱい。:2015/03/28(土) 11:50:05.54 ID:Zx06Is4V0.net
具体的なコードは知らんがユニークな資源なんだから常に動かしているなら
一瞬だけ記述どおりの動作になるのは当然じゃね?
暫く固定する必要があるならユニークな資源を保有し続けて座標を維持しないとな

191 :179:2015/03/28(土) 16:34:16.39 ID:zH5Vl2tA0.net
真面目な話、裏マクロってどうやって組むんだろう

192 :名無しさん@お腹いっぱい。:2015/03/28(土) 18:02:58.49 ID:M5/U9LbtS
>>188
金もらってなければ逃げれるだろw もらってたらある程度仕方がない。
最初の交渉がどうなってたか次第だけど、SEって交渉苦手そうなイメージ。

193 :名無しさん@お腹いっぱい。:2015/03/28(土) 18:25:52.66 ID:EdzQ42EL0.net
>>191
対象アプリによる。マウスの現在位置を取得して動いているようなアプリだと実際にマウスを持っていかないと動かない
マウスメッセージを受け取って処理しているアプリなら、適切なウィンドウにメッセージを送れば動く
お前が動かしたいアプリが何だか知らないからアドバイスのしようがない

194 :名無しさん@お腹いっぱい。:2015/03/28(土) 19:23:34.23 ID:SaFLfEi30.net
DInput使ってるゲームとかだと実移動距離
GDIならウインドウ領域で実位置
APIなら直接座標可能
って所か?

195 :名無しさん@お腹いっぱい。:2015/03/28(土) 23:16:55.19 ID:Zx06Is4V0.net
対象が標準コントロール使っているならマウス操作は本来回避可能な筈なんだよね
マウス操作が不可避の段階で最前面操作か仮想化を視野に入れた方がシンプルだよ

196 :名無しさん@お腹いっぱい。:2015/03/29(日) 18:02:03.89 ID:QvfMdREk0.net
メモ帳に保存した複数URLを重複することなくfirefoxで開きたいんですがどうすりゃいいですか?

197 :名無しさん@お腹いっぱい。:2015/03/29(日) 18:21:56.64 ID:ZqD1Y3z90.net
>>196
期待してるのと違うかもしれないけど
それぞれの環境で違うかもしれないけど、たとえば

"C:\Program Files (x86)\Mozilla Firefox\firefox.exe" http://www.2ch.net/
"C:\Program Files (x86)\Mozilla Firefox\firefox.exe" http://www.3ch.net/

"C:\Program Files (x86)\Mozilla Firefox\firefox.exe" http://www.65535ch.net/

というふうに編集して
拡張子 .batで保存して実行する

編集はメモ帳の編集機能でも、UWSCのファイル読み書きと文字列編集でも、なんでもいいです

【重要な注意】いきなり全部やらないで、まず二つで試すこと。次に三つ。
【重要な注意2】下手するとPCが壊れます
【重要な注意3】最悪の場合ネットワーク機器が壊れます
【重要な注意4】もっと最悪だと、天文学的な通信料の請求が来ます

198 :名無しさん@お腹いっぱい。:2015/03/29(日) 18:44:16.98 ID:QvfMdREk0.net
>>197
ありがとう
やってみます

199 :名無しさん@お腹いっぱい。:2015/03/29(日) 18:53:17.43 ID:GjltWzOo0.net
もし自分で作るなら大雑把だけどこんな感じにするかな

クリップボードにコピーしてからスクリプトを起動
スクリプトはクリップボードの内容を改行でSPLITして配列に変換
配列をソート
比較用を初期化
配列の内容でループ開始
 配列の内容が比較用と一致すればコンティニュー(重複回避)
 配列の内容を比較用に保存
 配列の内容でブラウザを起動
ループ

200 :名無しさん@お腹いっぱい。:2015/03/29(日) 19:08:27.25 ID:2AWtXop20.net
重複のチェックなら連想配列のkeyに入ればいい

201 : ◆evw/E7kww2 :2015/03/29(日) 19:25:17.23 ID:/CjiQE470.net
デフォルトブラウザで開ければいいんならコマンドプロンプトから
start http://www.google.com
ってするだけでいいよ

他のデータが混じってないならこのコマンド1行で済む
for /f %a in (aa.txt) do start %a

バッチファイルに書くときはこうなる
for /f %%a in (aa.txt) do start %%a


試しに aa.bat から aa.txt の aa ってデータを処理したらパソコンがぶっ壊れた。
start を echo に置き換えて正しく表示されるか先に確認すべき。
あと、データを間違いなく入力できないと結局壊れるから、やっぱり START コマンドはやめた方がいいかも。
start の部分を >>197 のようにプログラムのファイルパスにすれば問題ない。

202 :名無しさん@お腹いっぱい。:2015/03/29(日) 20:48:00.69 ID:4P49eCbeB
横レスになるけど、firefoxやクロームを操作するのって、IE操作と同じくらいの
感覚でできるものなの?だいたいIEで問題ないから他のブラウザに手を出してない。
サンプル見ても、IEならIE.document.forms[n].elements[n2].click()とかで
いけそうなものを、CLK_ACCとか使ってて、使い勝手悪そうなイメージがある。
普段から使ってる人いたら教えてくらはい。

203 :名無しさん@お腹いっぱい。:2015/03/29(日) 21:17:30.89 ID:zBQT0KFA1
>>202
インターフェースが用意されていないから仕方がない

selenium-vbaを使えばブラウザに依存しないコードが書けて楽
IEのエレメント操作が理解できる知識程度なら難なく出来る

理解さえできればInternetExplorer.Applicationの直接操作より
簡単かつ柔軟に記述できる

204 :名無しさん@お腹いっぱい。:2015/03/29(日) 21:30:06.44 ID:D41B0seXl
>>202
Firefox、ChromeはCOMを掴めないのでUWSCからDOM操作はできない
近いことはSeleniumVBAをインストールすると可能
だけど資料が少ないのでお手軽ではないね

205 :名無しさん@お腹いっぱい。:2015/03/29(日) 21:47:33.59 ID:4P49eCbeB
>>202,203
おお、情報ありがトン。そんな便利なものがあったのね。名前は聞いたことあるかも。ちと調べてみるわ。

206 :名無しさん@お腹いっぱい。:2015/03/29(日) 22:08:19.47 ID:pGsTj0MP0.net
>>201
それだとURLに&とか%が来ると誤動作になるからやめたほうが良い
CGIパラメータとして記号が入ったり文字コード外の文字が入ってきて最悪ぶっ壊れる

自分なら >200の意見に賛成
だけど連想配列のキーに禁止文字があったら・・・と考えるとやっぱり怖い
数十行程度のURLなら普通の配列に入れて一回一回判別すればいいんじゃないかな

FOR 行数
 フラグクリア
 For In 配列
  有ればフラグ、無ければ配列サイズを増やしていれる
 Next
 フラグあれば無視、無ければ起動
NEXT

シンプルだけどまずはこれで十分じゃないかな

207 : ◆evw/E7kww2 :2015/03/29(日) 22:28:20.95 ID:/CjiQE470.net
>>206
ダメ文字は考えてなかったけど、やってみたら問題なかったよ。
文字コード外とか、ちゃんとURLが入ってればありえないし。


C:\temp>for /F %a in (aa.txt) do start %a

C:\temp>start http://www1.axfc.net/uploader/search.pl?search_str=%E3%82%B0%E3%83%A9%E3%83%96%E3%83%AB&date_start=20150101&key=1

208 :名無しさん@お腹いっぱい。:2015/03/30(月) 00:25:39.85 ID:pRk3imSd0.net
重複に関しては予めエクセルで重複チェックしてるので、ミスクリックさえなければ大丈夫と思ってましたがありがとうございます

209 :名無しさん@お腹いっぱい。:2015/03/30(月) 03:04:16.86 ID:3uzMxD8+0.net
firefoxなら開くのアドオン使ったほうが楽なのでは?
Launch Clipboardとか

210 :名無しさん@お腹いっぱい。:2015/03/30(月) 03:48:26.62 ID:pRk3imSd0.net
>>209
うわー、すげぇw
一気に解決しました
ありがとうございます!

211 :名無しさん@お腹いっぱい。:2015/03/30(月) 10:38:41.30 ID:FnC9Trqr0.net
やりたい事が明確なら、ネットで探せば結構いろいろあるもんだね。

212 :名無しさん@お腹いっぱい。:2015/03/30(月) 12:15:19.22 ID:x6BlnIvI0.net
>>207
start http://test.url/cgi.pl?aaa=1&test=2&%path%=test

これでやってみてください
こんなURLはまずないと思うけど世の中分からないし

213 : ◆evw/E7kww2 :2015/03/30(月) 16:07:49.45 ID:U941UJP80.net
普通に実行したら%path% が展開されますね。

でも、(aa.txtに記述して>>201のバッチで実行したら)ちゃんとそのURLを開きに行きましたよ

結果:
> http://test.url/cgi.pl?aaa=1&test=2&%path%=test
> このウェブページにアクセスできません
> DNS ルックアップでエラーが発生したため、test.url にあるサーバーを見つけることができません。

変数の展開は1度だけなんで、for で変数を使って展開してればそれ以上は展開されないんですよ。
へたにアレンジ(笑)を加えると動かなくなるんで、コピペできない人はやらない方がいいね。

214 :名無しさん@お腹いっぱい。:2015/03/30(月) 21:46:48.99 ID:rLLAMIgrQ
DEF_DLLで扱う関数?(ModifyMenuAとか)などはググってもあんまり使用例とか
なかったりわかりづらいものがあったりするんだが、皆ああいうのって
見よう見まねで使ってるの?英語ばかり出て来るものもあるんだけど、
そういうのは自分で翻訳して利用してるのか?

215 :名無しさん@お腹いっぱい。:2015/03/31(火) 05:21:05.33 ID:Uqie99WqS
>>214
DEF_DLLを積極的使える人はもともとwindowsデスクトップアプリ開発経験者だよ
windowsプログラミングの基礎知識(マルチタスクの仕組みとか画面描画処理とかwindowの生成方法とかetc・・・)
が無いとどうしても見よう見まねで使うしかないし、応用することはかなり厳しい
ちなみに、なれると英語のページでも書かれている事は決まっているのでだいたい当たりが付くらしい(ほんとかよw)
Trial and error and try again

216 :名無しさん@お腹いっぱい。:2015/03/31(火) 22:21:36.34 ID:wyLUTT5mo
おおー、参考になる情報ありがと!
デスクトップアプリ開発者なら何となく納得だわ。
microsoftのページ見ても何が書いてあるのかさっぱりだもんな。
かといって、一つずつ訳してまで修得したいほど必要性に迫られてないし。
しかしデスクトップアプリ開発者は自分で訳してるんかな。
どっかにそういう参考書とかあんのかな。

217 :名無しさん@お腹いっぱい。:2015/04/03(金) 03:13:23.83 ID:Uek9SccnT
ヤフメの操作ってかなりやりづらくなった?

218 :名無しさん@お腹いっぱい。:2015/04/03(金) 06:41:51.18 ID:YENBPbxb0.net
Win95,98時代に、WindowsAPIとかCOMの本とかいっぱい出てて、それ読んではじめてWindowsのアプリ作れたもんですね。。
uwsc は1999からあるからその辺りの知識つかってやるもんじゃないのかな

219 :名無しさん@お腹いっぱい。:2015/04/03(金) 08:18:53.47 ID:f5IV+dZR0.net
予備知識無くても作れるのがuwscのいいところだろ

220 :名無しさん@お腹いっぱい。:2015/04/03(金) 09:07:19.19 ID:2ELB0M0A0.net
記録機能があるからそう考えちゃう気持も分かるけれど
それに頼ると必然的にマウスやキーボードに依存するスクリプトになってしまう

それでも単純に動作させるだけなら問題ないんだけれど
裏で安定させて動作させたいとか拘りだすとやっぱり色々と知識は必要だよ

今はVisual Studio Proが只になったから
Microsoft SPY++が入手しやすくなって楽になったよ

221 :名無しさん@お腹いっぱい。:2015/04/03(金) 09:15:55.81 ID:Z43Pu++g0.net
>マウスやキーボードに依存するスクリプトになってしまう

別に構わないというか、だからこそUWSCというか
予備知識が必要というのはデメリットでもある
たとえ話をするならば、自動車のオートマやパワステの機構に関する予備知識が必須だったら普及しなかったはず

>裏で安定させて動作させたいとか拘りだすとやっぱり色々と知識は必要だよ
これはその通り。そういう用途にUWSCは向かない。適材適所

222 :名無しさん@お腹いっぱい。:2015/04/03(金) 17:18:35.87 ID:gBhTb1y++
他の言語は実行環境とか面倒だし何ができるかわからなくて、
ほぼUWSCしか触ったことがない残念な俺に、他言語の良さを教えて下さい。
とりあえずの認識として、
C,JAVA…速い、書き方面倒くさい、勉強になる
PHP,Javascript…webを動的に操作。需要高い
Ruby,perl,python…そこそこ有名だけどよく知らん。Rubyはゲーム向き?
こんなレベルなんだ。

他言語はだいたいUWSCより速いのだろうけど、個人で使う分にはUWSCで
今のところ不都合なく、手軽さでUWSCがダントツの状態。
Javascriptはちょっといじって便利なのはわかった。
でも他の言語はどんな用途に向いてるのかわからん。
PHPは例えばネットショップとか作るのに都合がいいのかな?
いじったことのある言語を、UWSCと比較して教えてもらえたら
とてもありがたいです。

223 :名無しさん@お腹いっぱい。:2015/04/04(土) 07:47:43.31 ID:KothYl9F1
>>222
UWSCと他言語を比較して語るというのは漫然としすぎていて答えにくいかも
目的があればそれに適した言語があるとしか
まずUWSCはWindws操作を自動化するソフト、基本はマウス座標とキーボード入力を記録して再生
それにVBAのようなスクリプト言語がついている
ということを踏まえて

何が作りたい?何がやりたい?
Windows用GUIソフトが作りたい→C++,C#,Visual Basic
Androidアプリが作りたい→JAVA
iOS→Objective-C,Swift
WEBアプリ、サービス→JAVA,PHP,Javascript,Ruby,perl,python

これでもまだ漫然なので具体的にすると
WEBページの会員数を定期的に記録するBOTを作りたい→Ruby,perl,pythonが手軽?

UWSCを活用するためになにが必要か迷っているということなら
JavascriptでDOM操作はかなりUWSCで応用できるのでおすすめ
プログラムに興味があるのならVisual Studio Communityを入れてC#,Visual BasicでGUIプログラム入門してみるとか
目標というか目安がほしければC,JAVAで基本情報処理午後合格レベルを目指すとか

224 :名無しさん@お腹いっぱい。:2015/04/04(土) 17:10:38.95 ID:pcFxPFQB0.net
age

225 :名無しさん@お腹いっぱい。:2015/04/04(土) 23:42:17.93 ID:0geEG6o8k
>>223
お返事とても嬉しい。ありがとう。
やりたいのはwindowsアプリ作成と、ネットショップ運営がとりあえずの
中期目標くらいな感じかな。一応、C#とPHPは一通り勉強しようとは思ってる。

例えばWEBスクレイピングしようと思ったらUWSCでもVBAでもできるし、
あとRubyでもできると見かけたことある。この時にUWSCで
スクレイピングが既に不都合なく出来ているとして、Rubyでも同様に
処理出来るだけの知識は持つべきか?ってところでどーしよっかな
ってのが今の俺。

例えばUWSCだと30分かかって組む処理がRubyには凄く便利な関数があって
10分でできる、とかだったらRubyは一から学ぶだけの価値はあると思う。
でも同じくらいの時間がかかったり、「明らかにUWSCより優れている!」
っていう部分がないのであれば、少なくともスクレイピングのために
Rubyを学ぶ意味は薄いかなーと思う。
あるいは組む時間と手間は同等にかかったとしても、実行時の処理が
UWSCの倍以上速いとかだったら学ぶ価値はあると感じてる。

あと、UWSCでもデータベースもどきは作れるけれど、一定件数以上ならば
PHPを使って作成した方が処理も速く、管理も簡単だとか、そういう得意分野
があれば知りたい。

書いてて思ったが、今知りたいのは開発効率、実行速度効率かな。
あと、UWSCではすぐに出来ない(組むのに手間がかかる)処理を、
この言語だったらサクッと作れるとか。まぁこれも開発効率か。

今のところ、AndroidとiOSは後回し状態。とにかくwindowsのみ。

226 :名無しさん@お腹いっぱい。:2015/04/05(日) 00:59:57.04 ID:bXt5NNxnq
実行速度
ttp://toro.2ch.sc/test/read.cgi/tech/1378978504/53+63+329+357
> C# on PowerShell > Lua(数値) > HSP3.31 = JavaScript  > Lua(文字) > VBScript >> AutoIt3 = AHK >> UWSC >> PowerShell >> DOSコマンド

> PHP >> Perl >> Python > Flex > Actionscript > Ruby > Javascript > Powershell > F# >> VBScript

Ruby は1年前くらいの高速化で Python と同等の速度になったが
小さい数値計算では Python が速く、大量のファイル処理では Ruby が速い特徴がある。

UWSCと同様にマウスの自動化をするソフトは VBScript よりだいぶ遅いので
速度面で不満があって UWSC から乗り換えるなら汎用言語を使うしかない。

VBScript は汎用言語では最も遅いレベルだけど、UWSC よりも速くてお手軽。ただし、画像処理が・・・

Windows で手軽に使えるのは .net でサポートした言語と、COM で使える言語。
Python も Perl も Activestate が COM の実装を無償提供している。

COM で使える言語は UWSC からも呼び出すことができ、速度は UWSC に依存しないので、
部分的な高速化のために ActivePython を使うのはお勧めできるが
はたしてどんな用途なら有効活用できるかさっぱりわからない。

227 :名無しさん@お腹いっぱい。:2015/04/06(月) 00:19:10.51 ID:oamxklXl0.net
規制かな

228 :名無しさん@お腹いっぱい。:2015/04/06(月) 18:00:45.83 ID:mrpdHuCF0.net
COMを利用したIE操作は出来るけど、Chromeを操作って出来る?
同じようにCOMで

229 :名無しさん@お腹いっぱい。:2015/04/06(月) 18:06:08.93 ID:cwPLWyBL0.net
できない

230 :名無しさん@お腹いっぱい。:2015/04/06(月) 19:45:11.61 ID:MO9DQvtT0.net
Seleniumで検索してみ
マルチブラウザ対応の自動テスト用のソシューションだけど
VBでテストする方法とかがそのままUWSCに応用できるよ

231 :名無しさん@お腹いっぱい。:2015/04/06(月) 22:18:08.55 ID:JCeG5kCZ0.net
UWSC忘れててサブ機もwin7 64bitにしてしまった。
似てるので64bitで使えるのないかい?

232 :名無しさん@お腹いっぱい。:2015/04/06(月) 22:23:50.60 ID:ppx6J7eD0.net
Seleniumができるなら拡張もアリだな

233 :名無しさん@お腹いっぱい。:2015/04/06(月) 22:24:26.72 ID:ppx6J7eD0.net
>>231
え?64bitだけどuwsc使えてるよ

234 :名無しさん@お腹いっぱい。:2015/04/06(月) 22:26:54.04 ID:MO9DQvtT0.net
質問が曖昧過ぎる

Win64でも32bitアプリは動作するが
64bitアプリと32bitアプリが同じかと言われたら当然違う

調べる気がないならWin7でも32bitアプリを操作するなら大丈夫って考えておけば良い

235 :名無しさん@お腹いっぱい。:2015/04/06(月) 23:01:54.60 ID:JCeG5kCZ0.net
>>233,211
シェアウェアで動かなくてフリー版で動いた。
原因なんてしらないけど動かないって概念で諦めてたけど動きました。
街で偶然あったら酒でも奢りたい気分です。

ありがとうございました。

236 :名無しさん@お腹いっぱい。:2015/04/06(月) 23:18:10.03 ID:U00NqrYV0.net
シェアでも動くだろ

237 :名無しさん@お腹いっぱい。:2015/04/06(月) 23:35:34.16 ID:JCeG5kCZ0.net
シェアだとCOMエラーでまったくダメだったよ。
後で入れ直ししてみる。

238 :名無しさん@お腹いっぱい。:2015/04/07(火) 00:24:52.63 ID:o0YFB1Jw0.net
>>237
UWSCが64bitで動くか動かないかと言われたら動くだろ
UWSCは32bitアプリ

で、64bitのDLLは読み込めないと公式に謳ってるから
64bitのCOMに触れたマクロは当然動かない
32bitDLLを別途用意するか、必要部分をPoweShellに置き換えるかしろ

239 : ◆evw/E7kww2 :2015/04/07(火) 07:52:24.67 ID:L95dVvZa0.net
例のポーカーマクロが最新版ではCOMエラーになるから
バージョンが違ってるのが原因だったりして。

240 :名無しさん@お腹いっぱい。:2015/04/07(火) 12:03:07.27 ID:tuVm10qf0.net
バージョン5らへんの更新でIE操作関連でCOMエラー出るようになったよね
差異調べて書き換えるの面倒だから戻して使ってるけど

241 :名無しさん@お腹いっぱい。:2015/04/07(火) 17:07:20.29 ID:6ICclBNz0.net
すみません。
起動後に自動実行されるスクリプトを実行させないようにするにはどうすればいいでしょうか。
起動だけさせておき、任意のキーを押すまでスクリプトを開始しないようにしたいのですが。

242 :名無しさん@お腹いっぱい。:2015/04/07(火) 17:22:20.17 ID:YbTdz0sr0.net
UWSCのホットキー設定しろよ

243 :名無しさん@お腹いっぱい。:2015/04/07(火) 17:26:43.55 ID:YHWaTMUI0.net
・GETKEYSTATEで目的のキーが押されるまでループさせる
・メイン処理を関数化してSETHOTKEYで呼び出す
俺がぱっと思いつくのはそのくらい

後者は無限ループさせてメイン処理関数内でループ終了させるフラグを立てるとかしないと
メイン呼びだす前にスクリプト終わっちゃうはず

244 :名無しさん@お腹いっぱい。:2015/04/07(火) 18:52:52.96 ID:PZxBQlqf0.net
>>241
まず自動実行を止める
.uwsファイルをデスクトップにおいてダブルクリック
それかランチャに登録して好きなタイミングで起動

あるいは、自動実行をさせるけど
SLCTBOXで[実行]みたいなボタンを表示して、タイムアウト秒を0にしておく

245 :名無しさん@お腹いっぱい。:2015/04/07(火) 18:59:53.09 ID:kDYP+rsK0.net
あああ0かかか

メモ帳に記入する度に真ん中の数字を100まで1づつ(+1)上げたいのですが教えてください。

246 :名無しさん@お腹いっぱい。:2015/04/07(火) 19:45:59.92 ID:JsnHcRaP0.net
MsgBox(0)
初心者はこれでいいじゃん

247 :名無しさん@お腹いっぱい。:2015/04/07(火) 20:01:59.17 ID:nO4zP1Ln0.net
>>245
getkeystateとforと文字列結合

248 :名無しさん@お腹いっぱい。:2015/04/07(火) 20:23:55.04 ID:Tccai+aC0.net
UWSC Ver5.1.1 / umiumi
POWERSHELL関数にて 文字化けするパターンがあるのを修正
COMの関数に 空文字を使用した時に エラーが出るパターンがあるのを修正
低レベル記録にて 画面のDPIスケーリングが100%以外の時にマウス位置がずれるのを修正
BALLOON関数にて 透明化が指定された時に正しいサイズで表示されないパターンがあるのを修正
MOUSEORG関数にて MORG_FOREが指定された時にアプリがマイナス側にあるとズレが出るのを修正
64bitアプリの リストビュー操作に対応できていなかったパターンを修正
SENSOR関数に 位置取得する SNSR_LOCATION_* を付けた
MONITOR関数に モニター名を返す MON_NAME を付けた
QSORT関数に 自然順ソートをするモードを付けた
OPTION指定に STOPボタンウィンドウを最前面固定するオプション TOPSTOPFORM を付けた
Pro版:
CREATEFORM関数にて タスクバーにアイコンを出さない FOM_NOTASKBAR を付けた

249 :名無しさん@お腹いっぱい。:2015/04/07(火) 22:51:56.13 ID:kDYP+rsK0.net
>>247
解決しました。有難うございました。
また、相談なのですが


AAA = INPUT("記入して下さい。", "")
IE.document.forms[0].elements[0].value = "AAAl"


反映されないのですが何処が間違ってますか?
宜しくお願いします。

250 :名無しさん@お腹いっぱい。:2015/04/07(火) 22:55:05.96 ID:kDYP+rsK0.net
自己解決しました。 お騒がせいたしました。

集中力が途切れたので休む事にします。

251 :名無しさん@お腹いっぱい。:2015/04/08(水) 08:45:46.89 ID:qHp42OUM9
>>226
遅くなったけれど、とっても参考になったありがとう。
UWSC遅いってのは聞いてたけど、そこまで圧倒的な桁差だったんだな。
とりあえずC#とPHPとJavascriptそれなりに学んでみるわ。

252 :名無しさん@お腹いっぱい。:2015/04/08(水) 18:21:11.28 ID:I9max7TN0.net
@あるグローバルな配列に入れる値を条件によって変えたい

IF jouken = jouken1
 PUBLIC hairetu[] = a1,a2,a3
ElseIF jouken = jouken2
 PUBLIC hairetu[] = b1,b2,b3
ElseIF jouken = jouken3
 PUBLIC hairetu[] = c1,c2,c3
EndIF
こうしてもPublicで同じ配列を複数宣言できないみたいので何か方法ありませんでしょうか

Aカンマとダブルクォーテーションを含む文字列の入った変数を配列に入れたい

例えば
hensuu = ""x0,y0" , "x1,y1" , "x2,y2" ,・・・, "x100,y100""
hairetu[] = hensuu

このような感じで

hairetu[0] = "x0,y0"
hairetu[1] = "x1,y1"
hairetu[2] = "x2,y2"
hairetu[3] = "x3,y3"
   ・
   ・
   ・
hairetu[100] = "x100,y100"

こうなるようにしたいんですが、どのようにすればいいでしょうか
よろしくお願いします

253 :名無しさん@お腹いっぱい。:2015/04/08(水) 18:33:17.95 ID:cFyNfocS0.net
>>252
UWSCでは確認してないが、一般的なプログラム言語なら
@複数宣言しない
PUBLIC hairetu[]
 IF jouken = jouken1
   hairetu[] = a1,a2,a3
 ElseIF jouken = jouken2
〜〜

Aシングルクォーテーションを使う
hensuu = '"x0,y0" , "x1,y1" , "x2,y2" ,・・・, "x100,y100"'

254 :名無しさん@お腹いっぱい。:2015/04/08(水) 18:33:44.64 ID:bqNI4UgW0.net
1.宣言部と代入を分けろAの例えが提示できて何故其処を悩む
2.案の一つとして以下のイメージの関数を作る
 引数の変数の文字列の「","」を先ず「";"」等に置換して「x0,y0」のカンマ部分との衝突を避ける
 「;」を区切り文字に指定してSPLITで引数の変数の文字列を分割した結果を戻り値にする

255 :名無しさん@お腹いっぱい。:2015/04/08(水) 18:34:23.03 ID:cFyNfocS0.net
A修正
hensuu = '"x0,y0"' , '"x1,y1"' , '"x2,y2"' ,・・・, '"x100,y100"'

256 :名無しさん@お腹いっぱい。:2015/04/08(水) 18:37:58.97 ID:bqNI4UgW0.net
UWSCでは文字列の囲いはダブルコーテンショーン固定で
文字列中にダブルコーテンショーンを表現したい時は<#DBL>とする

勿論、外部ブロプラムやクリップボードから得た文字列ならその必要ないけれどね

257 :名無しさん@お腹いっぱい。:2015/04/08(水) 19:38:02.10 ID:I9max7TN0.net
@の複数宣言についてですが
宣言と代入を分けてやってみましたができませんでした

例えば
B
PUBLIC hairetu[] = 1,2
print hairetu[0]
print hairetu[1]
C
PUBLIC hairetu[]
hairetu[] = 1,2
print hairetu[0]
print hairetu[1]

Bは実行できるんですが、Cは

hairetu[] = 1,2の部分が
式がおかしい or 型が合っていない

となってエラーになります
どこが間違っているんでしょうか

258 :名無しさん@お腹いっぱい。:2015/04/08(水) 20:24:15.97 ID:cFyNfocS0.net
>>257
その結果とヘルプをあわせれば、配列数の省略が可能なのは初期値を代入する時のみだと分かる

259 :名無しさん@お腹いっぱい。:2015/04/08(水) 20:28:57.59 ID:+jqxyJFv0.net
>>252
@配列を代入するとエラーになるから、一個ずつ転記してみるのはどうか
PUBLIC a1=1,a2=2,a3=3
PUBLIC b1=4,b2=5,b3=6
PUBLIC c1=7,c2=8,c3=9
PUBLIC jouken = 1;
PUBLIC jouken1 = 1,jouken2 = 2,jouken3 = 3

PUBLIC MAX_LEN = 3 - 1
PUBLIC joukenHairetu1[MAX_LEN] = a1,a2,a3
PUBLIC joukenHairetu2[MAX_LEN] = b1,b2,b3
PUBLIC joukenHairetu3[MAX_LEN] = c1,c2,c3

PUBLIC hairetu[MAX_LEN]

for i = 0 to MAX_LEN
  IF jouken = jouken1
    hairetu[i] = joukenHairetu1[i]
  ElseIF jouken = jouken2
    hairetu[i] = joukenHairetu2[i]
  ElseIF jouken = jouken3
    hairetu[i] = joukenHairetu3[i]
  EndIF
next

for i = 0 to MAX_LEN
  print hairetu[i]
next

260 :名無しさん@お腹いっぱい。:2015/04/08(水) 20:34:27.84 ID:bqNI4UgW0.net
しかもPUBLIC変数だと無条件に最初に動作するのね
微妙に面倒くさいですね

なるべくPUBLIC変数は使わないほうが良い
動作順序が記述順と異なるため予期しないバグの原因になる

261 :名無しさん@お腹いっぱい。:2015/04/08(水) 20:41:45.12 ID:7JUeZ3gv0.net
publicなんて普通最初に宣言するもんだろ
というかこいつのやりたいことはヘルプのsplitの項目読めば解決すんじゃね

262 :名無しさん@お腹いっぱい。:2015/04/08(水) 20:45:32.93 ID:azzKySR/0.net
仮組みしてとりあえずで走らせたスクリプトが一発で想定通りの動作をすると気持ちいいな

263 :名無しさん@お腹いっぱい。:2015/04/08(水) 21:05:23.74 ID:+jqxyJFv0.net
>>252
A一個ずつ取り出して、連想配列にぶち込むだけ。とりあえず例題の値そのままを想定してみた
 関数化しようとしたけど・・・配列も連想配列も戻り値にできなくてイライラした

//hensuu = ""x0,y0" , "x1,y1" , "x2,y2""
hensuu = "<#DBL>x0,y0<#DBL> , <#DBL>x1,y1<#DBL> , <#DBL>x2,y2<#DBL>"

hashtbl hairetu = HASH_SORT
i = 0
tmp = hensuu
while LENGTH(tmp) > 0
  // 一要素の文字列抽出
  val = betweenStr(tmp, "<#DBL>","<#DBL>")
  hairetu[i] = val
  i = i + 1
  // チェック済み文字列削除
  tmp = replace(tmp, "<#DBL>" + val + "<#DBL>", "")
  tmp = replace(tmp, " , ", "")
wend

for i = 0 to length(hairetu) - 1
  print hairetu[i]
next

264 :名無しさん@お腹いっぱい。:2015/04/08(水) 21:15:08.83 ID:+jqxyJFv0.net
ああ>>263だと、同値があると2個目以降が潰れるな
splitでreplaceの方がいいかもね

265 :名無しさん@お腹いっぱい。:2015/04/08(水) 21:17:46.75 ID:7JUeZ3gv0.net
そもそも値の代入の仕方も分かってない段階の奴にそんなコードを見せて何がしたいの

266 :名無しさん@お腹いっぱい。:2015/04/08(水) 21:21:30.26 ID:bqNI4UgW0.net
>>263
UWSCで配列を戻り値にする時はSAFEARRAYを使おう

267 :名無しさん@お腹いっぱい。:2015/04/08(水) 22:11:02.23 ID:BH+LStqK0.net
@Publicはそのプログラムで唯一の変数に対する宣言なので
 例え絶対に重複しなくても同じ値を宣言するのはNG
 また、UWSCの制約として配列に一度に代入できるのは
 宣言時のみなので後から [] を使うことは不可能

A配列を平文にしていいならTEXTBLOCKの活用という手もある
 外部から読み込む場合はF_ALLTEXTを利用

268 :名無しさん@お腹いっぱい。:2015/04/08(水) 22:11:46.50 ID:BH+LStqK0.net
//以下さんぷる、まず配列を一個作る
Public Dim Arry[]
// 条件分岐とかはまあ何でもいいとして
Public Flag = SlctBox(SLCT_CMB, 0, "", 1, 2, 3)
If Flag = -1 Then Exit
If Flag = 1 Then JoinData = Array1 // 配列にしたい平分を代入
If Flag = 2 Then JoinData = Array2
Dim OldArray[] = "a","b","c" // 既にある配列をぶち込む場合はjoinとか使えばよろし
If Flag = 4 Then JoinData = Join(OldArray, "<#CR>")
// 入れるべき配列の要素数を確認
Dim SplitCount = 0; While Pos("<#CR>", JoinData, SplitCount) > 0; SplitCount = SplitCount + 1; WEnd
// 入れるべき配列に合わせてサイズ調整
Resize(Arry, SplitCount)
// 配列を流し込む 速度とか知るかって感じ
SplitCount = 0
For Paria In Split(JoinData, "<#CR>", False, False)
  Arry[SplitCount] = Paria; SplitCount = SplitCount + 1
Next

// 結果表示
PopUpMenu(Arry)

//ブロックで配列要素を書く
TextBlock Array1
sdfewe,wer"""",,,,,,
"a", """,b""",""c
""<<<>>>>""fdf
EndTextBlock

TextBlock Array2
別に<#CR>一行で<#CR>書いてしまっても<#CR>良い訳だが
EndTextBlock

269 :名無しさん@お腹いっぱい。:2015/04/08(水) 23:48:40.35 ID:dAen2zgN0.net
id = GETID("無題 - メモ帳", "Notepad", -1)
n = val(readini("No", "n"), 0) + 1
writeini("No", "n" , n)
SENDSTR(id, "あああ-" + replace(format(n, 1), " ", "0") +"@yahoo.co.jp"+"<#cr>")
KBD(VK_CTRL,DOWN,click)
KBD(VK_F4,CLICK,click)
KBD(VK_CTRL,UP,click)


記入するのをメモ帳ではなくフォームにしたいのですが教えて下さい。

270 :名無しさん@お腹いっぱい。:2015/04/09(木) 00:15:12.04 ID:qx2FgMTv0.net
一行目をフォームのタイトル名に変えるだけじゃん次の方

271 :名無しさん@お腹いっぱい。:2015/04/09(木) 00:23:25.63 ID:0ptFgXET0.net
プロ版のフォームのことならSETFORMDATA関数を使え
ヘルプはCREATEFORM関数の例をみよう

272 :名無しさん@お腹いっぱい。:2015/04/09(木) 00:28:13.79 ID:qijekSFU0.net
質問内容的にどう考えても>>270だろう

273 :名無しさん@お腹いっぱい。:2015/04/09(木) 01:30:25.28 ID:urZFwn/d0.net
bmpを読み込んでほかの場所描き写すことはできますか

274 :名無しさん@お腹いっぱい。:2015/04/09(木) 01:33:42.73 ID:qijekSFU0.net
日本語でおk

275 :名無しさん@お腹いっぱい。:2015/04/09(木) 01:41:45.60 ID:urZFwn/d0.net
に が抜けてた
白黒の画像から黒の部分だけをほかの場所に書き写したくて

276 :名無しさん@お腹いっぱい。:2015/04/09(木) 01:52:39.13 ID:qx2FgMTv0.net
出来るけど相当面倒な

277 :名無しさん@お腹いっぱい。:2015/04/09(木) 01:54:02.50 ID:OGeyDkmJ0.net
普通にGIMPとか使ったほうが早いな…
あれにもScript-Fuとかあったし、あれつかうとか。

278 :名無しさん@お腹いっぱい。:2015/04/09(木) 02:03:48.03 ID:qijekSFU0.net
>>275
簡単にやるなら、その目的にあった画像ソフトをみつけて
その操作を自動化させればいいんちゃう

UWSCだけでも出来る、というか似たような事をやっている人はいたから
ぐぐれば出てくるかもしれない
出てきたコードを黒だけ出力するよう改造すればOK

279 :名無しさん@お腹いっぱい。:2015/04/09(木) 02:04:56.76 ID:urZFwn/d0.net
ありがとうございます
探してみます

280 :245:2015/04/09(木) 02:07:07.02 ID:r4O9VCN/0.net
id = GETID("InternetExplorer.Application","○○○")

1行目に変更してもダメでした。
どう変えたら良いのでしょうか?

281 :名無しさん@お腹いっぱい。:2015/04/09(木) 02:37:26.33 ID:PbP82eZg0.net
http://blogs.yahoo.co.jp/nullpage_vwxyz/52146470.html
↑このサンプルコードと同様にFukidasiを5秒後に閉じるBallonを作りたいのですが
今の仕様ではメインスレッドとサブスレッドのFukidasiが別物として扱われるためうまくいきません。
別の方法がありましたらご教授お願いします。

282 :228:2015/04/09(木) 04:19:10.95 ID:RlObrH1f0.net
>>263
これでやったらご指摘の通り同値が消えてしまったので、splitを調べて使ってみたらようやくできました
遅れましたがありがとうございました

283 :名無しさん@お腹いっぱい。:2015/04/09(木) 05:22:16.85 ID:0ptFgXET0.net
どううまく行かないのか情報が足りない

非同期でフキダシを表示→待機→消去だけなら
それ全体を同一の別スレッドにする手もある

284 :名無しさん@お腹いっぱい。:2015/04/10(金) 19:40:53.53 ID:2DyyGIp70.net
UWSをJOYTOKEYで呼び出すうまい方法無い?

285 :名無しさん@お腹いっぱい。:2015/04/10(金) 20:14:05.83 ID:QgvSdIsq0.net
お互いに物理入力を読み取って仮想キーを吐くソフトだからなあ

286 : ◆evw/E7kww2 :2015/04/10(金) 23:22:22.27 ID:9fDyMMqT0.net
JTKでショートカットキーを発行してUWSCで受け取るだけ

UWSC同士でも受け取れるよ。

SETHOTKEYね。

287 :名無しさん@お腹いっぱい。:2015/04/10(金) 23:44:15.72 ID:0KmPTRDp0.net
左クリックの連打スクリプトのトリガーを左クリックに・・・とか無茶言わない限りね

288 :名無しさん@お腹いっぱい。:2015/04/11(土) 01:17:24.71 ID:jPpNhgyb0.net
あざっす!

289 :名無しさん@お腹いっぱい。:2015/04/11(土) 12:23:13.92 ID:94a1K+Pk0.net
エラーが発生したので再読み込みします OK キャンセル
これが出た時にclkitemでキャンセル押すようにしてるんだけど、マクロ対策なのかキャンセル押してもOK押してもOKの処理がされるようになってるみたいなんだけど
どうやったらキャンセルボタンの名前探し出せるのかな
手動でキャンセル押した場合は普通にキャンセルされる

290 :名無しさん@お腹いっぱい。:2015/04/11(土) 12:34:09.96 ID:b6Tw4i4k0.net
ACWで一瞬アクティブに
ACCでクリック位置を感知
MMVでマウスを移動
BTNで直にクリック

アプリ側でマウス位置認識してるソフトなんかね
ボタンの上に載ってないと認識しないとかそういう
バックでやりたいならDEFDLLでAPI側から条件を送るとか
でもQT製かDelphiで識別タグ消されてる場合は対応できない云々

291 :名無しさん@お腹いっぱい。:2015/04/11(土) 17:36:40.48 ID:ma7OFZAk0.net
今ならアイテム名調べるのはSPY++使うのが楽だけど
当時は入手が面倒臭かったから
クリックした場所の情報をGETID STATUS POSACCで取得して
クリップボードに入れたりするスクリプトを作ったなぁ

292 :名無しさん@お腹いっぱい。:2015/04/11(土) 17:54:01.40 ID:94a1K+Pk0.net
すまん、いい忘れたけどブラゲ
ポップアップ自体はブラウザから出てる
使ってるブラウザはchrome

293 :名無しさん@お腹いっぱい。:2015/04/11(土) 18:00:19.58 ID:H1Krk7vE0.net
ゲームの話題はNG

294 :名無しさん@お腹いっぱい。:2015/04/11(土) 18:20:32.99 ID:VZK5XMgj0.net
>>293
は?上見れば分かるけどこのスレゲームの話しかないよ

295 :名無しさん@お腹いっぱい。:2015/04/11(土) 18:55:22.01 ID:/FPUVyA20.net
>>294
上みればわかるけどこのスレゲームの話はNG
それでも応えるアホちんやゲームと言わないことで回答を得ているものもあるけど

296 :名無しさん@お腹いっぱい。:2015/04/11(土) 18:57:32.55 ID:VZK5XMgj0.net
いつからゲームNGになったんだ
前スレ、前々スレからほとんどゲームの話題だろ
ゲームと言わないで回答得ているものも含めるとほとんどゲームの話だろ

297 :名無しさん@お腹いっぱい。:2015/04/11(土) 19:00:20.90 ID:+Eiy+x920.net
前々スレからいるならゲームの話がNGなのは分かってるだろ
ゲームだと分からないように質問しろ

298 :名無しさん@お腹いっぱい。:2015/04/11(土) 19:05:21.76 ID:ist4VhMC0.net
テンプレにないローカルルールを主張されても困るよな
まぁゲームのマクロはほぼ利用規約違反だし、次スレから追加しとけば?

299 :名無しさん@お腹いっぱい。:2015/04/11(土) 19:07:17.28 ID:VZK5XMgj0.net
>>292
chromeじゃなくてfirefoxかieじゃダメなのか
俺もブラゲのマクロ作ってるけどchromeのポップアップだけ特殊だから対応できてない

300 :名無しさん@お腹いっぱい。:2015/04/11(土) 19:10:13.67 ID:/FPUVyA20.net
結局お前がゲームマクロの話したかっただけか

ちなみにchromeでもできる
どうせDMMのブラゲあたりだろ

301 :名無しさん@お腹いっぱい。:2015/04/11(土) 19:19:08.17 ID:VZK5XMgj0.net
そういうお前は何のためにchromeを自動化するんだ?

302 :名無しさん@お腹いっぱい。:2015/04/11(土) 19:25:49.74 ID:kL9hrv0d0.net
荒れるからゲームとブラウザコントロールはスルーで
あとパス解析とファイルダイヤログも放置

303 :名無しさん@お腹いっぱい。:2015/04/11(土) 19:45:39.73 ID:S5CSdMTN0.net
スルーするやつは勝手にしてる。わざわざ宣言すんな

304 :名無しさん@お腹いっぱい。:2015/04/11(土) 20:28:23.31 ID:5Sv0eCRw0.net
>>294
確かゲームは隔離スレを作ってディープな技を磨いているはず
スレを検索してそっちに行ったほうが有益

305 :名無しさん@お腹いっぱい。:2015/04/11(土) 20:40:33.21 ID:VZK5XMgj0.net
それどこ?

306 :名無しさん@お腹いっぱい。:2015/04/11(土) 22:00:15.72 ID:5Sv0eCRw0.net
1000 :名無しさん@お腹いっぱい。:2014/10/18(土) 12:59:39.68 ID:5212DlOF0
次スレ
自動化ツールUWSC使いよ集まれ13
ttp://anago.2ch.net/test/read.cgi/software/1413600379/


グラブル厨はこちら
裏技・改造 グラブル
http://kanae.2ch.net/test/read.cgi/gameurawaza/1413584805/

307 :名無しさん@お腹いっぱい。:2015/04/12(日) 04:34:56.69 ID:LPt7uSdE0.net
>>306
誘導ありがとう
隔離スレが有るってことはここで聞くのはスレチなのね

308 :名無しさん@お腹いっぱい。:2015/04/12(日) 13:06:07.22 ID:LvFvYAJy0.net
リアルタイムにCSVとかにログ出力したいんですけど、出来ますか?

309 :名無しさん@お腹いっぱい。:2015/04/12(日) 13:27:10.08 ID:dyNsz1xq0.net
出来るよ

FOPEN FPUT FCLOSE 辺りのヘルプを読めば良い

310 :名無しさん@お腹いっぱい。:2015/04/13(月) 17:33:22.56 ID:xpsAs50H0.net
誰か画面真っ暗の状態で自動で動かす方法知りませんか?
うちのパソコンは自動で動かすと画面がついてしまいます

311 :名無しさん@お腹いっぱい。:2015/04/13(月) 17:52:31.30 ID:r0LxJJ5m0.net
>>310
ディスプレイの電源切るだけなら画面offとかでググれ

312 :名無しさん@お腹いっぱい。:2015/04/14(火) 16:34:26.28 ID:5vq9VGrR0.net
だめぇーん

313 :名無しさん@お腹いっぱい。:2015/04/17(金) 06:57:02.70 ID:ehO6aSnV0.net
http://windowslognote.seesaa.net/article/385214282.html
この設定ってモニタoffは関係ないんだっけ?

314 :名無しさん@お腹いっぱい。:2015/04/17(金) 07:04:53.73 ID:ehO6aSnV0.net
電源オプション→ディスプレイの電源を切る時間の指定
→詳細な電源設定の変更→USB設定
→USBのセレクティブサスペンドの設定→無効に

環境によってもいろいろ違うから、あとは本人に試してもらうしかない

315 :名無しさん@お腹いっぱい。:2015/04/22(水) 18:19:23.00 ID:IpJVD7NT0.net
Genymotionを裏で動かそうと思ったんですけど

id = GETID("Genymotion for personal use - Google Galaxy Nexus - 4.3 - API 18 - 720x1280 (720x1280, 320dpi) - 192.168.56.101","QWidget")
hwnd = GETCTLHND(id,"QWidget" )
MOUSEORG( hwnd, MORG_DIRECT, MORG_BACK )
//画面が出るまでアイコンをclick
WHILE (CHKIMG("画面.bmp", 1, 0, 0, 350, 550)=FALSE)
IFB CHKIMG( "アイコン.bmp")
x=G_IMG_X //
y=G_IMG_Y //
BTN(LEFT, CLICK, x+2, y+2, 80)
sleep(1)
endif

フキダシで確認したら画像は認識出来てますがclickできないです

316 :名無しさん@お腹いっぱい。:2015/04/22(水) 19:26:15.30 ID:CoQmrUtQ0.net
そうですか

317 :名無しさん@お腹いっぱい。:2015/04/23(木) 12:11:02.63 ID:k/7VjDSL0.net
質問失礼します
windows8,1 UWSCfree 5.1.1.0

起動するとis not a valid integer valueというメッセージが出てしまいます
原因をおしえてください

318 :名無しさん@お腹いっぱい。:2015/04/23(木) 12:17:15.04 ID:p5/DkHGz0.net
変数に変な値ぶちこんでんじゃないの

319 :名無しさん@お腹いっぱい。:2015/04/23(木) 12:19:51.60 ID:3+tLwcpJ0.net
>>317
起動するだけでそれなら作者に問い合わせたら?

320 :名無しさん@お腹いっぱい。:2015/04/23(木) 12:34:24.93 ID:BPriKFrV0.net
それは削除して古いverのやつとか落としてくればいいじゃん

321 :名無しさん@お腹いっぱい。:2015/04/23(木) 14:12:01.00 ID:k/7VjDSL0.net
>>318-320
ありがとうございました

322 :名無しさん@お腹いっぱい。:2015/04/24(金) 00:22:00.03 ID:Po/BsSEq0.net
uwscのみでwindowsプログラムのインストールやアンインストールはできますか?
もしできるならやりかたを教えていただけないでしょうか

323 :名無しさん@お腹いっぱい。:2015/04/24(金) 00:44:03.74 ID:FfVQYfi00.net
>>322
ウィンドウズのプログラムはどうやってアンインストールされてるのか仕組みを勉強すれば、
UWSCのみでウィンドウズの機能を使わずにファイル操作で出来なくも無いんじゃない?

そんなことするくらいならウィンドウズの機能を使う方が楽だけど。

324 :名無しさん@お腹いっぱい。:2015/04/24(金) 06:53:10.64 ID:nhQFMlYx0.net
かなーり初歩的な質問だと思うんですがいま

座標1をクリック
座標aクリック座標bクリック3秒待って座標cクリック
座標2をクリック
座標aクリック座標bクリック3秒待って座標cクリック
座標3をクリック
座標aクリック座標bクリック3秒待って座標cクリック.....

って感じで手作業感満載で書いてたんだけど処理が数千行くらいになってきたからさすがに
「座標aクリック座標bクリック3秒待って座標cクリック」を「処理A」として1行で記述してスッキリしたいんだけど
これってどうすればいいのかな?

325 :名無しさん@お腹いっぱい。:2015/04/24(金) 06:57:45.80 ID:st45lYFy0.net
メソッドにして呼び出せよ

326 :名無しさん@お腹いっぱい。:2015/04/24(金) 07:21:48.49 ID:L46HQ43N0.net
>>324
procedure 処理a()
座標aクリック…
fend

327 :名無しさん@お腹いっぱい。:2015/04/24(金) 07:40:49.51 ID:nhQFMlYx0.net
>>326
サンクス!
ただそのprocedureっての入れたらそもそもスクリプトが動かなくなっちまった・・・
動かなくなったっていうか再生しても即終了して処理が進まない

328 :名無しさん@お腹いっぱい。:2015/04/24(金) 07:41:25.25 ID:7uBFnSqp0.net
座標1,2,3…も引数で渡しちゃえよ

329 :名無しさん@お腹いっぱい。:2015/04/24(金) 07:44:22.85 ID:r6dakio/0.net
めんどくさくなったらPCを窓から投げ捨てる
これだね

330 :名無しさん@お腹いっぱい。:2015/04/24(金) 07:58:26.20 ID:cIuVyyuJ0.net
>>327
そりゃそうなるように記述しているのでしょう
procedureとFUNCTIONの例を参照して下さい

331 :名無しさん@お腹いっぱい。:2015/04/24(金) 08:12:54.93 ID:nhQFMlYx0.net
>>330
よっくよく見たら関数は最後に書かないとダメなんだね
どこにも最後に記述しろって書いてなくてシレっと最後に書いてるから気づかなかったわ・・・

>>329

332 :名無しさん@お腹いっぱい。:2015/04/24(金) 08:20:44.25 ID:C6kI+0QW0.net
>>331
> どこにも最後に記述しろって書いてなくて

ヘルプも読まずによくそんな事言うな。

> <関数の定義>
>  ※ 関数はメインルーチンの後に書いてください。
>   (メインルーチンは関数前までであり、関数後にメインルーチンを書いても実行されません)
>  ※ 関数名に次の文字は使えません , + * = < > ( ) ! ?

333 :名無しさん@お腹いっぱい。:2015/04/24(金) 12:07:49.56 ID:TGTZuBxGT
ヘルプの出し方もわからないくらいの初心者なんだろw
そもそもヘルプを読まないで、逆に「どこ」を読んだかが凄く気になるわけだがw

334 :名無しさん@お腹いっぱい。:2015/04/24(金) 14:13:30.99 ID:nhQFMlYx0.net
ヘルプ読まずに質問して悪かったが
ヘルプ読んでたらここで質問しないしな・・・
そう言われても困る

335 :名無しさん@お腹いっぱい。:2015/04/24(金) 14:40:46.77 ID:r6dakio/0.net
じゃあヘルプ読めよwwwwwwwww

336 :名無しさん@お腹いっぱい。:2015/04/24(金) 14:43:16.27 ID:cIuVyyuJ0.net
まぁドンマイ
逆ギレの部分は改めて
後は糧にしていけばいいさ

337 :名無しさん@お腹いっぱい。:2015/04/24(金) 14:47:30.33 ID:jNaJLC370.net
>>334
いい子だからごめんなさいしよ?

338 :名無しさん@お腹いっぱい。:2015/04/24(金) 14:48:06.88 ID:ebCJ5FgT0.net
>>334
回答者にdisられても
「べ、別にスルーできたけど可愛そうだから答えてあげただけなんだからね!」
ってツンデレみたいなもんだからありがとうって言っときゃいいんだよ

339 :名無しさん@お腹いっぱい。:2015/04/24(金) 17:15:55.44 ID:AM/zEzYT0.net
っていうか関数の後にメインのコードかいて動く言語ってある?

340 :名無しさん@お腹いっぱい。:2015/04/24(金) 17:19:54.71 ID:L46HQ43N0.net
そもそもメイン処理がブロックの中になくてもいいのが気持ち悪い
俺はとりあえずmainメソッド書いてそこに全体の処理書いてるわ

341 :名無しさん@お腹いっぱい。:2015/04/24(金) 17:27:27.75 ID:Z0cGZWV40.net
phpは確か動くはず

342 :名無しさん@お腹いっぱい。:2015/04/24(金) 19:31:22.00 ID:FfVQYfi00.net
てか初心者の癖にヘルプも読まずに質問とかwww

343 :名無しさん@お腹いっぱい。:2015/04/24(金) 19:57:35.81 ID:cIuVyyuJ0.net
でもね
今のWindowsだとあのヘルプファイルは標準じゃ読めないのよね
その時点で既に罠なのです

344 :名無しさん@お腹いっぱい。:2015/04/24(金) 20:11:13.47 ID:FfVQYfi00.net
ならそういえば良いわけで。
そしたらちゃんと見られるアドバイスとか、
それこそチョチョイと教えてくれる面倒見の良い人だって居るだろう。

まぁ、終わったことをだらだら言うのもよく無いか。

345 :名無しさん@お腹いっぱい。:2015/04/24(金) 21:00:55.22 ID:AM/zEzYT0.net
CHMってXP以来ずっとノーマルで読めるんだけど

セキュリティ強くして読めないとかIE抜いたから見れないとか
そういう上級者なら当然見る方法わかるやろ

346 :名無しさん@お腹いっぱい。:2015/04/24(金) 21:10:18.22 ID:vK5EbgCK0.net
>>345
読めないから
http://freesoft.tvbok.com/windows7/general/help_file_open.html

347 :名無しさん@お腹いっぱい。:2015/04/24(金) 21:17:34.49 ID:r6dakio/0.net
アホちゃうのwwwwww
セキュリティ下げろよwwwwwwwwwwwwww

348 :名無しさん@お腹いっぱい。:2015/04/24(金) 21:25:23.45 ID:vK5EbgCK0.net
このスレ変なやつらが湧いてるな

349 :名無しさん@お腹いっぱい。:2015/04/24(金) 21:29:41.11 ID:r6dakio/0.net
自分の無知を棚に置いて、反論出来なくなったら変な奴扱いってのはどうなんですかね?

350 :名無しさん@お腹いっぱい。:2015/04/24(金) 21:38:02.85 ID:vK5EbgCK0.net
>>349
お前、自分が頓珍漢なこと言ってるの分からないの?
Vista以降ヘルプファイルは標準じゃ読めないのに、>>345が「ノーマルで読める」とか書いてるから
その間違いを指摘してるのに、「セキュリティ下げろよ」って意味不明
最初に開くときに必要なものをインストールしろって出てくるから普通は見れるようにするのに苦労しない

351 :名無しさん@お腹いっぱい。:2015/04/25(土) 07:26:39.04 ID:AKabdKOb0.net
Windows8から?flashがIE内蔵になって、
GETCTLHND(IE.HWnd,"MacromediaFlashPlayerActiveX")
から
GETCTLHND(IE.Hwnd, "Internet Explorer_Server")
にしないといけなくなったようなんですが、BTNで押す座標位置は"Internet Explorer_Server"が始まる
座標位置からのオフセットでいいんでしょうか?
Windows7では前者でIDとってオフセットでよかったんですが、Windows8ではクリックしてくれません。

352 :名無しさん@お腹いっぱい。:2015/04/25(土) 21:24:11.16 ID:pm/QtL+t0.net
ブラウザで動画を見ながら手前にゲームを起動してマクロを使うと1周ループしてからゲームの方の画面が拡大化されるんだけどこれって直す方法ない?
設定にはそれらしきものがなかった

353 :名無しさん@お腹いっぱい。:2015/04/25(土) 21:27:10.68 ID:ZMtLVm5C0.net
とりあえず何かと並行しようとしてうまくいかない時は仮想化しろ

354 :名無しさん@お腹いっぱい。:2015/04/25(土) 22:04:12.13 ID:JJS7MlxZS
while true
 sleep(0.2)
 chktime()
wend

procedure chktime()
 gettime()
 ifb g_time_hh=10 and g_time_nn=30 then
  msgbox("10時半になりました")
 endif
fend

こんな形でやるとmsgboxのOKを押しても押しても1分間出続けるんだが、
1回のみで簡単に終わる良い方法って何かあるかな?
フラグを一個用意しておいて、最初の1回メッセージが出たらフラグON、
1分経過したらフラグOFFにするのを考えたけど、何かチマチマしてるなと。
ちなみに設定時間はその都度変化する前提。
すっきり簡単に解決できる方法があれば教えてくだちゃい。

355 :名無しさん@お腹いっぱい。:2015/04/25(土) 22:07:03.08 ID:JJS7MlxZS
あ、ひょっとしてmsgboxの後にsleep(60)入れるだけで解決?
書いてから気づいたスマソー。

356 :名無しさん@お腹いっぱい。:2015/04/26(日) 01:49:28.81 ID:c17zbmUD0.net
abababという文字列を

Ababab
ABabab
ABAbab



と順番に一つずつ大文字にしてクリップボードに送りたいんですがどういう風にすればいいでしょうか?

357 :名無しさん@お腹いっぱい。:2015/04/26(日) 06:54:58.27 ID:iB410H67A
ヒント
strconv
sendstr(0)

358 :名無しさん@お腹いっぱい。:2015/04/26(日) 11:09:56.44 ID:xgNFBZ7b0.net
copyで大文字にする部分と小文字のままの部分を切り分ける
大文字部分はconvstrで変換する
再度くっつける

359 :名無しさん@お腹いっぱい。:2015/04/26(日) 11:11:21.49 ID:xgNFBZ7b0.net
strconvだった

360 :名無しさん@お腹いっぱい。:2015/04/26(日) 12:10:27.14 ID:iB410H67A
クリップボードはsendstr(0)

361 :名無しさん@お腹いっぱい。:2015/04/26(日) 12:53:03.85 ID:alJ4U3rP0.net
>>356
str = "ababab"
str2=""
for i = 1 to LENGTH(str)
  str2 = str2 + STRCONV(COPY(str,1,i),SC_UPPERCASE) + COPY(str,i+1) + "<#CR>"
next
SENDSTR(0,TRIM(str2))

362 :名無しさん@お腹いっぱい。:2015/04/26(日) 14:19:52.46 ID:OxOcaGGx0.net
IE.NavigateでIEの表示をした後、IE.document.body.innertextでソースを拾っているのですが
その間に手動でIEが閉じられているとCOM_Errorになってしまいます。

IE.Navigateで表示されたIEが手動で閉じられていた場合、IE.document.body.innertextを実行せずに
スクリプトを終了するようにするにはどうすれば良いでしょうか?

363 :名無しさん@お腹いっぱい。:2015/04/26(日) 14:30:17.13 ID:2iiYgtzL0.net
COM_ERR_IGN COM_ERR_RET COM_ERR_FLG をヘルプで調べてみよう

364 :名無しさん@お腹いっぱい。:2015/04/26(日) 14:36:08.20 ID:OxOcaGGx0.net
>>363
解決しました!
ありがとうございます

365 :名無しさん@お腹いっぱい。:2015/04/27(月) 09:24:06.71 ID:4FCKudIE0.net
UWSCでファイルのサイズ比較というのは出来ないでしょうか。

画面(Webページ)を監視するマクロを組もうと思っており、
一定期間ごとにWebページを更新して、指定範囲のスクリーンショットを撮って、
撮ったスクリーンショットと前回とったスクリーンショットを比較してサイズが違っていれば画面に変化あり、としたいです。

探したところ、サイズ比較のコマンドは用意されていない感じがしましたが、
そういったコマンドは用意されてたりするでしょうか。

また、もし画像サイズ以外で画面の変化を感知させる方法をUWSCで実現する方法を分かる方がいましたら教えて頂けるとうれしいです。
よろしくお願いします。

ver:UWSC Ver5.1.1 Pro版

366 :名無しさん@お腹いっぱい。:2015/04/27(月) 09:37:08.29 ID:0wqgAay40.net
>>365
API叩けばできるだろ
てかそういう場合はハッシュ取れよ

367 :名無しさん@お腹いっぱい。:2015/04/27(月) 09:51:57.04 ID:RNEIX/K50.net
そう言った場合
画面比較より変化している筈の内部要素にアクセスして比較した方が良いと思うけれどなぁ

368 :名無しさん@お腹いっぱい。:2015/04/27(月) 10:33:12.44 ID:KOWxqShr0.net
>>365
chkimgじゃダメなん?

369 :名無しさん@お腹いっぱい。:2015/04/27(月) 10:52:58.29 ID:ONdrkes30.net
>>367
ソース取得って出来るん?

370 :名無しさん@お腹いっぱい。:2015/04/27(月) 10:53:23.93 ID:YPPU9HGD0.net
そもそもサイズが違ってくるとは思えないのだけど

371 :名無しさん@お腹いっぱい。:2015/04/27(月) 11:05:28.84 ID:YPPU9HGD0.net
>>370事故レス
bmp以外のpngやjpgで保存すれば違ってくるかもしれないんだね

372 :名無しさん@お腹いっぱい。:2015/04/27(月) 11:20:05.80 ID:4FCKudIE0.net
レスありがとうございます。

想定するケースとしては、Yahooのニューストピックの更新チェックのようなイメージでした。
ですのでAPIや内部要素、chkimgなどでは難しい?のかなと思い、実現するにはサイズ比較が比較的簡単なのかなと思い
そのような内容で質問をさせて頂いておりました。もし、それらの方法でも実現できるようでしたらすみません。
http://minus-k.com/nejitsu/loader/up14285.png

ハッシュとのレスを頂いたので探したところ、バイナリ比較するソフトがありましたので、
UWSCのchkimgでソフトウェア画面の「異なるファイルです」の表示をフラグとして、画面の監視を実現しようと思いました。
http://minus-k.com/nejitsu/loader/up14286.png

仰っていたハッシュの取り方とはなんだか違う感じもして、また、スマートなやり方ではないかもしれませんが・・・。
もっとスマートなやり方はあったりするでしょうか?

373 :名無しさん@お腹いっぱい。:2015/04/27(月) 12:25:06.40 ID:UJWo+DEc0.net
>>372
htmlのTEXTが変化してると思うけど?

374 :名無しさん@お腹いっぱい。:2015/04/27(月) 12:25:58.66 ID:c7Lv5adA0.net
やっぱり要素取得して前回と今回の文字列比較のほうが簡単だと思うけど

375 :名無しさん@お腹いっぱい。:2015/04/27(月) 12:37:25.54 ID:KOWxqShr0.net
>>372
一番手軽にやるならsaveimgでクリップボードにコピって
chkimgでクリップボードと比較するかな

376 :名無しさん@お腹いっぱい。:2015/04/27(月) 13:17:58.51 ID:4FCKudIE0.net
レスありがとうございます。

なるほど、saveimgでクリップボードコピーや画像保存したデータをchkimgに渡せば画像を比較することができるのですね。
saveimgしたものをchkimgに渡すのを思いつきませんでした。。

また、
htmlのソースファイルから変化した部分を探すのは難しいのでは、とそればっかり考えていましたが、
ソースではなくWebページの指定した部分の文字列比較でも実現できそうですね。
どちらも考えが及びませんでした。。

頂いたご意見を参考にしてもっと良いやり方でスクリプトが作れそうです。
これらで作ってみようと思います、アドバイス頂いてどうもありがとうございます。

377 :名無しさん@お腹いっぱい。:2015/04/27(月) 20:15:37.04 ID:Eo+zqvFe0.net
genymotionというandroidエミュレーターをuwscを用いバックグラウンドで操作させたいのですが、free版ではできませんでした
uwscShare版でexe化しbatファイル等でキックすることにより解決するのでしょうか

それともやはりshare版にしたところでfree版でバックグラウンド動作させられないものはさせられませんか?

378 :名無しさん@お腹いっぱい。:2015/04/27(月) 21:12:59.49 ID:LEmMXEzJ0.net
トライアルで試してみれば?

379 :名無しさん@お腹いっぱい。:2015/04/27(月) 21:16:53.47 ID:RNEIX/K50.net
テンプレレベルの話として裏に拘るなら仮想化

380 :名無しさん@お腹いっぱい。:2015/04/27(月) 21:21:13.48 ID:4SSUH+1G0.net
何も解決にならんと思うけど

>uwsc.exe スクリプト.uws
をバッチで投げるだけ

UWSC自体はもともとバックグラウンド可能だけど
genymotionとかいうのがバックグラウンド起動に対応してなければコンソールなりウインドウが上がってくるでしょ

起動しっぱなしで特に設定が不要 or CUIなりWEBなり他のアタッチができる状態なら
システムアカウントから立ち上げればウインドウ自体出てこないよ

厳密にはシステムアカウントのデスクトップに上がってくるけど
それもサービスとしてあげればAPI経由しなくて済むから完全にサイレントになる

381 :名無しさん@お腹いっぱい。:2015/04/27(月) 21:32:51.42 ID:RNEIX/K50.net
Androidエミュって時点でゲームなんだろうけれどね

382 :名無しさん@お腹いっぱい。:2015/04/28(火) 10:42:28.50 ID:BUmkg9z00.net
バックグラウンドで画像認識込みはあきらめる
仮想化環境でgenymotionはあきらめる
以前に雑魚の俺が2時間無駄にしてこれに辿り着いた

383 :名無しさん@お腹いっぱい。:2015/04/29(水) 07:36:12.75 ID:D7BNJyP40.net
>>334
>>337
そうですね

>>330>>332さんありがとう

384 :名無しさん@お腹いっぱい。:2015/04/29(水) 07:45:04.54 ID:D7BNJyP40.net
それと俺の場合はwin7ですけどヘルプは特に何もしてないんですが読めました

385 :名無しさん@お腹いっぱい。:2015/04/29(水) 08:32:37.80 ID:xDAJ7stc0.net
俺の場合も何も変更せず読めたけど、あれってPCのどのセキュリティ設定を参照されるんだろうな

386 :名無しさん@お腹いっぱい。:2015/04/29(水) 10:16:43.17 ID:LQJ9309Q0.net
>>385
IEのセキュリティ設定をわざわざ インターネット:高 に変える

これやるとほとんどのアクティブコンテンツが見れなくなるからふつうはしない
その状態でもヘルプが見たいという人のためのWinHlp32というアップデートモジュールがあるんだが

これもデフォルトなら勝手に入ってくるし
わざわざがちがちに固めなければ見れなくなることなんてないはずなんだが

387 :名無しさん@お腹いっぱい。:2015/04/29(水) 19:41:50.55 ID:O66CU1E70.net
最近使い始めて画像認識とか便利だけど
サイトの読み込みまちの調整が難しいな…
十分に時間とると効率悪くなっちゃうし

388 :名無しさん@お腹いっぱい。:2015/04/29(水) 19:45:54.78 ID:jCE5jBuY0.net
IE制限は痛いしなぁ

389 :名無しさん@お腹いっぱい。:2015/04/29(水) 21:26:21.49 ID:AmN3CDh6G
>>387
busywait()
じゃあかんの?噛み合ってなかったらすまん

390 :名無しさん@お腹いっぱい。:2015/04/29(水) 22:00:57.03 ID:LQJ9309Q0.net
>>387
htmlにOnLoad()投げいれて読み込み完了をフックしたら?

391 :名無しさん@お腹いっぱい。:2015/04/29(水) 22:07:37.97 ID:glG4jNOE0.net
BusyIE()でずっと待ちになって進まない時があるんだが、どうやって対処してる?

392 :名無しさん@お腹いっぱい。:2015/04/29(水) 22:12:36.16 ID:TX9JzT/s0.net
タイムアウト処理付ければいいだけだろ

393 :名無しさん@お腹いっぱい。:2015/04/29(水) 22:15:36.94 ID:glG4jNOE0.net
>>392
これがアスペか

394 :名無しさん@お腹いっぱい。:2015/04/29(水) 22:23:35.35 ID:NCIxQn750.net
普通は
DownloadComplete
NavigateComplete2
DocumentComplete
の順でイベントが発生するんだけど

ナビ先がキャッシュ済みとして扱われると
DownloadComplete
しか発生しないっぽいのでそれを検知してるなぁ

395 :名無しさん@お腹いっぱい。:2015/04/29(水) 22:26:16.00 ID:LQJ9309Q0.net
>387
あとはIEコンポーネントを利用したスキンブラウザなら
IEと同じコントロール方法で行ける上に、タスクバーに読み込み中や完了表示が出るものがあるから
いろいろ試してみたら?

自分の環境ではDonutRAPTがタスクバーにプログレスバーと完了メッセージが出るけど
残念ながらレイアウトがIE9だから最新のブラウザに合わせたサイトだと動かないこともあったり

LunaやFoxとかはどうなんだろうね

396 :名無しさん@お腹いっぱい。:2015/04/29(水) 23:15:08.83 ID:hwf+gCEd0.net
手詰まりだからちょっと聞きたい
OS再インスコしてからuwscを再インストールしたんだけど画像認識の部分がうまく動いてくれねえ
uwscとかのバージョンは前と変えてないしスクリプトも変えてないから動くはずなんだけどuwscって導入に前提あるんだっけ?
管理者権限と互換性は試した ググってもわからないしお願いします・・・

397 :名無しさん@お腹いっぱい。:2015/04/29(水) 23:19:02.36 ID:mbxknYry0.net
>>396
ディスプレイの設定が少し違うだけで、同じ画像ではなくなる可能性がある

設定をあわせるか、画像を作り直す

398 :名無しさん@お腹いっぱい。:2015/04/29(水) 23:20:13.70 ID:NCIxQn750.net
厳密にはディスプレイドライバのバージョンが違うだけでも駄目になる可能性がある

399 :名無しさん@お腹いっぱい。:2015/04/30(木) 00:24:31.66 ID:Yl6whR7h0.net
色々ありがと

一応画像作りなおしたんだけどねえ・・・
前までだとuwscの本体が一瞬消えて画像を認識してたっぽいけど消えることなくループしてるから画像認識自体が行われてない感じもする・・・?

400 :名無しさん@お腹いっぱい。:2015/04/30(木) 06:22:42.96 ID:z9KaCBhe0.net
dekita = faulse
while !dekita
dekita = CHKIMG( a.bmp )
print "chkimg: " + dekita
wend

401 :名無しさん@お腹いっぱい。:2015/04/30(木) 06:52:56.67 ID:pDR2lo4N0.net
>>399
uwscの操作ウインドウはchkimgの時消えなくても
問題ないように仕様変更されたはず
print chkimg("xxx")
のみ書いて動作確認くらいしたら?

402 :名無しさん@お腹いっぱい。:2015/05/01(金) 15:45:24.69 ID:Sbcjmgv80.net
前スレに似てる画像を判定してくれるってやつ上げてくれた人いたからそれ使えばいいかと

403 :名無しさん@お腹いっぱい。:2015/05/02(土) 02:17:10.41 ID:4zU0do9h0.net
昨日今日手を出したような本当の初心者のような質問ですみません。

ifb CHKIMG("ファイル名.拡張子")
x=G_IMG_X
y=G_IMG_Y
BTN(LEFT, CLICK, x , y , 100)
endif

これで対象のファイルをクリックどころかカーソルが対象のファイルへ移動もしません。
何が間違っているかご教授願えませんか?

もう一つ
画像からの作業を断念して手動で記録して再生させようとしたのですがそれもうまくいきませんでした。
カーソルは移動するのですが最初のクリックの時点で止まってしまいます。
その最初のクリックすら機能していません。
一応ググってから来たのですが自分では解決できませんでした。
どうかよろしくお願いします。

404 :名無しさん@お腹いっぱい。:2015/05/02(土) 02:26:29.55 ID:N14lG4qZ0.net
>>403
まず、ペイントを全画面にして、クリックしたら点を描けるようにして
BTN(LEFT, CLICK, x , y , 100)
が動作しているか確認

次に、
ifb CHKIMG("ファイル名.拡張子")
print "見つけた"
endif
で、CHKIMG("ファイル名.拡張子")が動作しているか確認

405 :名無しさん@お腹いっぱい。:2015/05/02(土) 05:18:48.08 ID:sb1MdTom0.net
>>403
エスパー的指摘なので間違ってたらすまん
画像はBmp形式しか認識しません
その点は大丈夫ですか?

406 :名無しさん@お腹いっぱい。:2015/05/02(土) 06:53:30.42 ID:4FNBTSJm0.net
>>404
今出先で試せませんが帰ったら試してみます。
2つめも原因がわかるならお願いします。

>>405
そこは問題無いです。

407 :名無しさん@お腹いっぱい。:2015/05/02(土) 08:06:44.24 ID:ZnxdJHaC0.net
画像認識が正しく動作しているか確認するなら
ELSE つかってどっちに流れているか確認した方がいい

後、クリックは相手次第な所があるから
相手の反応が悪い場合はDOWNして一定時間ウェイトを入れてからUPする必要があるケースもあるし
更に相手に対自動操作が施されている場合は
その座標までマウスを連続的に移動させないといけないケースもある

2つめは高レベルでは記録できないケースなんでしょう
低レベルで記録してみる

標準コントロールを使用していない対自動操作されている可能性・・・ゲームかな

408 :名無しさん@お腹いっぱい。:2015/05/02(土) 09:05:43.01 ID:onf4uhRI0.net
>>406
後半
記録したスクリプトをセーブして、中身のテキストをうp

409 :名無しさん@お腹いっぱい。:2015/05/02(土) 10:30:01.10 ID:s0fv0qrW0.net
どうせ対策されてるゲームとかでしょ

410 :名無しさん@お腹いっぱい。:2015/05/03(日) 16:41:08.84 ID:zcejMfJO0.net
質問
GetKeyState( VK_0〜VK_9 )がテンキーに反応しない。
テンキーを認識させる方法を教えてください。

411 :名無しさん@お腹いっぱい。:2015/05/03(日) 16:45:44.46 ID:JFWRxiYM0.net
予約語一覧にある

412 :名無しさん@お腹いっぱい。:2015/05/03(日) 17:11:23.49 ID:zcejMfJO0.net
>>411
テンキュー!VK_NUMPADか。見落としてた。

413 :名無しさん@お腹いっぱい。:2015/05/03(日) 21:54:59.51 ID:ldDtFoYp1
ファイル名を変更するものを作っています
それをもっと楽にしたいです

ファイルマネージャーでjpgファイルが並んでいます
例)
20150100001.jpg
20150100002.jpg
20150100003.jpg
20150100004.jpg
20150100005.jpg


それをある番号から番号まで3つ区切りで1つずつリネームします
20150100001.jpg→A00639_1.jpg
20150100002.jpg→A00639_2.jpg
20150100003.jpg→A00639_3.jpg
20150100004.jpg→A00639_1.jpg
20150100005.jpg→A00639_2.jpg


リネーム後は最後尾に移動するため再びリネームはしません

414 :名無しさん@お腹いっぱい。:2015/05/03(日) 21:55:36.70 ID:ldDtFoYp1
例) 作ったもの
sleep(1)
ACW(GETID("D:\","CabinetWClass"),0,0,960,1160,0)
BTN(LEFT,CLICK,262,14,10)
ACW(GETID("D:\","CabinetWClass"),0,0,960,1160,0)
BTN(LEFT,CLICK,119,139,100)
//F2→バックスペース→A
KBD(VK_F2,CLICK,100)
KBD(VK_BACK,CLICK,100)
KBD(VK_SHIFT,DOWN,100)
KBD(VK_A,CLICK,100)
KBD(VK_SHIFT,UP,100)
//リネーム部 639 にリネーム
KBD(VK_NUMPAD0,CLICK,100)
KBD(VK_NUMPAD0,CLICK,100)
KBD(VK_NUMPAD6,CLICK,100)
KBD(VK_NUMPAD3,CLICK,100)
KBD(VK_NUMPAD9,CLICK,100)
//
KBD(VK_RSHIFT,DOWN,100)
KBD(VK_OEM_102,DOWN,100)
KBD(VK_RSHIFT,UP,100)
KBD(VK_OEM_102,UP,100)
//_1
KBD(VK_1,CLICK,100)
//
KBD(VK_RETURN,CLICK,100)

415 :名無しさん@お腹いっぱい。:2015/05/03(日) 21:59:19.69 ID:ldDtFoYp1
間違えました
よろしくお願いします

それをある番号から番号まで3つ区切りで1つずつリネームします
20150100001.jpg→A00639_1.jpg
20150100002.jpg→A00639_2.jpg
20150100003.jpg→A00639_3.jpg
20150100004.jpg→A00640_1.jpg
20150100005.jpg→A00640_2.jpg

416 :名無しさん@お腹いっぱい。:2015/05/03(日) 23:09:05.89 ID:iNx5MiAD0.net
ソートと配列について教えて下さい。ヘルプで配列を検索しても理解できませんでした。
testフォルダには
「赤-青-20150503_195501.txt」 「薄紅-白桃-20150503_200144.txt」
のようなテキストファイルが大量にあり、
それらのファイル名をいくつかの方法で
list.txtに列挙したいと考えております。
まず試行錯誤して以下のように書いてみました。

417 :名無しさん@お腹いっぱい。:2015/05/03(日) 23:09:37.93 ID:iNx5MiAD0.net
DIR =".\test"
URL ="http://localhost/"
file = "list.txt"
ID = FOPEN(file,F_WRITE8)

NUM = GETDIR(DIR)
for A = 0 to (NUM-1)
ファイル名 = GETDIR_FILES[A]
年 = COPY(ファイル名,POS("-",ファイル名,2)+1,4)//2015の部分
月 = COPY(ファイル名,POS("-",ファイル名,2)+5,2)//05の部分
日 = COPY(ファイル名,POS("-",ファイル名,2)+7,2)//03の部分 同様に時分秒も可
先攻 = COPY(ファイル名,1,POS("-",ファイル名,1)-1)//赤や薄紅の取得
後攻 = COPY(ファイル名,POS("-",ファイル名,1)+1,POS("-",ファイル名,2)-POS("-",ファイル名,1)-1)//青や白桃の取得
年月日 = 年+"/"+月+"/"+日
開始日 = "開始日は"+年月日
ファイル名=URL+GETDIR_FILES[A]
print 開始日
print ファイル名
print 先攻+後攻

//リストへの書き込み
FPUT(ID,開始日 )//
FPUT(ID,ファイル名 )//
NEXT
FCLOSE(ID)
sleep(19)

このスクリプトでとりあえずファイル名のあいうえお順(文字コード順??)で
列挙ができたのですが、列挙する際並び替えしたいのです。
ソート?の方法が理解できないので、教えてください。
色々な条件で並び替えする予定では有りますが、(”後攻”の文字コード順とか、或いはファイルの中身のX行目を参照したり)
まず基本的と思われる、年月日でのソートを教えていただけますでしょうか。

418 :名無しさん@お腹いっぱい。:2015/05/03(日) 23:32:19.74 ID:8eRUMEfQJ
>>415
変なこだわりでプログラミングするより
コマンドプロンプトのRENコマンドでリネームしたほうが早い

Excelとかだと連番操作は簡単なのでリネーム前、リネーム後の文字列作って
それをもとにRENコマンドを流せばいい

419 :名無しさん@お腹いっぱい。:2015/05/04(月) 00:20:23.35 ID:WM9pP7Em0.net
そこまでいくとUWSCでやる処理じゃないと思うけど

宣言時にHASH_SORTを指定した連想配列に、年月日をキーにしてファイル名を代入すればいいかと
年月日かぶりの時の処理は考えてね

420 :名無しさん@お腹いっぱい。:2015/05/04(月) 01:23:01.29 ID:CDFIlBMyk
>>418
ありがとうございます

RENコマンドがくわしくないのもあるのですが
自分の知識ではうまいことできるかわからなかったのです

Excelとかの連携ですがそれなら私の技術的にも可能だと思います

D:\jpegファイルのあるフォルダ>dir > jpg ファイルのリスト.txt
これをExcelに流してやるところがちょっと難しいですが

それと説明不足ですいませんjpgファイルはこんな感じで規則性がありません
例)
20150501_ランダムな数字1.jpg
20150501_ランダムな数字2.jpg
20150501_ランダムな数字3.jpg
20150501_ランダムな数字4.jpg
20150501_ランダムな数字5.jpg


421 :名無しさん@お腹いっぱい。:2015/05/04(月) 01:21:07.50 ID:POSm0sDu0.net
よくわからんけどこんでいいの?

Dim DIR = "D:\MyDoc\Desktop\新しいフォルダー"
Dim File = "list.txt"
Dim 年[0]; Dim 月[0]; Dim 日[0]; Dim 時[0]
Dim 分[0]; Dim 秒[0]; Dim 先[0]; Dim 後[0]

NUM = GETDIR(DIR)
ReSize(年, NUM); ReSize(月, NUM); ReSize(日, NUM); ReSize(時, NUM)
ReSize(分, NUM); ReSize(秒, NUM); ReSize(先, NUM); ReSize(後, NUM)
For A = 0 to NUM -1
  Dim ファイル = GETDIR_FILES[A]
  年[A] = COPY(ファイル, POS("-",ファイル,2)+1, 4)
  月[A] = COPY(ファイル, POS("-",ファイル,2)+5, 2)
  日[A] = COPY(ファイル, POS("-",ファイル,2)+7, 2)
  時[A] = COPY(ファイル, POS("_",ファイル,1)+1, 2)
  分[A] = COPY(ファイル, POS("_",ファイル,1)+3, 2)
  秒[A] = COPY(ファイル, POS("_",ファイル,1)+5, 2)
  先[A] = COPY(ファイル, 1, POS("-",ファイル,1) -1)
  後[A] = COPY(ファイル, POS("-",ファイル,1)+1, POS("-",ファイル,2)-POS("-",ファイル,1)-1)
Next

//続く

422 :名無しさん@お腹いっぱい。:2015/05/04(月) 01:21:38.10 ID:POSm0sDu0.net
//続いた

Fukidasi("ソート順 [N]年 [G]月 [H]日 [J]時 [F]分 [B]秒 [P]先 [S]後 [ESC]終了")
Repeat
  Ifb GetKeyState(VK_N)
    QSORT(年, QSRT_A, 月,日,時,分,秒,先,後); Break
  ElseIf GetKeyState(VK_G)
    QSORT(月, QSRT_A, 年,日,時,分,秒,先,後); Break
  ElseIf GetKeyState(VK_H)
    QSORT(日, QSRT_A, 年,月,時,分,秒,先,後); Break
  ElseIf GetKeyState(VK_J)
    QSORT(時, QSRT_A, 年,月,日,分,秒,先,後); Break
  ElseIf GetKeyState(VK_F)
    QSORT(分, QSRT_A, 年,月,日,時,秒,先,後); Break
  ElseIf GetKeyState(VK_B)
    QSORT(秒, QSRT_A, 年,月,日,時,分,先,後); Break
  ElseIf GetKeyState(VK_P)
    QSORT(先, QSRT_A, 年,月,日,時,分,秒,後); Break
  ElseIf GetKeyState(VK_S)
    QSORT(後, QSRT_A, 年,月,日,時,分,秒,先); Break
  EndIf
  Sleep(0.1)
Until GetKeyState(VK_ESC)

FID = FOpen(File, F_WRITE8)
For A = 0 to NUM -1
  FPut(FID, 先[A]+"-"+後[A]+"-"+年[A]+月[A]+日[A]+"_"+時[A]+分[A]+秒[A]+".txt")
Next
FClose(FID)

423 :名無しさん@お腹いっぱい。:2015/05/04(月) 12:30:24.94 ID:fl9/B3+b/
>>420
詳しく知らなければネットで調べて実際に試してみればいい
ren aaa.jpg bbb.jpg
とすればaaa.jpgというファイルをbbb.jpgにリネームする

という事は
ExcelのA列に
20150501_ランダムな数字1.jpg
20150501_ランダムな数字2.jpg
20150501_ランダムな数字3.jpg
20150501_ランダムな数字4.jpg
20150501_ランダムな数字5.jpg
を入れる(ファイルのリストとやらを貼り付ける)

B列に
A00639_1.jpg
A00639_2.jpg
A00639_3.jpg
A00640_1.jpg
A00640_2.jpg
となるような数式を作る

C1に
="ren " & A1 & " " & B1
とすれば
ren 20150501_ランダムな数字1.jpg A00639_1.jpg

出来たコマンドをコマンドプロンプトに貼り付けるだけ

424 :名無しさん@お腹いっぱい。:2015/05/04(月) 16:59:29.42 ID:1tvpD3kK0.net
バッチファイルでファイル名一覧をテキストで取得して、Excelで並び替えた方が汎用的なような…

425 :名無しさん@お腹いっぱい。:2015/05/04(月) 17:09:45.24 ID:NHByfOcj0.net
次の処理に使う為にテキストファイルの方が都合がいいケースも有るだろうし
その辺は本人次第による

426 :名無しさん@お腹いっぱい。:2015/05/04(月) 19:04:39.82 ID:f8nhMwc80.net
あたしならバッチのFor文のヘルプをじっくり読むね

427 :名無しさん@お腹いっぱい。:2015/05/04(月) 22:16:59.97 ID:n2ZrU9UHx
//他の方法でやってみたのですが、
//もう少しでできそうですがSendStrの使い方が難しいです
//これだとA030_1.jpgというファイルになってしまいます。
//A00630_1.jpgにしたいのですが

FOR A = 630 TO 630

//マウスでアクティブにする
BTN(LEFT,CLICK,1100,20,1000)

//HOME で先頭に持ってくる
KBD(VK_END,CLICK,1000)
KBD(VK_HOME,CLICK,1000)

//ファイル名を変更する
KBD(VK_F2,CLICK,1000)

//ファイル名を消す
//
KBD(VK_BACK,CLICK,1000)

428 :名無しさん@お腹いっぱい。:2015/05/04(月) 22:17:25.10 ID:n2ZrU9UHx
//キー入力を開始する
KBD(VK_SHIFT,DOWN,100)
KBD(VK_A,CLICK,100)
KBD(VK_SHIFT,UP,100)
KBD(VK_NUMPAD0,CLICK,1000)
KBD(VK_NUMPAD0,CLICK,1000)

//変数の入力
SendStr(GetId(GET_ACTIVE_WIN),Copy("0"+A,Length(A),2))

//_1 の入力
KBD(VK_RSHIFT,DOWN,1000)
KBD(VK_OEM_102,DOWN,1000)
KBD(VK_RSHIFT,UP,1000)
KBD(VK_OEM_102,UP,1000)
KBD(VK_1,CLICK,1000)

NEXT

429 :名無しさん@お腹いっぱい。:2015/05/04(月) 22:40:53.33 ID:fl9/B3+b/
ヒント
a=1
replace(format(a,3)," ","0")
msgbox(replace(format(a,3)," ","0"))
a=10
msgbox(replace(format(a,3)," ","0"))
a=100
msgbox(replace(format(a,3)," ","0"))

何がやりたいか知らないけど
もう少し整理して考えたほうがいい

KBD関数を多用しているけど本当にそれ以外方法がないの?

430 :名無しさん@お腹いっぱい。:2015/05/04(月) 23:20:33.72 ID:nY4sIpEz0.net
質問です。
001.bmpか002.bmpが一致した場合クリックとしたいのですが、以下の処理にした場合、
002.bmpが一致した場合は正常にクリックされる(正常に座標が取得できる)のですが、
001.bmpが一致した場合は座標が
X座標:-999999
Y座標:-999999(print出力のログファイルより)
となってしまいます。

また、001.bmpと002.bmpを逆で書いた場合は、002.bmpの座標がそれぞれ-999999となってしまいます。

*****
IF CHKIMG("001.bmp") OR CHKIMG("002.bmp") THEN //画像一致で実行
print G_IMG_X
print G_IMG_Y
BTN(LEFT)
ELSE
print "no"
ENDIF
*****

431 :名無しさん@お腹いっぱい。:2015/05/04(月) 23:21:12.27 ID:nY4sIpEz0.net
(続き)

or条件の前半に書いたCHKIMGの座標が取得できないようですが、
うまく座標を取得する方法はあるでしょうか。

↓のようにELSEIFで処理を分ければ動くのですが、出来れば1行で書きたいと思った次第です。
使用バージョンは Ver5.1.1 Pro です。

*****
IFB (CHKIMG("choose_001.bmp")=TRUE) THEN //画像一致で実行
BTN(LEFT)
ELSEIF (CHKIMG("choose_002.bmp")=TRUE) THEN //画像一致で実行
BTN(LEFT)
ELSE
print "no"
ENDIF
*****

432 :名無しさん@お腹いっぱい。:2015/05/04(月) 23:50:40.80 ID:NHByfOcj0.net
特殊変数を共有しているので無理
素直に分けなさい

433 :名無しさん@お腹いっぱい。:2015/05/05(火) 00:22:59.32 ID:VvVhJAr50.net
option shortcircuit
これいれてないだけじゃないの?

434 :名無しさん@お腹いっぱい。:2015/05/05(火) 00:49:12.39 ID:4fpjdasx0.net
>>432-433
レスありがとうございます。
短縮評価というのがあるのですね、勉強になりました。
おかげさまで実現することができました、どうもありがとうございます!

435 :名無しさん@お腹いっぱい。:2015/05/05(火) 09:48:03.69 ID:t379n4Zi0.net
>>433
いいこと教えてもらった
言語仕様かと思って諦めてたわ
むしろ短縮評価をデフォにして欲しいくらいだな

436 :名無しさん@お腹いっぱい。:2015/05/05(火) 12:15:50.95 ID:qn/kIA8j0.net
そんな紛らわしいコードは書かないほうがいいと思うのだが・・・

437 :名無しさん@お腹いっぱい。:2015/05/05(火) 16:56:57.37 ID:d+/e+6EX0.net
じゃぁどんなのが紛らわしくないってんだYO(・3・)
その辺優しく教えろYO

438 :名無しさん@お腹いっぱい。:2015/05/05(火) 19:40:24.06 ID:iRlC9s5c0.net
resObj = chkimg("a.bmp")
if resObj.exists()
x = resObj.getX()
y = resObj.getY()

こんな感じで使えれば余計なこと考えなくて自然なんだけどな

439 :383:2015/05/05(火) 22:54:10.53 ID:TCyoWXwj0.net
383と384で質問したものです。皆様レスありがとうございます。
>>419
UWSCでなければPHPとかRUBYとか?
あとの方もレスくれましたが、バッチ処理を途中かますのがスマートなのでしょうか。
どちらにせよ配列の概念をしっかり理解できないとだめですね。
>>421
ありがとうございます。
後ほど試してみて、弄くりまわしてみます!ForNext文でファイル名の構成をすべて配列に代入し…
>>422
RepeatUntil文のところでキー待ち処理でソートしてるのですね…
しかし配列の概念が理解できないからか、なぜこのスクリプトですべての配列(キー配列以外の配列)が同時にソートされるのかわかりません(配列が判る人からすると 何言ってんだこいつ状態…?)
これをヒントに色々やってみます。
>>424
CSVにして、excelのテーブル機能とか使えばいろんなことができますね…。
ファイルのX行目を参照して、なんてのも別途>>421の方法で配列として取得しておけばいいことですし(ファイル名には入れないとしても)。
>>425
おっしゃるとおりテキストファイルでやりたいことがありました。
>>426
バッチ処理も配列も自分にとってはなかなか難しいですね。
今後勉強していきたいと思います。

440 :名無しさん@お腹いっぱい。:2015/05/05(火) 23:10:23.24 ID:STTevHR60.net
内部的にEXCELな感じでしょうかね
配列A、配列B、配列C、配列D があって、データ部はそれぞれ縦列で

A B C D
11 aa あ rte
12 vb え u5f
13 hd え 4ds
15 ke ん g5d
16 og う ew3

となってて
こんな感じのEXCELでソートをBで行うとまとめてACDも追従しますよね
この場合の関数が QSORT(配列B, QSRT_A, 配列A, 配列C, 配列D) となる訳です

441 :名無しさん@お腹いっぱい。:2015/05/06(水) 06:03:33.06 ID:A1LDEOba0.net
str_n = 2500

gettime()
str = "" + G_TIME_HH + G_TIME_NN

if str >= str_n
 print str_n
endif

○○時まで動作させるというものを組みましたが、うまく動作しなかったので上記のようにしてテストをしていました
strは0000~2359の範囲までにしかならないはずなのになぜか上記のまま動作させるとprintされてしまいました
次にstr = "" + G_TIME_HH2 + G_TIME_NN2とすると思ったように動作しました
例えば6時10分を表す場合には610と0610の表し方の違いになりますが、前者だと2500より大きいと判定され後者だと小さいと判定されたようです

これはどういうことなのでしょうか

442 :名無しさん@お腹いっぱい。:2015/05/06(水) 08:14:04.52 ID:zFCy2m+P0.net
>>441
文字列の比較になって先頭から比べて2より6のが大きいから

443 :名無しさん@お腹いっぱい。:2015/05/06(水) 08:19:22.33 ID:kulMuT5p0.net
変数が文字列型になのか数値型なのか

444 :名無しさん@お腹いっぱい。:2015/05/06(水) 08:35:39.31 ID:A1LDEOba0.net
>>442
なるほどありがとうございます
下一桁から読まれるんじゃないんですね

445 :名無しさん@お腹いっぱい。:2015/05/06(水) 08:55:49.69 ID:jQbs1+K90.net
数値として大小比較をしたいのならval関数な

if val("2500") > val("610") then
 msgbox("2500が大きい") //こっち通る
else
 msgbox("610が大きい")
endif

if "2500" > "610" then
 msgbox("2500が大きい")
else
 msgbox("610が大きい") //こっち通る
endif

446 :名無しさん@お腹いっぱい。:2015/05/06(水) 12:25:21.85 ID:I/ZvQy1N0.net
ファイル名を自在に変更したいなら Flexible Renamer
これ「こんなソフトありませんか」の常連。
正規表現と合わせて使うと真の最強だから困る。

447 :名無しさん@お腹いっぱい。:2015/05/06(水) 12:32:43.76 ID:I/ZvQy1N0.net
>432
特殊変数に触るときは目的に応じた関数名の自作関数でラッピングして使うといいよ
PROCEDURE getImgXY(imgBmpName, VAR X, VAR Y)
画像をクリックしたいなら clickImg を自作するのが定番
関数化すれば、TRYでエラー処理して自動操作中断しないようにしたり、
フォルダ名を関数側に持たせて記述を短くしたり、
便利で読みやすいことが沢山出てくるし

448 :名無しさん@お腹いっぱい。:2015/05/06(水) 16:09:53.31 ID:72Vanucp0.net
chkimgの色幅の指定について質問させてください。
24ビットカラーのbmpで保存した文字の画像を、あらゆる文字色において探索させたいのですが(#000000〜#FFFFFF)、持たせる色幅は「RGB各色に対して8bit」で正しいのでしょうか?

また、その時1pxの透過色を指定していた場合、どうなるんでしょうか?

449 :名無しさん@お腹いっぱい。:2015/05/07(木) 02:08:08.49 ID:ybua1Qzf0.net
>>445
今更だけどありがとう

450 :名無しさん@お腹いっぱい。:2015/05/07(木) 18:14:43.24 ID:36ngVs2G0.net
前スレで配列サイズ取得にRESIZEとLENGTHどちらを使うべきかという話が出ていた。
俺はLENGTHで配列が取得できるようになる前からUWSC使っていたのでRESIZEでも
いいじゃないかと考えていたが、可読性などとは全く異なる理由で、RESIZEによる
配列サイズ取得を今後辞めることにした。
ついでに関数の戻り値にSAFEARRAYを使うことも辞めた。
その考えに至ったテストコードを載せておく。

451 :名無しさん@お腹いっぱい。:2015/05/07(木) 18:17:18.48 ID:36ngVs2G0.net
testCsv1="100,101,102,104,108"
testCsv2=123; testCsv3=EMPTY; testCsv4=NULL; testCsv4=NOTHING
testCsv5=CreateOLEObj("InternetExplorer.Application")
DIM testCsv6
testCsv7=SAFEARRAY(0, 2)
FOR vidx=1 TO 7; PRINT; PRINT "TEST No."+vidx; testSplit(EVAL("testCsv"+vidx)); NEXT
PROCEDURE testSplit(testCsv)
  TRY
    PRINT "test data : " + testCSV
  EXCEPT
    PRINT "test data is not printable."
  ENDTRY
  TRY
    testArray =SPLIT(testCsv, ",")
  EXCEPT
    PRINT "SPLIT NG"; testArray =SPLIT(testCsv, ","); EXIT
  ENDTRY
  PRINT "SPLIT o.k. Array length result="+LENGTH(testArray)+" ( RESIZE result="+RESIZE(testArray)+" )"
  IFB LENGTH(testArray) < 1 THEN
    PRINT "SPLIT result is not array."; EXIT
  ELSE
    FOR idx=0 TO RESIZE(testArray)
      PRINT " array["+idx+"]="+testArray[idx]
    NEXT
  ENDIF
  PRINT "test end."
FEND

452 :名無しさん@お腹いっぱい。:2015/05/07(木) 18:40:45.43 ID:0B5tP8ol0.net
で、何が問題なの?
SAFEARRAYは構造体みたいに使ってポリモーフィズムを実現できる型として重宝してるよ

453 :名無しさん@お腹いっぱい。:2015/05/07(木) 19:05:53.09 ID:kOFrsE6M0.net
SPLITは文字列を配列にする関数だからJOINしろと思う
色々な値が入る可能性のある関数なら最初に引数チェックしろと思う
配列じゃないなら-1なんでそれで判断してJOINしてやれば全て動くしなぁ

454 :名無しさん@お腹いっぱい。:2015/05/07(木) 19:06:54.36 ID:kOFrsE6M0.net
あ、-1なのはRESIZEの戻り値ね
そういう意味ではこういった用途の場合はLENGTHだと文字数になるので使えない

455 :名無しさん@お腹いっぱい。:2015/05/07(木) 19:19:19.12 ID:kOFrsE6M0.net
あー、でも途中のデフォルト参照するケースが駄目になるね
ちゃんとVARTYPEした対処した方がいい

これもコーディング論になってしまうけれど
例外はエラーからの復帰処理で正常系の判断処理には使わない方が良いかなと

456 :名無しさん@お腹いっぱい。:2015/05/07(木) 19:44:34.12 ID:oIqnKeh+0.net
Resizeの何がダメなのかわからん
SafeArray押しなのもまるで分らん

使い勝手というかデータ渡し合いするならSafeArrayだけど
処理速度ならResizeや単純な宣言配列のがうんと早い

Resize > Length だし
Dim Array[] >>>>>>> SafeSrray(0,0) だわ

上にあるようなファイル名取り込んでソートしなおすとかは絶対宣言した方が早い

457 :sage:2015/05/07(木) 21:17:42.38 ID:j+BelTnl0.net
すいません初心者です

While True

KBDA()
KBDB()

Wend

Procedure KBDA()
KBD(VK_A,CLICK)
SLEEP(5)
Fend

Procedure KBDB()
KBD(VK_B,CLICK)
SLEEP(10)
Fend

KBDA()が実行されたあとKBDB()が開始されるのですが
これを、KBDA()とKBDB()を同時にスタートさせるにはどうすればよいのでしょうか?
for-nextを使ってやっていたんですが、ボタンの数が多くなってくると出来ません

458 :名無しさん@お腹いっぱい。:2015/05/07(木) 21:30:45.17 ID:kOFrsE6M0.net
本当の意味で同時に処理するのはイベント駆動のWindowsでは無理
CLICKでやろうとするから無理が出る

DOWNとUPに分けてABが同時にDOWNになるタイミングを作った後でUPしたら良い

459 :名無しさん@お腹いっぱい。:2015/05/07(木) 22:13:39.16 ID:j+BelTnl0.net
>>458
それでやってみます
アドバイスありがとうございました

460 :名無しさん@お腹いっぱい。:2015/05/07(木) 22:36:41.79 ID:f3z72UPoG
> ボタンの数が多くなってくると出来ません

ボタンを同時に押し下げた状態にできるのは確か3つまでだから
4つ目は先にクリックしたキーのUPが完了するまでDOWNやCLICKはできない。

461 :名無しさん@お腹いっぱい。:2015/05/07(木) 23:09:44.89 ID:iddjenAQ0
>>451
これ実行してみた?
要素数1の時、LENGTHは1,RESIZEの戻り値は0
非配列の時、LENGTHは0になるのに、RESIZEの戻り値は0
要素数1なのか非配列なのかRESIZEの戻り値では判断できないってことでしょ。
あと予期せず文字列を想定した処理にSAFEARRAYが混ざってくると、
TRYでトラップ不可能なSyntaxErrorが出てキモい。

462 :名無しさん@お腹いっぱい。:2015/05/08(金) 00:14:41.27 ID:aCA8XdTmI
ちょっと質問です
<確認用.uws>
call test.uws
Dim A,B
pic("D:\images\","test.jpg",A,B)//画像の縦横を取得(例:300×200→A=300,B=200)
sfh(100,200,A,B)
<test.uws>
Procedure pic(a_path,a_name,Var a_Width,Var a_Height)
  Dim Path_Dir = a_path
  Dim FileName = a_name
  Dim Shell = CreateOleObj("Shell.Application")
  Dim NS = Shell.NameSpace(Path_Dir)
  Dim NS_Items = NS.Items
  Dim NS_Item = NS_Items.Item(FileName)
  Dim a_Str = NS.GetDetailsOf(NS_Item, 31)
  a_Width = Trim(Token("x", a_Str))
  a_Height = Trim(Token("x", a_Str))
Fend
procedure sfh(x,y,i,j)
x = x + random(i)
y = y + random(j)
print x
print y
fend
確認用.uwsを実行すると、

1274:定義が間違っています
test.uws: 19行目: X = X + RANDOM(I)

というエラーが出てしまいます、どうしたらいいですか?
やりたいことは、画像の縦横のピクセル数から乱数をそれぞれ得て、ある値に足すことです。上に書いたサンプルでは、100〜499の値と、200〜499の値です。画像の大きさは一定にできないので変数で扱いたいです。
よろしくお願いします。

463 :名無しさん@お腹いっぱい。:2015/05/07(木) 23:59:53.31 ID:gEl3Corv0.net
>testCsv4=NULL; testCsv4=NOTHING
まぎらわしい書き方をするから、こんな事やっちゃうんだろ
無意味な;は糞

464 :名無しさん@お腹いっぱい。:2015/05/08(金) 00:07:33.89 ID:jcQWG3E10.net
>>456
safearray押しではないけど、uwscに速度を求めるのは間違っていると思う

465 :名無しさん@お腹いっぱい。:2015/05/08(金) 00:50:15.30 ID:B65QIiuAJ
>>462
iやjは普通の文字列じゃなくUNICODE文字列なのが原因

バグか仕様かは知らないがrandom関数は数値かANSI文字列しか受け付けない
val関数はUNICODEでも数値に変換できるので
x = x + random(val(i))
とでもすればいけるだろう

466 :名無しさん@お腹いっぱい。:2015/05/08(金) 01:18:30.50 ID:B65QIiuAJ
あ、ごめん嘘ついた

iの先頭とjの末尾に見えない制御文字的なものがついてる
Dim a_Str = NS.GetDetailsOf(NS_Item, 31)
msgbox(vartype(a_Str, var_astr))
この制御文字はANSIに変換できないので?になって見えるようになる
msgbox(length(a_Str))
length関数でも文字数が合わないので分かるはず

どちらにしろval関数で削られるのでval関数を使えばいい

467 :名無しさん@お腹いっぱい。:2015/05/08(金) 05:46:16.80 ID:UKJMttxu0.net
求めてなくても、同じ効果で速度の差がはっきりしてるなら早い方選ぶのが普通じゃないの?

468 :名無しさん@お腹いっぱい。:2015/05/08(金) 06:09:34.64 ID:Vy8D3J360.net
求めてないのなら、安全性とかソースの可読性とかそういうのを優先するよ。

469 :名無しさん@お腹いっぱい。:2015/05/08(金) 06:36:18.86 ID:UKJMttxu0.net
resizeって危険なの?

470 :名無しさん@お腹いっぱい。:2015/05/08(金) 07:55:07.35 ID:ZRJ8LIgC0.net
質問です
call test.uws
Dim A,B
pic("D:\images\","test.jpg",A,B)//画像の縦横を取得
sfh(100,200,A,B)

<test.uws>
Procedure pic(a_path,a_name,Var a_Width,Var a_Height)
  Dim Path_Dir = a_path
  Dim FileName = a_name
  Dim Width, Height
  Dim Shell = CreateOleObj("Shell.Application")
  Dim NS = Shell.NameSpace(Path_Dir)
  Dim NS_Items = NS.Items
  Dim NS_Item = NS_Items.Item(FileName)
  Dim a_Str = NS.GetDetailsOf(NS_Item, 31)
  a_Width = Trim(Token("x", a_Str))
  a_Height = Trim(Token("x", a_Str))
Fend
procedure sfh(x,y,i,j)
x = x + random(i)
y = y + random(j)
print x
print y
fend

これを実行すると
定義が間違っています
test.uws 19行目: X = X + RANDOM(I)
となってしまいます。どうしたらいいですか?
やりたいことは、「画像の縦横のピクセル数」以下の乱数をある値に足すことです。アドレスお願い致します。

471 :名無しさん@お腹いっぱい。:2015/05/08(金) 08:14:35.71 ID:9f3Vt5H+0.net
Varが付いてないから変更出来ないだけじゃないの?

472 :名無しさん@お腹いっぱい。:2015/05/08(金) 08:46:00.34 ID:vrTT6NwFM
>>463;圧縮のためだろ;あれから;なくしたら改行が多すぎて投稿できないぞこのスレだと

473 :名無しさん@お腹いっぱい。:2015/05/08(金) 08:48:38.84 ID:vrTT6NwFM
それより>>454はどうなのかな?;>>461が言う実行結果と異なってるようだがバージョンや環境の違いか?;TRYが利くエラーと効かないエラーの違いも気になる。

474 :名無しさん@お腹いっぱい。:2015/05/08(金) 08:54:53.52 ID:vrTT6NwFM
>>470
19行目の直前でプリントして変数の中身確認してみ?
Iの中身が空っぽだぞ多分>>451の2行目みたいな変な値になってる

475 :名無しさん@お腹いっぱい。:2015/05/08(金) 10:12:19.88 ID:kMHlHwI60.net
msgbox(A)とか入れて見りゃすぐわかる気がするんだが

多分A・Bには文字列が入ってる

476 :名無しさん@お腹いっぱい。:2015/05/08(金) 12:28:16.24 ID:uACYXt1H0.net
>>470
2ch.s cのほうに答え書いてある
制御文字が原因

477 :名無しさん@お腹いっぱい。:2015/05/08(金) 12:31:32.67 ID:pk4bmMyb0.net
>>475
ありがとうございます!!
VAL(A),VAL(B)にしたらできました!!

478 :名無しさん@お腹いっぱい。:2015/05/08(金) 12:35:00.28 ID:pk4bmMyb0.net
>>476
ごめんなさい!!気づきませんでした…

479 :名無しさん@お腹いっぱい。:2015/05/08(金) 12:54:57.17 ID:s8RLZ3fW0.net
472 名前:名無しさん@お腹いっぱい。[sage] 投稿日:2015/05/08(金) 08:46:00.34 ID:vrTT6NwFM
>>463;圧縮のためだろ;あれから;なくしたら改行が多すぎて投稿できないぞこのスレだと

473 名前:名無しさん@お腹いっぱい。[sage] 投稿日:2015/05/08(金) 08:48:38.84 ID:vrTT6NwFM
それより>>454はどうなのかな?;>>461が言う実行結果と異なってるようだがバージョンや環境の違いか?;TRYが利くエラーと効かないエラーの違いも気になる。

474 名前:名無しさん@お腹いっぱい。[sage] 投稿日:2015/05/08(金) 08:54:53.52 ID:vrTT6NwFM
>>470
19行目の直前でプリントして変数の中身確認してみ?
Iの中身が空っぽだぞ多分>>451の2行目みたいな変な値になってる 👀
Rock54: Caution(BBR-MD5:405b7f1af0f5a85b432d79fa769e9aeb)


480 :名無しさん@お腹いっぱい。:2015/05/08(金) 18:51:27.05 ID:CsG9StKG0.net
465 :名無しさん@お腹いっぱい。:2015/05/08(金) 00:50:15.30 ID:B65QIiuAJ[1/2]
>>462
iやjは普通の文字列じゃなくUNICODE文字列なのが原因

バグか仕様かは知らないがrandom関数は数値かANSI文字列しか受け付けない
val関数はUNICODEでも数値に変換できるので
x = x + random(val(i))
とでもすればいけるだろう
466 :名無しさん@お腹いっぱい。:2015/05/08(金) 01:18:30.50 ID:B65QIiuAJ[2/2]
あ、ごめん嘘ついた

iの先頭とjの末尾に見えない制御文字的なものがついてる
Dim a_Str = NS.GetDetailsOf(NS_Item, 31)
msgbox(vartype(a_Str, var_astr))
この制御文字はANSIに変換できないので?になって見えるようになる
msgbox(length(a_Str))
length関数でも文字数が合わないので分かるはず

どちらにしろval関数で削られるのでval関数を使えばいい

481 :名無しさん@お腹いっぱい。:2015/05/08(金) 19:05:39.45 ID:f8iSJDTU0.net
わざわざコッチに貼るな

482 :名無しさん@お腹いっぱい。:2015/05/09(土) 02:09:13.25 ID:Wj4o5nTl0.net
dim normalStr="10"
msgbox(normalStr) // 10
msgbox(random(normalStr)) // 10未満の乱数

dim charArray[]=$202a, $31, $30, $202c
dim errorStr=""
for char in charArray
 errorStr = errorStr + chr(char)
next
msgbox(errorStr) // 10のように見える
msgbox(random(errorStr)) // エラーになる

知らない人は悩むだろうな

483 :名無しさん@お腹いっぱい。:2015/05/09(土) 06:51:53.03 ID:lOeahwwg0.net
最近uwscいじり始めました
CHKIMGでALL_IMG_X[]、ALL_IMG_Y[]に格納されるのは最大6個まで?
増やせないのかな?

484 :名無しさん@お腹いっぱい。:2015/05/09(土) 09:50:39.26 ID:VKqe5NAJ0.net
>>483
最大4096個まで
6個しかないってことは6個しか画像が見つからなかったってことだ

485 :名無しさん@お腹いっぱい。:2015/05/10(日) 12:17:33.84 ID:V3eUIZ5/0.net
SCに書くアホなんているんだな…

486 :名無しさん@お腹いっぱい。:2015/05/10(日) 14:41:29.85 ID:j+Ly6pmCp
なんで?なんでも!

487 :名無しさん@お腹いっぱい。:2015/05/10(日) 15:04:14.23 ID:6YUb43Cc0.net
住み分けている人は問題ないさ

488 :名無しさん@お腹いっぱい。:2015/05/10(日) 23:28:25.09 ID:KG0xar9h0.net
これもscか
461 名前:名無しさん@お腹いっぱい。[sage] 投稿日:2015/05/07(木) 23:09:44.89 ID:iddjenAQ0
>>451
これ実行してみた?
要素数1の時、LENGTHは1,RESIZEの戻り値は0
非配列の時、LENGTHは0になるのに、RESIZEの戻り値は0
要素数1なのか非配列なのかRESIZEの戻り値では判断できないってことでしょ。
あと予期せず文字列を想定した処理にSAFEARRAYが混ざってくると、
TRYでトラップ不可能なSyntaxErrorが出てキモい。


俺も同じだった。

489 :名無しさん@お腹いっぱい。:2015/05/11(月) 00:33:31.53 ID:jVchxD0Z0.net
こっちに書かないでお前もあっちに書けよ

490 :名無しさん@お腹いっぱい。:2015/05/11(月) 14:12:48.59 ID:FSQG8YaTn
質問です
コンボボックスを1行に複数個入れることは可能でしょうか
やり方あれば教えていただきたい

491 :名無しさん@お腹いっぱい。:2015/05/11(月) 20:41:08.63 ID:DhQvpn7OJ
@シェア版のフォームを使う
Auser32.dll経由させてAPIからウインドウを作る
BWin7以降ならパワーシェルから簡易.NETインタプリンタ経由してアプリをコンパイル

好きなの選べ

492 :名無しさん@お腹いっぱい。:2015/05/12(火) 08:55:17.84 ID:M6eLyl6Gb
Bでお願いします

493 :名無しさん@お腹いっぱい。:2015/05/12(火) 11:20:49.86 ID:TtfeFMrT2
メニュー表かよw

494 :名無しさん@お腹いっぱい。:2015/05/13(水) 21:24:08.38 ID:9cIxCj9O0.net
UWSCの範疇じゃないかもしれんがプログラムに疎いんで聞いてくれ。
複数の変数名ごとの処理を順繰りに変えながら使ってるんだが

ifb tabemono = "mikan"
 tabemono = "ringo"
elseif tabemono = "ringo"
 tabemono = "momo"
elseif tabemono = "ringo"
tabemono = "momo"
//実際にはelseifがまだまだある
else
 tabemono = "mikan" //←走り終わったら最初に戻してる
endif

もっとスマートな方法教えてくれ
(1個減らすとその前の行も修正が必要なんで)

495 :名無しさん@お腹いっぱい。:2015/05/13(水) 21:26:08.01 ID:7VzdG4CX0.net
for文と配列使いなさい

496 :名無しさん@お腹いっぱい。:2015/05/13(水) 21:42:08.47 ID:+c1y9vIl0.net
変数のスライド以外は共通ならコレで1ループ
繰り返すなら FOR IN NEXT を WHILE 等でループさせる

 DIM list[] = "mikan","ringo","momo"

 FOR item IN list
  print item
 NEXT

497 :名無しさん@お腹いっぱい。:2015/05/13(水) 22:39:45.77 ID:JmtHJeH10.net
>>494
DIM list[max][2]

list[0][0] = "mikan"
list[0][1] = "ringo"
list[1][0] = "ringo"
list[1][1] = "momo"
.
.

for i=0 to max
ifb tabemono=list[i][0] then
tabemono=list[i][1]
next

配列はcsvファイルにして最初に読み込めば追加修正も楽だと思うよ。

498 :名無しさん@お腹いっぱい。:2015/05/14(木) 08:31:27.96 ID:UlftZKXm0.net
それbreakでも入れないと結果が違ってくるんじゃないか?
質問者が何をやりたいかは分からないけど

499 :名無しさん@お腹いっぱい。:2015/05/14(木) 09:24:07.79 ID:yaIK/1e80.net
ループ回すより連想配列使った方がスマート

500 :名無しさん@お腹いっぱい。:2015/05/14(木) 09:43:31.94 ID:4vjcebLp0.net
配列は使い道がわからんわ

501 :名無しさん@お腹いっぱい。:2015/05/14(木) 09:46:28.32 ID:BoW7Ss/B0.net
基礎を学んでないと配列は使わない人が多そう
uwscなんて知識無しの人でも作るもんだから

502 :名無しさん@お腹いっぱい。:2015/05/15(金) 15:09:06.18 ID:uEjjwe7w0.net
ワイも全然分からんから
WHILE TRUE
WEND
でグルグル回してるわ

503 :名無しさん@お腹いっぱい。:2015/05/15(金) 18:45:08.69 ID:cO+XlT030.net
ようは、動けばいいんだよね。

理解しないで適当にコピペでも、動かせてるならそれでいい訳で

504 :名無しさん@お腹いっぱい。:2015/05/15(金) 20:48:28.13 ID:BFc4oXXZ0.net
だめだろ。冗長なコード書いてる奴は

505 :名無しさん@お腹いっぱい。:2015/05/15(金) 20:53:49.34 ID:LD79vb4o0.net
仕事なら兎も角当人の責任で私的に使っている間はどうでも良い話

506 :名無しさん@お腹いっぱい。:2015/05/15(金) 21:04:53.18 ID:/AZ0XoPh0.net
冗長なコードが駄目なのはわかるが、冗長なコード書いてる奴が駄目かと言われると一概には言えんわな
コードを書いて走らせるのはあくまで手段だ、目的を見失ってまで磨きをかけるものじゃない

507 :名無しさん@お腹いっぱい。:2015/05/15(金) 22:09:35.95 ID:kJkWORh/0.net
連想配列もいいけどハードコーディングになりやすい
配列から要素を検索しインデックスを返すsearchArray関数を自作し、
CSV配列から生成した配列から現在の要素を検索して取得した
インデックスをインクリメントすることで希望の動きが実装できる。
が、配列に同じ要素が複数あると希望通りに動かない。(IF連鎖でも同じだが)
要件としてそこをクリアしたい場合、そもそもの実装として、
現在のインデックスを保持する仕様に変更した方がいいだろう。

508 :名無しさん@お腹いっぱい。:2015/05/15(金) 23:33:00.52 ID:M6mRhlAE0.net
もう英文だな

509 :名無しさん@お腹いっぱい。:2015/05/15(金) 23:47:19.19 ID:i6wiJ6QU0.net
自分よがりなコードやトリッキーなコードよりは冗長なコードのほうがいいわ

510 :名無しさん@お腹いっぱい。:2015/05/15(金) 23:58:28.57 ID:cwpOruK/0.net
キーが一意となる事が確定している状況であれば
通常の配列を使うなんて意味ない

わざわざ配列を検索するためのループをコーディングする必要が出てくる
行数も検索時間も全部無駄

できる大人は積極的に連想配列を使いますね

511 :名無しさん@お腹いっぱい。:2015/05/16(土) 01:21:50.65 ID:kYQf2te90.net
冗長なコードはバグの原因だしメンテナンス性に欠ける

512 :名無しさん@お腹いっぱい。:2015/05/16(土) 01:58:20.22 ID:hI7/eQi30.net
自分よがりでトリッキーなコードでも速かったらそっち使うじゃん?
最速のコードってトリッキーなんだよな

513 :名無しさん@お腹いっぱい。:2015/05/16(土) 03:35:37.82 ID:5YLxrpDQ0.net
だからなぜuwscに速度を求めるのか・・・

514 :名無しさん@お腹いっぱい。:2015/05/16(土) 04:00:13.96 ID:kYQf2te90.net
UWSCはプログラミング始めるとっかかりとして悪くないと思うわ

515 :名無しさん@お腹いっぱい。:2015/05/16(土) 06:59:43.23 ID:jzBJrgnq0.net
プログラムで固定長の配列は実際使いにくいよな
連想配列か可変長配列が圧倒的に便利

516 :名無しさん@お腹いっぱい。:2015/05/16(土) 08:45:44.45 ID:RgS0dIJ+0.net
可読性を重視するか速度を重視するかなんて書く人によるだろ
自分と意見が違うからって無闇に叩く奴はハゲ

517 :名無しさん@お腹いっぱい。:2015/05/16(土) 09:55:58.16 ID:PHxUHjwY0.net
public key[1000]
public value[1000]

key[0]="apple"; value[0]="りんご";
//・・・
key[999]="banana"; value[999]="バナナ";

print searchArray("apple")
print searchArray("banana")

function searchArray(name)
 for i=0 to length(key)-1
  if name=key[i] then
   result = value[i]
   exit
  endif
 next
fend

518 :名無しさん@お腹いっぱい。:2015/05/16(土) 09:57:59.40 ID:PHxUHjwY0.net
hashtbl hash
hash["apple"]="りんご"
//・・・
hash["banana"]="バナナ"

print hash["apple"]
print hash["banana"]

519 :名無しさん@お腹いっぱい。:2015/05/16(土) 10:01:39.61 ID:PHxUHjwY0.net
searchArray?
しねばいいのに^^

520 :名無しさん@お腹いっぱい。:2015/05/16(土) 10:05:22.46 ID:QDThgf1Z0.net
グローバル変数の初期化がうまくいかず悩んでいます。
hogeの値を 1→2→3→1→2・・・としたいのですが、1→2→3→4→5・・・となってしまいます。
DO1関数内で、hogeの値を使ってIF文を動かしたりしています。
考えているような動作にするには、どういった記述をすれば良いでしょうか、
教えて頂けるとうれしいです。よろしくお願いします。

WHILE TRUE
 public hoge = 0 //関数で使う変数
 loop = 0
 WHILE (loop = 3) = FALSE
  loop = loop + 1
  hoge = hoge + 1
  print "hoge" + hoge
  print "loop" + loop
  DO1()
 WEND
WEND

521 :名無しさん@お腹いっぱい。:2015/05/16(土) 10:05:59.46 ID:QDThgf1Z0.net
(続き)こちらがログになります。

** 出力ログ ******
hoge1
loop1
hoge2
loop2
hoge3
loop3
hoge4
loop1
(・・・以下続く)
** 理想のログ ******
hoge1
loop1
hoge2
loop2
hoge3
loop3
hoge1
loop1
(・・・以下続く)

522 :名無しさん@お腹いっぱい。:2015/05/16(土) 10:26:28.90 ID:pznJG80O0.net
public hogeは変数宣言として最初に1度しか通らないので宣言と代入を別に記述する

523 :名無しさん@お腹いっぱい。:2015/05/16(土) 10:39:03.28 ID:QDThgf1Z0.net
>>522
なるほどです、下で無事動作するようになりました。

public hoge = 0 //関数で使う変数
hoge = 0
loop = 0

初歩的な質問になってしまい失礼しました、どうもありがとうございます。

524 :名無しさん@お腹いっぱい。:2015/05/16(土) 11:12:12.76 ID:GwNDKgWN0.net
ハードコーディングくらいググれよ
連想配列でもハードコーディングを避けて
CSVからのデータを格納できるけどな
0から999までハードコーディグしかも1行づつ
などというサンプルコードはもはやギャグだぞ

525 :名無しさん@お腹いっぱい。:2015/05/16(土) 12:13:08.13 ID:sM7ax+dX0.net
リサイズ使えば配列要素なんて無限に変更できるのにそこまでして拒む理由を知りたい

DIM Array[0]
Array[Resize(Array)] = 0
Array[Resize(Array, Resize(Array)+1)] = 1
Array[Resize(Array, Resize(Array)+1)] = 2

これでええやん
[1000]とか馬鹿なの

526 :名無しさん@お腹いっぱい。:2015/05/16(土) 20:57:04.02 ID:ADPmpcCJ0.net
きたねえコードだ

527 :名無しさん@お腹いっぱい。:2015/05/16(土) 21:07:10.23 ID:kYQf2te90.net
ずいぶんとダサいコードを書いてるのね

528 :名無しさん@お腹いっぱい。:2015/05/16(土) 22:31:29.69 ID:ADPmpcCJ0.net
IQ145

529 :名無しさん@お腹いっぱい。:2015/05/17(日) 07:17:01.08 ID:v1v0KtpL0.net
こんなゴミコードを自信満々に晒せる神経を疑う

530 :名無しさん@お腹いっぱい。:2015/05/17(日) 09:57:22.76 ID:18wKMXDJ0.net
もう分かったからご自慢のきれいなこーどでずっとオナニーしてろよ
文句だけなら誰でも言えるっつーの

531 :名無しさん@お腹いっぱい。:2015/05/17(日) 09:59:44.04 ID:L/VppOnQ0.net
プログラムの授業で明日の天気予報を明後日に出しても仕方ないって例えでよく言われたな
昔は知らないけど今の時代数行長いだけで速さなんてそんな変わらないんだよな

532 :名無しさん@お腹いっぱい。:2015/05/17(日) 13:49:55.80 ID:8iRscPda0.net
ちょっとした動作上の設定なんかを配列にハードコーディングして
横着する場合なんかに>>525のような書き方をしてしまう場合がある
俺の場合はC言語の++と同じ作用をする自作関数で…w
エディタ上で順番を入れ替えるのも楽
連想配列派の人は、スピード推しなのに1000要素ハードコーディングという
人間を尊重しない本末転倒なサンプルコードが敗因だな
CSVから連想配列に格納し同要素存在時の例外処理まで入れてたら勝っていたw

533 :名無しさん@お腹いっぱい。:2015/05/17(日) 15:08:03.59 ID:eWPQGAiz3
ttp://sp.e-words.jp/w/%E3%83%8F%E3%83%BC%E3%83%89%E3%82%B3%E3%83%BC%E3%83%89.html
> ソフトウェア開発の際に、特定の動作環境を決め打ちして、その環境を前提とした処理やデータをソースコードの中に直に記述すること。
> ハードコードされたデータなどはプログラムの完成後、実行時などに容易に変更することはできないため、
> 後から利用者などの手で変更する必要が無いか薄いと判断されたデータがハードコードされることが多い。

UWSCみたいなスクリプト言語程度でハードコード云々言うのはアホ

CSVだって禁止文字とかカンマ区切りとかあるからエクセルとか使う必要があるけど
エクセルシートからコピペするんならスクリプトのソースにコピペしようがCSVにコピペしようが大差ない。

534 :名無しさん@お腹いっぱい。:2015/05/17(日) 18:14:54.91 ID:vSIeL8RL0.net
コーディング論とか流用性とか気にせずに目の前の問題をアドホックに解決するってのが
UWSCのようなツールの使い道だと思うんだけどなぁ

535 :名無しさん@お腹いっぱい。:2015/05/17(日) 19:43:20.73 ID:oWHdgvyz0.net
>>525はねぇよ。配列の初期化は普通↓こうだろ

DIM Array[] = _
0, _
1, _
2

CSVにする意味も分からねぇ。実行中に変更する必要ないんだったら↓これでいいだろ

DIM list[][2] = _
_ // key,value
"mikan","ringo", _
"ringo","mono"

536 :名無しさん@お腹いっぱい。:2015/05/17(日) 19:44:59.84 ID:oWHdgvyz0.net
後半コピペしたらミスった。訂正↓
DIM list[][1] = _
_ // key,value
"mikan","ringo", _
"ringo","mono"

537 :名無しさん@お腹いっぱい。:2015/05/17(日) 20:05:01.57 ID:kcSkOwMN0.net
ヒント:
初期化は自明な話なので、誰も初期化方法の議論はしていません

538 :名無しさん@お腹いっぱい。:2015/05/17(日) 20:09:51.55 ID:oWHdgvyz0.net
じゃあ何の議論してんだよ?

539 :名無しさん@お腹いっぱい。:2015/05/17(日) 20:39:41.30 ID:kcSkOwMN0.net
if-elseifが増えてきて効率性が落ちてきた、と思ったら配列を使えばいい
思わなければ使う必要なんてない

配列はC言語なんかにも標準で持っている極めて基礎的な仕組みで
for文なんかととても相性が良い

ただ配列は限界があって、先頭から順に1つずつ処理していくような
単純な処理しかできない

配列から特定の要素を探すsearchArrayみたいな処理を考えれば分かるけど
効率が悪いので要素数が増えれくるとどうしても遅くなる
それにUWSCの場合は要素数の追加や、不要な要素の削除などが面倒
(これは言語によって違って)

この問題はキーと値が1対1となるデータ形式では単純に回避できる
それが連想配列

そもそもの用途が異なるから配列と連想配列は比べてもあまり意味がない
って単純な話しかしてないんだけど

逆に何が分からないんだ?

540 :名無しさん@お腹いっぱい。:2015/05/17(日) 20:44:13.30 ID:v1v0KtpL0.net
>>536見て思い出したが、
配列の宣言の時、要素数指定の仕様がいらつくよな
何でn個必要な時にn-1を書かないといけねーんだよと毎回思うわ

541 :名無しさん@お腹いっぱい。:2015/05/17(日) 20:49:21.29 ID:gmmmlVwD0.net
>>539
ちと長いがまぁ同意

自分もユニークキーと値がペアの要素じゃなければ無理に連想配列使おうとは思わない

最近のバージョンで自然数ソートも追加されたから
普通の配列の利用頻度は少し上がっている位だ

542 :名無しさん@お腹いっぱい。:2015/05/17(日) 20:50:31.81 ID:A/2qR/J80.net
質問者不在 乙

543 :名無しさん@お腹いっぱい。:2015/05/17(日) 20:55:30.33 ID:oWHdgvyz0.net
>>539
それも自明だと思うけどな
俺は上でCSVを推してるやつとか変な初期化してるやつに言ったんだよ

544 :名無しさん@お腹いっぱい。:2015/05/17(日) 21:04:40.72 ID:vSIeL8RL0.net
連想配列だってsearchArrayみたいな処理をなるべく効率のいい方法でやってるだけで
普通の配列に比べればずっと遅い。というか、遅いからこそ普通の配列と別になってる。

545 :名無しさん@お腹いっぱい。:2015/05/17(日) 21:08:59.70 ID:dFk4RCMk0.net
rubyの配列が使いやすすぎてuwscの配列がうんこにしか見えない

546 :名無しさん@お腹いっぱい。:2015/05/17(日) 21:19:17.19 ID:gmmmlVwD0.net
アレはもう配列というより一般的な言語でいうリストの範疇になる
UWSCには勿論リストは無い
LINQ for UWSC とか実装したらいいのにね

547 :名無しさん@お腹いっぱい。:2015/05/17(日) 23:13:32.56 ID:kngJrV4f0.net
>>535
配列要素が固定ならそうだよ

>525は配列がいくつあるかわからない、処理中に増える可能性がある場合
かつ、同じ要素が重複してしまう場合はこれしかないよね
もともと>517の[1000]とか宣言してるのは無駄だろうっていう話なんだろうけど

548 :名無しさん@お腹いっぱい。:2015/05/18(月) 00:36:12.92 ID:qDhsU4Za0.net
たぶんリサイズのたびに別にメモリ確保して全コピーとかやってるだろうから
[1000]の方がずっとマシな気がしないでもない

549 :名無しさん@お腹いっぱい。:2015/05/18(月) 00:41:17.78 ID:AZmCHRLz0.net
必要に応じて適宜でいいでしょ
ハードコーディングしておしまいでもいいし
変更に簡単に対応するために「ほげ.UWS」と一緒に「ほげ.xlsx」を置いてもいいし
.INIでもいいし.datでもいいし

ところで変数宣言時に要素数を指定した配列をReDimで増減できたっけ?
型だけ指定して要素数は未指定じゃないと出来ないか、
または面倒な事をしなきゃいけなかったような。おやすみ

550 :名無しさん@お腹いっぱい。:2015/05/18(月) 01:05:40.84 ID:HjlaxIuh0.net
>>549
RESIZEはSAFEARRAYも含めてなんでも出来る
>>548
そしてSAFEARRAY以外はメモリ的に連続配置されている保証はないという仕様なので
毎回全コピしているかは不明

でも1件毎に配列を広げ続けるのは流石に勿体無いと思うので
最終件数が予め分かるロジックがあるならそれを優先
無理なら追加処理の最初に+100とか+1000とか案件に応じた一定値で配列を広げる
足りなくなったらまた一定値広げるのを繰り返して最終的な件数で確定させる方が好き

551 :名無しさん@お腹いっぱい。:2015/05/18(月) 12:32:13.11 ID:WuOwBSqY0.net
今テストプログラム書いて再確認したが、
今でこそ>>550の通り何でもできるようだな。

昔はSafeArrayが絡むと何かとまともに動かなかった。
例えばver.4.7では、関数の引数が配列のときSafeArrayを配列として渡すことが
出来なかった。ほぼSAFEARRAY≠UWSC配列との扱いだったからな。
もちろんRESIZEにSAFEARRAY渡したら Syntax Error
当時のSAFEARRAYは、UWSCにとっては UNSAFE ARRAY だった訳。

その名残りもあって、俺の場合なんかは、
わざわざSAFEARRAYをUWSC配列に転写してから使っていた。
昔からUWSC使い倒してる人は、SAFEARRAY触りたがらない人が多いはず。

552 :名無しさん@お腹いっぱい。:2015/05/18(月) 12:38:34.40 ID:WuOwBSqY0.net
昔と言っても Ver4.7 は 2011/06/04 にリリースか。
たった4年前。結構驚きだわ。

553 :名無しさん@お腹いっぱい。:2015/05/18(月) 12:43:02.20 ID:WuOwBSqY0.net
蛇足だけどμItronみたいな組み込みOSだと、
安定性を重視して領域やオブジェクトの動的生成・変更は行わない。
(動的だと、その時に必要なスタック領域が足りるかどうか保証がないから)
上のSafeArray絡みで散々苦労した経験のせいで、
俺の場合は配列は常に想定最大要素数確保して
データ要素値にEOFの役割を持つ定数を使って管理してるな。
今はもう不要なんだろうが、
そのコードで何年も24時間回しっぱなしのコードがあるんで触ってない。

554 :名無しさん@お腹いっぱい。:2015/05/18(月) 13:15:44.27 ID:MH6w5v1q0.net
uwscであまり複雑なことはするなってことだな
そういう用途には作られていないから

555 :名無しさん@お腹いっぱい。:2015/05/20(水) 11:12:35.54 ID:FuKGsM4H0.net
正直スレ全部読まずに質問して
大変申し訳ないのですが
uwscのホームページからdlできない
バージョンはとこかで入手できますか?
具体的には
uwsc pro48e を探しています。(ライセンスは購入済)

556 :名無しさん@お腹いっぱい。:2015/05/20(水) 12:01:57.93 ID:8Gzw0qU50.net
古いバージョンをわざわざ使う理由が判らないけど
公式で旧バージョンじゃなきゃダメな理由を伝えたら
対応してくれるんじゃないの?

557 :名無しさん@お腹いっぱい。:2015/05/20(水) 13:32:36.09 ID:3AVFyxf40.net
>555
Wayback Machine で探したり、URL直打ちで探れば、
上に出てた4.7まではまだネット上にある模様。

558 :名無しさん@お腹いっぱい。:2015/05/20(水) 13:42:07.05 ID:j6BzMEKe0.net
そのバージョンではexe化した時に、inputbox selectboxの上に自作アイコンが残ったんだけど、それ以降のは仕様で残らなくなった。
以前作者に無理言ってダウンロード
させてもらったんだけど、勘違いから消去してしまい復活も不能。
流石に二度は気が引けて他の手段は
無いものかと尋ねてみた次第です。

559 :502:2015/05/20(水) 13:47:01.56 ID:j6BzMEKe0.net
>>556
>>557
ありがとうございます
url直打ちで探ってみます

560 :名無しさん@お腹いっぱい。:2015/05/20(水) 13:47:45.69 ID:cUcq/gGg0.net
APIからinputboxの表示エリアに画像上掛けばええやん?
DEF_DLL と BilBlt でググれ

561 :名無しさん@お腹いっぱい。:2015/05/20(水) 13:48:43.41 ID:cUcq/gGg0.net
Bitやったすまんな

562 :502:2015/05/20(水) 13:59:09.52 ID:j6BzMEKe0.net
連投失礼します
>>561
ありがとうございます
その方法でしのいでたんですが
やり方が悪いのか表示直後アイコンと
タイトル文字が重なってしまいあまり
うまくできませんでした。
アドバイスをもとにもう少し調べてみます。

563 :502:2015/05/20(水) 14:34:51.43 ID:j6BzMEKe0.net
>>557
wayback machineでdl出来ました
貴重な情報に感謝します

皆様のお知恵で解決できました
以上、
 お騒がせしました

564 :名無しさん@お腹いっぱい。:2015/05/22(金) 06:17:53.29 ID:CcUQ5B9h0.net
web記録とか、これからはIEではなくEdgeになるのかな?
Edge.NAVIGATEとか?
ED.NAVIGATE?
EG.NAVIGATE?

565 :名無しさん@お腹いっぱい。:2015/05/22(金) 06:19:38.95 ID:CcUQ5B9h0.net
どんな表記の仕方が主流になるのかな…

566 :名無しさん@お腹いっぱい。:2015/05/22(金) 07:14:42.17 ID:7TsRGg6k0.net
オブジェクト名はてめーで決めるんだから関係ないだろ

567 :名無しさん@お腹いっぱい。:2015/05/22(金) 07:29:20.44 ID:hhZ70BHz0.net
プレビュー使ってる人居たらもうわかるんじゃないのかな

568 :名無しさん@お腹いっぱい。:2015/05/22(金) 10:47:02.36 ID:6X7mVzHE0.net
そもそもEdgeはCOM提供しないかもしれないな
今まで通りIE使えばいいんじゃないか

569 :名無しさん@お腹いっぱい。:2015/05/22(金) 12:02:13.46 ID:4O6Cz7yUg
IE使えなくなったら正直死ぬ。

超初歩質問なんだが、明らかに要素が5つしかないってわかってて
Dim array[5]
で済むところで、
Dim array[1000]
ってやったら、メモリをたくさん使う以外に何か問題ってあるの?
ググろうにも何でググっていいかわからんかった。

570 :名無しさん@お腹いっぱい。:2015/05/22(金) 12:40:49.40 ID:3w9sE7WQ0.net
現時点の情報でEdgeはVBSやActiveX対応しないって話だから
COMオブジェクトも作れないだろう
FirfoxやChromeと同じようなもんと考えていい

でもSeleniumがサポートするだろうから影響はあまりないはず
ブラウザ制御はこちらが主流になると思う

571 :名無しさん@お腹いっぱい。:2015/05/22(金) 13:06:39.39 ID:FEqx8oNuY
>>569
問題なし
程よく忘れた頃、手直しする時になぜこんな値で初期化したのか忘れて悩むくらいのもの

572 :名無しさん@お腹いっぱい。:2015/05/22(金) 13:26:16.54 ID:FEqx8oNuY
問題あるとしたら、ループで回すとき一手間増えるくらい
サイズが分かっている時
for i = 0 to length(array)-1
 print array[i]
next
これで済みものが配列の終わりにnullが代入されているとして
for i = 0 to length(array)-1
 if array[i] = null then break
 print array[i]
next
データの終わりを検出しないといけなくなる

573 :名無しさん@お腹いっぱい。:2015/05/22(金) 13:50:29.28 ID:FEqx8oNuY
連投ごめん
データ数があらかじめわかっているのならその数で回せばいいな
for i = 0 to 5
 print array[i]
next

あとは意図しないデータにアクセスした時エラーで止まらないとかかな
print array[11]

574 :名無しさん@お腹いっぱい。:2015/05/22(金) 14:04:01.09 ID:4O6Cz7yUg
>>573
そうなのかありがとう。
極論言うと、出てくる配列全てに[10000]と宣言したところで、
傍で見てる人に頭悪そうって思われる以外には無問題ってことだね。

それなら「ちょっと配列が増えそうで、後からサイズ変えるのめんどいやー」
ってときは2,3倍くらいの数で宣言しておくのが一番ってことか。

575 :名無しさん@お腹いっぱい。:2015/05/22(金) 14:24:05.12 ID:hu/G2q6J0.net
最新からセレクトボックスが画面右寄
せができなくなったので、調べてた
らuwsc掲示版に全く同じ症状の人みつけた。
詳しい環境書いてなかったので
原因は特定出来てないんだけ
みなさんはどう?
ぴたっと右寄せできます?

576 :名無しさん@お腹いっぱい。:2015/05/22(金) 16:08:45.19 ID:pgGOi+af0.net
あんまり関係ない話題だけど、
プログラムの些細な変更を逐一クラウドサービスに保存できて、変更が追えるようにできないかな?
今はいちいちファイル名を別にして保存してるだけなんだけど
そういう手間って無くせないのかな

577 :名無しさん@お腹いっぱい。:2015/05/22(金) 16:34:15.93 ID:4O6Cz7yUg
>>576
Dropboxならやってる。
「変更が追えるように」って同期じゃダメなの?
やりたいことがイマイチ読み取れなかった。

578 :名無しさん@お腹いっぱい。:2015/05/22(金) 16:31:51.19 ID:hhZ70BHz0.net
プログラマブルなエディタなら保存先がクラウドかは兎も角
履歴バックアップを何世代まで保存するとかは標準で装備しているもんですよ

要するにエディタの仕事です

Git使う手もあるかもしれないけれど
なんだかなぁと思う

579 :名無しさん@お腹いっぱい。:2015/05/22(金) 17:10:57.23 ID:ewFNmIuf0.net
git使いづらい

580 :名無しさん@お腹いっぱい。:2015/05/22(金) 17:29:26.72 ID:kOLBNfMN0.net
以下のスクリプトで関数が見つからないとエラーが出るんですか
sethotkeyからは引数つけた関数は呼べなかったりするんでしょうか

windowid=GETID(GET_ACTIVE_WIN)

while true
flag=0
flag=sethotkey(vk_f1,,"ファンクション入力(windowid)")
if flag then continue
sleep(600)
wend

procedure ファンクション入力(id)
mouseorg(id,2)
KBD(VK_F1,click,500)
fend

581 :名無しさん@お腹いっぱい。:2015/05/22(金) 17:49:54.90 ID:hhZ70BHz0.net
出来ません
グローバル変数使うとかで回避するのが定石かな

582 :名無しさん@お腹いっぱい。:2015/05/22(金) 18:09:32.15 ID:kOLBNfMN0.net
ありがとうございます

583 :名無しさん@お腹いっぱい。:2015/05/22(金) 18:12:37.28 ID:E4xWRY5b0.net
>>580
この例なら初期値扱いにしちゃえば?
試してないけど
procedure ファンクション入力(id=GETID(GET_ACTIVE_WIN))

584 :名無しさん@お腹いっぱい。:2015/05/22(金) 18:45:42.76 ID:YmuGzYfC0.net
そもそもUWSC仕様だとスレッドも
引数・戻り値共にまともに遣り取りできず
グローバル変数しか手段がない
そのことがHELPの<スレッド生成>に書いてない

sethotkeyも動きを考えると同等の仕様だろうな
重大な仕様制限についてHELPにまともに書いてない点も含めて

585 :名無しさん@お腹いっぱい。:2015/05/22(金) 20:43:05.88 ID:pgGOi+af0.net
>>578
そういう機能があるエディタを探せばいいのか
スレ違いな質問に答えてくれてありがとう

586 :名無しさん@お腹いっぱい。:2015/05/23(土) 08:59:55.17 ID:DAB6C+q+0.net
サクラエディタでいいんでない?

587 :名無しさん@お腹いっぱい。:2015/05/23(土) 09:51:07.52 ID:fdz9T9Ew0.net
eclipseみたいなコード補完やフォーマッターあったら便利だよね

588 :名無しさん@お腹いっぱい。:2015/05/23(土) 12:56:19.50 ID:xiFykTZl0.net
ソースコード管理はDropboxとTortoiseGitを組み合わせて使えば楽なんじゃね?
使ったことないけど

「いま追加途中の処理は消したくないけど、いったんうまく動いてた頃のコードに戻したい」
とかよくあるじゃん
エディタの自動バックアップ機能だけでこれをやろうとすると大変

ファイルを手作業で退避してからタイムスタンプを頼りに欲しいバージョンを探す羽目になる
そこからバグを修正して退避させたコードをマージしたい、となるともう絶望的

Gitだとブランチ切り替えるだけ、マージもほぼ自動でやってくれる
一度試してみるといい

589 :名無しさん@お腹いっぱい。:2015/05/23(土) 20:10:26.52 ID:a7xATCjJK
uwscで作るとかは無理なのか?
1時間ごとにwhile監視して、内容が変わっていたらファイル名+時間とかで
コピー作成。何か難しいとこある?

590 :名無しさん@お腹いっぱい。:2015/05/23(土) 23:58:40.33 ID:nZxuV0Lbt
無理じゃないけどすでに他で実装されてる機能をわざわざ作るのは無駄かな
プログラム初心者の勉強用ならいいかもね

1. 指定した1つのファイルの監視
2. 指定した複数ファイルの監視
3. 指定した複数フォルダの監視
4. どのフォルダでコード書いても自動でファイルパスを解析して監視

自分の実力に合わせて作ってみるといいよ

591 :名無しさん@お腹いっぱい。:2015/05/24(日) 00:19:54.26 ID:M3bR0sl2f
いや、他で実装されてるものに不満があったり、見つけられないから
ここに書いてると思って見てたんだけど…。
「満足できる機能が欲しいなら作るのが一番確実でない?」という程度の
提案。処理内容もそう難しいものとは思わなかったからな。
あと自作だと応用が無限だから将来性も非常に高い。

一応Dropbox経験者として書いておくと、「自動で同期される」は
なかなか胡散臭いことがあるから気を付けてな。手動更新もついてないし、
更新されたかどうかもその都度チェックしないといけないこともある。
まだ見てるかわからんけど。

592 :名無しさん@お腹いっぱい。:2015/05/24(日) 14:27:37.29 ID:fK/MeGnH0.net
public id1=GETID(GET_ACTIVE_WIN)
print status(id1,ST_PROCESS)
sleep(0.3)

KBD(VK_ALT,DOWN,30)
KBD(VK_TAB,CLICK,300)
KBD(VK_ALT,UP,300)
sleep(0.3)

public id2=GETID(GET_ACTIVE_WIN)
print status(id2,ST_PROCESS)
sleep(0.3)

このスクリプトでid1とid2に同じウィンドウIDが入る理由がわからない
ちなみにpublicを外すとそれぞれ別のウィンドウIDが入る

593 :名無しさん@お腹いっぱい。:2015/05/24(日) 14:34:10.18 ID:3fBbOc8N0.net
それはグローバル変数は無条件に最初に実行されるからだよ
グローバル変数は宣言と初期化は別にした方が感覚的な動作順と一致するよ

594 :名無しさん@お腹いっぱい。:2015/05/24(日) 14:45:24.11 ID:fK/MeGnH0.net
なるほどわかりましたありがとうございます
特にヘルプにはのってないように思うのですが
そういうのってプログラム界隈の常識だったりするんでしょうか・・・

595 :名無しさん@お腹いっぱい。:2015/05/24(日) 15:14:23.38 ID:3fBbOc8N0.net
ヘルプのキーワードで PUBLIC で検索すると・・・

※ PUBLIC変数の初期化はスクリプト実行前に行われます

って書いてあるんだなぁ
因みにグローバル変数って何時でも何処でもアクセス可能な変数という意味だから
そういう意味では常識

余談だけどCALL命令も実行前に予め展開してから動作を開始するのでこれにも注意が必要
CALL先のグローバル変数や動作順が曖昧になるのでバグの温床に成るのだけれど初心者程ハマりやすい
CALL先のスクリプトは関数のみにして最初に1回だけCALLした方が良いってレスがよく付くのはこの為
でもこっちは好き好きかな

596 :名無しさん@お腹いっぱい。:2015/05/24(日) 15:26:28.97 ID:3fBbOc8N0.net
ちょっと補足しておくと
最初の例で話をすると id1 と id2 は何時でも何処からでもアクセスされる可能性を考えて

public id1 = -1
public id2 = -1

と宣言と初期化したら GETID(GET_ACTIVE_WIN) する迄は
他の参照箇所からでも未取得だと判断できるよ

597 :名無しさん@お腹いっぱい。:2015/05/25(月) 09:21:21.07 ID:qvDPXZzz0.net
初歩的な事で申し訳ないんだが

IFB CHKIMG("test.bmp,-1,x1,y1,x50,y30,,IMG_MSK_BGR4")
MSGBOX("画像認識に成功しました。")
ELSE
// 画像認識に失敗した場合の処理をここに書く
MSGBOX("画像認識に失敗しました。")
endif

こんな感じで画像認識のテストをしてるんだが、画像が映ってる画面をスクロールしたりして位置がずれるだけで認識してくれなくなるんだがどうしたらいいかな
同じ画像が画面に4〜5個あるんだが画像を撮った位置の奴しか認識しないし、位置がずれればそれも駄目になってしまう
Help見て画像の大きさの範囲とか色無視とか色幅に余裕をもたせる?とかいれてやってみたんだが何か間違ってるのかな
背景も単色でどれも同じだし大きさや形も一緒に見えるんだが何で認識してくれないんだろうか

598 :名無しさん@お腹いっぱい。:2015/05/25(月) 09:36:41.33 ID:CgfbemLh0.net
ぶっちゃけCHKIMGの曖昧検索は使えないと思うよ
曖昧じゃなくても見つけられる検索用の画像を用意した方が良い

どうしても曖昧な検索に頼らないと駄目なら
過去スレに類似画像検索用もDLL貼ってた人居たでしょ
アレ使ったら?

599 :名無しさん@お腹いっぱい。:2015/05/25(月) 09:45:38.42 ID:BPsSvuAk0.net
>>597
x1,y1,x50,y30
これサーチ範囲だろ?
サーチ範囲外に画像の位置がずれたら認識しないと思うが
そういうレベルの話ではないのだろうか

600 :名無しさん@お腹いっぱい。:2015/05/25(月) 09:46:51.43 ID:tqKcIqpY0.net
> x1,y1,x50,y30

間違って小さな値が入っててサーチエリア外になってるとかない?

601 :名無しさん@お腹いっぱい。:2015/05/25(月) 09:47:47.90 ID:yz8xoD7N0.net
>>597
サーチ範囲指定がおかしい
「"」での囲い先もおかしい
4~5個の画像が厳密に一致していない

いっきに全部行おうとせずにひとつずつ確認しな
画像は全て一致しているのか、サーチ範囲は機能しているのかetc

602 :名無しさん@お腹いっぱい。:2015/05/25(月) 11:45:52.25 ID:zYIN4Xno0.net
画像サイズとサーチ範囲を誤解してるだろうな

603 :名無しさん@お腹いっぱい。:2015/05/25(月) 11:53:50.32 ID:uBMGP39BD
わしならこうする

Dim Win[4]
Win[0] = GetID("なんとかかんとかのアプリ")
Win[1] = Status(Win, ST_X)
Win[2] = Status(Win, ST_Y)
Win[4] = Status(Win, ST_Width) - Win[1]
Win[3] = Status(Win, ST_Height) - Win[2]

IFB CHKIMG("test.bmp",-1,Win[1],Win[2],Win[3],Win[4],,IMG_MSK_BGR4)

604 :名無しさん@お腹いっぱい。:2015/05/25(月) 11:51:55.44 ID:qvDPXZzz0.net
おおう、こんな早くレスつくとは思ってなかった、みんなありがとう
IFB CHKIMG("test.bmp")
MSGBOX("画像認識に成功しました。")
ELSE
// 画像認識に失敗した場合の処理をここに書く
MSGBOX("画像認識に失敗しました。")

endif

最初はこれでやってて色々試してあんな感じになったんだけど色々間違っているのか
その間違いは一旦置いておいて、上記ので撮った時の座標と現在の座標がほんの少しでもずれると認識してくれない事がなんでか分からないんだよね
色無視だけ追加してやってみても駄目だしさっぱり分からん、背景無視で画像の文字に反応するように出来ないかな?背景は水色っぽくて文字は白なんだけども
やりたい事は上から下にスクロールしていって画像が出てきたらクリックってのをしたいんだけど、中々難しいねぇ

605 :名無しさん@お腹いっぱい。:2015/05/25(月) 12:28:51.61 ID:mrtgo7Ug7
>>603
mouseorgを使うといいよ

606 :名無しさん@お腹いっぱい。:2015/05/25(月) 12:34:01.34 ID:zYIN4Xno0.net
>>604
とりあえずx1,y1,x50,y30を
0,0,2000,2000くらいにして動かしてみたら?

607 :名無しさん@お腹いっぱい。:2015/05/25(月) 12:49:50.53 ID:SvpDjoG90.net
間違いのせいでそうなってる可能性が高いのに、間違いを一旦置いといてどうするよ

608 :名無しさん@お腹いっぱい。:2015/05/25(月) 13:59:14.70 ID:qvDPXZzz0.net
いや>>604ので基本チェックしてるのよ
座標とか色無視とか何にも付けない状態で画像とり直して何度もやってるんだが駄目で困ってる
位置によって微妙に色変わってんのかなぁ、画像大量に用意してやるくらいしかないかね?

609 :名無しさん@お腹いっぱい。:2015/05/25(月) 14:38:33.43 ID:yz8xoD7N0.net
>>608
やっていることと言っていることがちんぷんかんぷん
お前さんが整理しきれてないからこちらもちんぷんかんぷん

どこまでが成功してどこから失敗したのか、何をどうしたいのか簡潔にかいたらやさしいお兄さんが教えてくれるかもね

610 :名無しさん@お腹いっぱい。:2015/05/25(月) 14:44:38.98 ID:abs8tZNk0.net
>>608
実際に位置によって色が変わってるか確認してみた?

アウトラインはアンチエイリアスがかかることが多いから、3dotくらい削ると安定することがある

611 :名無しさん@お腹いっぱい。:2015/05/25(月) 14:46:48.26 ID:99MSNuhI0.net
しらんがな

612 :名無しさん@お腹いっぱい。:2015/05/25(月) 16:02:39.09 ID:zYIN4Xno0.net
testが見えるように表示
testの画像を取って保存
print chkimg("test")を実行すると結果がtrue
僅かに画面をスクロールさせる
print chkimg("test")を実行すると結果がfalse

でいいの?
これなら、>>610のように見た目分からないレベルの画像加工処理が入ってるか
サーチ対象の画像が透過してるとかだな

曖昧検索のDDL使うか、
画像を小さくしたり、peekcolorで頑張るという手もなくはない

実際のサイトや類似サイトを示せばもっとイメージできるんだが

613 :名無しさん@お腹いっぱい。:2015/05/25(月) 17:18:28.59 ID:wJZicumD0.net
背景色の影響が文字だか画像に影響してるんでしょ
画像を加工して透過指定すればいい
画像加工の方法は
ペイントを起動4隅を同じ色にして、透過させたい部分を同じ色で塗るだけ

勘違いしてるであろう座標指定はとりあえずなしで以下で実行
IFB CHKIMG("test.bmp,1,,,,,,IMG_MSK_BGR4")

614 :名無しさん@お腹いっぱい。:2015/05/25(月) 18:46:48.48 ID:j/NgR3bi0.net
間違いなく画像が異なってるよ。
色幅はあくまで色しか幅を持たせてくれない。
色が全く同じでも、1ピクセルだけ違う場所があればFALSEだからね。
FLASHなんかで画像を表示してると、その処理方法によっては、
1ドット動いただけで、ドットレベルでは異なる形状になる。
特に、画像を原寸大で表示していない場合は確実にそうなる。
CHKIMGは、どの画像のどこを見れば、そういった影響から
逃れられるかを見つけ出せるかが勝負どころ。
少なくとも、不一致判定となった2つの画像を数百倍に拡大して
完全一致していないのかどうか自らの目で確かめることぐらいは必須。
調査の結果、無理という結論に至ることも少なくないぞ。
どうしてもダメなら、ChkImgXを使わせてもらえばいかが。
ところでダブルクォーテーションで囲む範囲や変数の使い方が
初心者レベルで間違えてるのは判ってるのかな?

615 :名無しさん@お腹いっぱい。:2015/05/25(月) 21:28:12.99 ID:SvpDjoG90.net
「test.bmp,-1,x1,y1,x50,y30,,IMG_MSK_BGR4」 というファイル名なのかも?

616 :名無しさん@お腹いっぱい。:2015/05/25(月) 21:55:47.39 ID:NyMNGZNA0.net
その発想はなかったw

慣れてると2chに貼られたコードでも違和感ですぐ気付くけど
慣れないうちは文法ごとに色分けできるテキストエディタとか使えば
こういう単純ミスはかなり防げるんだけどな

初期設定のままUWSCが色分けできるMeryいいよ

617 :名無しさん@お腹いっぱい。:2015/05/25(月) 22:06:21.56 ID:99MSNuhI0.net
ID:qvDPXZzz0みたいなのは、延々とアホみたいな質問するだろうから無視が一番

618 :名無しさん@お腹いっぱい。:2015/05/26(火) 12:57:02.60 ID:oJaZjdVLu
CREATEFORMで読み込んだhtmlのフォームのtext areaに、SETFORMDATAで複数行のテキストを入力させています。
テキストは全部入るのですが、その表示がおかしいです。
1行目だけが表示されて、最初の改行以降2行目からは白く隠れてしまいます。
見えませんが選択することは出来ますし、1文字でも編集したら瞬間に全部がちゃんと表示されます。
改行を<#CR>にしてもCHR(10)にしてもCHR(13)にしても変わりません。
UWSC Pro 4.9c、Wix XP SP3、IE8です。
同じ症状の経験ある人いませんか?

619 :名無しさん@お腹いっぱい。:2015/05/26(火) 13:19:38.70 ID:WrGTn/9gZ
それはソースないとわからんわ。

無料でプログラムもらっておいて礼すら言わないカスって結構いる?
ネット上での話だが。思ったよりイラつくなこれ。

620 :名無しさん@お腹いっぱい。:2015/05/26(火) 19:24:32.38 ID:Dm8v7lsf0.net
chkimgの色幅なんだけど

指定なし→true
IMG_MSK_BGR1〜4→false

ってなっちゃうんだけど、おんなじ状況の人いる?

wind() //座標をウインドウ基準に
public wid
wid = status(id, ST_WIDTH)
public hit
hit = status(id, ST_HEIGHT)
path =(画像フォルダ)
num =getdir(path)

for A = 0 to LENGTH(GETDIR_FILES)-1
ifb chkimg(path +"\"+ GETDIR_FILES[A],,1,1,wid,hit)//ここのオプションを変える
print GETDIR_FILES[A] +"…OK"
else
print GETDIR_FILES[A] +"…NG"
endif
next

621 :名無しさん@お腹いっぱい。:2015/05/26(火) 19:32:37.27 ID:U67im66g0.net
あ、自己解決しました
y2の後に番号があるの忘れていました。

622 :名無しさん@お腹いっぱい。:2015/05/26(火) 20:58:21.66 ID:uLWAtFpta
>>618
UWSC Pro 5.1.1.0 Win8.1 IE11の環境だと問題なく改行表示される
<textarea name="Text1" rows=4></textarea>
SETFORMDATA("aaa<#CR>bbb", "Text1")

再現できる環境が無いので気休め程度の事しか書けないのが申し訳ないけど
レンダリングモードを変更してみるとか
<meta http-equiv="X-UA-Compatible" content="IE=8">
\r\nを送ると改行されるとの情報もあるのでCRLFを指定して送ってみるとか
SETFORMDATA("aaa"+chr(13)+chr(10)+"bbb", "Text1")

textareaペーストが一番早い気もする

623 :618:2015/05/26(火) 21:14:22.55 ID:ksZNBT0ug
>>622
レンダリングモード変更で解決しました。
CRLFはダメでした。
ありがとうございます!

624 :名無しさん@お腹いっぱい。:2015/05/28(木) 10:26:46.72 ID:8Pc/2x0R0.net
アンダーバー入れると行の途中で改行できるようになるのか
アンダーバーの後に//入れればコメントもできる
行の途中にコメント入れたいときに便利だなこれ

625 :名無しさん@お腹いっぱい。:2015/05/29(金) 01:22:09.81 ID:biwb9Jcst
exe化したのを販売とか配布したら、
腕のいいプログラマーだったら解析とかできちゃったりするの?

販売するときに「ここは気を付けよう」ってポイント何かあれば
教えて下さい

626 :名無しさん@お腹いっぱい。:2015/05/29(金) 10:31:03.87 ID:n3vawDngH
>・ EXE化ツールが付属しています。(EXE化後は単体での実行が可能であり、ライセンスフリーにて配布できます)

販売できますと書いてない
解析すればすぐ内部コアがUWSCって分かる
同人的な位置づけで限定的な公開方法で有償配布ならまず何か言われることはないと思うが
あとは作者次第

こういうプログラムを有償で組みますならOKなんじゃね


ちなみにスクリプトは絶対に元に戻せない仕様らしい(作者談)が
多少かじったことがある人ならば即どんな処理をしてるのかわかるぞ
これはUWSCに限った事じゃなくてどんな言語でもそうだけど

627 :名無しさん@お腹いっぱい。:2015/05/29(金) 16:36:29.96 ID:biwb9Jcst
そうなの?w

教えてくれてどうもありがとう。
ライセンスフリー=販売可能だと思ってたわ。馬鹿やな俺

もし販売するってなったら皆、C++とかで作ってるの?
ググってもわからんかった。

628 :名無しさん@お腹いっぱい。:2015/05/29(金) 17:23:25.91 ID:VWSIePJRk
ライセンスフリーってのは、UWSCのライセンスがかかってこないって事だろ。
配布に関して有償とか無償とか書かれてないから、販売していいんだよ。

無料配布の開発環境で販売していけない場合、無償での配布のみ可能とか書いてあるよ。

ttps://www.embarcadero.com/jp/products/delphi/starter-faq
> C++Builder Starterは、〜関連する収益が、1,000 USドルを越えないというライセンス規定

> 「Indie」ライセンス
> 「Indie」ライセンスは、特別な商用ライセンスで、フリーウェア、オープンソース、限定的な「収益」を上げる商業用の利用が許諾されます。

> 非商用ライセンス
> 非商用ライセンスは、価格の安い製品の提供を可能にしますが、同時に開発した製品を販売することを許諾しない

629 :名無しさん@お腹いっぱい。:2015/05/29(金) 19:28:39.07 ID:MqwgUQQOd
>>625
販売については公式掲示板過去ログに
〜要点のみ抜粋〜

>自作して、EXE化したスクリプトは、販売も可能なのでしょうか。
>DATE:2007/9/8(Sat) 15:45 No.1080

>OKです。
>DATE:2007/9/8(Sat) 19:12

〜抜粋終わり〜
(UWSC掲示板過去ログ検索boardlog「EXE版の販売について」で検索)
とやりとりがあるので可能だろうけど
販売する前に問い合わせておいた方が確実だろうね

解析については
EXE化したUWSファイルは暗号化されて取り込まれているので
単純にテキストエディタやバイナリエディタで開いても内容はわからない
復元するツールがあると言う話も聞いたことが無いので
一般人が内容を見ることは無理

>腕のいいプログラマーだったら解析とかできちゃったりするの?
解析スキルの高い人がその気になれば復元されてしまう可能性は0ではない

>販売するときに「ここは気を付けよう」ってポイント何かあれば
>教えて下さい
UWSCは環境や操作する側の設定に依存する部分が多いので多くの環境で動かすには
かなりの技術が必要
少なくともこの質問をする技術レベルならトラブルになることが予想されるので
販売は止めておいたほうが良いと思うよ

630 :名無しさん@お腹いっぱい。:2015/05/29(金) 19:58:47.26 ID:VWSIePJRk
EXE版を売るメリットなんかないと思うけどね。

EXEはウィルスの感染対象になる。
遠隔操作事件のように、悪意のコードを埋め込まれて再頒布される可能性がある。

>>629 が解析できないと言ってるのはあくまでもスクリプトの部分であって、
EXEとしてのフォーマットは決まっているので感染するのは簡単。

UWSCを使ったゲームマクロのスレでもこのUWSCスレでも、
何かいいものがあるとすぐに悪意のスクリプトがばら撒かれていることを知っていれば
感染可能性のあるEXEで配布なんてやろうとは思わないでしょ。

ゲームの自動化って需要はあるんだけど
削除されちゃうんだよね。
自分でホームページ作って公開したり、
取り扱ってくれるところがあればいいけど
通報があるとすぐに削除されてしまう。
その場合、悪意のコードを埋め込まれたEXEがどこかで再頒布されると、
オリジナルを頒布した人が逮捕される。

あと、「EXEなら何でもできるでしょ?」って、要求が大きくなるのもデメリット。

631 :名無しさん@お腹いっぱい。:2015/05/30(土) 09:00:22.36 ID:sFbRDONtD
>>628-630
すげー参考になる。めっちゃありがとう。
技術的な質問板はよく見るけど販売系は調べ方がよくわからない。

>>629
>>UWSCは環境や操作する側の設定に依存する部分が多いので多くの環境で動かすにはかなりの技術が必要

逆に多くの環境で間違いなく動く言語教えてもらえるとすげーありがたい。
Javascriptは環境に左右される印象がある。やっぱりC++とかが良いの?

>>630
ゲームマクロはこの前、逮捕者出たよね。
逆にもしプログラムを売るとしたら何(どんな言語かetc)で、
どういう形が良いと思う?

ちょっとスレチになって申し訳ない。
適切な板があれば移動する。

632 :名無しさん@お腹いっぱい。:2015/05/30(土) 09:45:55.85 ID:NtbxeqpP0.net
MOUSEが押下され続けてる状態ってのを取得したいんだけど、
GETKEYSTATEでVK_LBUTTONを時間区切って何回か見る以外に方法ある?

633 :名無しさん@お腹いっぱい。:2015/05/30(土) 10:06:44.58 ID:wmeXMlqtX
>>631
こんなところでそんな話してる奴が商売できるわけがないから考えるだけ無駄。

>>222-226

【JavaScript】スクリプト バトルロワイヤル49【php,py,pl,rb】
ttp://toro.2ch.sc/test/read.cgi/tech/1430308707/
> 608 名前:デフォルトの名無しさん[sage] 投稿日:2015/05/21(木) 21:46:24.25 ID:uDd3DnUr.net
>  つまるところ結局はAppleさんとMSさんなんすよね
>  Swift,C#

> 909 名前:Office & Gamers ◆G144Hzgh2.0e [アハ♪” uh huh] 投稿日:2015/05/30(土) 03:00:42.71 ID:TKwdVSEz.net
>   それと、俺様がJSに手を染めない理由は、ソース丸見えってところw
>   もうね、こんな公開処刑みたいなインタープリターだけはやめとけw

C++でも環境はいろいろ。
むしろ、JS は OS の違いを吸収してくれてるはず。
JS でもサーバー必須なら丸見えでも商売になってる。

634 :名無しさん@お腹いっぱい。:2015/05/30(土) 10:14:18.87 ID:/5qWzqR+0.net
それが一番手っ取り早いと思うよ
何回か見る必要があるって理解しているから大丈夫だと思うけれど
判定前に一度空読みしてバッファをクリアしないと瞬間値にならないからね
(厳密にはそれすらも瞬間値ではないが)

635 :名無しさん@お腹いっぱい。:2015/05/30(土) 10:20:17.69 ID:NtbxeqpP0.net
>>634
そういう関数なり引数なりがあるかと期待したけど無いんだね
thx

636 :名無しさん@お腹いっぱい。:2015/05/30(土) 16:30:17.70 ID:TZwPvYTO0.net
初歩的な質問で申し訳ないんですが
一つのウィンドウ上で作ったスクリプトを
もう一個同じ環境の別ウィンドウで並列処理させたいのですが
THRED SENDTOTEST

ID = EXEC("KASOU1")
call test.uws

PROCEDURE SENDTOTEST()

ID = EXEC("KASOU2")
call test2.uws
FEND

としています。
一応、全く同じスクリプトにはせずに
各スクリプトの頭に
test.uwsの場合
id = GETID("KASOU1")
MOUSEORG(id)

test2.uwsの場合
id = GETID("KASOU2")
MOUSEORG(id)

を追記していますがマウスの取り合いになってしまい、上手く並列処理してくれません。
まだ、UWSC自体触り始めたばかりで間違っている所は多々あるのでしょうが、完全に並列化するのはやはり難しいのでしょうか?

637 :名無しさん@お腹いっぱい。:2015/05/30(土) 16:50:58.30 ID:3KFoCyzZ0.net
>>636
スレッドでだめそうなら
uwsc自体を二つ起動しちゃうかな
execとかで

638 :名無しさん@お腹いっぱい。:2015/05/30(土) 16:59:39.17 ID:BGEAI9SQ0.net
「マウスの取り合い」が具体的に何を指しているか明確にしないと

そもそも2つのウィンドウを両方アクティブにして
何か処理させるのは原理的に出来ない

だから答えは
「何をやりたいかによって並列化できるかどうかは決まる」
かな

639 :名無しさん@お腹いっぱい。:2015/05/30(土) 17:16:56.66 ID:24/7t0QER
Mousorgの指定してるIDが取り合いになるってことじゃないの?
それなら2つ起動しないとダメよ
現在のマウス移動可能範囲っていうグローバルな値に格納してるわけだし

640 :名無しさん@お腹いっぱい。:2015/05/30(土) 17:09:12.74 ID:TZwPvYTO0.net
CHKIMGを使った画像認識してクリック
ウィンドウ相対座標のクリック等です

>>637
UWSC自体を二つ起動して
それぞれにtest.uwsとtest2.uwsを再生させるという認識で合ってますか?

641 :名無しさん@お腹いっぱい。:2015/05/30(土) 17:40:00.80 ID:sFbRDONtD
>>633
色々ありがと! とりあえずいろいろ調べてみて、試せるところから試すわ。

642 :名無しさん@お腹いっぱい。:2015/05/30(土) 17:36:01.89 ID:3KFoCyzZ0.net
>>640
そう思ったけど
>>638の言うように、クリックして話す前にマウスが移動されたりするとかで挙動がおかしくなるから危険
コントローラ用のuwsを用意して、
二つuwsの処理に実行権限を振り分ける感じがいいかな
・コントローラuws
call a.uws;b.uws
i=0
while true
select i mod 2
case 0;a()
case 1;b()
selend
i=i+1
wend

・a.uws
fuction a()
//中断出来るまでの一処理だけ書く、2週目以降のための状態を変数に保存するのも忘れずに、public変数の競合も注意、classとかで括った方がいいかも
fend
・b.uwsはa.uwsと同じ感じで

643 :名無しさん@お腹いっぱい。:2015/05/30(土) 17:36:08.62 ID:xMVR/Xi20.net
片方の処理をしてる時はもう片方は待つって処理を入れて
排他処理をさせれば良いだけではなくって?

644 :名無しさん@お腹いっぱい。:2015/05/30(土) 17:44:25.07 ID:3KFoCyzZ0.net
>>643
callで出来るならそっちの方がスマートか…

645 :名無しさん@お腹いっぱい。:2015/05/30(土) 18:06:06.45 ID:TZwPvYTO0.net
>>644
丁寧な回答有難うございます
内容は完璧には理解出来てないのですが要勉強ですね…
>>643
例えば
aを処理してる間にbを待機させる処理を入れて
中断を挟める所にcallでbを処理させて、bが中断挟める所にaの処理をcall
以下ループという感じでスクリプトを組めば大丈夫という事でしょうか?
何か質問ばかりですいません…

646 :名無しさん@お腹いっぱい。:2015/05/30(土) 18:47:53.27 ID:3KFoCyzZ0.net
>>645
>>644のcallで出来るならの部分は忘れて、変なこと言った
>>642をそのままの感じでやるか、
スレッドを使ってpublicな変数に実行する処理の識別子を入れる感じ?
・メインuws
public runNo="a"
//call宣言やスレッド実行処理を書く

・a.uws
procedure a()
while true
//やりたい処理を入れる
waitA()
//やりたい処理を入れる
waitA()
wend
fend
procedure waitA()
//他の処理実行
runNo="b"
//実行権限渡されるまで待つ
while runNo<>"a"
sleep(0.1)
wend
fend

・b.uws
//aとほぼ同じ
procedure waitB()
runNo="a"
while runNo<>"b"

647 :名無しさん@お腹いっぱい。:2015/05/30(土) 19:03:00.81 ID:TZwPvYTO0.net
>>646
ここまで丁寧でしかもテンプレ的な物まで作ってくれるなんて…
感謝の念でいっぱいです!
教えてもらった方法で色々試行錯誤してみます
本当に有難うございました!

648 :名無しさん@お腹いっぱい。:2015/05/30(土) 19:03:09.37 ID:3KFoCyzZ0.net
あとcallは処理実行するわけじゃなく、
その場所にソースをコピーしただけだと思った方がいい

649 :名無しさん@お腹いっぱい。:2015/05/30(土) 19:03:11.95 ID:/5qWzqR+0.net
同じ事をするソースを2重に管理するのはバージョン管理が一致しないで後々バグの温床になるよ
スレッドを使った似たようなケースでこんなの作って
それぞれのスレッドから呼び出してどっちか区別可能しながら制御したことあるわ

//プロセス番号とスレッド識別子でIDを作成
DEF_DLL GetCurrentProcess(): hwnd: kernel32
DEF_DLL GetCurrentThreadId(): hwnd: kernel32
Function GetCurrentID()
 result = GetCurrentProcess() + "." + GetCurrentThreadId()
FEnd

650 :名無しさん@お腹いっぱい。:2015/05/30(土) 19:45:45.98 ID:k0Af3UX50.net
実際に並列処理ができるわけじゃないんだし、一つにまとめて順番にやった方がいいのでは

651 :名無しさん@お腹いっぱい。:2015/05/30(土) 20:09:31.86 ID:FaUG3gh00.net
マウス操作などのユニークなリソースを
複数のスレッドから奪い合って制御するなんて
悪手の典型じゃんかデッドロックの温床だよ

UWSCはあくまで人間が手動で操作する所を自動化するもの
2人の人間が一つのPCを操作する様を自動化する状況なのか?
1人が対象を頻繁に切り替えて擬似並列する操作を自動化するはずだ

対象を切り替えて処理するのを実現するのは手間の問題で必ず実現可能だが、
手動では再現したことのないデバッグ不能な複数スレッドからの並行自動操作
を実現するのは、そもそもプログラムレベルで正しく書いたとしても、
その成果は、その構想がOSの仕様上そもそも不可能な動作だったことを証明
する結果となるリスクがあるぞ。

料理が盛りつけられたお皿が2つ。これを両手で同時に食べようとしても、
お箸が一膳しかなかったり、お口も一つしか無かったというオチにならんようにな。

652 :名無しさん@お腹いっぱい。:2015/05/30(土) 21:50:16.85 ID:5/MuJWZb0
>>631
まず>>631が理解したほうが良いと思うことはUWSCはWindows操作を自動化するツールのスクリプトだということ
メリットは、手動で操作できることはほぼ比較的簡単に自動化出来ること
つまり新しくウインドウを作成してデータ処理をすることは(無理では無いが)不得意だということ

そこを踏まえて
>逆に多くの環境で間違いなく動く言語教えてもらえるとすげーありがたい。
多言語も変わらない(UWSCのような他プログラムをコントロールするプログラムという意味で)
コントロールされる側の環境、設定に(Windowsの環境、設定も含めて)依存する部分がどうしても出てくるし
たとえそれはC++等の他言語で作っても同じことで
多くの環境で動くようにするには環境間の差異を認識して処理を振り分ける必要があるのだけど
その環境間の差異は違う環境で実際動かしてみないと気づかない事が多々あると言うこと
その差異を認識して組んでるスクリプトを見ると参考になるし、素直に尊敬するよ

一言でいうと、言語の問題ではなく処理の問題 なのでUWSCでも環境の差異を吸収して動くものは作成可能

シェアウェアの販売方法を知りたいと他スレで質問するにしても
もう少し具体的に質問したほうがレスが付きやすいかもしれないね

653 :名無しさん@お腹いっぱい。:2015/05/31(日) 06:59:11.72 ID:1XAFtc6rG
>>652
ありがとう!優しいな。
極端に言うと
msgbox("こんにちは")
って表示させるだけのプログラムであれば、またそれが相手側に表示を
させられていれば、言語は何でもいいし、問題もないってことだよね。

その辺踏まえていろいろ試してみるよ。uwscでもできそうで良かった。
ありがとう。l

654 :名無しさん@お腹いっぱい。:2015/05/31(日) 06:56:08.93 ID:hSYLC6Mx0.net
https://service.gmx.com/registration.html
このページのフォームを埋めて行きたいのですが、
フォームのID?が動的に変わっているようで、指定の仕方がわかりません。

IESetData(IE,FirstName,"id57")
こんな感じだと思うのですが、id57の部分が変わってしまうのか入力されません
わかる方お願いします。

655 :名無しさん@お腹いっぱい。:2015/05/31(日) 07:42:54.65 ID:spRZd9M70.net
>>654
ガチの犯罪報告ワロタwwww
通報しますた

656 :名無しさん@お腹いっぱい。:2015/05/31(日) 08:31:18.27 ID:+234HVzm0.net
>>654
そんなの手でやればいい
大量にアカウント取得したいと思ってる悪人以外はそう考えるだろう

657 :名無しさん@お腹いっぱい。:2015/05/31(日) 15:46:00.29 ID:SDSS//Sp0.net
全部画像検索で操作したらいい

658 :名無しさん@お腹いっぱい。:2015/06/01(月) 07:23:47.81 ID:7eb6mTTQ0.net
IELINKってフレーム分けされてるページだと文字列を読み込めないんですかね?

menu_fってフレームと、main_fってフレームがあって、menu_f内の「スケジュールの入力」って文字列をクリックさせたいんだけど、うんともすんとも言わん>.<

659 :名無しさん@お腹いっぱい。:2015/06/01(月) 14:29:47.45 ID:Axa8otif0.net
現在値のIEオブジェクトはフレーム定義のみのパターンかな
であればアクセスしたいフレームのIEオブジェクトを取得しよう
公式 FAQ #n37 に習って
同じドメインで同じプロトコルであればDOM操作するのも手

660 :名無しさん@お腹いっぱい。:2015/06/01(月) 20:00:58.86 ID:B4sEGaAv0.net
気になってframesetとiframeの両方を試してみたけど
IELinkは正常に動作する

操作を受け付けないframeとかあんのかな?

661 :名無しさん@お腹いっぱい。:2015/06/01(月) 20:04:32.22 ID:B4sEGaAv0.net
IE = CreateOLEObj("InternetExplorer.Application")
IE.Visible = True
IE.Navigate("http://www.ink.or.jp/~bigblock/html/frame/01.html")
BusyWait(ie)
msgbox("frame IELink start")
msgbox(IELink(IE,"自己紹介"))

IE.Navigate("http://masaboo.cside.com/new_html1/ht_44.htm")
BusyWait(ie)
msgbox("iframe IELink start")
msgbox(IELink(IE,"次のページ"))

Procedure BusyWait(ie)
 repeat
  Sleep(0.2)
 until (! ie.busy) and (ie.readyState=4)
Fend

662 :名無しさん@お腹いっぱい。:2015/06/02(火) 01:33:31.66 ID:kONnq2Nk0.net
変るか?

663 :名無しさん@お腹いっぱい。:2015/06/02(火) 17:19:29.49 ID:SCl6mZXT0.net
皆さんありがとう
試行錯誤しながら、教えてもらったことを試してみます。

お前ら優しいのな
惚れてまうわ

664 :名無しさん@お腹いっぱい。:2015/06/02(火) 17:45:41.51 ID:SCl6mZXT0.net
今試してみてページの作りの違いなのかソース表示すると

>>661さんのサンプルページの場合
どこでソース表示しても、メニューとコンテンツの二つのフレームがあると分かるけど、

自分がUWSCを使用したいページの場合
・各フレームのソースのみが表示される
→メニュー部分でソース表示するのと、メイン部分でソース表示するのと内容が違う

mainフレームにもmenuフレームにも、headとbodyがあって
さらに言えば、ページ内にヘッダーがあるんだけど、そのヘッダーにもheadとbodyがある…。

何かすげーややこしい構造の管理ページ。
ちなみに、ヘッド部分・メニュー部分・メイン部分のそれぞれのリンク先を指定してみたけど、どれも読み込めなかった

665 :名無しさん@お腹いっぱい。:2015/06/02(火) 17:50:40.17 ID:SCl6mZXT0.net
あれ、ファイアーフォックスだとちゃんとソース表示される

666 :名無しさん@お腹いっぱい。:2015/06/03(水) 14:49:13.90 ID:jzVkSga+0.net
chkimg用の透過画像を簡単に作れる方法はないかな?

具体的には一番濃い色だけを残して他は透過色として塗りつぶしたいんだけど
色で選択して選択範囲反転、塗りつぶし、とやるのがいいのかな?

使ってるソフトがあったら教えて下さい
ペイントで1ドットずつやってるから目が疲れた

667 :名無しさん@お腹いっぱい。:2015/06/03(水) 15:11:46.10 ID:Gp34xgkt0.net
自分はフリーのgimpとか使ってたな

668 :名無しさん@お腹いっぱい。:2015/06/03(水) 15:39:19.35 ID:9AhfqGY+L
twitterのプロフィール画像、ヘッダー画像をアップロードしたいんだけど、
プロフィールを編集を押下から先がわからない。

プロフィール画像を変更→画像をアップロードのやり方分かる人いる?

初めて1週間のおれにはソースにid,nameがないぽくてお手上げ状態。。

座標クリックで凌ぐしか今思いつかない。
分かる人助けて

669 :名無しさん@お腹いっぱい。:2015/06/03(水) 16:28:14.77 ID:jzVkSga+0.net
gimpか
ありがとう

670 :名無しさん@お腹いっぱい。:2015/06/03(水) 16:48:09.69 ID:W59efDtX0.net
paint.netもおすすめ

671 :名無しさん@お腹いっぱい。:2015/06/03(水) 16:57:08.35 ID:UeOvBRd10.net
特徴的なごく狭い範囲を加工するだけだからMSPaintで十分だったわ。
てか、あまりでかい画像を持たせるのはなんかやだった。

672 :名無しさん@お腹いっぱい。:2015/06/04(木) 17:25:02.12 ID:CDT2sb0DE
ここでは初歩的な質問かもしれないけど、どうしても作りたいマクロがあって質問したい。

A「@30分起きに一度再生したいスプリクト」・B「常に再生(ループ)しておきたいスクリプト」を2つ。

基本はBを再生しておきながら、30分おきにAを再生(その間Bは停止)する場合どういうスケジュールにすればいいかな。

673 :名無しさん@お腹いっぱい。:2015/06/04(木) 18:03:55.25 ID:8OB69mUNU
>30分おきにAを再生(その間Bは停止)
処理の内容によるとは思うけどAの再生状況をBが知る必要があるから
iniファイルを使ってAの再生フラグを作成してBの再生を制御するか
もしくはAとBを制御するCという制御用スクリプトを作ってそこから
CALLでAをB呼び出す方法
後者のほうが簡単かな

674 :名無しさん@お腹いっぱい。:2015/06/04(木) 18:05:43.29 ID:8OB69mUNU
×CALLでAをB呼び出す方法
○CALLでAとBを(Cから)呼び出す方法

675 :名無しさん@お腹いっぱい。:2015/06/04(木) 18:33:32.80 ID:KJajLfqNh
-Main.uws-
Thread FunctionA()
Thread FunctionA()
Exit

Procedure FunctionB()

676 :名無しさん@お腹いっぱい。:2015/06/04(木) 18:36:55.08 ID:KJajLfqNh
書き込みウインドウで編集しようとしたら途中で書き込んじゃった

>>672
これを起動しておく

--Main.uws--
Thread FunctionA()
Thread FunctionB()
Exit

Procedure FunctionA()
 While True
  CALL A.uws
  Sleep(60 * 30)
 WEnd
FEnd

Procedure FunctionB()
 While True
  CALL B.uws
 WEnd
FEnd

677 :名無しさん@お腹いっぱい。:2015/06/04(木) 18:44:00.99 ID:2TqM2PJKS
実質的に並行処理ではない(時間になったらBは途中であっても止める)から
この場合はスレッドは使うべきじゃないよ

Bで1行処理するごとに時間チェックする処理を呼び出して
時間になったらそのままAをコール、そのままBの処理に戻ると簡単

678 :名無しさん@お腹いっぱい。:2015/06/04(木) 18:53:50.80 ID:2TqM2PJKS
あと「30分おきに」の定義も厳密にしないとダメかな

>>676のような「30分+Aの処理が始まって終わるまでの時間」ごとになのか、
Aの処理時間とは無関係に、0分に最初の処理があれば30分、60分、90分・・・
のタイミングに呼ぶのかでも処理方法は全然違うから注意したほうがいい

679 :名無しさん@お腹いっぱい。:2015/06/05(金) 01:38:45.35 ID:Y75hI0BD0.net
photoshopで「イメージ」→「色調補正」→「二階調化」閾値255
これは真っ白のみ切り抜く方法だが
他の色でやりたいなら「自動選択ツール」許容値1とかでも



それ以外のやり方聞いてるんですよねスミマセン…

680 :名無しさん@お腹いっぱい。:2015/06/05(金) 03:28:03.59 ID:ACIe9+Kh0.net
このスレ的にはスクリプトでイメージを処理すれば良いんだけど
UWSCでイメージ処理は正直面倒くさい

681 :名無しさん@お腹いっぱい。:2015/06/05(金) 07:06:50.75 ID:lq3LJr2I0.net
IrfanView
とかは?

682 :名無しさん@お腹いっぱい。:2015/06/05(金) 11:14:16.47 ID:55WfbWby0.net
chkimgは処理速度が遅いから場所によっては数箇所peekcolorで判定する事もあるわ

683 :名無しさん@お腹いっぱい。:2015/06/06(土) 09:33:41.73 ID:10/gL9fe0.net
ブラウザ操作の質問です

IEがビジー状態の間待つ
というコードをchromeではどう書けばよいですか?

684 :名無しさん@お腹いっぱい。:2015/06/06(土) 09:57:29.93 ID:UlD2Vx9U0.net
基本的には書けない
セレニウム使うか素直にIEで

685 :名無しさん@お腹いっぱい。:2015/06/06(土) 09:58:52.47 ID:2jwoan/j0.net
俺なら、読み込み完了が分かる画像が表示されるまでスリープ
表示されたらさらに数秒スリープ
って感じのコードをゴリゴリ書くかな
アバウトだから、異常チェックは念入りに必要だけど

686 :名無しさん@お腹いっぱい。:2015/06/06(土) 10:45:55.76 ID:10/gL9fe0.net
>>684
ありがとうございます
>>685
ありがとうございます。それに挑戦してみます

687 :名無しさん@お腹いっぱい。:2015/06/06(土) 22:30:19.68 ID:6ckcFYnr2
uwscを起動すると通常は横に細長い小さなコントロール用パネルが表示されますが、
あるタブレットで起動すると、uwscのコントロール用パネルが最大化して起動してしまいます。

uwsc.exeの起動だけならウインドウバーをダブルクリックして元のサイズに戻せるのですが、
マクロファイルから起動させると最大化したままでウインドウバーが消えるので、まったく操作不能になります。
(タスクバーにも覆いかぶさるので、ソフトウエアキーボードが使えません)

タブレットはdell venue 8 pro、win8.1 32bit、
参考までに解像度は1280x800で、それ以下のサイズに変更しても同様の現象が起きます。
今落とせる古いバージョンのuwscでも同様の現象が起きます。
どなたか解決方法がわかる方いませんでしょうか。

688 :名無しさん@お腹いっぱい。:2015/06/07(日) 02:00:40.39 ID:gOW6AkJ5Y
>>687
検索するとwin8以降は画面解像度と文字サイズ設定で常にウィンドウが最大化されて開く仕様があるらしい
という事はわかりましたが、質問に解像度の事が書いてあるのでそこは承知している感じを受けました
根本的な原因はわかりませんが、取り敢えずUWSCの改善案として

>uwsc.exeの起動だけ〜
→UWSC右クリック→「タスクトレイに格納」を選択する
これで次回から起動時にタスクトレイに格納されるはず

>マクロファイルから起動〜
スクリプトファイル先頭にUWSCを最小化する命令を追加しておく
CTRLWIN(GETID(GET_THISUWSC_WIN),MIN)
(しかし、関連起動ではメイン画面は表示されなかったと思うのですが…)

関連起動時に表示されるウィンドウがログ表示用ウィンドウだとしたら
スクリプトファイル最初にあるPRINT文の直後にACW命令を追加
ACW(GETID(GET_LOGPRINT_WIN),0,0,200,150)

似たようなスペックのwinタブレットASUS VivoTab Note 8を使っているのですが
該当した症状はないので機種固有の設定等なのかもしれませんね
原因がわかりましたら報告していただけると他の方の参考になると思うので助かります

689 :名無しさん@お腹いっぱい。:2015/06/07(日) 03:10:01.83 ID:xD+n8wnog
>>688
早速有り難うございます。

>検索するとwin8以降は画面解像度と文字サイズ〜
この件はしりませんでした、後ほど調べて見るようにします。

>→UWSC右クリック→「タスクトレイに格納」を選択する
>これで次回から起動時にタスクトレイに格納されるはず
この通りになりました。

>スクリプトファイル先頭にUWSCを最小化する命令を追加しておく
>CTRLWIN(GETID(GET_THISUWSC_WIN),MIN)
>(しかし、関連起動ではメイン画面は表示されなかったと思うのですが…)
いつも使っているvistaでは確かに関連起動ではメイン画面は出ないのですが、同じスクリプトでもこのタブレットでは何故か表示されます。
(uwsc付属のサンプルスクリプトでも表示されます)

さしあたり例示していただいたスクリプトを挿入することでメイン画面の最大化は回避出来ました。
ただログウィンドウを表示するタイプのスクリプトを使っているので、一旦裏に回ったログウィンドウを表に出すと、
メイン画面も一緒に再び表に出てしまいます。
第一段落に書いていただいた、win8以降特有の現象かと思われますので、そちらの方からもう少し根本的な解決法を探ってみます。
ありがとうございました。

690 :名無しさん@お腹いっぱい。:2015/06/07(日) 13:14:51.89 ID:JD5ADCZJ0.net
非アクティブウィンドウの操作についての質問です。
対象ウィンドウは最小化しておらず、他ウィンドウに隠れた状態です。
uwscにマウス操作を取られずにウィンドウにマウス操作を送りたいのですが、
以下の記述でうまくいきません。

mouseorg(getid("hoge"),2) // hogeはウィンドウ名
ifb chkimg("img.bmp",0) then
print G_IMG_X
print G_IMG_Y
btn(LEFT,0,G_IMG_X,G_IMG_Y,100)
endif

上記を実行したところ、G_IMG_XとG_IMG_Yの値がコンソールに表示されますが、クリック動作が行われません。
mouseorg(getid("hoge"),1)を試してみたところ、目的の画像img.bmpのある位置をクリックできています。
chkimg関数は目的通りに動作しているようですが、どうにもbtn関数がうまく動作せず困っています。

よろしくお願い致します。

691 :名無しさん@お腹いっぱい。:2015/06/07(日) 14:15:31.79 ID:6n30q6Ii0.net
>>690
IDが送りたいオブジェクトのIDじゃないんだろ

692 :名無しさん@お腹いっぱい。:2015/06/07(日) 14:52:20.91 ID:qteIWs/R0.net
画像裏動作はまともに動作しないから仮想化使うのが無難という結論だったと思われる

693 :687,689:2015/06/07(日) 15:50:52.67 ID:xD+n8wnog
>>688
解像度と文字サイズで、タブレット機のウインドウが常に最大化して開くのはこの現象ですね。
http://answers.microsoft.com/ja-jp/windows/forum/windows8_1-files/%E3%82%A6%E3%82%A3%E3%83%B3%E3%83%89%E3%82%A6/d41d51c0-c785-4697-9224-767ff227d931

uwscのショートカットを作成して、プロパティから実行時の大きさを「通常」→「最小化」とすることでメイン画面が表示されることはなくなりました。

694 :名無しさん@お腹いっぱい。:2015/06/07(日) 15:41:29.75 ID:O6vjW+bk0.net
「まともに動作しないから」ではなく、
苦労に苦労を重ねて、あるひとつの動作をまともに動作させられたとしても、
そもそも裏のウィンドウを操作したい件の最終目標を達成するには、
そのたった一つの動作だけで済むはずもなく、次から次へと困難が待ち受けており、
いちいち2ちゃんで質問するレベルの人には手に負えないだろうという理由。
またそういった手法は、画像認識と同じで、操作対象や操作環境がホンの少し
変わっただけで同様に動作しなくなることも多かろう。
だめになる

695 :名無しさん@お腹いっぱい。:2015/06/07(日) 15:45:43.42 ID:JD5ADCZJ0.net
>>691
子ウィンドウIDまで取得してこないといけないんですね。
初歩的な質問ですみませんでした。
hogeid = getid("hoge")したあと、getallwin(hogeid)で子ウィンドウを確認して、
目的のウィンドウIDを見つけることができました。
ありがとうございます。


すみません、再度質問させてください。
上記手順で子ウィンドウIDを見つけ出し、mouseorg(hoge_childid,2)としましたが、
未だ他ウィンドウに隠れた状態ではクリック動作を受け付けませんでした。

対象ウィンドウを前面に出すとクリック動作が行われます。
>>690のまま実行していたときには前面に出してもクリック動作が行われず、
>>691でご指摘頂いた通り、ウィンドウIDが間違っていたのだとわかりました。

今回は前面に出すことでクリック動作が正常に動くことから、
対象ウィンドウにクリック操作を送れているとは思うのですが、
他ウィンドウに隠れるとうまく動作しません。
やはり>>692で指摘頂いたように裏動作は諦めるしかないのでしょうか。

よろしくお願い致します。

696 :名無しさん@お腹いっぱい。:2015/06/07(日) 16:14:20.96 ID:msybnWxP0.net
SLEEP(RANDOM30)
とかやっても動くのか……
いままでわざわざ

A=RANDOM(30)
SLEEP(A)

とかやってたぜ

697 :名無しさん@お腹いっぱい。:2015/06/07(日) 16:59:39.11 ID:D83vkIKe0.net
VGAの省電力機能なのか背面のウィンドウは随時描画処理がなされていないようだから
背面で動かしたいなら画像が見つかるまでchkimgをループさせるとかする必要がある

698 :名無しさん@お腹いっぱい。:2015/06/07(日) 18:31:14.34 ID:iDR01ZVNS
一昨日入れたばっかりなんだけど、ヘルプがタブ以外全部真っ白
タブでなんか検索しても右側真っ白
最初ヘルプ無いのかと思ったけどスレ見る限りだと違うみたいだし・・・
使い方おかしいんだろうか

699 :名無しさん@お腹いっぱい。:2015/06/07(日) 18:26:57.74 ID:JD5ADCZJ0.net
>>697
背面にある状態でG_IMG_X,G_IMG_Yに目的の画像の座標が格納されていても、
画像が見つかっていないんでしょうか。
座標がわかる=画像が見つかったという認識でいます。

クリックすべき座標がわかっている状態でも、
背面にあるとクリック動作が送れないので困っています。

700 :名無しさん@お腹いっぱい。:2015/06/07(日) 18:36:30.05 ID:AIilwBQo0.net
アンチマクロなアプリかは別として
非アクティブだと受け取らないアプリなんでしょう
ならどうしたらいいのかって言うとアクティブにする
仮想化ってのも結局はアクティブにするって意味だからね

そして其処までしないとダメな操作対象って基本ゲームなんですよね

701 :名無しさん@お腹いっぱい。:2015/06/07(日) 19:21:21.14 ID:uNXZK6faF
>>698
公式サイト見た?
http://www.uwsc.info/faq.html#n3

702 :名無しさん@お腹いっぱい。:2015/06/07(日) 20:41:41.22 ID:JD5ADCZJ0.net
>>700
なるほど。
アクティブにしてクリック操作をして非アクティブにする
という切り替えをすればもちろんうまく行きますが・・・。

そういったアプリケーションに対してはバックグラウンド動作させることはできないのでしょうか。
何か別のアプローチが必要で、それをご存知であればご教示下さいませんか。

今回対象にしているアプリケーションはUltraVNCでして、
リモートコンピュータを自動操作したいと思っています。
(リモートコンピュータにUWSCを入れることができない環境です。)

703 :名無しさん@お腹いっぱい。:2015/06/07(日) 20:45:24.33 ID:AIilwBQo0.net
なら仮想化を多重化したらいいじゃない

704 :618:2015/06/07(日) 21:36:42.77 ID:8tEtrI0CA
>>622さんのお陰で、フォームのhtmlを
<meta http-equiv="X-UA-Compatible" content="IE=8”>
にして、表示の問題は解決したのですが、今度は上下のカーソルキーが効かなくなってしまいました。
ほかの指定ならキーボードでスクロール出来るのですが、どうしたものか困っています。

705 :名無しさん@お腹いっぱい。:2015/06/07(日) 21:58:52.12 ID:iDR01ZVNS
>>701
あなたが神か
ありがとう!これでようやく自分で調べられるよ!

706 :名無しさん@お腹いっぱい。:2015/06/07(日) 23:51:15.21 ID:gOW6AkJ5Y
>>693
そのページです
ショートカットで改善できたようで良かったです
>>689
関連付けによる実行でメイン画面が表に出るということは非表示にしてしまうと良いかもしれません
>ログウィンドウを表示するタイプのスクリプトを使っているので、一旦裏に回ったログウィンドウを表に出すと、
>メイン画面も一緒に再び表に出てしまいます。
スクリプトファイル先頭にUWSCメインウィンドウを非表示する
CTRLWIN(GETID(GET_THISUWSC_WIN),HIDE)
もしくはUWSCメインウィンドウのサイズを変更する
ACW(GETID(GET_THISUWSC_WIN),0,0,200,150) //サイズは適当

707 :名無しさん@お腹いっぱい。:2015/06/08(月) 00:14:33.14 ID:g3jBGxhA7
UWSC掲示板にネットゲーム関係の質問はご遠慮くださいってあるから、ここもダメなのかしらどうかしら

708 :名無しさん@お腹いっぱい。:2015/06/08(月) 08:13:34.15 ID:NyH9JvbJw
>>707
もちろんダメ

以前にUWSCスレでゲームの話題が出て荒れたけど
対象ゲームをする人以外には何ら応用もできない内容で埋め尽くされた
http://anago.2ch.net/test/read.cgi/software/1405162342/

709 :名無しさん@お腹いっぱい。:2015/06/08(月) 19:27:51.76 ID:M0D6EJoR0.net
あー
VNCは画像をJPGみたいに圧縮して送ってるから
まったくおなじ画像として認識するのは不可能だわ
PeekColorもしかり、同じ色にならない
UWSC本体を送るんじゃなくてexe化したパッケージを送ることも無理なの?

それも無理なら、
VNCでコントロールしてるってことは、ガチガチ社内ネットとかじゃなくて
ネットワークトラフィックは無視していいってことだろうから

(H)PrintScreen→(H)MSPAINT→(H)PNGで保存→(H→C)WEBDABとかFTPとかOneDrive経由で受け取る
 →(C)画像を解析→(C)位置を確定→(C)マウスコマンドを送る
(H:スト側のローカルイベント C:クライアントUWSCマクロ側)
これで解決できると思う

画像のやり取りはあぷろだをかませるとそこでつっかえたりするから
OneDrive保存が最良だけどWin7以前でインスト不可ならコマンド用意しておいてFTPかな

クリップボード共有もOKな環境なら画像保存した状態からファイルの切り取りで奪っちゃってもいい
PrintScreenのクリップ状態はVNC側の環境によっては送れたり送れなかったり

710 :名無しさん@お腹いっぱい。:2015/06/08(月) 23:03:24.24 ID:WtapXdWk0.net
裏の話で仮想化しろみたいな結論出てる所聞きにくいんだが
火狐ではクリックも画像認識も裏で反応するんだがIEとクロームではクリックも画像認識も全く反応しないのって皆同じなのかな?
連打測定サイトとかフラッシュゲーとかやってみたんだがIEとクロームが反応しないもんで何とかならんもんかと困っている

id = GETID(GET_ACTIVE_WIN)
MOUSEORG(ID,2)

while true
btn(left,down,815,395)
btn(left,up,815,395)
wend

これでひと通り試してた(座標とか画像認識の時は変わるけども)
クロームは43.0.2357.81 m (64-bit)
IEはバージョン11.0.9600.17633 更新バージョン11.0.16 (32bit)
狐は38.0.5
狐よりクロームの方で裏が動いたらいいなぁと思ってる、仮想化は最終手段として
前は確か出来たような気がするんだがはっきり覚えてないんで意見下さい

711 :名無しさん@お腹いっぱい。:2015/06/08(月) 23:08:01.34 ID:WtapXdWk0.net
ちょっと書き方悪かったので補足
裏マクロが反応しないっていうのは最前面に出していてもクリックしてくれないって意味で画面が隠れている状態でって意味ではないです
とりあえずマウスが取られなければいいからって事で

712 :名無しさん@お腹いっぱい。:2015/06/09(火) 01:42:53.34 ID:ilrPY7660.net
どうせゲームの話なんだろ?
それなら、マクロ用にもう一台パソコン買うのが一番早い

パソコンは消耗品だが、1ゲームに課金することを思えば長持ちするし、
ゲームを選べば課金額以上の働きをする

713 :名無しさん@お腹いっぱい。:2015/06/09(火) 01:52:59.82 ID:6N+Eeckc0.net
ゲームもあるけど毎日やってる事を自動化したら楽だなーと思ってやってみたんだよね
それでクロームが一番読み込みとかの速さ的にもいいかなーって思ったんだが、まぁ狐使うなり仮想使うなり裏諦めるなりするしかないか
もう1台用意するのが一番良いよね、何するにしてもサブあると便利だし
CPUの大幅な性能向上来たら買ってサブ組むかって考えてるからそれ待ちなんだが一向に進展せんな

714 :名無しさん@お腹いっぱい。:2015/06/09(火) 02:07:07.25 ID:SXM4fw8U0.net
自分も普段使いのFireFoxで何とかって思い
AACを駆使して指定範囲付近のエレメントを検索する関数とか
巡回をサポートする関数をクラス化してやりくりしてたけれど

IEにしたら直接エレメント操作をCOMで出来るからバカバカしくなったぞ
別に無理に普段使いのブラウザを使う必要って実は無いのよ

仮に起点となるアドレスが可変だとしても
其処だけFirefoxから貰えば良い話だしね

715 :名無しさん@お腹いっぱい。:2015/06/09(火) 06:57:30.63 ID:EvVw9qfR5
うまく画像認識されなくて困ってるんですが、何かパソコンの設定的に原因が生じたりすることってありますか?他に何か考えられる原因があったら是非教えてください。
ブラウザは火狐、クロム、IE、Comodo Dragon、Coowon Browserを試しました結果全滅でした
認識させる画像の取り込み方も調べたとおりやったみたので間違ってはないと思います。

716 :名無しさん@お腹いっぱい。:2015/06/09(火) 07:57:11.38 ID:iqRZvXPr0.net
CheckColorScope関数の事で教えて下さい。
↓にもある通り、UWSCでサポートしてる関数であるはずなのに、エラーが出ます。
ttp://anago.2ch.net/test/read.cgi/software/1425741537/

エラー内容:
関数 CheckColorScopeがありません
xxx行目:if CheckColorScope( 830, 523,"R", 181,5)

オプションも誤字も無いはずなのに。。。
ヘルプ見てみたところヒットする関数がないのでサポートしてないのかな・・・。

UWSCバージョンは5.1.1.0 フリー版です。
原因がお分かりの方、ご教示ください。

おねがいします。

717 :名無しさん@お腹いっぱい。:2015/06/09(火) 08:22:27.65 ID:OK+7I8vA8
>>715
まず問題の切り分けを行って下さい

何を見て調べたか?
(ネット情報?どのページ?その情報が本当に正しいと証明できますか?)

画像認識されない、というのはどうやって判断しているのか?
(認識できていないつもりでも、認識されているのでは?)

Windows標準のペイントで画像を開き、それを認識させられるか?
(ウェブブラウザ固有のものなのか?どんなソフトでも発生するのか?)

あなたのソースコードが見られればもう少し具体的にアドバイスできるかもしれませんが
これだけの情報ではパソコンの設定が原因とは判断できません

718 :名無しさん@お腹いっぱい。:2015/06/09(火) 08:43:21.04 ID:c2dyIL9N0.net
誰かの自作関数なのでぐぐって拾ってきて下さい。

719 :名無しさん@お腹いっぱい。:2015/06/09(火) 10:13:45.35 ID:iqRZvXPr0.net
>>718
まじかーあのFunctionはそういうことだったんだ。
ありがとうございます。探してきます

720 :名無しさん@お腹いっぱい。:2015/06/09(火) 12:17:44.12 ID:QPOSPQ3s0.net
>>711
そのページのソースのjs見たり
開発者ツール的なものを使って、クリックイベントの動作確認とかしたら?
クリックされたら、現在のマウス座標の場所にある要素に対して何か処理するのがあると
かなり難しいと思う

そもそもマウス移動せずや、アクティブにせずクリックとかするなんて
アプリ側は想定外のはずだから、
手段が用意されてないかもしれないよ

721 :名無しさん@お腹いっぱい。:2015/06/09(火) 12:24:12.41 ID:yBfMnKXf0.net
スキャンした文字をデジタル化するOCR的処理って
UWSCでも頑張れば理論上できるかな?
それとももっと適した言語があれば教えて下さい。

722 :名無しさん@お腹いっぱい。:2015/06/09(火) 12:29:10.79 ID:7oF2vMx30.net
GoogleにOCRあるからそれ使え
それでも満足できないなら頑張ってください

723 :名無しさん@お腹いっぱい。:2015/06/09(火) 12:53:55.92 ID:HA8tJfl+0.net
>>721
完全2色まで減色

文字として機能する規定点のパターンマッチ

文字判別

とすれば理論上可能だろうけど、ぱ(PA)とば(BA)の違いだって目視でも判断できないこともあるし
更に単語処理が必要だろう

文字判別→前後単語の洗い出し→辞書から単語検索→単語確定

それでもパンダとハンダの違いを認識するには文節処理も必要になる
普通にOCRの操作を自動化した方がはやげ
全文字・漢字分の規定点の作成とか絶対やりたくない

724 :618:2015/06/09(火) 13:18:40.23 ID:Duqu01jJs
やはりどうしても、矢印キーでスクロール出来ません。
content="IE=8”を指定した場合だけ、矢印キーが効かなくなってしまいます。
困っています。

725 :名無しさん@お腹いっぱい。:2015/06/09(火) 13:53:54.65 ID:vRMQfWig0.net
有能な辞書があれば、理論上は、indexを引くだけ

726 :名無しさん@お腹いっぱい。:2015/06/09(火) 14:41:56.89 ID:SXM4fw8U0.net
少し前に調べた事だから今は違うかもしれないが

COMアクセス出来るフリーのOCRライブラリってのは多分無いからUWSC向きじゃない
後、フリーのOCRライブラリって日本語にはまともに対応していない

って感じだったかな

727 :名無しさん@お腹いっぱい。:2015/06/09(火) 16:32:28.45 ID:bTBbx7taC
>>724
もう少し状況を具体的に書いたほうがレスが付きやすいかもしれません
>ほかの指定ならキーボードでスクロール出来るのですが
ほかの指定とは何なのか
>矢印キーでスクロール出来ません。
textarea内のキャレットなのかフォームのスクロールなのか
変更した時は動作していたのか
UWSCのVerを変えてみるとどうなるか
フォームのHTMLファイルの設定状況
ソースが出せるなら出してみる
などなど

728 :名無しさん@お腹いっぱい。:2015/06/09(火) 20:41:59.38 ID:gDDxKsKq0.net
ifb chkimg("1.bmp")
 num = 1
elseif chkimg("2.bmp")
 num = 2
elseif chkimg("3.bmp")
 num = 3
......
elseif chkimg("9.bmp")
 num = 9
else
 num = 0
endif

という具合のものを組みたいのですが、こういったことを表現する場合にはdimを使うと簡略できると見ました
しかしこのスレで前述されていることを見たり検索したりしてもどのようにすればいいのかわからなかったので、教えていただけないでしょうか

よろしくお願いします

729 :名無しさん@お腹いっぱい。:2015/06/09(火) 20:46:01.35 ID:aNsp9elz0.net
繰り返し文の間違えだろう
dimなんて必要ない

730 :名無しさん@お腹いっぱい。:2015/06/09(火) 21:01:21.35 ID:/H/r4kw50.net
num = 0
for inum = 1 to 9
  ifb chkimg(inum + ".bmp") then
    num = inum
    break
  endif
next
   

731 :名無しさん@お腹いっぱい。:2015/06/09(火) 21:01:37.67 ID:gDDxKsKq0.net
申し訳ありません繰り返しと間違えていました
となりますと、>>728を簡略化するための何か別の方法はありませんでしょうか

732 :名無しさん@お腹いっぱい。:2015/06/09(火) 21:03:36.87 ID:gDDxKsKq0.net
>>730
ありがとうございます

dimやら繰り返しやらでごっちゃになっていました

733 :名無しさん@お腹いっぱい。:2015/06/09(火) 21:04:16.20 ID:/H/r4kw50.net
dim iname[] = "a", "bb", "ccc", "d", "ee", "fff", "g", "hh", "iii"
num = 0
for inum = 1 to 9
  ifb chkimg(iname[inum-1] + ".bmp") then
    num = inum
    break
  endif
next
   

734 :618:2015/06/09(火) 21:12:02.15 ID:aC4ZMC4d2
>>727
ありがとうございます。

矢印キーでスクロール出来ないのはフォーム全体です。
スクロースバーのボックス(ノブ)をマウスで操作すれば動きますが、矢印キーは効きません。

ほかの指定とは、
http-equiv="content-type"

content="text/html”

content="IE=edge”
または全く記述無し、等です。
これらの場合には、矢印キーでのスクロールが可能です。

しかし
<meta http-equiv="X-UA-Compatible" content="IE=8”>
にしないと、やはりtextarea内の2行目以降が正しく表示されません。
これを指定した場合のみ、矢印キーでのスクロールが出来なくなってしまいます。

UWSCのバージョンは5.1.1、5.0.0、4.9cともに同様でした。

フォームのHTMLは、外部ファイルとしてUWCファイルと同じディレクトリに置いています。
obj = CREATEFORM("entry.html", “申込”, TRUE, FOM_MINIMIZE + FOM_MAXIMIZE)
で呼び出しています。

Windows XP SP3、IE8です。
この環境で正常に動作させる必要があり、試行錯誤しています。

よろしくお願いします。

735 :名無しさん@お腹いっぱい。:2015/06/09(火) 21:10:34.26 ID:SXM4fw8U0.net
組み合わせと対象数にある程度柔軟性が欲しいならこんな感じかな
IF文をchkimgにしていないのは

DIM testArray[] = "1.bmp<#TAB>1", "2.bmp<#TAB>2", "3.bmp<#TAB>3"

num = getNumber(testArray)
Print num

function getNumber(checkArray[])
 result = 0
 For checkItem In checkArray
  check = Split(checkItem, "<#TAB>")
  If chkimg(check[0]) Then
   result = Val(check[1])
   Exit
  EndIf
 Next
fend

736 :名無しさん@お腹いっぱい。:2015/06/09(火) 22:16:19.70 ID:xBvHKv3T0.net
そういうのは連想配列でやらね?

737 :名無しさん@お腹いっぱい。:2015/06/09(火) 22:38:22.54 ID:OK+7I8vA8
>>734
○○が効かないとか??が正しく表示できないとか全部抽象的すぎるので
具体的にIE=edgeやらIE=8で作成したうまくいかない各パターンのentry.htmlと
それを動かすUWSCソースコードを提示したほうが早いと思う

他人に見せられないソースコードだとしたら
他人に見せられるレベルにまで整理して単純化しないことには
問題点を洗い出すのは難しいしね

738 :名無しさん@お腹いっぱい。:2015/06/09(火) 22:39:27.72 ID:G2ywoPsEr
for i=0 to Opendir(GET_CUR_DIR, "*.bmp")-1 でいいんじゃないの?

739 :名無しさん@お腹いっぱい。:2015/06/09(火) 22:23:06.54 ID:SXM4fw8U0.net
完全否定はしないけれどその辺は此処のポリシーだよ

連想配列はメモリ配置的に勝手に助長化するから
連想配列のメインであるインデックス的なアクセスしないケースでなければ
個人的には採用しないなぁ

でも連想配列で実装しているコードを見ても兎や角言う気はない

740 :618:2015/06/10(水) 00:06:56.62 ID:YnIB6PNOa
>>737
ありがとうございます。
ソースコードを整理しました。

// test.UWSここから //
obj = CREATEFORM("entry.html", "申込", TRUE, FOM_MINIMIZE + FOM_MAXIMIZE)

TIME_OUT = 10
tm = Gettime()
repeat
sleep(1)
ifb Gettime() - tm > TIME_OUT
break
endif
until (! obj.busy) and (obj.readyState=4)
Sleep(0.5)

741 :618:2015/06/10(水) 00:07:40.27 ID:YnIB6PNOa
SETFORMDATA("あいうえお","test01")
SETFORMDATA("あいうえお","test02")
SETFORMDATA("あいうえお","test03")
SETFORMDATA("あいうえお","test04")
SETFORMDATA("あいうえお","test05")
SETFORMDATA("あいうえお","test06")
SETFORMDATA("あいうえお","test07")
SETFORMDATA("あいうえお","test08")
SETFORMDATA("あいうえお","test09")
SETFORMDATA("あいうえお","test10")
SETFORMDATA("あいうえお","test11")
SETFORMDATA("あいうえお","test12")
SETFORMDATA("あいうえお","test13")
SETFORMDATA("あいうえお","test14")
SETFORMDATA("あいうえお","test15")
SETFORMDATA("あいうえお","test16")
SETFORMDATA("あいうえお","test17")
SETFORMDATA("あいうえお","test18")
SETFORMDATA("あいうえお","test19")
SETFORMDATA("あいうえお","test20")
SETFORMDATA("あいうえお","test21")
SETFORMDATA("あいうえお","test22")
SETFORMDATA("あいうえお","test23")
SETFORMDATA("あいうえお","test24")
SETFORMDATA("あいうえお","test25")
SETFORMDATA("あいうえお","test26")
SETFORMDATA("あいうえお","test27")
SETFORMDATA("あいうえお","test28")
SETFORMDATA("あいうえお","test29")
SETFORMDATA("あいうえお<#CR>かきくけこ<#CR>さしすせそ","test30")

742 :618:2015/06/10(水) 00:08:01.51 ID:YnIB6PNOa
while obj.Visible
sleep(0.2)
ifb GETFORMDATA("OK")
msgbox("テスト完了")
endif
wend
// test.UWSここまで //

743 :618:2015/06/10(水) 00:14:23.93 ID:SONjjThlq
// entry.htmlここから //
<!DOCTYPE html>
<html lang="ja">
<head>
<meta charset=Shift_JIS">
<meta http-equiv="X-UA-Compatible" content="IE=8">
<title>申込</title>
</head>
<body>
<form name="test" method="POST">
<INPUT TYPE=text NAME="test01" VALUE=""><br>
<INPUT TYPE=text NAME="test02" VALUE=""><br>
<INPUT TYPE=text NAME="test03" VALUE=""><br>
<INPUT TYPE=text NAME="test04" VALUE=""><br>
<INPUT TYPE=text NAME="test05" VALUE=""><br>
<INPUT TYPE=text NAME="test06" VALUE=""><br>
<INPUT TYPE=text NAME="test07" VALUE=""><br>
<INPUT TYPE=text NAME="test08" VALUE=""><br>
<INPUT TYPE=text NAME="test09" VALUE=""><br>
<INPUT TYPE=text NAME="test10" VALUE=""><br>
<INPUT TYPE=text NAME="test11" VALUE=""><br>
<INPUT TYPE=text NAME="test12" VALUE=""><br>
<INPUT TYPE=text NAME="test13" VALUE=""><br>
<INPUT TYPE=text NAME="test14" VALUE=""><br>
<INPUT TYPE=text NAME="test15" VALUE=""><br>

744 :618:2015/06/10(水) 00:14:46.94 ID:SONjjThlq
<INPUT TYPE=text NAME="test16" VALUE=""><br>
<INPUT TYPE=text NAME="test17" VALUE=""><br>
<INPUT TYPE=text NAME="test18" VALUE=""><br>
<INPUT TYPE=text NAME="test19" VALUE=""><br>
<INPUT TYPE=text NAME="test20" VALUE=""><br>
<INPUT TYPE=text NAME="test21" VALUE=""><br>
<INPUT TYPE=text NAME="test22" VALUE=""><br>
<INPUT TYPE=text NAME="test23" VALUE=""><br>
<INPUT TYPE=text NAME="test24" VALUE=""><br>
<INPUT TYPE=text NAME="test25" VALUE=""><br>
<INPUT TYPE=text NAME="test26" VALUE=""><br>
<INPUT TYPE=text NAME="test27" VALUE=""><br>
<INPUT TYPE=text NAME="test28" VALUE=""><br>
<INPUT TYPE=text NAME="test29" VALUE=""><br>
<Textarea NAME="test30" COLS=30 ROWS=10 style="width:100%;"></Textarea><br>
<input type="submit" name="OK" value="OK">
</form>
</body>
</html>
// entry.htmlここまで //

以上です。
フォームが全部読み込まれた後、矢印キーでフォーム全体をスクロールさせることが出来ません。
entry.htmlの5行目にある「content="IE=8"」を削除するか「IE=edge」等に変えると、矢印キーでスクロールが可能です。

745 :名無しさん@お腹いっぱい。:2015/06/10(水) 01:04:13.00 ID:U1uWjUCL0.net
普通に多次元配列か連想配列でやる

746 :名無しさん@お腹いっぱい。:2015/06/10(水) 01:51:25.09 ID:7fQ2CVcl0.net
配列とか言われてもわかんねーから

747 :名無しさん@お腹いっぱい。:2015/06/10(水) 16:43:00.12 ID:+oPKIUUi0.net
久しぶりにアップデートしたらfukidasiのフォントがやたらと汚くなっていた
5.0.2のBALLOON関数にて アンチエイリアスを無効にした
これのせいだと思うんですけど無効にするのを無効に出来たりします?

748 :名無しさん@お腹いっぱい。:2015/06/10(水) 18:30:43.10 ID:TCANs/4Rq
>>734
UWSC Pro 5.1.1.0 Win8.1 IE11の環境でもフォームの上下キーによるスクロールは出来ませんでした
公式掲示板の検索ツールも上下キーによるスクロールが出来ないので
上下キーによるスクロールが出来ない方がデフォルトなのかもしれません

提示していただいたソースを見ると気になった点が2つ
1.HTMLファイルでDOCTYPE宣言<!DOCTYPE html>の有無で表示モード変わるということ
DOCTYPE宣言<!DOCTYPE html>有→標準モード、無し→互換モード
2.IE8でのtextareaタグ使用はバグがあり、その一つに横幅指定style="width:100%に%を
指定するとバグる事があるとのこと
http://i-njoy.net/blog/index.php?e=553
こちらのページのコメント欄に同症状の情報がありました
これでIE8でtextareaの2行目以降が表示されない症状が改善するかもしれません

あとはIE11でも上下キーによるスクロールができないか試してみました
↑↓キーをホットキー設定してフォームがアクティブであればスクロール量を増減する
スクリプトですが同時使用1つまでという困った仕様です

749 :名無しさん@お腹いっぱい。:2015/06/10(水) 18:35:54.73 ID:TCANs/4Rq
以下の3行を
>>740 test.UWS先頭に追加

PUBLIC obj
SETHOTKEY(VK_UP, , "フォームスクロール")
SETHOTKEY(VK_DOWN, , "フォームスクロール")

750 :名無しさん@お腹いっぱい。:2015/06/10(水) 18:36:27.19 ID:TCANs/4Rq
以下の関数を>>742test.UWS末尾に追加(entry.htmlは変更無し)
procedure フォームスクロール()
  CONST スクロール量 = 15 //(px単位)
  DIM textarea_name[] = "test30" //textareaのname
  ifb ! obj.document.hasFocus() //フォーム画面ウィンドウがアクティブでない場合スキップ
    KBD(HOTKEY_VK); EXIT
  endif
  COM_ERR_IGN //textareaにフォーカスがある場合入力フィールド内を移動
    fname = obj.document.activeElement.name
  COM_ERR_RET
  for i = 0 to LENGTH(textarea_name)-1
    ifb fname = textarea_name[i]
      KBD(HOTKEY_VK); EXIT
    endif
  next
  mode = obj.document.compatMode //標準モード"CSS1Compat" 互換モード"BackCompat"判定
  ifb HOTKEY_VK=VK_UP
    ifb mode = "CSS1Compat"
      obj.document.documentElement.scrollTop = obj.document.documentElement.scrollTop - スクロール量
    else
      obj.document.body.scrollTop = obj.document.body.scrollTop - スクロール量
    endif
  else  //if HOTKEY_VK=VK_DOWN
    ifb mode = "CSS1Compat"
      obj.document.documentElement.scrollTop = obj.document.documentElement.scrollTop + スクロール量
    else
      obj.document.body.scrollTop = obj.document.body.scrollTop + スクロール量
    endif
  endif
fend

751 :名無しさん@お腹いっぱい。:2015/06/10(水) 22:51:56.47 ID:/MzX+sCy0.net
連想配列だとノーマル配列みたいにサクッと初期値を設定できないので手軽じゃない
>>733みたいにコードに埋め込んじゃえる規模なら一番手間がかからない
CSVとかから読み込むならどちらでもいいけど、その規模になると今度は、
キーが人間に判り易いというメリットは薄くなる
多次元配列はC言語みたいに初期値与えられんし可読性が著しく下がるので、
1次元配列の名前を判りやすくして並べたほうが見やすい
典型的なのがXY座標テーブルでposition[1][10]とやって0がXの1がYとやるより
//         1  2 …
posX[10] = n1, n2, …
posY[10] = n1, n2, …
とやったほうが手軽に書ける


752 :名無しさん@お腹いっぱい。:2015/06/10(水) 23:20:49.21 ID:OeKm7REC0.net
>>751
>>536は可読性が著しく低いのか。十分だと思うが

753 :618:2015/06/11(木) 14:41:18.47 ID:dqrkJ9bL2
>>748
検証して下さり、コードまで書いていただいてありがとうございます!
私が提示した簡略化したUWSで動かすと、完璧に動作しました!

しかし、実際のUWSで試すと、
  ifb ! obj.document.hasFocus() //フォーム画面ウィンドウがアクティブでない場合スキップ
の行や
  mode = obj.document.compatMode //標準モード"CSS1Compat" 互換モード"BackCompat"判定
の行で、
「OLE Object1への型変換が出来ません」のCOM_Errorが発生してしまいます。
原因を究明中です。

754 :名無しさん@お腹いっぱい。:2015/06/11(木) 23:06:09.22 ID:Q9K0BUu70.net
画像認識やらで騙し騙し使ってたけど本格的にIEを自動化したい
まず学ぶべきはHTML?
最低限これはやっとけってのある?

755 :名無しさん@お腹いっぱい。:2015/06/11(木) 23:18:50.32 ID:sjoLEexy0.net
>>754
IEは道具であって目的ではない
IEで何をしたいのかを書かなければ何も答えようがない

756 :名無しさん@お腹いっぱい。:2015/06/11(木) 23:25:06.04 ID:Naihmo/b0.net
それこそいじりたいサイトによって、もっと言えば
同じサイトでも仕様が変わればやること変わるしな

757 :名無しさん@お腹いっぱい。:2015/06/11(木) 23:27:04.74 ID:C9VpTbp70.net
ウェブスクレイピング的な操作が目的なら

HTMLはマークアップ言語なのか程度の認識でも良い
で、そのマークアップされた構造に対して
アクセス・操作する為のDOM(Document Object Model)の方が重要

構造化されたドキメント全体からあるノードを取得し
その配下このノードは○○、このノードは××と言った感じにデータ化

それらを整理して一括操作とかできたりする

758 :618:2015/06/12(金) 12:36:41.13 ID:Xflk4lPje
>>748
解決しました。
お騒がせしました。
ありがとうございました。

759 :名無しさん@お腹いっぱい。:2015/06/12(金) 15:38:07.91 ID:nK+jRR0p0.net
DOM理解を試みる
ノードやらタグ、要素の理解で躓く
HTMLに手をを付けるか迷う←今ここ

とりあえず目下の目標はweb記事のスクラップ

760 :名無しさん@お腹いっぱい。:2015/06/12(金) 16:16:39.16 ID:44TZAm890.net
スクラップ目的の場合は対象記事の構造を把握する事が重要で
それぞれのタグの意味はそれほど重要じゃないよ

記事のヘッダ、本文、日時、URL等スクラップしたい情報の位置を把握して
それらをピックアップしてXML等で保存する感じかな

いきなり表示可能なHTMLで保存しようとすると果てしなく面倒臭い

慣れてきたらDOM構造を処理する内部言語っぽいのを作ってそれで処理するとかすると楽しい

761 :名無しさん@お腹いっぱい。:2015/06/13(土) 23:47:47.34 ID:lLPEpWaJ0.net
>>1の使い方・基礎解説学習サイトみてもチンプンなんだけど、もっとプログラミング初心者向けのサイトない?

762 :名無しさん@お腹いっぱい。:2015/06/13(土) 23:58:32.51 ID:7DVsBavJ0.net
>>761
自分で調べればいいんだよ
何をしたいか考えて、「uwsc ○○」でググって出たページを見ればいい
プログラミングってもはやグーグル検索をどれだけ使いこなせるかで習熟度が違うからな

763 :名無しさん@お腹いっぱい。:2015/06/14(日) 01:18:23.28 ID:xcIcJdqM0.net
昔は調べるには分厚い本を何冊も高い金払ってようやくって感じだったが
今はネット環境あって検索使いこなせば殆ど不自由ないからなぁ

764 :名無しさん@お腹いっぱい。:2015/06/14(日) 01:30:54.13 ID:KxkYlpRA0.net
>>761
>>1の使い方・基礎解説学習サイトみたがこれ以上分かりやすく書くのってどうやるんだっていうくらい難しい
これくらいなら誰でも知ってて当然っていうレベルなのでまわりの誰かに教えてもらうほうがはやい

765 :名無しさん@お腹いっぱい。:2015/06/14(日) 01:44:31.26 ID:nvamwSVV0.net
記録機能があるので一見初心者さん歓迎っぽいがデバッグが厳しい

無償版はデバッガが無いのでPrint命令頼りの原始人レベル
有償版のデバッガでやっと一昔レベル
(ただしスレッドを使ったデバッグは結局Print命令だったりする)

ぶっちゃけガチ初心者ならUWSCはお勧めできない

766 :名無しさん@お腹いっぱい。:2015/06/14(日) 02:00:27.99 ID:HVOSbBWM0.net
プログラミングの流儀が分かってないとなあ
C言語の教科書一冊やり通した経験あるとないとでぜんぜん違うと思う

767 :名無しさん@お腹いっぱい。:2015/06/14(日) 06:53:08.56 ID:NZB6Vc0bn
>>758
無事解決できたようで良かったですね

>>748で訂正があります
>公式掲示板の検索ツールも上下キーによるスクロールが出来ないので
>上下キーによるスクロールが出来ない方がデフォルトなのかもしれません
左側に表示される検索用フォームのウィンドウ検索結果の余白をクリックすることで
スクロールすることが出来ました
右側の表示用フォームVer1.2.1(Ver1.1.0は表示用フォームにIE使用なのでスクロール可能)は
どこをクリックしてもスクロール出来ないようです
が、ソースを見ると表示用フォームに<meta http-equiv='X-UA-Compatible' content='IE=9'>を設定してる箇所がありました
該当箇所をコメントアウトして実行するとスクロール可能になりました
改めて>>743さんの検証コード<meta http-equiv="X-UA-Compatible" content="IE=8">を外して実行すると
UWSC Pro 5.1.1.0 Win8.1 IE11の環境でスクロール可能でした
(前回おそらく自作の妙なコードと同時に検証していたせいで動かなかった?ごめんなさい)
>>734さんの指摘通りフォームでレンダリングモード<meta http-equiv="X-UA-Compatible" 〜を指定すると
上下キーによるスクロールが出来ないことが考えられます

768 :名無しさん@お腹いっぱい。:2015/06/14(日) 07:43:37.88 ID:DcdHt8gu0.net
>>761
多分変数って何?式ってなに?くらいのレベルなんだろう
さすがにそこまでは書いてないと思うから
わからないことを一つずつググればいいよ
「プログラミング 変数とは」みたいに

769 :名無しさん@お腹いっぱい。:2015/06/15(月) 03:21:05.65 ID:Lx1Th6M00.net
今マクロツールって全然なくない?使いやすくてそこそこ色々出来るの何かあれば教えて欲しいわ

770 :名無しさん@お腹いっぱい。:2015/06/15(月) 22:48:55.05 ID:aNpw03CF0.net
フォルダの内容をテキストファイルに。要点のみだと5行。
フリーソフトで好みなのが見つからなかったんだけど、探す時間より
作る時間の方が早かったorz

DOSCMD("dir <#DBL>H:\cap\<#DBL> /s | clip",False,False) //コマンドからdirの出力をクリップボードに
str = GETSTR(0) //クリップボードから取得
fid=FOPEN("d:\cap_list.txt",F_WRITE) //テキストファイルを新規or上書きで開く
FPUT(fid, str) //テキストファイル書き込み
FCLOSE(fid) //テキストファイル閉じる

771 :名無しさん@お腹いっぱい。:2015/06/15(月) 23:03:06.77 ID:5eo6IMhx0.net
DOSCMD("dir <#DBL>H:\cap\<#DBL> /s > d:\cap_list.txt")

じゃダメなの?

772 :名無しさん@お腹いっぱい。:2015/06/15(月) 23:36:46.33 ID:HCkXIYKv0.net
それ、UWSC要るか?

773 :名無しさん@お腹いっぱい。:2015/06/15(月) 23:46:16.54 ID:aNpw03CF0.net
「要点のみだと」って書いておいたのに。
テキスト整形したりは自由にやってくれ。

774 :名無しさん@お腹いっぱい。:2015/06/16(火) 00:18:56.03 ID:JbJJrV+b0.net
テキストの整形なんてテキストエディタでやるよね普通

775 :名無しさん@お腹いっぱい。:2015/06/16(火) 00:38:01.56 ID:fmeiedqk0.net
何が「要点」なのか分からないな
フォルダの内容をテキストファイルに保存したいだけのように見えるが
それならDOSコマンド直接叩くか、UWSC経由でやりたいなら>>771みたいに1行で充分だろうし
テキスト整形が目的なら肝心の処理だけを消した>>770には意味がないし

776 :名無しさん@お腹いっぱい。:2015/06/16(火) 01:01:11.77 ID:2XF1H6rG0.net
バッチファイルやWSHで出来るようにしておくと仕事でも役立つよ。
バッチファイルやWSHで普通行うようなことまでUWSCみたいな
マイナーでアンチウィルスにもお許しを乞う必要があるような
ツールでしか出来ないと色々と認めてもらえないw

777 :名無しさん@お腹いっぱい。:2015/06/16(火) 01:07:03.52 ID:Aq79miHj0.net
「UWSCからの操作」でエクセルの表追加ってどうやったらいいんでしょう?
excel.range("A1")=10
みたいに簡単な操作はマクロ記録を見れば応用できるけれど、グラフ追加だと
VBAマクロ記録で出てきたコードにEXCELを追加しただけだとエラーになります。
わかる人いたら教えて下さい。

※VBAでやれば、という突込みはご尤もだけど状況により、UWSCからの方法が
都合が良いです。

excel=createoleobj("excel.application")
excel.visible=true
excel.workbooks.add()

excel.ActiveSheet.Shapes.AddChart2(240, xlXYScatterLines).Select 
//エラー。xlXYScatterLinesが定義されていない

778 :名無しさん@お腹いっぱい。:2015/06/16(火) 01:22:07.90 ID:HxIz+CSs1
初歩的な質問だったらごめんなさい
画像認識に使用した画像の左上の座標でなく右下の座標の取得って出来ないんでしょうか

779 :名無しさん@お腹いっぱい。:2015/06/16(火) 01:43:50.38 ID:XPIoxtSOB
画像認識に使用したBMPのピクセル数分だけ変数に足せばいいじゃん

780 :名無しさん@お腹いっぱい。:2015/06/16(火) 01:35:13.98 ID:2XF1H6rG0.net
VBEのイミディエイトウィンドウで
PRINT xlXYScatterLines
とやると定数の74であることがわかるので、
UWSC上で
CONST xlXYScatterLines = 74

781 :名無しさん@お腹いっぱい。:2015/06/16(火) 07:55:44.43 ID:eVw9E0jir
>>780
ありがとうございます。そうやって確認したらいいんですね!
めちゃ参考になりました。

782 :名無しさん@お腹いっぱい。:2015/06/16(火) 19:12:22.00 ID:fmeiedqk0.net
>>777
Excelの定数なら調べる必要すらなくて

http://www.uwsc.info/faq.html#n48
>Excelの使用にて定数がわからない、定数名を使用したい  #n48
>Excelの定数名を記述したファイル(ExcelConst.uws) をダウンロードして
>スクリプトの先頭で CALL ExcelConst.uws を入れるとExcelの定数名が使用できます

に書いてあるとおり用意されてる

783 :名無しさん@お腹いっぱい。:2015/06/16(火) 23:13:41.85 ID:3VC/w8LIc
Google Chromeをバックグラウンドで動かす方法(Flash PlayerもOK)
http://anago.open2ch.net/test/read.cgi/software/1395484022/13

>GETALLWIN(GETID(" - Google Chrome","Chrome_WidgetWin_1"))
>MOUSEORG(ALL_WIN_ID[0],MORG_DIRECT,MORG_BACK)

子ウィンドウのIDが取得可能になりバックグラウンドでマウスクリックなどの操作が可能になった模様
chrome64bit版で同じ操作が可能かは不明

784 :名無しさん@お腹いっぱい。:2015/06/17(水) 08:41:35.26 ID:O6/Ohey4f
>>782
ありがとうございます。こんなのあったんですね。
作者さんやっぱりすげー。

785 :名無しさん@お腹いっぱい。:2015/06/17(水) 08:53:07.37 ID:bOpYdHH80.net
VBAやらなくて済むようにUWSCに逃げても
xlXYScatterLinesが定数だというようなVBA知識は要るなど
UWSCはVBAより初心者に厳しいのです
VBEでマクロかけばxlXYScatterLinesはインテリ何とかで自動的に候補が出てくる

786 :名無しさん@お腹いっぱい。:2015/06/17(水) 09:32:42.95 ID:RcdlcA/F0.net
Bluestacks内でテキストを開いて
abcdefghiをabcjklghiみたいに書き換えることってできますか?
まず文字列取得の時点でつまづいてます

787 :名無しさん@お腹いっぱい。:2015/06/17(水) 16:34:40.45 ID:z6hXDPOM0.net
画像認識で画面全部ではなく指定した範囲の中で認識を行うにはどうすればいいですか?
x1 y1 x2 y2と透過の所がよく分かりません

788 :名無しさん@お腹いっぱい。:2015/06/17(水) 16:56:54.03 ID:YAI6QHUw0.net
ヘルプコピペしたいところだが。
日本語読めないと無理だな。

789 :名無しさん@お腹いっぱい。:2015/06/17(水) 17:20:54.78 ID:VUJvu2f1B
大抵の画面の座標系は左上が原点(0, 0)になっていて
右下にいくほどX,Yが増えてる感じ。

CHKIMGの X1Y1 X2Y2 の意味は↓で囲った範囲から
サーチって意味だったと思います。

X1,Y1--------------------
| |
| |
| |
| |
|________________________________X2,Y2

790 :名無しさん@お腹いっぱい。:2015/06/17(水) 17:23:34.02 ID:VUJvu2f1B
ごめん、ずれたからやり直し

X1,Y1--------------------
|                  |
|                  |
|                  |
|                  |
|________________________________X2,Y2

ヘルプ (uwsc.chm)見て分からないって事かと
思ったけどどうなんだ。。

791 :名無しさん@お腹いっぱい。:2015/06/17(水) 17:13:10.93 ID:X+76V8o30.net
そこまでわかってんなら10分説明読めば分かるやろ

792 :名無しさん@お腹いっぱい。:2015/06/17(水) 17:19:37.20 ID:z6hXDPOM0.net
x1 y1 x2 y2がサーチ範囲だってのは分かってるんですけど
x1 y1にx座標とy座標入れたとしたらx2 y2には何を入れればいいんですか?

793 :名無しさん@お腹いっぱい。:2015/06/17(水) 17:36:08.77 ID:VUJvu2f1B
サーチ範囲なんだから、始点と終点がいるでしょ、X2、Y2は終点。

794 :名無しさん@お腹いっぱい。:2015/06/17(水) 17:24:30.17 ID:XQ7s6Cqi0.net
絶対座標か相対座標の2種類しか考えられないだろ
以前に紛らわしいなって話が出てたから確か相対座標(幅、高さ)だったと思うけれど
普段使わないので自分で確かめろ

795 :名無しさん@お腹いっぱい。:2015/06/17(水) 17:25:11.10 ID:Z95Qk9550.net
>>792
x1 y1 左上の座標
x2 y2 右下の座標
サーチ範囲指定すると言う事は2点の座標を指定しないとダメ

796 :名無しさん@お腹いっぱい。:2015/06/17(水) 17:38:34.88 ID:soxPIV+S0.net
今日のお前らは優しいな

797 :名無しさん@お腹いっぱい。:2015/06/17(水) 17:46:58.83 ID:VRFtRWlX0.net
相対じゃなくて絶対

自分でもどっちだかわからなかったからサンプルコード作って確認した
間違いなく絶対座標

アプリのウインドウ領域指定するなら
Status(ウインドウID, ST_X) + Status(ウインドウID, ST_Width)
 と
Status(ウインドウID, ST_Y) + Status(ウインドウID, ST_Height)
を指定する

798 :名無しさん@お腹いっぱい。:2015/06/17(水) 17:48:41.05 ID:RcdlcA/F0.net
ワイの質問にも優しい人教えて(`;ω;´)

799 :名無しさん@お腹いっぱい。:2015/06/17(水) 17:50:11.39 ID:Ph078XLs0.net
>>797
マジで?

800 :名無しさん@お腹いっぱい。:2015/06/17(水) 17:58:52.63 ID:cT7OPLwz0.net
最近始めた者です。
KBD(VK_T,CLICK,1034)

1061が待機秒数(ms)になると思うのですが
毎回異なる秒数にするにはどうすればよいでしょうか?

イメージ的には
1回目 1034
2回目 1093
3回目 1052
4回目 2013


です。

801 :名無しさん@お腹いっぱい。:2015/06/17(水) 18:11:41.70 ID:0MbH0eAWA
>>798
Bluestacksって軽くググったらAndroidじゃないか
Andで動く自動化ソフトならともかくまず無理だわ
最近のOSはフォントにアンチエイリアスかかってるから表示させるたびに色調が変わるし画像認識でも無理だね

sambaで共有してローカル的に拾いに行く以外の解決策はないんじゃないんじゃないの

802 :名無しさん@お腹いっぱい。:2015/06/17(水) 18:04:07.61 ID:RcdlcA/F0.net
RANDOM(1000)で0から999がランダム
KBD(VK_T,CLICK,1000+RANDOM(1000))
で1000から1999までランダム

803 :名無しさん@お腹いっぱい。:2015/06/17(水) 18:05:11.59 ID:VRFtRWlX0.net
>>799
ソース汚いが
ttp://www.dotup.org/uploda/www.dotup.org372734.zip.html

804 :名無しさん@お腹いっぱい。:2015/06/17(水) 18:07:23.94 ID:cT7OPLwz0.net
>>802
なるほど!ありがとうございます。

805 :名無しさん@お腹いっぱい。:2015/06/17(水) 18:07:37.10 ID:l/wOZoEE0.net
相対座標か絶対座標かはmouseorgで変更できるだろ

806 :名無しさん@お腹いっぱい。:2015/06/17(水) 18:09:29.29 ID:peL4cobc0.net
とっても不親切なHELPで有名なUWSCでございます。
素人・初心者お断りでございます。
だれでも簡単にWindowsを自動操作できます。

807 :名無しさん@お腹いっぱい。:2015/06/17(水) 18:13:49.66 ID:VRFtRWlX0.net
>>805
あーうん。そういうことじゃなくてね
幅、高さ ではないというはなすぃ

808 :名無しさん@お腹いっぱい。:2015/06/17(水) 18:50:54.43 ID:VUJvu2f1B
あのHELPは、必要最低限に要約されてるメモとしてはとても良くできてるよ。

理解できない部分はどっかで調べればいいと思う。

809 :名無しさん@お腹いっぱい。:2015/06/17(水) 20:46:27.66 ID:Ph078XLs0.net
>>803
サンクス、絶対座標だった
なぜか元画像だとペイントのカラーボックスにヒットしてうまく動かなかったから
画像変えて使わせてもらった

810 :名無しさん@お腹いっぱい。:2015/06/17(水) 21:54:52.53 ID:RcdlcA/F0.net
>>786をだれかよろ
こうなったらクリップボードにコピーして
そこでいじるしかないか・・・

811 :名無しさん@お腹いっぱい。:2015/06/17(水) 22:20:59.21 ID:XQ7s6Cqi0.net
よろじゃねぇ
リモートデスクトップ系なんだからAndroidのコントロールに直接アクセスは出来ないのは確定
であればPC側から期待する動作を行う手順を
そのまま自動化するしか無いだろ

812 :名無しさん@お腹いっぱい。:2015/06/17(水) 23:41:49.69 ID:RcdlcA/F0.net
なるほどそういう感じなのね
サンクス
画像認識で文字を長押ししてコピペとかやってたけど精度が低かったので…
でもそんな感じでやるしかないのね

813 :名無しさん@お腹いっぱい。:2015/06/17(水) 23:47:13.29 ID:l/wOZoEE0.net
Bluestacksなら普通にadbでやりゃいいだろ
なんでuwscなんだ

814 :名無しさん@お腹いっぱい。:2015/06/18(木) 00:51:11.98 ID:rTrmvoNTM
サーチ範囲が分かりにくかったらSAVEIMG使うと視覚的にいいかもしれないね
SAVEIMG("test.bmp", ID, x1, y1, x2, y2, TRUE, 0, IMG_BACK)
保存された画像がサーチ範囲

815 :名無しさん@お腹いっぱい。:2015/06/18(木) 04:50:41.66 ID:uQlwCkkT0.net
IEでCTRLWIN(ID,MIN)の最小化した状態からIEをF11を押したような全画面表示をさせたいです。
CTRLWIN(ID,MAX)だと最大化ですからウインドウが見えてますし、全画面表示の設定は無いようです。

アクティブにした後、KBD(VK_F11)を使う以外にもっとスマートな方法はありませんか?

816 :名無しさん@お腹いっぱい。:2015/06/18(木) 05:04:06.21 ID:1UcnZ19Y0.net
無いと思う
ーk とURLを付けて起動させたら全画面になるが
これは元に戻せないマジのキオスク向けのモードだからなぁ

817 :名無しさん@お腹いっぱい。:2015/06/18(木) 05:35:20.37 ID:rTrmvoNTM
ああ、なるほど
相対座標、絶対座標と何の話をしてるのかと思ったら
要するに例えばデスクトップ座標x=100,y=100から幅=200,高さ=200の矩形の範囲を指定したければ
CHKIMGなら x1=100, y1=100, x2=300(x+幅), y2=300(y+高さ)を指定しなければならない(指定ウィンドウの絶対座標)

x=100; y=100; 幅=200; 高さ=200
CHKIMG( , , x, y, x+幅, y+高さ)

SAVEIMGだとx2, y2に相当する箇所が幅, 高さで指定する事になっているから(x, yからの相対座標)

x=100; y=100; 幅=200; 高さ=200
SAVEIMG( , , x, y, 幅, 高さ)

という事だね

818 :名無しさん@お腹いっぱい。:2015/06/18(木) 06:58:43.23 ID:uQlwCkkT0.net
>>816
成る程
F11は既に手動で全画面にしちゃってると全画面が解除という逆の動作になるので余り使いたくなかったのですが仕方ないですね
-Kのキオスクオプションは知りませんでした
使える場合はありそうなので記憶に留めておきます
ありがとうございました!

819 :名無しさん@お腹いっぱい。:2015/06/18(木) 08:15:48.49 ID:5a3a1sw2E
IE = CREATEOLEOBJ("InternetExplorer.Application")
IE.Visible = True
IE.Navigate("http://www.yahoo.co.jp/")
while IE.busy or IE.readyState<>4; sleep(0.2); wend
IE.TheaterMode = True
if IE.TheaterMode = True then print "シアターモード(全画面表示)です。5秒後に戻ります。"
sleep(5)
IE.TheaterMode = False
if IE.TheaterMode = False then print "通常画面です。"

//F11で戻せないので緊急時はALT+F4で閉じて
print "5秒後にキオスクモード(全画面表示)にします。"
sleep(5)
IE.FullScreen = True
if IE.FullScreen = True then print "キオスクモード(全画面表示)です。5秒後に戻ります。<#CR>緊急時はALT+F4"
sleep(5)
IE.FullScreen = False
if IE.FullScreen = False then print "通常画面もどきです。"

820 :名無しさん@お腹いっぱい。:2015/06/18(木) 23:31:35.83 ID:7jhVt5eP0.net
画像処理について質問です
画像が少し変わったくらいでは反応させずに大幅に変わったときに反応させるやり方はありますか?
例えば指定画像にマウスポインタが重なったくらいではなく指定画像の一部分が消えるという感じです

821 :名無しさん@お腹いっぱい。:2015/06/19(金) 00:03:00.80 ID:Zt2MQ/yZ0.net
>>820
ポインタが重なってる時と重なってない時の両方の画像がない場合に反応させる

822 :名無しさん@お腹いっぱい。:2015/06/19(金) 00:30:40.14 ID:rV3INbCi0.net
>>821
その手がありましたか
この場合はIFB ELSEIF を使えばいいんでしょうか?
2つの画像がない場合に反応させるにはどのようなスクリプトになりますか?

IFb CHKIMG("A.bmp""B.bmp"だとおかしいですよね?

823 :名無しさん@お腹いっぱい。:2015/06/19(金) 01:20:58.80 ID:Zt2MQ/yZ0.net
>>822
IFb !CHKIMG("A.bmp") AND !CHKIMG("B.bmp")

完全に構文だけの問題だから、自分でヘルプ見て解決できるほうが良い

824 :名無しさん@お腹いっぱい。:2015/06/19(金) 01:50:13.60 ID:rV3INbCi0.net
以前から気になってたのですが  !CHKIMG  CHKIMG の2パターンがありますが「!」はどんな違いなのですか?

825 :名無しさん@お腹いっぱい。:2015/06/19(金) 01:51:13.87 ID:QJOVJbEc0.net
じゃないほう

826 :名無しさん@お腹いっぱい。:2015/06/19(金) 02:52:23.67 ID:i8J6qQEG7
! はプログラム言語で not を表す

よく見かける 「A != B」 は、「A =B じゃないとき」 と読む

でもUWSCではこの表記できない

欠陥

827 :名無しさん@お腹いっぱい。:2015/06/19(金) 05:51:58.87 ID:/beYdrrW0.net
>>824
自分も今その!の表記見てなにこれって思った
「!」ありでも動作するの?

828 :名無しさん@お腹いっぱい。:2015/06/19(金) 06:42:28.40 ID:zXB4M29n0.net
否定演算子

829 :名無しさん@お腹いっぱい。:2015/06/19(金) 07:43:22.53 ID:/beYdrrW0.net
!CHKIMG("A.bmp")
(CHKIMG("A.bmp")=FALSE)

つまり上記2つは同じ動作をするって認識であってます?

830 :名無しさん@お腹いっぱい。:2015/06/19(金) 07:55:49.87 ID:fw3hNLlq0.net
はい

831 :名無しさん@お腹いっぱい。:2015/06/19(金) 10:00:01.32 ID:9MxUM04p0.net
>>822 698

Ifb文中の !CHKIMG() は関数の戻り値 TRUE か FALSE を ! で反転してるという事で
OR とか AND とか !(NOT) の論理演算子の使い方は
条件文書く時に必要なんでしっかりおさえましょうね。

832 :名無しさん@お腹いっぱい。:2015/06/19(金) 16:19:49.43 ID:2U3B+b8c0.net
IF文について教えて下さい
IFとIFBは結局同じと考えて良いのでしょうか?

IFBはIFと違って複数行の処理が書ける・入れ子構造も可
と書かれてるサイトもありますが
別にIFでも出来ますよね?
ヘルプもIFB-ENDIFはIF-ENDIF同じ説明文にリンクされてますし。

833 :名無しさん@お腹いっぱい。:2015/06/19(金) 16:33:58.31 ID:/beYdrrW0.net
>>832
実装時期の違い
当初はIF文は一行でしか使えなかった
複数行にするにはIFBにする必要があった
いつかのアプデからIFでもIFBでも複数行で使える仕様に変更された
結論は同じって事ですね

834 :名無しさん@お腹いっぱい。:2015/06/19(金) 16:53:03.92 ID:nYYnOjUy0.net
>>833
> いつかのアプデからIFでもIFBでも複数行で使える仕様に変更された

し、知らなかった…
いったいいつからだw

ifで複数行なんてやったことなかったから…

835 :名無しさん@お腹いっぱい。:2015/06/19(金) 16:59:34.66 ID:QJOVJbEc0.net
なんも考えずにIFB使えばいいよ

836 :名無しさん@お腹いっぱい。:2015/06/19(金) 20:14:39.34 ID:hKqu5SPe0.net
IFBなんて勧めんなよ
おまえ性格悪すぎw

837 :名無しさん@お腹いっぱい。:2015/06/19(金) 21:16:59.56 ID:hITZPnpq0.net
>>834
4.7cから

838 :名無しさん@お腹いっぱい。:2015/06/19(金) 21:25:44.48 ID:qFWhSFir0.net
複数行の時はIFでThenは絶対に使わない
一行の時はIFB ; xxx ; EndIFってするひねくれ者です

839 :名無しさん@お腹いっぱい。:2015/06/19(金) 22:12:32.64 ID:i8J6qQEG7
それよりいつになったら一行IFのコロン可になるんだ

840 :名無しさん@お腹いっぱい。:2015/06/19(金) 23:51:46.41 ID:fw3hNLlq0.net
ifとifbを使い分けてると
thenの入れ忘れとかでわかりにくいバグを生むことがある
ifbオンリーにするのも割とあり
javaでもifの{}を省略しないよう統一するコーディング規約もあったりするし

841 :名無しさん@お腹いっぱい。:2015/06/20(土) 00:05:56.81 ID:1lHsuodt0.net
for A = 0 to 10
  hoge = random(10)
  print hoge
next

これを後からも参照できるように変数に入れたい
hoge0〜hoge10にループ毎の結果を代入することはできる?

842 :名無しさん@お腹いっぱい。:2015/06/20(土) 00:17:07.80 ID:UvvdAStd0.net
EVAL関数使えば出来るが普通は配列使うぞ

EVAL("hoge" + A + " := RANDOM(10)")

hoge[A] = RANDOM(10)

843 :名無しさん@お腹いっぱい。:2015/06/20(土) 00:19:18.87 ID:ITsosRO70.net
まあ普通に配列だろうな
dim hoge[10]

for A=0 to 10
 hoge[A] = random(10)
next

print hoge[0]
print hoge[10]

844 :名無しさん@お腹いっぱい。:2015/06/20(土) 01:29:24.47 ID:ufTlMsJo0.net
>>840
thenを省けば良いだけじゃないの?

845 :名無しさん@お腹いっぱい。:2015/06/20(土) 01:30:49.04 ID:1lHsuodt0.net
>>842
これだわありがとう
例が端折り過ぎであれだったけど実際は配列が使えない感じで困ってたのよね

846 :名無しさん@お腹いっぱい。:2015/06/20(土) 02:43:34.36 ID:eI4beo1D0.net
>>841
hogeとかつかってんじゃあねーぞ!
今時、hogeなんて知らねー奴が多いからな

847 :名無しさん@お腹いっぱい。:2015/06/20(土) 03:21:26.67 ID:51sOvEFg0.net
知ってる知らないよりもuwsc使いふぜいがhogeとか使ってたら笑いもんだよな

848 :名無しさん@お腹いっぱい。:2015/06/20(土) 03:24:30.46 ID:HwBxArjA0.net
   _____
  ||// 彡 ⌒ミ|彡⌒ ミ
  ||/  (n´・ω・)n   )  hagehage聞こえる・・・
  ||   (ソ  丿|ヽ   )
    ̄ ̄ ̄ ̄ ̄ u―u'

849 :名無しさん@お腹いっぱい。:2015/06/20(土) 06:19:41.76 ID:m+PpqLZV0.net
UWSCでは普通hageを使うからな

850 :名無しさん@お腹いっぱい。:2015/06/20(土) 13:15:00.03 ID:5559LWCM0.net
今あるカーソルの場所を取得してマクロ操作が終わったあとに元の場所に戻す、というのは作れるでしょうか?

851 :名無しさん@お腹いっぱい。:2015/06/20(土) 13:26:20.43 ID:ZXJbc2NX0.net
作れます。

852 :名無しさん@お腹いっぱい。:2015/06/20(土) 13:26:40.82 ID:qFVUre4p0.net
それもミジンコレベルの自分でも簡単に

853 :名無しさん@お腹いっぱい。:2015/06/20(土) 13:28:18.83 ID:3x+xv6Kw0.net
簡単だよ

@今あるカーソルの場所を取得
Aマクロ操作
Bカーソルを元の場所に戻す

854 :名無しさん@お腹いっぱい。:2015/06/20(土) 14:00:53.30 ID:5559LWCM0.net
>>853
@を作る場合、どんな方法がありますか?
画像で検出する以外の方法が思いつきません
しかし、マウスカーソルはウィンドウによって形が変わってくるので難しいです
他の方法はありませんか?

855 :名無しさん@お腹いっぱい。:2015/06/20(土) 14:04:47.21 ID:qFVUre4p0.net
> // 特殊変数
>
>  G_MOUSE_X      // マウス位置Xを返す特殊変数
>  G_MOUSE_Y      // マウス位置Yを返す特殊変数

ヘルプより引用

856 :名無しさん@お腹いっぱい。:2015/06/20(土) 14:12:14.34 ID:5559LWCM0.net
>>855
ありがとうございました

857 :名無しさん@お腹いっぱい。:2015/06/20(土) 14:25:59.94 ID:aElcOAwi0.net
初質問です。
よろしくお願いします。

あるサイトの更新ボタンを連続で押し続けて、
購入ボタンが出てきたら、購入ボタンを押す動作をしたいです。
こんなIF文みたいな作業は出来ますか?

このサイトは、ある時間ジャストから購入申し込み出来るという仕様で、私は帰宅していない事が多く、競争も激しいのでソフトにさせたいのです。
ボタンを連打することになりますが、一分くらいの時間なので、それほどサイトにも負担がかからないと思います。

よろしくお願いします。

858 :名無しさん@お腹いっぱい。:2015/06/20(土) 14:37:40.01 ID:8nbgbwZ80.net
>>857
出来ます

859 :名無しさん@お腹いっぱい。:2015/06/20(土) 14:54:51.00 ID:L4a8KGrv0.net
IFB CHKIMG
購入ボタンあった時の処理
ELSE
購入ボタンなかった時の処理
ENDIF

これだけでいけるんじゃね

860 :名無しさん@お腹いっぱい。:2015/06/20(土) 15:44:52.04 ID:aElcOAwi0.net
>>858
>>859
ありがとうございます。
出来るみたいなので、ググって勉強して作成してみます。

こういう需要(例えば小売サイトのタイムセールとか)はありますよね。

861 :名無しさん@お腹いっぱい。:2015/06/20(土) 16:16:08.85 ID:99v8LLFE0.net
更新して購入可能なら購入するってスクリプト自体は簡単だけどページの読み込み処理上手くやらんと目的に合うように機能しなさげ
軽けりゃ何の問題もないが競争激しいってことはその数分に大量のアクセスがあるだろうし
律儀にページ表示完了待ちしてたら時間かかるし適当な時間で更新してたら購入ボタン見つける前にまた更新押すことにもなりかねないしな
その前に重過ぎてまともにページが開けないとかもある

862 :名無しさん@お腹いっぱい。:2015/06/20(土) 16:36:20.31 ID:aElcOAwi0.net
>>861
ありがとうございます。
何度も手動クリック連打で参加していますが、今のところ読み込みは早いです。(一秒くらい)

別のサイトの早取りセールに参加したことがありますが、そのサイトは途中で画面が固まりました。笑

863 :名無しさん@お腹いっぱい。:2015/06/20(土) 16:42:34.28 ID:UvvdAStd0.net
商用サイトへの自動化ツールの需要を気にしてたけれど公開するつもり?
だとしたらそれはやめといたほうがいいよ
面倒事に成るかねないから個人的にひっそりとやっとけ

864 :名無しさん@お腹いっぱい。:2015/06/20(土) 17:17:09.95 ID:aElcOAwi0.net
>>863
ごめんごめん。
そういうつもりで書いたんじゃないんだよ。
このスレで作ってる人(ヒントを教えてくれる人)がたくさんいないかな〜という意味です。
わたし的にはむしろ隠して独り占めしたいです。笑

865 :名無しさん@お腹いっぱい。:2015/06/20(土) 17:29:16.81 ID:qPkI5+Ta0.net
おいらには怖すぎる
やみくもにクリックして、めくらで購入ボタンを押すなんて
なにかを疑ってしまったら出来ない

866 :名無しさん@お腹いっぱい。:2015/06/20(土) 18:36:34.47 ID:3x+xv6Kw0.net
事前に何度も調査できるんだったら
別プロトコルでサーバーからデータ取得して
在庫あると判断時にリクエストをサーバーへ直投げするのが最速

ブラウザ不要だから競争に絶対勝てるんだがこの手法が出回るとヤバイ

867 :名無しさん@お腹いっぱい。:2015/06/20(土) 18:41:11.49 ID:3x+xv6Kw0.net
>>865
想定外の挙動への対策はいくらでもやりようあるよ

想定以外の返り値だったら終了してもう一度新しく試すとか
商品タイトルに目的物の文字列がなければやめさせるとか

868 :名無しさん@お腹いっぱい。:2015/06/20(土) 18:47:23.22 ID:qFVUre4p0.net
まあ色々とやりようはあるんだろうけど、そういう具体的な金額の利害を伴う上に大っぴらに出来ない手口を
ネット上の不特定多数と共有する、それどころか一方的に教えてもらおうってのは流石に虫が良すぎるな
あんまりしつこくクレクレすると、善意を装って悪意に満ちたツールを掴まされかねんぞ・・・

869 :名無しさん@お腹いっぱい。:2015/06/20(土) 19:03:10.00 ID:LYvdRJKd0.net
>>868
よく読め。
「ググって自分で勉強して作る」って言ってるやろ。
クレクレしてないやん。

870 :名無しさん@お腹いっぱい。:2015/06/20(土) 19:08:22.46 ID:qFVUre4p0.net
そうだな、「(ヒントを教えてくれる人)がたくさんいないかな〜」という一文をもって
クレクレと断ずるのは飛躍しすぎだったのかもな、忘れてくれ

871 :名無しさん@お腹いっぱい。:2015/06/20(土) 19:24:58.06 ID:SRlIAXLx0.net
>>869
どこにでも批判だけして悦に入る勘違い野郎はいるんだから無視無視。

872 :名無しさん@お腹いっぱい。:2015/06/20(土) 19:53:32.66 ID:HlENJY9S0.net
UWSC風情がそんな高クオリティなもの作れねーだろが

873 :名無しさん@お腹いっぱい。:2015/06/20(土) 22:28:19.22 ID:m+PpqLZV0.net
>>867
こういうの、デバッグの機会が少なすぎるのが一番問題

874 :名無しさん@お腹いっぱい。:2015/06/20(土) 22:28:59.31 ID:MZD0bYkA0.net
UWSCで作ったexe解体できませんか?飛んでしまった

875 :名無しさん@お腹いっぱい。:2015/06/20(土) 22:43:59.78 ID:44wtvm5L0.net
家に帰ってみたら同じものを500個ほど買ってしまっていました。
請求金額が1000万程来て途方に暮れています。


こうなるw

876 :名無しさん@お腹いっぱい。:2015/06/20(土) 22:48:14.26 ID:UvvdAStd0.net
>>873
無理
もっとメジャーなら誰かが逆ツール造るかもしれんけれどね

877 :名無しさん@お腹いっぱい。:2015/06/20(土) 23:01:34.79 ID:orU3EJ/x3
アイデア次第でいろいろ使えるよな・・
思いつきはこりかたまったプログラマーより

普通の人のが意外といろいろ思いつく

878 :名無しさん@お腹いっぱい。:2015/06/20(土) 22:57:35.78 ID:g6dchMV60.net
>>875
怖いよな
俺も購入系で自動化組んでるけど、あくまでも通知するのみで実際の購入はクリックが必要な感じにしてるわ
いくら対策しても万一想定外の微妙な変更があった場合、全てに対処するのに限界があると思うし

879 :名無しさん@お腹いっぱい。:2015/06/20(土) 23:39:15.44 ID:oWCPOmlB0.net
>>874
吹っ飛んだんならHDDからファイル復元するソフト使うのが一番早い

880 :名無しさん@お腹いっぱい。:2015/06/21(日) 00:17:39.78 ID:wQr+K1BP0.net
バックアップ取らない人っているんだなぁって思う

881 :名無しさん@お腹いっぱい。:2015/06/21(日) 01:15:04.71 ID:ma8OCHbo0.net
UWSCってtry〜catchみたいな例外処理ある?

882 :名無しさん@お腹いっぱい。:2015/06/21(日) 01:33:34.69 ID:+lSi8wlB0.net
try
except
endtry

そこまで具体的な疑問がなぜ調べられないのか

883 :名無しさん@お腹いっぱい。:2015/06/21(日) 01:52:38.64 ID:MJrWw5p10.net
ifb else文について質問です
A.bmpが見つかればbreakで抜けて次のifb文にいくようにしたいのですが
A.bmpが見つからない場合、else以下動作でA.bmpを見つけるまでループして
見つけ次第breakで抜けて次のifb文に行くようにするにはどうすればよいのでしょうか?

884 :名無しさん@お腹いっぱい。:2015/06/21(日) 02:05:14.09 ID:JABvX0Qf0.net
それはifbじゃなきゃダメなの?

repeat
スリープでも入れとく
until chkimg("A.bmp")
見つかった後の処理

とか

885 :名無しさん@お腹いっぱい。:2015/06/21(日) 02:06:55.94 ID:MJrWw5p10.net
もう1つ質問なのですがwhile true wend文1つでifb文を複数詰め込むのと
ifb文1つに付きwhile true wend文を1つ使うのではどちらが処理は早くなりますか?

886 :名無しさん@お腹いっぱい。:2015/06/21(日) 02:22:23.36 ID:JABvX0Qf0.net
repeatよりも while !chkimg("A.bmp") の方がいいか。
どっちが速いかなんて中身次第だと思うけど
whileやrepeat自体に条件で抜けるって機能があるんだから
ifbなんて使わなければその分は速くなるんじゃない?

887 :名無しさん@お腹いっぱい。:2015/06/21(日) 02:26:30.52 ID:MJrWw5p10.net
ありがとうございます!
1度試しにやってみます

888 :名無しさん@お腹いっぱい。:2015/06/21(日) 02:29:03.36 ID:QhUDhWzG0.net
気になるなら試せば良い
1000回繰り返して時間差を見るとかやり方は沢山ある

889 :名無しさん@お腹いっぱい。:2015/06/21(日) 03:21:25.31 ID:MJrWw5p10.net
A.bmp
B.bmp
C.bmp
の順に認識させようとしててA.bmpが見つかっていないのにB.bmpが見つかると動いてしまうのですが
改善法はありますか?
A.bmpが見つかるまでは動作させたくないです

890 :名無しさん@お腹いっぱい。:2015/06/21(日) 03:31:38.86 ID:QhUDhWzG0.net
A.bmpが見つけるまでループさせて
B.bmpが見つけるまでループと順番に探す

B.bmpを見つけた時に追加条件としてA.bmpが探す方がシンプルになる事もある

特に正解は無いので前後にやりたい事次第じゃないかな

891 :名無しさん@お腹いっぱい。:2015/06/21(日) 04:16:33.57 ID:ZzQRKg6e0.net
>>889
while !chkimg("a")
wend
//aが見つかった

while !chkimg("b")
wend
//bが見つかった

892 :名無しさん@お腹いっぱい。:2015/06/21(日) 15:49:11.10 ID:S+hxlfX40.net
例えばyahooのトップページの検索ボタンを押す場合、
毎回ボタンを押す位置をランダムに変えるにはどうすれば良いでしょうか?

893 :名無しさん@お腹いっぱい。:2015/06/21(日) 17:27:25.69 ID:Vr+4AoeE0.net
なんでこんなにぐぐったりヘルプみたらすぐにわかる質問ばかりされるようになったの?
質問が全てゲームのマクロに使うようなものだし一人が頑張ってるのか

894 :名無しさん@お腹いっぱい。:2015/06/21(日) 17:32:47.29 ID:Vr+4AoeE0.net
愚痴るだけもあれなんでぐぐった結果の一番上をリンク先としてはっておく
ttp://detail.chiebukuro.yahoo.co.jp/qa/question_detail/q13120203578

知恵袋だけど

895 :名無しさん@お腹いっぱい。:2015/06/21(日) 17:39:19.13 ID:bdWj3ZUa0.net
>>879
そか

896 :名無しさん@お腹いっぱい。:2015/06/21(日) 19:24:10.57 ID:ilRQGwwo0.net
UWSC1ヶ月目ぐらいの雑魚だけどさすがにここまでの質問は俺はできない
気になるといえばGETTIMEの分がMMじゃなくてNNなのはなんでだろうってぐらい

897 :名無しさん@お腹いっぱい。:2015/06/21(日) 19:49:34.28 ID:shEWlA/IE
>>896
Month の M とかぶる

898 :名無しさん@お腹いっぱい。:2015/06/21(日) 19:53:33.71 ID:QhUDhWzG0.net
質問者の一部はネタだよ
多分暇なんじゃないかな

899 :名無しさん@お腹いっぱい。:2015/06/21(日) 19:58:01.76 ID:lpX24SXC0.net
>>896
UWSCはVB系の文法を真似てるからNNが分になった
VBは大した理由はない(Mは「月」で使用済みだからMの次、miNuteのN)

文法なんて人間の決めたものだから結構適当なものが多い

900 :名無しさん@お腹いっぱい。:2015/06/21(日) 20:24:48.14 ID:n4zd1VjMk
変数の命名の話だけど

何かのプログラムの記事で、略語にしないほうがコーディングはめんどくさくても
結果、良いコードになるってかいてあったな。

901 :名無しさん@お腹いっぱい。:2015/06/21(日) 21:06:46.87 ID:vIV+P+Mj0.net
MMVとかもちょっとしっくりこない気がするw
普通にMOVEで良かったんじゃ、とか

902 :名無しさん@お腹いっぱい。:2015/06/22(月) 18:53:15.27 ID:Xo6NmJ950.net
UWSC初心者なのですが、質問させて下さい
1つのスクリプトで処理中に待機時間が出来た場合、別のウィンドウで似たような動作をさせたい場合はどのような記述をすれば良いのでしょうか?
例えば、A処理→待機時間→別ウィンドウでA処理→待機時間→元のウィンドウでB処理→待機時間→別ウィンドウでB処理
という感じです
ググっても今一ピンと来るものが無くて途方に暮れてる雑魚ですが解答宜しくお願いします!

903 :名無しさん@お腹いっぱい。:2015/06/22(月) 19:02:40.03 ID:cKoyihzE0.net
>>902
そのまま書けばいいだけだと思うけどその処理のどの部分が判らない?

904 :名無しさん@お腹いっぱい。:2015/06/22(月) 19:18:54.40 ID:qBo/qH0y0.net
BTN(xxxx,click,0)
SLEEP(1)

とした場合、実際に実行するとキー入力があるので1秒で終わらないですよね
実行完了までの大体の時間が知りたい場合どうしたらいいでしょうか?

905 :名無しさん@お腹いっぱい。:2015/06/22(月) 19:23:57.83 ID:Xo6NmJ950.net
>>903
上の方にある>>646がイメージ的には近いんですけど、試しに試行してみた所、実行権限が上手く移行出来ていないのかずっとSLEEPで止まったままになってしまうのです

906 :名無しさん@お腹いっぱい。:2015/06/22(月) 19:50:57.68 ID:nnr3IjCE0.net
並列処理っていうのは基本的に上級者向けだから
ピンと来ないなら諦めたほうがいいよ
>>646絡みでレスついてるけど
それ読んでもヒントにならないなら無理(あなたには)

907 :名無しさん@お腹いっぱい。:2015/06/22(月) 19:55:06.99 ID:nnr3IjCE0.net
並列処理しなくても>>903の言うとおり「そのまま書けばいい」が正解。
その代わり、元のウィンドウが待機時間に入ったとみなして
別のウィンドウの処理に入っている最中、元のウィンドウの待機時間が
終わって処理Bが可能となったとしても、別のウィンドウの処理Aが終わ
るまで元のウィンドウの処理Bは保留状態となる。
しかしそれでも全く問題ないだろ?
自分で手動操作する場合は結局そうするのだから。

908 :名無しさん@お腹いっぱい。:2015/06/22(月) 20:47:58.06 ID:DelgEmlV0.net
UWSCって非同期できる?

909 :名無しさん@お腹いっぱい。:2015/06/22(月) 20:52:07.07 ID:SgLm1iVs0.net
非同期って一言で言われても色々あるぞ?
スレッド使えば基本的な非同期はできるぞとしか

910 :名無しさん@お腹いっぱい。:2015/06/22(月) 21:43:56.78 ID:A846/Vfm0.net
>>904
実際に試して時間測れよ

911 :名無しさん@お腹いっぱい。:2015/06/22(月) 22:23:15.33 ID:My8ZQvWB0.net
>>902

 ウインドウの待機状態を感知して
 ウインドウIDを保存、新たに同じ処理スレッドを作成

 処理スレッド中にウインドウの待機状態と待機終了を感知して
 さらに処理を開始、もしくは処理したいスレッドに戻ってくる

という方針で考えてみた
コンセプトはこんな感じでいいんじゃないかな

以下コード、分割する

Public HASHTBL BackupWindowID //ウインドウIDを格納する配列
Public CurrentWinID //操作したいIDを入れる器

MainThread(0) //メインの関数、引数はスレッド識別用


Procedure MainThread(ThreadNum)

 CurrentWinID = GetID("なんか処理したいウインドウ")

 // (なんか処理)
 
 //処理中所々に以下に行を咬ませる
 If (なんかあったら) Buzy = 1 Then Lock(ThreadNum) //忙しいなら現在のウインドウを冷凍
 UnLock(ThreadNum) //取り敢えず全ウインドウの解凍を試みる

 // (なんか処理続き)

FEnd

912 :名無しさん@お腹いっぱい。:2015/06/22(月) 22:23:43.27 ID:My8ZQvWB0.net
(続き)

Procedure Lock(Num, UnLock = 0)
 BackupWindowID[Num] = CurrentWinID //冷凍容器に操作中のウインドウを冷凍保存

 If UnLock = 1 Then Exit // ウインドウ解凍時に呼ばれたのならこれにて失敬
 MainThread(Random(9999) + 10000) //識別用にランダムな値を生成し、新スレッドを作成
FEnd


Procedure UnLock(Num)
 For i = 0 to Length(BackupWindowID) -1 //全ウインドウの解凍を試みる

  ThreadCash = BackupWindowID[i, HASH_KEY] //冷凍容器から識別IDを取り出し
  WinID = WindowID[ThreadCash] //識別IDからウインドウIDを取り出し

  Ifb (WinIDの処理が待機中から外れていたら)
   Lock(Num, 1) // さっきまで処理していたウインドウを冷凍
   CurrentWinID = WinID //待機処理が終了したウインドウを実行中タスクへ戻す
   BackupWindowID[ThreadCash, HASH_REMOVE] //冷凍庫を掃除
  EndIf

 Next
FEnd

913 :名無しさん@お腹いっぱい。:2015/06/22(月) 22:43:23.52 ID:T4WVL5xj8
あ、しまった。これだと元の処理に戻ってないじゃないか

ははは!

914 :名無しさん@お腹いっぱい。:2015/06/23(火) 02:48:15.57 ID:5lMefh0T0.net
checking関数ってどんな技術使って実装されてるの?

915 :名無しさん@お腹いっぱい。:2015/06/23(火) 10:49:10.66 ID:XeeDdpBx0.net
>>904
処理の開始と終了にgettimeを入れて
その差を見ればいい

916 :名無しさん@お腹いっぱい。:2015/06/23(火) 10:51:32.50 ID:y2P1rAvh0.net
>>911-912
そういうやり方もあるかも知れないが、
実用化するには結構膨大な例外処理が必要そうだな。

第1にスレッドが子スレッドを無限に生成しかねない。
UWSCとしてスレッド数を制限する隠し上限値があってエラーで止まるが、
処理内容によってはメモリリーク様症状を起こしたり大量のスレッドで
CPU時間を占有しかねないので、その辺の統制が必要だろう。

第2に、UWSCが自動操作対象とする資源は非常にデッドロックが起きやすい。
> RE:cpuの高いときは休む umiumi
> UWSCの場合、他アプリとの関係が発生したりするので
> 他アプリのハンドルをつかんで何かする瞬間にサスペンドされ
> その後に画面構成が変わった後に再開したら、どうなるのかとか。
> また、一部の関数は内部的に排他制御しているので、排他制御中にサスペンド
> されるとデッドロックの可能性があります。
> それらを考えると、使用は全く勧められません。
> DATE:2007/3/17(Sat) 20:56
デッドロックを避けるために、スリーパーになるタイミングは慎重でなくてはならず、
複数のスレッドが同じ資源を掴まないように管理する処理を自力で実装したり、
デッドロックが発生して止まったスレッドを識別したり、そのゾンビスレッドが
いつの間にか勝手にロックから抜けだした時に勝手なことをしないように自殺させたり、
色々と必要なことは多い。
それらスレッドとの通信はすべてUWSCではグローバル変数を介さないと行うことが出来ない。

917 :名無しさん@お腹いっぱい。:2015/06/23(火) 10:52:39.30 ID:XeeDdpBx0.net
>>905
スレッド使わないと無限ループになるよ
あと机上で適当に考えたやつだから
もともと動かない欠陥があったらスマン

918 :名無しさん@お腹いっぱい。:2015/06/23(火) 11:07:41.67 ID:7mhVk4To0.net
IDA=GETID ←1 WC
IDB=GETID ←2 WC
WC=1

while t
CTRLWIN(WC,ACTIVATE)
A処理
if 待機条件
if wc=1
wc=2
continue
elseif wc=2
wc=1
break
endif
endif
wend

while
CTRLWIN(WC,ACTIVATE)
B処理
wend

こんなんでいいんじゃないの?

919 :名無しさん@お腹いっぱい。:2015/06/23(火) 16:57:05.34 ID:l7BNyIR/0.net
chkimgで検索する画像って
小さければ小さいほど処理は軽くて済むと思いますが、
例えば16x1pxと8x2pxと4x4pxと1x16pxだとどれが一番速いとか
構造上あり得るんでしょうか?
画面や画像にもよるとは思いますが。

検索方式によっては極力複数行にしないで
縦1dotの画像にした方が良いのでしょうか。
www.alg.cei.uec.ac.jp/itohiro/e-science/files/e-sci110904-5.pdf
ここのp.16の計算式とか見るとそんな感じぽいですが。

920 :名無しさん@お腹いっぱい。:2015/06/23(火) 18:11:51.58 ID:OTChzhaD0.net
自分でマウスを動かしてるときに自動マクロが実行された場合競合してしまうのですが、
独立してマクロを動かすにはどうすればよいでしょうか?

921 :名無しさん@お腹いっぱい。:2015/06/23(火) 18:20:34.89 ID:enpumEg80.net
>>920
仮想環境入れるかもう一台PCを用意してそこで動かす

922 :名無しさん@お腹いっぱい。:2015/06/23(火) 18:23:22.53 ID:1zVYU7i40.net
デュアルマウスtoolとかあるけど、あれ入れた状態でマウスマクロはどんな反応するんだろ?

923 :名無しさん@お腹いっぱい。:2015/06/23(火) 18:25:50.35 ID:/m2trk+h0.net
LOCKHARDでロックする手もあるぞ

924 :名無しさん@お腹いっぱい。:2015/06/23(火) 18:31:43.18 ID:wPOi6Obb0.net
ロックハードでループ入ってデータ吹っ飛んだことある

925 :名無しさん@お腹いっぱい。:2015/06/23(火) 18:37:28.27 ID:enpumEg80.net
ロックハードだとキー押してる間やドラッグ中にされると
挙動おかしくならね?
ロックハード後に、キーアップしてみたがうまくいかなかったからやめたわ

926 :名無しさん@お腹いっぱい。:2015/06/23(火) 18:48:15.34 ID:/m2trk+h0.net
>>925
あーなるかも
俺は吹き出しで3秒前に予告させるという何の解決にもならない方法を取ってるけども

927 :名無しさん@お腹いっぱい。:2015/06/23(火) 19:18:42.72 ID:OTChzhaD0.net
仮想デスクトップというソフトですかね?
いろんな種類があるみたいですけどオススメありますか?

928 :名無しさん@お腹いっぱい。:2015/06/23(火) 20:37:20.75 ID:yQA0bOaw0.net
>>927
有名どころを上から順に試してみろや

929 :名無しさん@お腹いっぱい。:2015/06/23(火) 20:52:57.90 ID:uh0kyjqX0.net
仮想デスクトップじゃなくて仮想PCだよ

930 :名無しさん@お腹いっぱい。:2015/06/23(火) 22:27:38.05 ID:wPOi6Obb0.net
EXECで起動できますが、終了はどうしたらいいですか?

931 :名無しさん@お腹いっぱい。:2015/06/23(火) 22:45:30.24 ID:ZIbaErIb0.net
ソフトの終了操作を自動化したら良いんじゃないのけ

932 :名無しさん@お腹いっぱい。:2015/06/23(火) 23:34:57.57 ID:i+Ijn81p0.net
EXCEL.quit

933 :名無しさん@お腹いっぱい。:2015/06/23(火) 23:38:40.94 ID:dLQWe0cz0.net
仮想PCってどの仮想PCソフト使えばいいの?

934 :名無しさん@お腹いっぱい。:2015/06/23(火) 23:49:27.96 ID:YFUQBjtZ0.net
vmwareが主流と思われ

935 :名無しさん@お腹いっぱい。:2015/06/24(水) 07:05:50.59 ID:0UW+sVlw0.net
>>930
doscmd("taskkill /f /im xxx.exe")

936 :名無しさん@お腹いっぱい。:2015/06/24(水) 11:25:34.62 ID:0UW+sVlw0.net
>>919
実際に試して見るのが早いけどほぼ変わらないと思うよ
処理速度を上げるためだったら、他の視点を持った方がいい
サーチ範囲を狭めるとか、
画像サイズをギリギリまで小さくするとか、
peekcolorで頑張るとか、
ファイルじゃなくメモリアクセスにするとか…

937 :名無しさん@お腹いっぱい。:2015/06/24(水) 12:04:40.42 ID:Hspgd6GT0.net
IDがわかってるならCtrlWin(ID,Close)で殺せるんでないの?

938 :名無しさん@お腹いっぱい。:2015/06/24(水) 15:06:11.96 ID:l1R57tJH0.net
//A
BTN(LEFT,CLICK,955,163,10000)

//B
SLEEP(10)
BTN(LEFT,CLICK,955,163,0)

すいません、AとBは全く同じでしょうか?
違いやメリットデメリットがあれば教えて欲しいです?

939 :名無しさん@お腹いっぱい。:2015/06/24(水) 15:13:07.26 ID:hWL3irCZ0.net
なんも考えずにSLEEP使うといいよ

940 :名無しさん@お腹いっぱい。:2015/06/24(水) 15:22:51.00 ID:u1SFGEEE0.net
多分違う
時間計測を挟んでみるとわかるけれど引数の値の近似値にはならないのよね

なんとなくのイメージ論になっちゃうけれど
引数の方は最大待機時間っぽい感じがする

941 :名無しさん@お腹いっぱい。:2015/06/25(木) 18:22:16.80 ID:oPZ+haqw0.net
ひょっとして自動クリックが誤動作で連射になるときある・・?
プログラム動作中に他の作業でマウス使ってたら競合して連射とか予期せぬ動作とかしない?

942 :名無しさん@お腹いっぱい。:2015/06/25(木) 18:29:50.15 ID:wqp1X+za0.net
>>941
そりゃ、ちょうどマウスのボタンを押そうと思ったときに、マクロ側も押そうとしたら2連射になるよね

943 :名無しさん@お腹いっぱい。:2015/06/25(木) 20:13:48.47 ID:cDTqbBy20.net
マウス無効化すればいいw

944 :名無しさん@お腹いっぱい。:2015/06/25(木) 20:20:52.39 ID:FY/KLTGZ0.net
仮想がさいつよ
はっきりわかんだね

945 :名無しさん@お腹いっぱい。:2015/06/26(金) 01:49:25.66 ID:gz7aLMMI0.net
仮想か別PCで動かさないとやばいな
クレイジーな挙動になるときがある

946 :名無しさん@お腹いっぱい。:2015/06/26(金) 01:54:37.32 ID:sdP5f9pC0.net
それはフォーカスに過度に依存しているスクリプトなんだよ
色々と事前チェックが足りない

947 :名無しさん@お腹いっぱい。:2015/06/26(金) 04:48:07.06 ID:hH8a5ejS0.net
IEで、ひとつのウィンドウで開いている2つのタブを、
二つのウィンドウに分けたい場合はどのように処理したら良いでしょうか?
二つ起動するのではなく、既に開いているタブ二つを分割したいのです
マウス操作以外で方法があったら教えて下さい。

948 :名無しさん@お腹いっぱい。:2015/06/26(金) 06:27:30.46 ID:5tv/9hgA0.net
ブラゲーマクロなんかはマウスに依存せざるをえないんじゃないかなあ
flash解体して操作なんてできないでしょ

949 :名無しさん@お腹いっぱい。:2015/06/26(金) 08:56:03.95 ID:uOfWxV270.net
仮想化以外で現実的なのは
マウスクリックのひとつ前の処理に座標取得とマウス無効化入れて、
処理が終わったら無効化解除してもとあった座標に戻す、ぐらいかな

950 :名無しさん@お腹いっぱい。:2015/06/26(金) 10:15:39.35 ID:/WN731vj0.net
もしくはmouseorgで

951 :名無しさん@お腹いっぱい。:2015/06/26(金) 13:49:41.53 ID:gz7aLMMI0.net
時刻を参照して
・・:00
・・:10
・・:20
・・:30
のときだけ動作(一回のみ)させるにはどう記述すればよいでしょうか?

952 :名無しさん@お腹いっぱい。:2015/06/26(金) 14:17:51.76 ID:9QDhhXNK0.net
スケジュールで式による設定
NN=(00 or 10 or 20 or 30)

953 :名無しさん@お腹いっぱい。:2015/06/26(金) 14:32:32.73 ID:OscSNhMp0.net
>>951
スクリプト上なら
dim exeminute[] = 0,10,20,30

beforeminute=-1
while true
for i=0 to resize(exeminute)
gettime()
if g_time_nn=exeminute[i] and beforeminute<>g_time_nn
beforeminute=g_time_nn
//やりたい処理
break
endif
next
wend

954 :名無しさん@お腹いっぱい。:2015/06/26(金) 14:44:52.03 ID:NVjv4qWL0.net
>>947
IEオプションのタブ項目弄った方が楽

955 :名無しさん@お腹いっぱい。:2015/06/26(金) 14:51:40.89 ID:8b6cWaM60.net
>>951 >>953

自分なら

While !GetKeyState(VK_ESC)
 GetTime()
 If !(G_TIME_SS MOD 10) Then やりたい処理()
 Sleep(1)
WEnd

956 :名無しさん@お腹いっぱい。:2015/06/26(金) 14:52:32.82 ID:8b6cWaM60.net
あ、分か
SSじゃなくNNだったな

957 :名無しさん@お腹いっぱい。:2015/06/26(金) 16:04:42.66 ID:OscSNhMp0.net
>>955
sleep(60)にして一分ごとにチェックすると思うけど、それだと飛びが発生する可能性があるよ
例えば、9分59秒99のタイミングでチェックした後、
sleep(60)したら11分0秒00で次のチェックが走った場合

958 :名無しさん@お腹いっぱい。:2015/06/26(金) 17:27:14.95 ID:9RWcGcCt0.net
そんな誤差を許容するなら、NN mod 10 の結果が減った時を検出するのがいいかな

959 :名無しさん@お腹いっぱい。:2015/06/26(金) 19:35:38.53 ID:tMFd7SQN0.net
60にする必要まったくなくね
っとおもったらsleep(1)じゃん
別にこれでいいと思うよ

960 :名無しさん@お腹いっぱい。:2015/06/26(金) 19:36:09.55 ID:7mDgY6gd0.net
等号(=)での比較がきらいなので

GetTimeして
次の予定は(00秒、10秒、20、30)のどれになるかを計算して

----ループ開始
GetTimeして、次の予定を過ぎていたら(>=)
まず、その次の予定を計算して代入してから「やりたい処理」をする
----ループの先頭へ


もしも「やりたい処理」が10秒以内で終わらないかもしれないなら
そのためのエラー処理ルーチンを入れるか
「やりたい処理」を別スレッドにして並列で幾つも幾つも実行させる

961 :名無しさん@お腹いっぱい。:2015/06/26(金) 19:51:18.78 ID:YwwzOsxf0.net
タスクスケジューラを利用

962 :名無しさん@お腹いっぱい。:2015/06/27(土) 00:43:47.94 ID:4DjkU5u70.net
CHKBTNやCLKITEMでラジオボタンを対象にする場合で質問
キャプションの文字列が存在しない場合はどう指定すればいい?

963 :名無しさん@お腹いっぱい。:2015/06/27(土) 00:47:56.11 ID:kmOp9RrE0.net
SPY++でコントロールIDを直接調べる

964 :名無しさん@お腹いっぱい。:2015/06/27(土) 07:26:49.45 ID:AXu8qFQR0.net
>>959
それだと10分に何十回も実行してしまう

965 :名無しさん@お腹いっぱい。:2015/06/27(土) 09:24:31.94 ID:i0mwW7lv0.net
>>964
やりたい処理の最後にSleep(60)でええやん

966 :名無しさん@お腹いっぱい。:2015/06/27(土) 15:37:47.24 ID:wCNQu5qC0.net
最後に実行した時のNNを変数に保存して比較すればいいよ
自動操作という性質上そういう重複操作を統制する手法は常識

967 :名無しさん@お腹いっぱい。:2015/06/27(土) 17:23:30.15 ID:YBWE773w0.net
初回だけ検出したらその後は sleep(600) だけでいいのでは

968 :名無しさん@お腹いっぱい。:2015/06/27(土) 17:38:09.35 ID:kmOp9RrE0.net
求める精度は用途によって様々
人それぞれなんで答えは一つじゃないさ

969 :名無しさん@お腹いっぱい。:2015/06/27(土) 17:51:46.71 ID:Cp3CV12G0.net
>>967
処理にかかった時間の分だけずれていく

970 :名無しさん@お腹いっぱい。:2015/06/27(土) 17:56:41.75 ID:92XqVBFW0.net
ダブルマウスダブルキーボードの人いる?チャレンジしてみようかな

971 :名無しさん@お腹いっぱい。:2015/06/27(土) 19:42:01.53 ID:yUPbOYud0.net
>>969
じゃあ時間で判断したらええやん

972 :名無しさん@お腹いっぱい。:2015/06/27(土) 21:11:52.43 ID:YPLPZoo+0.net
それがsleep(1)だろ…

973 :名無しさん@お腹いっぱい。:2015/06/28(日) 00:23:09.01 ID:yZ8ohOQ90.net
>>970
翻訳頼む

974 :名無しさん@お腹いっぱい。:2015/06/29(月) 01:19:56.72 ID:0u/Dye8K0.net
時間で判断というのはGETTIMEを元にリアルタイムを判定するってことだね
判定サイクルに挟み込むwaitがSLEEP(1)なら誤差は何回ループしても
1秒+処理時間までに収まる

975 :名無しさん@お腹いっぱい。:2015/06/29(月) 04:29:46.10 ID:9eIZINV/0.net
>>974
現在の時刻と実行したい時刻までの時間の差を図って、それだけ待ってから実行したらどうか

976 :名無しさん@お腹いっぱい。:2015/06/29(月) 09:35:36.32 ID:r9CE5fkI0.net
peekcolorで明らかに座標位置とは違う色が取れる時があるんだけど何故だ?
赤いエリアでやってるのに時々黒に近いデータが返ってきたり。

977 :名無しさん@お腹いっぱい。:2015/06/29(月) 10:11:16.49 ID:ka0ucbGy0.net
>>976
プログラムは思ったとおりには動かない
書いたとおりに動くからだよ

978 :名無しさん@お腹いっぱい。:2015/06/29(月) 10:43:14.50 ID:0I5Issh10.net
Mouseorg()でID指定してるのに
G_MOUSE_X/YでPeekcolor()してるとか?

979 :名無しさん@お腹いっぱい。:2015/06/30(火) 00:10:13.02 ID:BJA2Xrw00.net
連想配列の中身をcsvに書き込むのってどうやればいい?

980 :名無しさん@お腹いっぱい。:2015/06/30(火) 00:17:49.37 ID:eWBCRJq80.net
初心者なのですがここで質問していいのか分かりませんが、お答えしてもらえると嬉しいです
同じ画面でウィンドウの名前が「ひとつめ」「ふたつめ」というものがあるとして


ID1 = GETID("ひとつめ")
ID2 = GETID("ふたつめ")

dim id[] = ID1,ID2

for d = 0 to 1
CTRLWIN(id[d],ACTIVATE)
MOUSEORG(id[d],1)
next

という文だと
ひとつめのウィンドウをアクティブ化

ひとつめのウィンドウを相対座標にする

ふたつめのウィンドウをアクティブ化

ふたつめのウィンドウを相対座標にする

ということになるのでしょうか?
手元にパソコンがないので試すこともできないので教えていただけると嬉しいです

981 :名無しさん@お腹いっぱい。:2015/06/30(火) 01:28:47.06 ID:Ond76hrU0.net
※ 有効範囲はスレッド単位

982 :名無しさん@お腹いっぱい。:2015/06/30(火) 01:38:14.53 ID:/I1DQEUO0.net
テキストボックスの数字を変える場合は、
「ダブルクリック→数字キー」が良いですかね?
オススメありますか?
念のためバックスペースかましたり、あるいはコントロールA使ったりいろいろありそうですけど。

983 :名無しさん@お腹いっぱい。:2015/06/30(火) 12:52:55.95 ID:3s3VXGwt0.net
画面ロックして外出して帰ってきたんだけど、プログラム動いてなかった。なにこれ?どういうこと?

984 :名無しさん@お腹いっぱい。:2015/06/30(火) 12:56:27.49 ID:fj872/AM0.net
そーゆうこと

985 :名無しさん@お腹いっぱい。:2015/06/30(火) 13:07:51.12 ID:3s3VXGwt0.net
まじっすか
ロック中でも動かす方法ある?
どうすればいいの?

986 :名無しさん@お腹いっぱい。:2015/06/30(火) 13:39:09.23 ID:XitTC9f90.net
FUKIDASIなんですが、一度表示してずっと表示されてる時と
表示した直後にすぐ消えてしまう時があります
どこで変わるのでしょうか?
表示時間みたいなパラメータ指定は無いですよね?

987 :名無しさん@お腹いっぱい。:2015/06/30(火) 13:48:52.36 ID:Ond76hrU0.net
スクリプトが終了したら消えるのでそれじゃないかな?
結果を視認しないとダメなケースはSleep入れるのも手

988 :名無しさん@お腹いっぱい。:2015/06/30(火) 14:30:27.22 ID:3s3VXGwt0.net
ロック中でも他のアプリは動くけど、UWSCだけ動かないぞダメじゃん。

989 :名無しさん@お腹いっぱい。:2015/06/30(火) 15:22:56.20 ID:HJpJ9xnX0.net
スクリーンセイバーは?

990 :名無しさん@お腹いっぱい。:2015/06/30(火) 19:38:25.50 ID:Ond76hrU0.net
端的にいうとマウス、キーボードに依存していないスクリプトならロック中でも動く
だって内部的には切断されるからね

991 :名無しさん@お腹いっぱい。:2015/06/30(火) 21:13:13.58 ID:MQiSjpZ/0.net
CHIKING関数で画像認識のスクリプトを練習してるのですが手詰まってましてヒントだけでもいいので教えてほしいです
例えばある二つのフォトビューワーを起動していてどちらもクリックするごとにA,B,C,Dの画像をランダムに表示するとします。

「両方にB画像が出るまでクリックを両方に繰り返す」
というものを作成したいのですが

While (CHIKING("B画像.bmp")=FALSE)
クリック作業
WEND

となると片方にBが表示されると止まってしまいますよね?
「両方にBが表示された時に」という条件はどう書けばいいのでしょうか?><

992 :名無しさん@お腹いっぱい。:2015/06/30(火) 21:28:10.65 ID:RZWrQIbZ0.net
Dim ID1 = GetID("フォトビュアー1")
Dim ID2 = GetID("フォトビュアー2")

Dim ST1[4] = Status(ID1, ST_X), Status(ID1, ST_Y), Status(ID1, ST_X) +_
         Status(ID1, ST_Width), Status(ID1, ST_Y) + Status(ID1, ST_Height)
Dim ST2[4] = Status(ID2, ST_X), Status(ID2, ST_Y), Status(ID2, ST_X) +_
         Status(ID2, ST_Width), Status(ID2, ST_Y) + Status(ID1, ST_Height)

While true
 If !(ChkImg("B画像.bmp", 0, ST1[0], ST1[1], ST1[2], ST1[3]) Then 1のクリック
 If !(ChkImg("B画像.bmp", 0, ST2[0], ST2[1], ST2[2], ST2[3]) Then 2のクリック
WEND

993 :名無しさん@お腹いっぱい。:2015/06/30(火) 21:48:21.50 ID:eWBCRJq80.net
>>992
ありがとうございます!!

994 :名無しさん@お腹いっぱい。:2015/06/30(火) 21:51:56.38 ID:3s3VXGwt0.net
スクリーンセーバーもダメだったw
しかしこれは盲点だったorz
パソコンから離れられないんだけど
皆さんはなんか工夫してんの?

995 :名無しさん@お腹いっぱい。:2015/06/30(火) 21:56:36.38 ID:GbIhkVsn0.net
chkimgの対象ウィンドウをmouseorgで切り換えたほうがいいと思う
mouseorgはchkimg以外でも使用するのが常套手段だが、使用すればchkimgにも作用してしまう。
そのため複数ウインドウ処理時は、現在の対象ウィンドウが不確かになるのを防ぐため、
常にchkimgの直前にmouseorgすると良く、記述の煩雑化を避けるためにchkimgをラッピングする
自作関数を定義し、引数にウィンドウIDを指定できるようにすると良い。

996 :名無しさん@お腹いっぱい。:2015/06/30(火) 21:57:39.55 ID:RZWrQIbZ0.net
>>994
馬鹿かお前は
UWSCはバックグランドアプリでもサービスアプリでもないアクティブアプリだ
最小化しかり、ウインドウが作成されない環境で操作できると思ってる方がおかしいわ
どうしてもやりたきゃ仮想化一択 結論出てんだろ

997 :名無しさん@お腹いっぱい。:2015/06/30(火) 22:02:08.33 ID:bE8J7fSf0.net
マウスやキーボードや画面表示に依存しないスクリプトなら動くかも?

998 :名無しさん@お腹いっぱい。:2015/06/30(火) 22:03:20.74 ID:FoC7tnPp0.net
ファイル操作くらいか。

999 :名無しさん@お腹いっぱい。:2015/06/30(火) 22:04:25.60 ID:b0cRK8490.net
>>995
STATESの勉強しに行くつもりでしたが、そちらの方が後の事を考えると手間がすくないんでしょうか?
ありがとうございます!

1000 :名無しさん@お腹いっぱい。:2015/06/30(火) 22:13:22.54 ID:RZWrQIbZ0.net
>>999
Mousorgが上級者向き
やらかすと混迷するから注意しとき
STATUSで理解した方が内部的に何やってるか理解が進むよ

1001 :名無しさん@お腹いっぱい。:2015/06/30(火) 22:19:06.98 ID:b0cRK8490.net
>>1000
なるほど....
ご丁寧にありがとうございます!
ひとまずはSTATESから勉強してみようと思います!

ていうかなんでIDがコロコロかわってるんだろう...

1002 :名無しさん@お腹いっぱい。:2015/07/01(水) 00:01:16.25 ID:We4qjDRi0.net
>>994
仮想化すればロックしてても関係ない
親相手ならhardlock(true)くらい入れときゃいじられんだろ

1003 :名無しさん@お腹いっぱい。:2015/07/01(水) 01:09:57.39 ID:j4P+NWwq0.net
ディスプレイの電源切るじゃダメなんですかね。

1004 :名無しさん@お腹いっぱい。:2015/07/01(水) 09:00:13.61 ID:ZnimBi9e0.net
CHECKINGとかSTATESとかわざとやってんのか?

1005 :名無しさん@お腹いっぱい。:2015/07/01(水) 09:57:37.69 ID:SnVS9ErY0.net
>>1004
関数は基本的にコピペで書いてたからスペルミスだ!
自分で書けるようにしといたほうがやっぱりいいよね

1006 :名無しさん@お腹いっぱい。:2015/07/01(水) 22:27:47.77 ID:Go3e87CM0.net
Fnキーって押せないん?

1007 :名無しさん@お腹いっぱい。:2015/07/01(水) 23:20:00.93 ID:riwfsP/T0.net
>>1006
記録でFnキーと何かのキーを一緒に押した時のキーを見れば良い

1008 :名無しさん@お腹いっぱい。:2015/07/02(木) 00:39:57.16 ID:ksL2h/C30.net
Fn+win+PrtSc
とかだと綺麗にFnだけ抜けちゃうんだよね

1009 :名無しさん@お腹いっぱい。:2015/07/02(木) 00:47:57.80 ID:qBOipjVt0.net
Fnキーって物理的なキーが少ない場合の補完用だから
元々押したいキーを直接押せばいいじゃないか

1010 :名無しさん@お腹いっぱい。:2015/07/02(木) 01:31:19.61 ID:4U6lFIXy0.net
そもそもFnキーってWindows上で物理認識しないよね

1011 :名無しさん@お腹いっぱい。:2015/07/02(木) 02:41:51.97 ID:Sqf75Xur0.net
FnはノートPCとかフルキーボードでないキーボードで不足分のキーを押せるようにしてるだけだしな
普通にPrtScを押すように指定すればいい

1012 :名無しさん@お腹いっぱい。:2015/07/02(木) 03:15:08.70 ID:ksL2h/C30.net
なんと盛大に勘違いしてた
無知晒し恥ずかしい…
教えてくれた人ありがとう

1013 :名無しさん@お腹いっぱい。:2015/07/02(木) 10:51:10.91 ID:JLKFit2r0.net
いいってことよ

1014 :名無しさん@お腹いっぱい。:2015/07/02(木) 15:09:42.42 ID:q3WzHL190.net
<INPUT type="checkbox" value="1" name="cancelCorrectKbn" id="cancelCorrectKbn_1"><LABEL for="cancelCorrectKbn_1">取消</LABEL>

このcheckboxにチェックを入れる方法を教えて。
IESetData(oIE1,True,"cancelCorrectKbn","1")
で良いのかな?

1015 :名無しさん@お腹いっぱい。:2015/07/02(木) 16:50:13.35 ID:ypikNNL20.net
つい、今しがた知ったんだけど前スレにchkimgxとかいう便利なものを作ってくれた人がいるんじゃん
これ次のテンプレ入れてもいいんじゃないの?
まぁ画像認識なんてゲームでチョメチョメするような人用だとは思うが・・・

1016 :名無しさん@お腹いっぱい。:2015/07/02(木) 17:39:40.15 ID:H6W3xfcg0.net
>>1015
そうやって優しくするとそれ目的の奴らがどんどん湧くからいらんいらん

1017 :名無しさん@お腹いっぱい。:2015/07/02(木) 18:19:35.92 ID:rxbY/3wi0.net
スレタイ読もう

1018 :名無しさん@お腹いっぱい。:2015/07/02(木) 18:45:15.60 ID:m+yQFFM10.net


1019 :名無しさん@お腹いっぱい。:2015/07/02(木) 18:52:27.01 ID:9y1f9FD60.net
「集まれ」→オフ会しようってこと?

1020 :名無しさん@お腹いっぱい。:2015/07/02(木) 18:56:10.78 ID:lWS9wrlo0.net
>>8
Unityアプリは知らんけど
CTRLWINでアクティブにすればいかがだろうか?

1021 :名無しさん@お腹いっぱい。:2015/07/02(木) 21:30:37.16 ID:4U6lFIXy0.net
アプリのソースがあればなんでマウスクリックが実位置になってるかわかると思うよ
ゲームのマクロなら死ね

1022 :名無しさん@お腹いっぱい。:2015/07/02(木) 22:42:53.89 ID:0Ew3lqg50.net
十中八九ゲームだろ
DLLインジェクションでマウス位置取得関数を偽装するか仮想化するしか方法ないね

1023 :名無しさん@お腹いっぱい。:2015/07/03(金) 02:59:40.89 ID:nWUz25pS0.net
>>1015
テンプレ入れて欲しい。
これのおかげで、RocketMouse使わなくなったし、便利。

私はゲームじゃなくて、フラッシュによる画像をクリックさせてる。

1024 :名無しさん@お腹いっぱい。:2015/07/03(金) 11:59:30.04 ID:EstE0F/p0.net
一定時間おきに動かしてたんだけど、ちとPC1台だとやりにくくなってきたから
UWSC専用のサブPCを用意しようかなと思ったんだけど、あまり場所をとられるのは困る

こういうのでUWSC動かしている人居る?
http://www.amazon.co.jp/dp/B00U7CKDXU/

1025 :名無しさん@お腹いっぱい。:2015/07/03(金) 12:03:50.09 ID:vxiFtFvD0.net
仮想化も動かせないほどショボイPC使ってるのか

1026 :名無しさん@お腹いっぱい。:2015/07/03(金) 12:32:45.25 ID:EstE0F/p0.net
>>1025
別にショボくはないけどスケジュールタスクで動かしているからメインPCがUWSCの影響を受けないようにしたい

1027 :名無しさん@お腹いっぱい。:2015/07/03(金) 12:38:24.18 ID:a3Chrt190.net
持っていないから
有効なアドバイスは出来ないが煽りに反応してもつまらんよ
スルーしとけ

1028 :名無しさん@お腹いっぱい。:2015/07/03(金) 13:01:22.60 ID:UXmwghDW0.net
>1025
VMPlayer無料だしXPなら転がってるし
CPU負荷もバックグラウンドなら大してかからんし
スリムにインストールして運用したほうが
メモリ足すくらいでコストはかからんよ
同じマウスモニタモニタキーボードで操作できるほうが効率もいい

ゲーム?知らん

1029 :名無しさん@お腹いっぱい。:2015/07/03(金) 15:03:04.98 ID:N5TzzQmH0.net
新しくPC自作してマクロを並列で動かしてたんだけどchkimgかかってる場面がすごく重い
これはデスクトップコンポジションをオフにできないから?
win7のパソコンだとヌルヌル動いてくれるんだけど

1030 :名無しさん@お腹いっぱい。:2015/07/03(金) 15:48:25.86 ID:+iExLTGh0.net
VRAMたりない

1031 :名無しさん@お腹いっぱい。:2015/07/03(金) 17:13:27.09 ID:7RoLMcdV0.net
>>1016
どんどん湧くってのならそれなりに歓迎したいところだけど
使い方わからん奴がバンバン湧いて質問の嵐とかなる懸念がなくはないな
画像のパターン認識なんてやっぱゲーム、それも3Dの奴に使うのが大半だろうしね
流行りのスマホゲーならビット認識のchkimgだけでも充分だし

うだうだ言ったが便利なら別に別にテンプレ入れてもいいんじゃね

1032 :名無しさん@お腹いっぱい。:2015/07/03(金) 17:35:55.33 ID:gZLuGeEo0.net
>>1031
ソーシャルゲーとかの板見ればわかるけど、変数が何かすら知らずに質問してる奴らと、スクリプトクレクレくんで溢れてる

便利なものをテンプレにってのは同意
けど推奨は控えるべきかと思われ

1033 :名無しさん@お腹いっぱい。:2015/07/03(金) 23:42:58.95 ID:N5TzzQmH0.net
>>1030
gpu-z入れて画像をチェックしたら終了するマクロを15個ぐらい並列起動させてもVRAMにはかなり余裕があった
CPU、メモリの使用率にも余裕があるのになぜかすごく重い
他に考えられる原因ってありますか?
今の環境は
win8 pro 64bit
5960x
32gb
gtx970

1034 :名無しさん@お腹いっぱい。:2015/07/04(土) 00:55:35.79 ID:HgftupiM0.net
>>1033
画面の解像度
リフレッシュレートがあってない
グラボによるオーバースキャン
エアロ・デスクトップコンポジション
二画面、マルチモニタ
モニタをまたがるウインドウの配置
マルチVGAでどっちかがフルスクリーン
DirectXアプリ
ActivX・Flash起動中

1035 :名無しさん@お腹いっぱい。:2015/07/04(土) 06:54:46.64 ID:Oft+aTik0.net
>>1034
解像度、リフレッシュレート、DirectX,、ActiveXはwin7機と同じ環境、設定
二画面解除しても同じ結果になった

エアロ・デスクトップコンポジション、グラボによるオーバースキャン
このあたりが怪しいと思うんですがオーバースキャンを抑制するような設定ありますか?

1036 :名無しさん@お腹いっぱい。:2015/07/04(土) 10:59:56.29 ID:kljfyEkx0.net
オーバースキャンはドライバーの設定
モニタにあわない解像度で出力してもドライバ側で
引き伸ばしたり縮小してくれる機能だから
コンパネに無ければドライバインストールフォルダにある設定ソフトがあるはず

特に恩恵を受けていないのならエアロは切ろう
コンポジションはUWSC本体右クリックでプロパティの中に
起動中のコンポジションを無効にするとかの設定がある

1037 :名無しさん@お腹いっぱい。:2015/07/04(土) 11:09:32.60 ID:45RPHOrf0.net
後、何を自動化しているかしらないけれど
環境変えたら素材イメージも更新しないとね

BMPで保存するイメージはドライバの影響を受けているので
厳密には同じ絵じゃなくなっている可能性がある
その結果ヒット率が変わっているのかもよ

1038 :名無しさん@お腹いっぱい。:2015/07/04(土) 14:05:09.45 ID:km5dbSUi0.net
ワイもメモリ増量しようかな
ブルスタとこれで作業してるときつい

1039 :名無しさん@お腹いっぱい。:2015/07/04(土) 14:33:42.72 ID:xlKNHZD+0.net
空きスロットあるならメモリ増設してデメリット無いからな。

俺はノートパソコンだけどBTOで買ったから良いグラボ乗っけてる。
メモリは32GBだからAndroidエミュ10個立ち上げてもサクサク。

1040 :名無しさん@お腹いっぱい。:2015/07/04(土) 18:48:35.18 ID:Oft+aTik0.net
>>1036
>>1037
genymotionでアプリのリセマラ自動化してます
例えば
REPEAT
UNTIL CHKIMG("サンプル.bmp",0)
このテストマクロをサンプルを画面に表示させない状態で15個並列起動させた場合
windows8.1の新しいパソコンだと画面全体の挙動がwindows7機に比べてすごくもっさりするんです
windows8.1だとAERO、デスクトップコンポジション切れないからこのせいかなと
windows8.1 windows7
5960x. 860
32gb 8gb
gtx960 gtx970

1041 :名無しさん@お腹いっぱい。:2015/07/04(土) 20:01:04.91 ID:epgCJDqf0.net
そ、だから8.1なんか使わんよ。7であと何年もやる。
つか俺の場合は仮想マシン内はXPだがw
軽い軽い

1042 :名無しさん@お腹いっぱい。:2015/07/04(土) 20:49:13.06 ID:HgftupiM0.net
>>1040
いや、切れよw
何もOSで殺す必要はないんよ
UWSC起動中だけ着るように設定しろよ

1043 :名無しさん@お腹いっぱい。:2015/07/04(土) 21:30:01.65 ID:Oft+aTik0.net
windows8からはデスクトップコンポジション切れない仕様になったはずだが切れんの?

1044 :名無しさん@お腹いっぱい。:2015/07/04(土) 23:07:20.42 ID:HgftupiM0.net
切れるけど大変なんだな
知らんかったWin7の感覚だった

切り方
ttp://blog.livedoor.jp/lynnfield750/archives/27088631.html
ここの記事と、さらにコメント藍

1045 :名無しさん@お腹いっぱい。:2015/07/05(日) 01:07:16.51 ID:JgDg//8F0.net
自作関数で引数を複数渡す場合途中を省略ってできない?

A(a, ,c)

procedure A(a,b = 0,c = 0)
処理
fend

ってやるとsyntaxerror吐いてしまう

1046 :名無しさん@お腹いっぱい。:2015/07/05(日) 01:13:27.74 ID:rs9gq+GO0.net
firefoxで表示しているページのhtmlを取得したいのですが、
下記よりももっとシンプルな方法は無いでしょうか?
できればCTRL+Uで新しい窓を開かずに取得したいです

id = GETID("Mozilla Firefox", "MozillaWindowClass")
SCKEY(id,VK_CTRL,U)
id_html = GETID(GET_ACTIVE_WIN)
SCKEY(id_html,VK_CTRL,A,C)
SCKEY(id_html,VK_ALT,VK_F4)

1047 :名無しさん@お腹いっぱい。:2015/07/05(日) 01:36:10.77 ID:zwXzQ8GA0.net
>>1045
省略した後の引数を非省略にできない仕様だったと思う

(a, b, )→OK
(a, , )→OK
( , , )→OK
(a, , c)→NG
( , b, c)→NG

一部の引数を用意できない状況なら
一旦配列にして配列渡しをしたほうが良いんじゃないかな
引数が無い個所が出るパターンが固定なら並び方を考えるのも大事

1048 :名無しさん@お腹いっぱい。:2015/07/05(日) 02:04:05.01 ID:erQt0OMk0.net
UWSCは名前付き引数渡しが出来ないからなぁ
どうしてもそれっぽくしたいならEMPTY使う手もある
こうするとスマートさは減るけれど syntaxerror にはならない

test(0)
test(1, 2)
test(2, 3, 4)
test(3, EMPTY, 5)

Procedure test(a, b=2, c=3)
 if b = EMPTY then b=2
 print "a=" + a + " b=" + b + " c=" + c
Fend

1049 :名無しさん@お腹いっぱい。:2015/07/05(日) 06:12:25.24 ID:g3mbyt+90.net
>>1044
わざわざ調べてくれてありがとう
これ試してみる
だめだったらおとなしくwin7入れなおすわ

1050 :名無しさん@お腹いっぱい。:2015/07/05(日) 10:24:51.27 ID:JgDg//8F0.net
>>1047-1048
なるほどありがとう
引数必要な場所が割と頻繁に変わるから配列にしようかな

1051 :名無しさん@お腹いっぱい。:2015/07/05(日) 17:36:04.87 ID:Ks2rVhpn0.net
>>1015
こんなのあったんだな
ちょっと勉強しよう

1052 :名無しさん@お腹いっぱい。:2015/07/05(日) 21:38:55.42 ID:aXkkWswb0.net
callをやっと使い始めた 便利すぎて今までの苦労がなんだったんだろうって気分

1053 :名無しさん@お腹いっぱい。:2015/07/05(日) 22:35:49.98 ID:Ks2rVhpn0.net
画像A,B,Cのいずれか一つが出て、それが出るまで待機し出たらクリックというのは

REPEAT
SLEEP(0.01)
UNTIL CHKIMG("A")=TRUE or CHKIMG("B")=TRUE or CHKIMG("C")=TRUE
BTN(LEFT,CLICK,G_IMG_X,G_IMG_Y)

でいいんですか?

1054 :名無しさん@お腹いっぱい。:2015/07/05(日) 22:55:15.19 ID:HZRtTKNa0.net
それがあってるかどうかぐらい自分でいくらでも試せるでしょ
>>1051の勉強しようとうい言葉は何だったんだよ

ゲーム乙

1055 :名無しさん@お腹いっぱい。:2015/07/05(日) 23:08:29.14 ID:zwXzQ8GA0.net
何だゲームか
もう回答せん

1056 :名無しさん@お腹いっぱい。:2015/07/05(日) 23:51:22.52 ID:/3QT2bJA0.net
>>1053
短縮評価のオプション付けてるなら動きそう

1057 :名無しさん@お腹いっぱい。:2015/07/06(月) 00:14:30.10 ID:1kyROCmy0.net
このソフトをゲーム以外の何に使うんだよ?
アフィまとめとかか?

1058 :名無しさん@お腹いっぱい。:2015/07/06(月) 09:04:30.50 ID:zB1ir7s90.net
OSの再起動に使うよw

1059 :名無しさん@お腹いっぱい。:2015/07/06(月) 12:55:06.63 ID:4H3WEyTx0.net
PCをゲーム機としてしか使ってない人がそういう発想になってしまうのは仕方がない

1060 :名無しさん@お腹いっぱい。:2015/07/06(月) 16:04:28.18 ID:1kyROCmy0.net
MSXは完全なゲーム機だったなぁ…

1061 :名無しさん@お腹いっぱい。:2015/07/06(月) 16:09:42.23 ID:t6BjxtuQ0.net
使う人次第だよ
(別にMSXでも色々出来る)

1062 :名無しさん@お腹いっぱい。:2015/07/06(月) 18:16:38.45 ID:1kyROCmy0.net
そんなの当たり前だろ

1063 :名無しさん@お腹いっぱい。:2015/07/06(月) 18:30:13.12 ID:7OhpLyu70.net
証拠もなくゲーム乙と決め付け
証拠もなくもう回答せんと宣言するとかどんなもんよ・・・

まぁ今回は実際そうだったみたいだけど

1064 :名無しさん@お腹いっぱい。:2015/07/06(月) 18:35:18.96 ID:YTCflh3t0.net
8〜9割はゲームだろうな

1065 :名無しさん@お腹いっぱい。:2015/07/06(月) 18:36:17.52 ID:YOsw2UAz0.net
おれはほぼアプリ操作補助だな

1066 :名無しさん@お腹いっぱい。:2015/07/06(月) 18:40:57.79 ID:+gL5gVPD0.net
おれはデバッグの仕事で使うな
ゲームのデバッグだけど

1067 :名無しさん@お腹いっぱい。:2015/07/06(月) 18:54:01.18 ID:LxmhFbD40.net
金が儲かることってない?
やっぱ今あるかしらんけどげん玉とかだよね?
1日1万ぐらい入るやつないかな〜結構UWSC使いこなせるようになってきた

1068 :名無しさん@お腹いっぱい。:2015/07/06(月) 18:57:47.34 ID:9J0wHipU0.net
>>1067
初心者向けUWSC解説サイトでも作れば?
既存のものは本当に何の知識もない人からするとちょっと難しいと思うの

1069 :名無しさん@お腹いっぱい。:2015/07/06(月) 23:07:27.99 ID:7OhpLyu70.net
>>1068
変数とはなにか?
関数とはなにか?
ってレベルからかな?

本当に金稼ごうと思うならやっぱゲームの自動化について
具体的にタイトル毎に解説とかするのがいいのかもね
艦これとかスマホゲーなら小銭稼ぎは出来そうだけど
1日1万なんてRMT業者でもやらんとどうやっても無理やろね

1070 :名無しさん@お腹いっぱい。:2015/07/06(月) 23:09:45.23 ID:zlB2CDHd0.net
有名どころはやっぱここか

PC自動化して稼いでいるアラサー(独女)ですが何か?
http://unmeino-rashinban.com/

地味にノウハウやロジックのテクニックも載ってる

1071 :名無しさん@お腹いっぱい。:2015/07/06(月) 23:26:13.08 ID:1kyROCmy0.net
俺もがんばって稼ぐわ

1072 :名無しさん@お腹いっぱい。:2015/07/06(月) 23:31:11.22 ID:iOXs3cIF0.net
獲得金額を盛りすぎだろw
現実は100分の1ってところだろうからぶっちゃけ電気代のほうが上だろう

アクセス数稼いでアフィリエイト収入が目的なんだろうけど

1073 :名無しさん@お腹いっぱい。:2015/07/07(火) 01:20:56.45 ID:qIahE/xQ0.net
>>1069
変数とは何か を説明してるサイトはいくらでもあるけど
それをどのように使うのか、どう組み合わせるのか
ってのをわかりやすく解説してるサイトは少ないと思うよ

1074 :名無しさん@お腹いっぱい。:2015/07/07(火) 01:31:37.13 ID:flROpUbP0.net
プログラミング出来る人なんで日本だけで何百万人もいるわけだからね
それだけで遊んで暮らせるわけはない
アフィとかRMTでよっぽど必死にならないといけない

趣味程度と考えれば、よいお小遣い稼ぎにはなるかもしれないね
俺がRMTで必死だった4〜5年前は年間600万くらい稼げた

1075 :名無しさん@お腹いっぱい。:2015/07/07(火) 03:53:06.03 ID:MfZoFTtg0.net
RMTなんてROのイメージしかない

1076 :名無しさん@お腹いっぱい。:2015/07/07(火) 07:05:40.24 ID:CMCGAugX0.net
最終的に株の自動売買にいきつくんだろ

1077 :名無しさん@お腹いっぱい。:2015/07/07(火) 08:02:58.79 ID:HrNPEZvN5
株の自動売買をUWSCなんかでやってたら死ぬ

1078 :名無しさん@お腹いっぱい。:2015/07/07(火) 08:27:04.99 ID:pfL/ypDU0.net
>>1068
他言語でプログラミング経験があれば簡単だけど全くの初心者にはちょっと難しいよな。

1079 :名無しさん@お腹いっぱい。:2015/07/07(火) 08:29:32.90 ID:UsiNOAsQ0.net
Cの基本書一冊読んどくだけでぜんぜん違うよね

1080 :名無しさん@お腹いっぱい。:2015/07/07(火) 09:04:15.30 ID:a3bauCvE0.net
マンガで覚えるvisualbasicとかそんな感じのでもいいと思う

1081 :名無しさん@お腹いっぱい。:2015/07/07(火) 13:57:56.56 ID:qIahE/xQ0.net
>>1078
俺も他人が作ったどういう風に動くか分かってるスクリプトと照らし合わせながら解説サイト読んでようやく変数と関数の使い方がなんとなく分かった程度だし
予備知識や参考資料がないと入門のハードルが高いよね

1082 :名無しさん@お腹いっぱい。:2015/07/07(火) 16:14:31.17 ID:N6mTh2E10.net
お知恵をお貸し下さい m(_ _)m

for u=0 to 5
sleep(0.5)
doscmd(command[u],true,true)
next
上で開いたDos窓のウインドIDをひとつずつ取得して、その後
Dos窓を制御したいんですが、何か良いアイデアはありませんか。
今 doscmd(command[u],true,true) のあとに、
ID_dos[u]=getid("system32") としているんですが、上で開いた
Dos窓のタイトルは全て同じになるので、必ず直近で開いた
Dos窓のIDを取得するとは限らないんではと思いまして・・・・
EXECのように実行時の戻り値がIDなら便利なんですが。
ちなみにgetid(get_active_win)は、uwsc自身のIDを取得してしまい
失敗でした。

1083 :名無しさん@お腹いっぱい。:2015/07/07(火) 16:36:03.63 ID:s0vlvKCy0.net
>>1082
getallwinした後、system32でマッチングして
増えたものだけを抽出したらどう?
増えたものかは、取得済みID配列に格納&比較する感じで。
あんまスマートじゃないけどね

1084 :名無しさん@お腹いっぱい。:2015/07/07(火) 16:48:22.01 ID:s0vlvKCy0.net
>>1082
後はstartコマンドで起動すればプロンプトのタイトルをつけられたはず

1085 :945:2015/07/07(火) 16:56:52.84 ID:N6mTh2E10.net
>1083
なるほど、それは確実な方法ですね。
根がなまけものなので、面倒な方法は避けてましたが、
目が覚めました。 
すばやい回答ありがとうございます。

>1084
その方法は、初めて知りました。ちょっと調べて
試してみます。
ありがとうございます。

1086 :名無しさん@お腹いっぱい。:2015/07/07(火) 19:51:12.80 ID:kFsPt09w0.net
>>1082
command[u]の内容を一旦テキストに吐き出して
execでcmd.exeを起動して /k オプションでテキストに保存したコマンドラインを実行させれば
起動時からID付きで制御できるんじゃね

1087 :名無しさん@お腹いっぱい。:2015/07/07(火) 21:17:20.28 ID:LX6S9ePm0.net
初心者ですみません

KBD(VK_I,CLICK,40)

をF〜Zランダムに打つようにしたいのですがどのようにすればいいですか?

1088 :名無しさん@お腹いっぱい。:2015/07/07(火) 21:23:53.76 ID:NBLUHzwR0.net
VK_F + RANDOM(20)

1089 :945:2015/07/07(火) 21:30:54.93 ID:N6mTh2E10.net
>>1086
ありがとうございました。お蔭様で解決できました。
プロセス終了後自動的にウインドウを閉じたかったので
/c オプションを使用しました。

ID_dos[u]=exec("C:\WINDOWS\system32\cmd.exe /c" + command[u])

1090 :名無しさん@お腹いっぱい。:2015/07/07(火) 21:33:10.16 ID:LX6S9ePm0.net
>>1088
+でしたか…
ありがとうございます

1091 :名無しさん@お腹いっぱい。:2015/07/08(水) 08:50:05.77 ID:+kbWNFCPY
かんこれのマクロをUWSCでやるブログをのっけてるけど、そのページだけ一日150View平均あるわ。
アフィで儲けるための記事が大体、一日100View目指すらしいから、やるといいかもね。

1092 :名無しさん@お腹いっぱい。:2015/07/09(木) 06:08:30.70 ID:Kmhzy94D0.net
AとBを交互にアクティブにしようとしてるんだけど
50回ぐらいやってるとたまーにアクティブにならない
何故かAとB両方非アクティブ状態になってるし
最終手段でelseにウィンドウ内クリックで強制的に元のウィンドウをアクティブにしてから
アクティブにしたいウィンドウに再チャレンジでなんとかうまくいってる

しかもウィンドウがタスクバーより前に出てきちゃってる
最前面指定してないのに!

似たような感じのやつはそうならないのに
違うところといえばCallしてるぐらいだ
そのうち確認しよう

1093 :名無しさん@お腹いっぱい。:2015/07/09(木) 06:46:59.63 ID:L0L56ZgF0.net
IEで複数開いているタブを、新しいウィンドウに分離させたいんですが
マウス操作以外のショートカット等で指示する方法はありませんか?

1094 :名無しさん@お腹いっぱい。:2015/07/09(木) 08:17:31.83 ID:c4JN4w2N0.net
>>1092
高速にウィンドウを切り替えると描画処理が正常に行われず
非アクティブの見た目だけど
内部的にはアクティブ状態ってのはある
その状態なら見た目だけの問題だから
気にせず操作させてるけどな

1095 :名無しさん@お腹いっぱい。:2015/07/09(木) 09:34:44.71 ID:Q6WelLG70.net
win8.1でCCleanerがアクティブだとマクロが一切動作しないんだけどどうしたらいい?
uwsc以外のクリックマクロも動作しない

1096 :名無しさん@お腹いっぱい。:2015/07/09(木) 10:59:19.82 ID:c4JN4w2N0.net
>>1095
使わなきゃえーやん
メモリクリーナーなんてあってもなくても大差ない

1097 :名無しさん@お腹いっぱい。:2015/07/09(木) 11:03:05.73 ID:Q6WelLG70.net
>>1096
うーんまあそうなんだけど、ワンクリで各種ブラウザのキャッシュやらクッキー消せて便利だからね…

1098 :名無しさん@お腹いっぱい。:2015/07/09(木) 17:14:19.87 ID:Kmhzy94D0.net
>>1092 の件で
Fukidasiを出したままアクティブチェンジしてたら
ウィンドウがタスクバーより前に来てた
これが原因と勝手に決め付ける!
プロでもないし使い始めてから2ヶ月ぐらいだから今はこれが限界

>>1094
画面サイズが小さくほぼ同じ位置にちょっとだけずれてる感じで表示させてるから
確実にアクティブまたは作業ウィンドウを前面表示状態にしないと操作できない

1099 :名無しさん@お腹いっぱい。:2015/07/09(木) 17:40:52.92 ID:TXzWgyFa0.net
>>21
num=FORM("1",3)
num=VAL(REPLACE(num," ","0"))
とかでいいんじゃないの?

1100 :名無しさん@お腹いっぱい。:2015/07/09(木) 20:55:34.91 ID:XYQ7rl7i0.net
for i=10000 to 19999
 num=copy(i,2)
next

1101 :名無しさん@お腹いっぱい。:2015/07/09(木) 20:59:13.85 ID:xv5ijWJp0.net
>>1097
消すべきものだけ消せばいいんじゃ?

不要なものまで毎回再取得するのは無駄どころか
余計な処理かかるから非効率。

1102 :名無しさん@お腹いっぱい。:2015/07/09(木) 21:41:06.35 ID:SQcv0mPJ0.net
ここだけバック・トゥ・ザ・フューチャーかよ

1103 :名無しさん@お腹いっぱい。:2015/07/09(木) 22:47:27.44 ID:h60ZaVkw0.net
CHKIMGXで動作しなくてイラついて禿げてきてたが
G_IMG_XじゃなくてG_IMGX_Xだったのね

1104 :名無しさん@お腹いっぱい。:2015/07/09(木) 22:57:24.42 ID:h60ZaVkw0.net
わ、CHKIMGと感度全然違うし調節しなおさないと…
禿げそう

1105 :名無しさん@お腹いっぱい。:2015/07/09(木) 23:51:03.80 ID:h60ZaVkw0.net
IMG_MSK_BGR5やIMG_MSK_BGR6で引っかかるかどうかのものを
CHKIMGXでどうにかしたかったけど、これだと逆に1%でも誤作動するしちょっと無理やな…

1106 :名無しさん@お腹いっぱい。:2015/07/09(木) 23:53:18.16 ID:W9h/Y0CK0.net
すまん日記帳に頼むすまんな

1107 :名無しさん@お腹いっぱい。:2015/07/10(金) 01:04:10.38 ID:hFPvm6wF0.net
ガキのようにはしゃいで、嬉しくて自慢したかったんだろうな

1108 :名無しさん@お腹いっぱい。:2015/07/10(金) 01:10:30.19 ID:wgi7pTXx0.net
スレ民的にはUWSCで金稼ぐならどれが一番楽だと思う?
リスクがあるやつ(広告自演クリックとか株FXとかは抜きで)

1109 :名無しさん@お腹いっぱい。:2015/07/10(金) 01:13:53.86 ID:Thxsyrku0.net
日雇いバイト

1110 :名無しさん@お腹いっぱい。:2015/07/10(金) 01:50:42.68 ID:nZmHZwzA0.net
RMT

1111 :名無しさん@お腹いっぱい。:2015/07/10(金) 10:04:03.65 ID:jNqBxdWp0.net
>>1107
自慢に見えるとかガイジかな?

1112 :名無しさん@お腹いっぱい。:2015/07/10(金) 22:23:08.28 ID:xKcC/FQa0.net
普段firefox使ってます。
HTML情報の取得ってfirefoxでもできますか?
やはりIEのほうがUWSCは動作させやすいですかね?

1113 :名無しさん@お腹いっぱい。:2015/07/10(金) 22:52:03.79 ID:kUt+M/TA0.net
直接GETしちゃダメなの?

1114 :名無しさん@お腹いっぱい。:2015/07/10(金) 22:56:09.61 ID:xKcC/FQa0.net
手動で右クリックすればHTML情報をGETできるんですけど、
UWSCを使用して自動でGETしたいです。
そしてGETした情報を元に次の動作を指示させたいと考えてます。

1115 :名無しさん@お腹いっぱい。:2015/07/10(金) 23:04:51.87 ID:lfN5c1rL0.net
UWSCがIEでどうやってHTML情報の取得してるか分かってれば自明

1116 :名無しさん@お腹いっぱい。:2015/07/10(金) 23:30:45.57 ID:kUt+M/TA0.net
>>1114
そうじゃなくてブラウザ起動せずに直接通信してGETコマンド送れよって話だ

1117 :名無しさん@お腹いっぱい。:2015/07/10(金) 23:53:00.01 ID:kUt+M/TA0.net
ちょっと考えればわかることをいちいち聞くな

URL = "http://anago.2ch.net/test/read.cgi/software/1425741537/";

xGet(URL);

Procedure xGet(URI)
 Dim xHTTP = CreateOleObj("MSXML2.ServerXMLHTTP");
 Dim RespStat;
 Dim RespText;

 Fukidasi("Connect:サーバーと通信しています");
 Try
  xHTTP.open("GET", URI, False);
  xHTTP.send;
  RespStat = xHTTP.status;
  RespText = xHTTP.responseText;
  Fukidasi();
 Except
  MsgBox("Error:サーバーに接続できません");
 EndTry
 If RespStat = 200 Then SendStr(exec("notepad"), RespText, True);
FEnd

1118 :名無しさん@お腹いっぱい。:2015/07/10(金) 23:54:01.17 ID:q/PHpgXH0.net
HTML情報ってなに?
URLのこと?
ページのソースのこと?

1119 :名無しさん@お腹いっぱい。:2015/07/10(金) 23:59:48.79 ID:IHmXmD9b0.net
chkimgxは結構判定甘いんだよなあ

1120 :名無しさん@お腹いっぱい。:2015/07/11(土) 00:00:10.01 ID:wQ18/eOa0.net
MSXML2初めて知ったときは目から鱗だったわ。
速いうえに余計なもの読み込まないから便利。
そっからAPIの便利さを知ったんだっけか。

1121 :名無しさん@お腹いっぱい。:2015/07/11(土) 00:39:36.51 ID:INXBCsNt0.net
>>1119
あまいってか、曖昧な画像を検出するためのものじゃないの?

1122 :名無しさん@お腹いっぱい。:2015/07/11(土) 03:05:41.03 ID:GJq4cqnJ0.net
1%でダメなら0.5%とか0.1%とかあるじゃん

1123 :名無しさん@お腹いっぱい。:2015/07/11(土) 03:18:50.46 ID:iIqz5zZM0.net
chkimgxのSCOREの閾値って自分で設定できたよな?
だとしたら甘いもクソもないんじゃないの?

1124 :名無しさん@お腹いっぱい。:2015/07/11(土) 10:22:12.37 ID:tudBFrUH0.net
>>1117
これヘルプのどこ見りゃ理解できるの?

1125 :名無しさん@お腹いっぱい。:2015/07/11(土) 10:26:45.40 ID:bD9uI26F0.net
uwscってオープンオフィス カルクと互換性?みたいなものってあるのでしょうか?
A1〜C1みたいに抜いて他の所に貼り付けていく様にしたいのですがオープンオフィスの操作方法を調べてもなかなかわからず・・・
Excelならありましたがオープンオフィスを使用しているもので
ご存知の方教えて頂けると助かります

1126 :名無しさん@お腹いっぱい。:2015/07/11(土) 10:59:54.12 ID:er37m32gB
>>1108
アフィ自動で年間500くらい稼いでる人はいるよ
あと可能性を感じるのはネットビジネスで年数千単位で稼いでる人の
自動化マクロを作ってあげるとか

1127 :名無しさん@お腹いっぱい。:2015/07/11(土) 12:02:50.96 ID:PJq2M2iu0.net
>>1122
小数点以下も行けるんか
試すわ

1128 :名無しさん@お腹いっぱい。:2015/07/11(土) 12:11:37.19 ID:sMw5nx/M0.net
>>1124
UWSCはDLLとOLEObjectに対応してるってヘルプにある

DLLとOLEはWindowsの基本機能だからUWSCのヘルプに乗せる代物ではない
MSDNの所定のページで情報はいっぱいあるから気になる機能を取り込むだけ

とりあえず、OS標準の機能でできること=UWSCでできること をまず理解しろ

1129 :名無しさん@お腹いっぱい。:2015/07/11(土) 12:15:00.14 ID:sMw5nx/M0.net
>>1125
OpenOfficeで公開してるDLLから操作するしかないんじゃない?
アプリ自体に外部パイプを持っていなければそれも無理だけど

そもそもEXCELだって直接介入できるわけじゃなく
EXCELファイルをOfficeを介入せず操作する機能だし

ファイルから抜き出すだけならCALCの保存形式をxcel互換で保存するだけよ

1130 :名無しさん@お腹いっぱい。:2015/07/11(土) 13:49:34.89 ID:I3HoroOL0.net
テキスト文字を認識させたいのですが、
CHKIMGというのを使えばできるのでしょうか?

1131 :名無しさん@お腹いっぱい。:2015/07/11(土) 13:58:11.52 ID:I3HoroOL0.net
例えばこのスレの私のID I3HoroOL0 をuwscで認識させる場合どのようにすれば
できますか?

1132 :名無しさん@お腹いっぱい。:2015/07/11(土) 14:19:31.81 ID:ymiI5i4t0.net
str="hoge"

1133 :名無しさん@お腹いっぱい。:2015/07/11(土) 16:40:37.59 ID:cIdo33S4R
画像じゃなく文字を認識するならOCR。

OCRはUWSCサンプルにもあるMODIとかを利用すればできるよ。

1134 :名無しさん@お腹いっぱい。:2015/07/11(土) 21:23:06.14 ID:cMx1MoW70.net
>>1131
OCRソフトがやっていることをそのままやれば出来る。

具体的には全文字のハネや交叉点等の文字の特徴をデータベース化してそれを参照する。

言えば簡単だけど作業量が洒落にならないので
OCRソフトを買った方が速い。

1135 :名無しさん@お腹いっぱい。:2015/07/11(土) 21:42:59.79 ID:dd6a9D7n0.net
>>1129
なるほど
参考になりましたありがとうございます!

1136 :名無しさん@お腹いっぱい。:2015/07/11(土) 22:22:42.39 ID:INXBCsNt0.net
datをfiddlerとかと連携すればHTML変換とかできるだろうし文字列検索できなくもないような。

1137 :名無しさん@お腹いっぱい。:2015/07/12(日) 09:37:20.59 ID:u0O7FDyR0.net
次スレ建てるよ

1138 :名無しさん@お腹いっぱい。:2015/07/12(日) 09:48:14.03 ID:u0O7FDyR0.net
自動化ツールUWSC使いよ集まれ15 [転載禁止](c)2ch.net
http://hayabusa3.2ch.net/test/read.cgi/appli/1436661562/

1139 :名無しさん@お腹いっぱい。:2015/07/12(日) 10:32:05.06 ID:2PpuZFxXO
おいおい、携帯電話ゲーム板に立ててるじゃないかw

1140 :名無しさん@お腹いっぱい。:2015/07/12(日) 11:05:24.14 ID:C9xk3NvU0.net
乙梅

1141 :名無しさん@お腹いっぱい。:2015/07/12(日) 11:15:19.32 ID:jJntFMeo0.net
梅梅

1142 :2ch.net投稿限界:Over 1000 Thread
2ch.netからのレス数が1000に到達しました。

1143 :名無しさん@お腹いっぱい。:2015/07/12(日) 11:42:07.99 ID:2PpuZFxXO
>>1
過去ログのリンクが無いと稀に困るので

自動化ツールUWSC使いよ集まれ13
http://anago.2ch.sc/test/read.cgi/software/1413600379/

自動化ツールUWSC使いよ集まれ12
http://anago.2ch.sc/test/read.cgi/software/1405162342/

自動化ツールUWSC使いよ集まれ11
http://anago.2ch.sc/test/read.cgi/software/1389240960/

●前スレ
10 http://anago.2ch.net/test/read.cgi/software/1367340336/
9 http://anago.2ch.net/test/read.cgi/software/1350040751/
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/

1144 :名無しさん@お腹いっぱい。:2015/07/12(日) 12:45:06.34 ID:2PpuZFxXO
次スレ

自動化ツールUWSC使いよ集まれ15
http://anago.2ch.sc/test/read.cgi/software/1436671958/

総レス数 1144
361 KB
掲示板に戻る 全部 前100 次100 最新50
read.cgi ver 2014.07.20.01.SC 2014/07/20 D ★