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

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

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

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.24052200