08/12/24 16:33:21 fqreGDGn0
>>581
何度かサンプルをとってみる。
んで、ペイントに2回重ねてイメージを貼り付けてみる。
ファイルからのドラッグじゃなく、ペイントの別窓で全体を選択してイメージをクリップボードでね。
そうするとCtrl+Zで前のイメージに戻るけど、繰り返してみれば違うところが見える。
目で見て分かるほどの違いならそれでチェックできる。
601:581
08/12/24 22:46:46 WYMCwj1+0
皆さんレスありがとうございます。
催促してしまって申し訳ありません・・・
>>598
すみません。確かにそうですね。
えーと・・・とあるサイトで、ページを更新すると、極稀に画像が挿入されるというページがあって
その画像が挿入された時に、自動的に画像をクリックするというようなことがしたいのです。
なので一致してるかどうか判断するというより、一致しないかどうかが大事なんですけど
一致してる時まで一致してないと出ると意味がないので、先にそちらのテストからやってるという状態です
>>599
>1ピクセルでも似たような色でも駄目だからな。
そうだったんですか~・・・
でも比較する画像と言うのは
更新もしていない全く同じ画面でキャプチャした2つの画像なのですけど
それで画像データの内容が変わるようなことはありえるのでしょうか??
>この画像とこの画像は完全に一致しているはず、っていうbmpをみせてみな
例えば今現在書き込んでいるこのページで連続でSSを2枚撮ったとして
その2枚は確実に一致してるはずですよね?
>>600
上記の通り同じ画面でキャプチャした画像同士なので
いわばコピー同士のはずなのですが
その方法で一度試してみます!ありがとうございます^^
602:名無しさん@お腹いっぱい。
08/12/24 23:04:36 wRGSCYG80
ページが同一かどうかじゃなくてたった画像一つの話なんじゃん。大違いだろ…
どうしてそう見当違いの話にすり替えられるのか
603:名無しさん@お腹いっぱい。
08/12/24 23:05:14 jq0ous7H0
やましい事があるからだろ
604:名無しさん@お腹いっぱい。
08/12/24 23:29:44 PQKwVK+U0
範囲指定のミスや狭すぎたり広すぎたりすると拾えないこともある。
全体を見ないと何とも言えない。
605:名無しさん@お腹いっぱい。
08/12/24 23:30:39 1MnOXdsv0
UWSCでMixmaster(オンラインゲーム)で自動狩りしたいのですが
設定方法など教えてください・・。
606:名無しさん@お腹いっぱい。
08/12/24 23:34:03 MPq7rWr60
設定はUWSC起動させて5つあるボタンのうち一番右のボタンクリックしたらメニューが出るから
その中にある設定ってのクリックすれば出来るよ
607:名無しさん@お腹いっぱい。
08/12/25 00:15:01 0laQMG7O0
>>601
それだったら単にソース見て画像あるかないか確認するだけでいいんじゃ・・・
608:名無しさん@お腹いっぱい。
08/12/25 12:33:48 PaM73P2v0
606 :Mixmasterのファイルを選択すればいいのでしょうか?
ゲーム内でキャラクターが移動しないしモンスターにも攻撃できません・・・。
矢印だけ動くだけでキャラクター自体が動きません。
609:名無しさん@お腹いっぱい。
08/12/25 16:38:47 4fEIBmh1O
ゲームの自動化はチート扱いの場合が多い。
そのため、ゲーム側で防止プログラムを組んでいる事がほとんどだ。
諦めるのが良いよ。
それでも諦めないなら、職業プログラマに勝てる知識が必要だな。
それを教えるのはこのスレでは荷が重い。
何万回やり取りするのか…
610:名無しさん@お腹いっぱい。
08/12/25 17:07:51 FFzSYmfk0
クリックだけ自分ですれば半自動じゃん!!
おれすげぇ。
611:名無しさん@お腹いっぱい。
08/12/26 06:47:51 blavN2Ku0
マウスホイール回転を検知する関数とか無いですか?
GETKEYSTATEでやろうとしたらダメですた
612:名無しさん@お腹いっぱい。
08/12/26 07:03:06 407rk+Q/0
無い
613:名無しさん@お腹いっぱい。
08/12/26 10:04:35 dhcbSjOT0
>>611
フックしないとミリ
614:611
08/12/27 13:50:53 a1ud09nq0
やっぱ無いのか・・・
ありがとうです
615:名無しさん@お腹いっぱい。
08/12/29 11:52:44 oDF873NO0
「WOLF RPGエディター」とは?
・高度なRPG開発が可能な、完全無料のゲーム作成ツールです。
・製作者はなんと「モノリスフィア」やツクール2000で「シルフェイド幻想譚」などを製作した
SmokingWOLF氏だよ。
・雰囲気はRPGツクール2000に近い。RPGツクール2000で自作システムを作りこむ際に
不満だったところがいろいろ解消されていて、かなり自由度が高いです。ただし
その分初心者には難しいかも。すでにツクール2000で自作システムを組むのに
慣れた人やRPGツクールでは物足りないけどプログラミングはちょっとという方にお勧め。
・作成したゲームは自由に配布したり、コンテストに投稿することも可能。
また本ソフトを持たない人でもプレイ可能!ファイル暗号化も完備してるよ!
・要望、不満点、バグ報告などなど書き込みお願いします。今もどんどん進化中です。
・それとマップやキャラなどのドット素材もじゃんじゃん募集中ですので
一度サイトにお越しくださいませ。
・このツールで作ったゲームをサイトで紹介してるから、ダウンロードしてどういう
ゲームが作れるのか見てみてね。
2ちゃん本スレ
スレリンク(gamedev板)l100
616:名無しさん@お腹いっぱい。
09/01/01 19:29:41 I3qjVRit0
自動化関連で AutoIt もこのスレでよいのでしょうか?
617:名無しさん@お腹いっぱい。
09/01/01 19:34:15 Fg81q2l00
>>616
スレタイを100回読み直せ
それでも分からなかったらもう100回読み直せ
618:名無しさん@お腹いっぱい。
09/01/01 21:08:56 I3qjVRit0
>>2 にあったのか。ここで扱ってもいいのね。サンクス
619:名無しさん@お腹いっぱい。
09/01/01 21:53:59 I1XCmHmc0
Whileで繰り返しの作業を行っています
何回繰り返したのか最後にprintしてるんですけど
なぜだかわかりませんが
いつも200回でカウンターが0に戻ります
formatというのでなんとかなるような気がするんですけど
ヘルプの例ではわかりません><
どなたかカウンターが0に戻らない方法教えてください
x = 1
While x < 20000000
~作業~
print x + "回終了しました<#CR>"
x = x + 1
Wend
620:名無しさん@お腹いっぱい。
09/01/01 22:32:08 I1XCmHmc0
>>619です
私の勘違いでしたすいません
プリント窓のバッファの関係なのかもしれないですが
200回過ぎたところでガクンッって感じで1回目と表示されたんです
作業を止めてプリント窓を確認したところ
下のほうにはちゃんと201回目、202回目とカウントされていました
作業させながらプリント窓を確認していたので勘違いしていました
>>619の質問は取り消します
すいません
621:名無しさん@お腹いっぱい。
09/01/02 02:15:23 ZsBa6Dj30
ID:I3qjVRit0
ここにも冬休みの影響が..
622:名無しさん@お腹いっぱい。
09/01/02 16:36:20 rpkNn+AP0
おなじXPなのに、違うパソコンで自動で馬券を買おうとしたら
「指数計算ができません」というコメントが出ます。
どこが原因なのでしょうか?
よろしくお願いします。
623:名無しさん@お腹いっぱい。
09/01/02 16:37:21 14Asm42R0
>>622
君の頭
624:名無しさん@お腹いっぱい。
09/01/02 16:47:10 rpkNn+AP0
まじめな回答をお願いします。
ちなみに画面は32bit→16bitに変更済みで
KB927489という2004対応フォントは見当たりませんでした。
困っていますのでよろしくお願いします。
625:名無しさん@お腹いっぱい。
09/01/02 17:01:26 S7pHZQT10
煽られるのが嫌なんだったらまともな文章書いたらどうなんだ・・・(;´Д`)
626:名無しさん@お腹いっぱい。
09/01/02 17:09:16 xEYn5SCM0
>>622
コメントがどこに出るのか
フォントがどう関係あると思ったのか
どこが原因なのか
ちょっと整理して書いてみ
627:名無しさん@お腹いっぱい。
09/01/02 17:23:39 azAV/0n90
>>622
マジレスすると、違うパソコンだからです。
628:名無しさん@お腹いっぱい。
09/01/02 17:24:37 14Asm42R0
>>624
それだけの情報で解決できるエスパーはここにはいません
他あたってください
629:名無しさん@お腹いっぱい。
09/01/02 17:39:16 ZsBa6Dj30
これかw
スレリンク(software板:48番)
630:624
09/01/02 17:49:27 rpkNn+AP0
>>622
フォントのアップデートに関係あるのではとのコメントが過去レス
にあったもので・・・
フォントがどう関係しているのかわかりません。
正直言って関係ないのではと思っています。
コメントはエラーコメントで小さな窓で出ます。
つまり起動はされているのですが、馬券を買う直前で止まるのです。
このエラーが出る前はレースが馬券を買わずに流れていきましたが、
それは16bitにすることで止まりました。が、馬券は買えません。
なお、私は上の48の人とは別人です。
検索で48を見つけましたが、そこにも回答がなかったので再度きいた
わけです。
以上、よろしくお願いします。
631:名無しさん@お腹いっぱい。
09/01/02 18:06:21 ZsBa6Dj30
>>630
該当のページ教えてよ
@ページのSSとかも晒してくれると回答しやすい
632:名無しさん@お腹いっぱい。
09/01/02 18:17:27 Rm/xG68v0
スクリプトの内容も教えてくれないと回答は大変すぎるだろ。
633:名無しさん@お腹いっぱい。
09/01/02 19:22:59 rpkNn+AP0
専門用語はわかりません。
同じXPで一方はできて他方ができないのは??
ソフトもコピーして使っているのに・・・
ソフトはUWSCで東京の1Rの画面、⇒は馬単のところで止まります。
634:名無しさん@お腹いっぱい。
09/01/02 19:29:48 14Asm42R0
>>633
お前はもう「教えて!goo」とかで聞いとけよ
言われたことも出来ない奴に理解できるかよ
635:名無しさん@お腹いっぱい。
09/01/02 22:43:34 Rm/xG68v0
こんな返答だと
『じゃぁこうすると解決方法だ』と教えてあげても
『専門用語は分かりません』と返答されてしまう。教える労力がかかりすぎるね。
勉強してからきてください。
636:名無しさん@お腹いっぱい。
09/01/02 22:48:25 KRz29/qG0
言葉は敬語でも横柄な質問者の典型ですね。
PC関係のスレに常住する教え好きの住人もこういう人には答える気をなくすね。
637:名無しさん@お腹いっぱい。
09/01/02 23:41:24 qQI3Q45q0
ここは質問スレじゃねえんだボケ共
638:名無しさん@お腹いっぱい。
09/01/03 00:25:35 wNvjgSLb0
専門用語はわからないってことはどこからか拾ってきたソースなんだろうから
ソース見られるの恥ずかしいです><ってこともないだろうし
どこかのあぷろだにうpすれば即解決しそうなもんだけどな
639:名無しさん@お腹いっぱい。
09/01/03 00:27:43 KC1P03p30
>>633
スレリンク(pc板)
ほら、ここでやれ
640:名無しさん@お腹いっぱい。
09/01/03 00:48:41 q+ebtwFv0
そうだなあ。自分でソース書く奴が専門用語わかんねーわけねーもんな
641:名無しさん@お腹いっぱい。
09/01/03 04:43:07 /iPm/dkm0
そもそも uwscの話題なのか?ww
642:名無しさん@お腹いっぱい。
09/01/03 04:48:06 8PVexPPM0
>>636
>>633どこが敬語だよ
俺は語尾を揃えてくれればタメ語でも問題ないんだけど
ネットバンクっぽいからSSでも上げてくれればいいのに
>>641
>>633
UWSCっぽいけど?w
643:名無しさん@お腹いっぱい。
09/01/03 09:41:27 WuPgWUsB0
自演乙
644:名無しさん@お腹いっぱい。
09/01/03 13:51:01 tGHU8yNl0
グラフィック関連描画関連のハードが違うと全く同じスクリプトでも動かないよね。画像判定は。
色無視ならまだ行けそうだけど。
645:名無しさん@お腹いっぱい。
09/01/03 14:50:08 Htt4DvzM0
シェアウェア版はほとんど話題になっていないし
他でもあまり情報が無いみたいだけど
Web自動巡回する場合はUWSCが一番良いのでしょうか
それとも他に良いのがあるのかな
646:名無しさん@お腹いっぱい。
09/01/03 16:05:34 89fA0Ah10
漠然としすぎてるだろ。
なにを対象として巡回したいのか…極論RSSだけだったらGoogleReaderとか使え。
UWSCとかのスクリプトを触ったことが無いなら、とりあえずほかのソフトに不満を持ってからだな。
何を対象としてどんなやり方でどういう使い方を想定してこんな結果が便利そう・・・とか具体例を持てないと『作る』のは難しい。
使い込み始めると分かるが、シェアの利点はEXE化とデバッガぐらいしかない。
フリーで試してみるならそれはいい事だ。必要なのは探究心です。
647:名無しさん@お腹いっぱい。
09/01/04 00:16:56 QbcstKJg0
>>645
Web自動巡回は昔から色んなソフトがある。
648:名無しさん@お腹いっぱい。
09/01/04 01:26:47 PWm0tapx0
株式、先物、FXのシステム売買で
APIを公開していないブローカーを使って取引する時は
シェア版UWSC等で書かれたスクリプトが役に立ちそう
つーか、この分野で一番需要がありそうw
649:名無しさん@お腹いっぱい。
09/01/04 01:58:34 uSQIty0X0
流石に自動取引は危なっかしくて俺には出来ねぇ…。
650:名無しさん@お腹いっぱい。
09/01/04 03:28:43 ugW3lSoF0
>>648
なんでシェア?
Web記録があるから?フォーム作れるから?
どうみてもC#で十分です。
651:名無しさん@お腹いっぱい。
09/01/04 03:43:43 7ITfu5Zd0
C#とかいい始めたらキリが無いだろ。
652:名無しさん@お腹いっぱい。
09/01/04 04:05:12 ugW3lSoF0
冗談で書いた
653:名無しさん@お腹いっぱい。
09/01/04 09:35:21 CqAA14y10
∧l二|ヘ
(・ω・ ) ←に土産を持たせてどこかのスレに送ってください
./ ̄ ̄ ̄ハ
| 福 | |
| 袋 | |,,,....
 ̄ ̄ ̄ ̄
現在の所持品: 帽子 老眼鏡 爪楊枝 ステテコ コタツ 仲村みうのDVD「卒業」 東名
オプーナ オプーナ オプーナ 株券 オプーナ 信長の野望online争覇の章 いづおロール 犬上小太郎
神藤美香のDVD(赤) ( ´;゚;ё;゚;) FF11アルタナの神兵追加ディスク 、FF11ジラートの幻影追加ディスク、xbox360エリート
もんもん ネコ ミカン DDR2 32G分 E8500 トイレ 精力剤 GV-MVP/HS2 ヘンシェル λ ID:x9wfJxWn
敵の潜水艦 AIR Cl_ sabo10
654:名無しさん@お腹いっぱい。
09/01/04 17:06:35 Sh/j4CRt0
>>650-651
C#で簡単に作れるのかまじで?
ちょっとやってみたけど
WebBrowserコントロールっての使って単純なブラウザーは簡単に出来るけど
自動でパスワード入力とかラジオボタン操作とかフォーム送信とかの機能を実装出来るの?
655:名無しさん@お腹いっぱい。
09/01/04 17:15:35 ugW3lSoF0
>>654
できるよん
SetAttribute,GetAttribute,InvokeMember
656:名無しさん@お腹いっぱい。
09/01/04 18:29:45 ika+BqcM0
ブローカーにこだわらなければMT4使うのがベストだろ
657:名無しさん@お腹いっぱい。
09/01/04 20:19:05 1GxGvmcA0
昔、株板に自動売買スレあったけど、C#やExcelとかで作っている人はけっこういたな
俺もExcelで作ったのみたことある。
VBAでIEのコンポーネントを非表示でやってたな。
今なら、Rubyのwww::Mechanizeあたりでやるだろうけど
>>656
そうですな。俺はNinjtaTraderもオススメ
658:名無しさん@お腹いっぱい。
09/01/05 20:36:45 Agh4FC2Z0
確認させてもらいたいのですが、1024×768の画面サイズで使用する場合、
CHKIMGで使う座標は、左上が(0,0)で右下が(1023,767)で合ってますでしょうか?
659:名無しさん@お腹いっぱい。
09/01/06 00:47:24 IQ+0SvAq0
つ 座標君
660:名無しさん@お腹いっぱい。
09/01/06 02:41:16 HzO9vyYE0
普通にそれで良いと思う。
俺は欲しい画面をキャプチャしてレタッチソフトなんかでその場所確認してるけど…新規でそのためだけのツール入れるのが面倒なだけだったり。
661:658
09/01/06 20:17:34 dXsYDRZb0
>>659-660
座標君ですか。使ってみます。
ところで、「探したい画像が画面にいくつあるのか、またその位置をチェックする」というスクリプトを書いてみたのですが、
暇な方がいらっしゃいましたら校正お願いできませんでしょうか。
とくに配列の宣言はこれでいいのか・・・。
関数の戻り値は1つだけだと思うので位置はグローバル変数で指定しないとダメですよね?
今は数が99個までとしているのですが、99個超えたらどうしようみたいなのもあります。
////////////
PUBLIC X_Zahyo[99]
PUBLIC Y_Zahyo[99]
Num = CountImage( 0, 0, 1023, 767, "乳首.bmp", 11)
FOR i = 1 TO Num
PRINT X_Zahyo[i] + "," + Y_Zahyo[i]
NEXT
// 続く
662:名無しさん@お腹いっぱい。
09/01/06 20:18:05 dXsYDRZb0
// 続き
FUNCTION CountImage( X_Start, Y_Start, X_End, Y_End, FileName, Y_Size)
// X_Start サーチ範囲(X座標開始位置)
// Y_Start サーチ範囲(Y座標開始位置)
// X_End サーチ範囲(X座標終了位置)
// Y_End サーチ範囲(Y座標終了位置)
// FileName 画像名
// Y_Size 画像の高さ(ドット数)
Y = Y_Start // サーチ位置(初回はY_Start)
i = 0 // 発見した個数
WHILE CHKIMG( FileName, 0, X_Start, Y, X_End, Y_End) = TRUE
i = i + 1 // 発見した個数をカウント
X_Zahyo[i] = G_IMG_X // X座標を格納
Y_Zahyo[i] = G_IMG_Y // Y座標を格納
Y = G_IMG_Y + 1 // 次は発見した場所の1ドット下からサーチする
// 以下、発見した画像の真横をサーチ
WHILE CHKIMG( FileName, 0, G_IMG_X + 1, G_IMG_Y, X_End, G_IMG_Y + Y_Size - 1) = TRUE
i = i + 1 // 発見した個数をカウント
X_Zahyo[i] = G_IMG_X // X座標を格納
Y_Zahyo[i] = G_IMG_Y // Y座標を格納
WEND
WEND
// 戻り値
RESULT = i
FEND
663:名無しさん@お腹いっぱい。
09/01/06 21:04:53 yXB+Es0j0
なんかいろいろめんどくさいことやってるね…
関数にするのはともかく、わざわざ個数と座標を返して
関数の外でPrintする必要はないんじゃない?
わざわざ配列を作る必要もないし、配列サイズを気にする必要もなくなる
二重ループも意味不明
総当たりだと時間かかるから、画像サイズとか入れて少しでも時間短縮できれば便利じゃない?
あ、でも真横にある場合もあるから一応チェックするか
みたいな思考かもしれないけど、結局ただの二度手間
単純に総当たりのループ一つだけでいいじゃん。
最初に書いたとおりループ内でPrintした方がスマート
664:名無しさん@お腹いっぱい。
09/01/06 21:27:37 0pokcDL30
>>661
どうかな
wkx = 0
wky = 0
while CHKIMG( "乳首.bmp", 0, wkx, wky, 1024, 768 )
PRINT G_IMG_X + "," + G_IMG_Y
wkx = G_IMG_X + 1
wky = G_IMG_Y
wend
printすると.\UWSC.LOGに残るよ
665:名無しさん@お腹いっぱい。
09/01/06 21:56:54 1giQJn+o0
>>664
この書き方で同一X軸上にある2つ目の画像って取得できる?
666:名無しさん@お腹いっぱい。
09/01/06 22:10:22 1giQJn+o0
自分は質問者じゃないんだが
>>663
まぁ、関数の外にデータを持っていきたい場合もあるだろう。
ってんでprintは便宜上の表現として良いかなと思う。
>単純に総当たりのループ一つだけでいいじゃん。
これはどういう書き方になるんだ? >664だと >665 に書いたとおりに同一X軸の画像は取得できない。
増減対象をXとYで2回繰り返しても、XとY軸に同一の座標(格子状の配置)のものがあれば取りこぼすし。
667:名無しさん@お腹いっぱい。
09/01/06 22:20:35 53iAnw2k0
なんで出来ない?
668:名無しさん@お腹いっぱい。
09/01/06 22:24:53 0pokcDL30
>>665
CHKIMGってtrue返したあとどういう挙動してるの?
x,yってもちろんxから走査するよね?
669:名無しさん@お腹いっぱい。
09/01/06 22:51:48 1giQJn+o0
自分の知る限り
chkimgは
x=0,y=0~画面解像度
x=1,y=0~画面解像度
x=2,y=0~画面解像度
と走査していって
最初に見つけた座標ひとつだけをG_IMG_X,G_IMG_Yへ返して終わりだ。
戻り値が配列になってるとかそういうのは聞いたことがないなぁ。
…なんか質問者の意図とは違うところに話が行ってる気がするよw
配列の受け渡しは関数宣言のvarで出来るからグローバルじゃなくても良いよ。
後、あんまり綺麗じゃないけど、対象数が不明すぎるなら連想配列でも良いんじゃないかな?
670:名無しさん@お腹いっぱい。
09/01/06 23:22:48 1giQJn+o0
xyが違ってた
y=0,x=0~画面解像度
y=1,x=0~画面解像度
y=2,x=0~画面解像度
と走査していって
だな
…しかし、>663はどうやってループひとつで解決できるんだろう。
671:名無しさん@お腹いっぱい。
09/01/06 23:24:29 0pokcDL30
>>669
今テストしたんだけど一発で>>664俺書けてるじゃんw
君のPCがおかしいよ
.\UWSC.LOGはどこにあるかしってる?
処理したいならprintのところに関数でもなんでも置換すればおk
672:名無しさん@お腹いっぱい。
09/01/06 23:30:04 0pokcDL30
>>670
ごめん間違ってたOrz
再考するわ
673:名無しさん@お腹いっぱい。
09/01/06 23:54:50 0pokcDL30
これでどうよ
wkx = 0
wky = 0
while CHKIMG( "乳首.bmp", 0, wkx, wky, 1023, 767 )
PRINT G_IMG_X + "," + G_IMG_Y
wkx = G_IMG_X + 1
wky = G_IMG_Y
ifb CHKIMG( "乳首.bmp", 0, G_IMG_X , G_IMG_Y + 1, G_IMG_X, 767 ) then
PRINT G_IMG_X + "," + G_IMG_Y
endif
wend
674:名無しさん@お腹いっぱい。
09/01/06 23:58:58 1giQJn+o0
アルゴリズムの初歩っぽいけど、こういうのは考えると楽しいよね。
>673
惜しいけど、それは考え方が変わってないよね?
二つ目以降が取得できない。
■ ■ ■
■ ■ ■
■ ■ ■
658の二重ループはスマートな結論だと思うんだけどなぁ。
675:673
09/01/07 00:04:09 yeJt08sV0
>>674
君スマートやね
初歩とかそういうレベルじゃなくて
CHKIMGの仕様,振る舞いがおかしくない?
676:名無しさん@お腹いっぱい。
09/01/07 00:04:29 7ES8amql0
しかし、シレっと「乳首.bmp」なんて書くんだもんなぁ。
ネタ過ぎるwwwwww
677:名無しさん@お腹いっぱい。
09/01/07 00:06:33 68bDEsj20
>>674
単ループで2個目が取れないと思ってるのなら
二重ループじゃ3個目が取れないんじゃないのか?
678:名無しさん@お腹いっぱい。
09/01/07 00:11:23 yeJt08sV0
>>676
どうなんだろうw本人消えたし
>>677
単ループがどのことを指しているのかわからないけど
>>673じゃ実際にできなかった
679:名無しさん@お腹いっぱい。
09/01/07 00:11:34 7ES8amql0
>>675
まぁ、おかしいというか物足りないというか。
『最初に見つけたものだけを返す』仕様だから仕方が無い。
その上で自前で関数書くのもライブラリ探すのも結果は一緒だよ。
>677
2重目のwhileのchkimgで
見つけたx座標に+1して再探査してるから、3個目も探し続けるでしょうね。
680:名無しさん@お腹いっぱい。
09/01/07 00:14:13 tfkVUyW50
この中に本人がまぎれてます
681:名無しさん@お腹いっぱい。
09/01/07 00:19:23 7ES8amql0
ああ、小学生的に日本語を間違えてた
>>674
× 二つ目以降が取得できない
○ 三つ目以降が取得できない
もしくは
○ 二つ目までしか取得できない
ですね
682:名無しさん@お腹いっぱい。
09/01/07 00:42:30 68bDEsj20
ああ、誰も突っ込まないからそこが間違ってるだなんて思わなくて
そこを疑わずに話をしてたけど
Whileの条件だけでループさせたところで
一重だろうが二重だろうが…何重にしたところで駄目だろ
FOR i = 0 TO 767 - 画像縦サイズ
X_Start = 0
WHILE CHKIMG( FileName, 0, X_Start, i, 1023 - 画像横サイズ, i) = TRUE
X_Start = X_Start + G_IMG_X
PRINT 個数 + ":" + G_IMG_X + "," + G_IMG_Y
WEND
NEXT
683:名無しさん@お腹いっぱい。
09/01/07 00:45:17 68bDEsj20
> X_Start = X_Start + G_IMG_X
X_Start = G_IMG_X + 画像横サイズ
こうか…間違ってたわ
684:名無しさん@お腹いっぱい。
09/01/07 01:09:03 yeJt08sV0
>>682
>>661これでできたよ
Y = 0
Y_Size = 1
FileName = "乳首.bmp"
WHILE CHKIMG( FileName, 0, 0, Y, 1023, 767)
print G_IMG_X + "," + G_IMG_Y
Y = G_IMG_Y + 1
WHILE CHKIMG( FileName, 0, G_IMG_X + 1, G_IMG_Y, 1023, G_IMG_Y + Y_Size - 1)
print G_IMG_X + "," + G_IMG_Y
WEND
WEND
>>661
なんでわざわざ配列使うの?
printを他の処理に変えばいいんじゃない?
685:名無しさん@お腹いっぱい。
09/01/07 09:05:43 KoQ4Gi/C0
結論
乳首の数は2個、位置は乳輪の真ん中
686:名無しさん@お腹いっぱい。
09/01/07 10:05:27 KoQ4Gi/C0
という冗談はおいて置いて、
>>666の言う通り、PRIINTは便宜上だろう。
最終的に配列で欲しいんじゃないか?
散布図画像のプロットデータを読み込んで何やら高度な計算、とかだったら99個じゃ足りないだろうな。
1. 数と位置を調べ、ファイルに書き出す。
2. ファイルを一旦閉じる。
3. ファイルを開く。
4. 配列宣言
DIM X_Zahyo[FGET(ID,-1)]
DIM Y_Zahyo[FGET(ID,-1)]
5. 配列に値をほうり込む。
これで大丈夫かな?
試してないけど。
687:名無しさん@お腹いっぱい。
09/01/07 11:37:52 NIEdi7RU0
おまいらがあんまり楽しそうに語ってるから久々に触ってみようと思ってヘルプ読んでみたけど
ChkImgの挙動ちゃんと書いてないんだなw
二箇所引っかかるような画像用意して
MsgBox(ChkImg(fname) + "<#CR>" + "x: " + G_IMG_X + "<#CR>" + "y: " + G_IMG_Y)
MsgBox(ChkImg(fname) + "<#CR>" + "x: " + G_IMG_X + "<#CR>" + "y: " + G_IMG_Y)
ってやったらこの二行目ので二箇所目の座標もちゃんと検出したんだけど
While ChkImg(fname)
688:名無しさん@お腹いっぱい。
09/01/07 11:40:31 NIEdi7RU0
途中で送信しちゃった
座標指定も使わず
While ChkImg(fname)
//G_IMG_XとG_IMG_Yの出力
Wend
だけでいいんじゃないのか?
って思ったけどどうなんだろ
689:名無しさん@お腹いっぱい。
09/01/07 11:50:19 KoQ4Gi/C0
一番左上の画像が延々と検出されるだけ。
690:名無しさん@お腹いっぱい。
09/01/07 11:57:26 NIEdi7RU0
え…俺二箇所ともWhileの方で引っかかるんだけど…
俺も無限ループになるのかなと思って>>687で試した結果
引数省略した時のデフォの値に前回取得したG_IMG_X,G_IMG_Yの結果を勝手にずらした座標が使われるって解釈して
ほんでもって>>688でちゃんと2箇所無限ループもせずに取得できたんだけど…
691:名無しさん@お腹いっぱい。
09/01/07 12:05:53 KoQ4Gi/C0
試したけどやはり一つだけを延々と検出するだけなんだが?
692:名無しさん@お腹いっぱい。
09/01/07 12:06:49 NIEdi7RU0
あ、ごめんごめん
この手の用途はPC放置してずっと監視させるのが目的だから
前回の値を起点にしたら長時間の画面監視なんてできないよね
忘れてちょうだい
693:名無しさん@お腹いっぱい。
09/01/07 12:08:35 KoQ4Gi/C0
>>692
試したらなったってのはどういうミスだったの?
694:名無しさん@お腹いっぱい。
09/01/07 12:08:46 NIEdi7RU0
リロードしてなかった…
>>691
なんでなのかな
uwscのバージョンとかで挙動が違うんかな
695:名無しさん@お腹いっぱい。
09/01/07 12:11:33 KoQ4Gi/C0
>>694
>>692を読むと結局無理だったというふうに読めたんだが、あくまで>>688はOKなの?
696:名無しさん@お腹いっぱい。
09/01/07 12:15:24 NIEdi7RU0
すまん久々に触ってるもんだから自分でも把握できないわ
混乱させるだけだからひっこむよ
ごめんよ(´・ω・`)
697:名無しさん@お腹いっぱい。
09/01/07 12:38:00 NH/SArFRO
走査しても人間が数値を読み違える事が在るからな。
MMVとSLEEP入れて、どこを検知したか分かり易くすると良いよ。
698:658
09/01/07 20:28:09 SaObSndz0
みなさんどうもありがとうございます。
連想配列という言葉は初めて聞いたので調べてみたいと思います。
699:名無しさん@お腹いっぱい。
09/01/07 20:43:38 UInQEAud0
ReSize使えよ
700:名無しさん@お腹いっぱい。
09/01/09 11:31:39 Ou47XQg10
UWSCを再生させるとPCで他の作業ができなくなり困ってます。
又、窓別に違うUWSCを再生することはできますか?
この腐れに教えて下さい・・・
701:名無しさん@お腹いっぱい。
09/01/09 11:38:17 9uVCk7/U0
>>700
よく意味が分かりません
スクリプトを窓別に書けばいいだけじゃないんですか?
702:名無しさん@お腹いっぱい。
09/01/09 17:07:03 Ou47XQg10
ALT+F2キー(再生)押した後PCの操作がすべて取られるので他の作業が
できないのです・・・
703:名無しさん@お腹いっぱい。
09/01/09 17:12:14 p1dhSGKj0
色々言いたいことはあるがやっかいなことになりそうなので、一言だけ。
諦めてください
704:名無しさん@お腹いっぱい。
09/01/09 17:14:03 oR+RJomT0
操作を取られないように書けばいいだけ
705:名無しさん@お腹いっぱい。
09/01/09 17:16:21 kg5KLxKp0
>>702
IEを操作するのならCOM使うとフォーカス奪われないよ
Windowsフォームを操作するのなら諦めて
706:名無しさん@お腹いっぱい。
09/01/09 17:31:46 gYr5hc3Z0
やったことはないのが
仮想PC(VMWare等)上でuwscを動かせば
自分は普通に作業できるのでは?
707:名無しさん@お腹いっぱい。
09/01/09 18:37:21 U0BD8E1t0
>>700
仮想マシンを使うのが簡単。
または、一つ一つの操作を、マウス・キーボードからWindowsAPIだとかを使うように全部変更すれば可能。
だだし、それ調べるのにソートー時間かかる。
WindowsAPIの知識が無いならやめとくべき。
708:名無しさん@お腹いっぱい。
09/01/09 18:51:10 oR+RJomT0
MOUSEORGすりゃいいだけだろw
何で仮想マシンになるんだwww
709:名無しさん@お腹いっぱい。
09/01/09 19:00:58 gYr5hc3Z0
>>708
それってさー
例えば、マウスポインタの位置を操作するスクリプトを動かしている最中で
自分はエクセルとかで同じくマウス使っている時に
マウスカーソルの位置がスクリプトによりどこかに飛ばされて作業の邪魔にならないの?
710:名無しさん@お腹いっぱい。
09/01/09 19:33:46 kmMJQUqm0
そうならないように指定すればいい。ってのに
そうならないの?って逆質問するのは馬鹿に見えるからやめたほうがいい
711:名無しさん@お腹いっぱい。
09/01/09 19:39:43 gYr5hc3Z0
>>710
馬鹿か お前はw
「そうならないように」するための 具体的な >>706や>>707の意見が出たんだろ?
そもそも >>700の質問自体が「そうならないように」する方法を問う質問だろうがw
お前、頭が不自由な子か?w
712:名無しさん@お腹いっぱい。
09/01/09 19:44:24 gYr5hc3Z0
>>710
>>700の用件を満たしていない様に思える >>708に対して
本当に用件を満たしているか問うことが何故馬鹿なんだ?w
お前は頭大丈夫か?w
713:名無しさん@お腹いっぱい。
09/01/09 19:48:21 LxZPgn7U0
必死だなww
714:名無しさん@お腹いっぱい。
09/01/09 19:48:51 oR+RJomT0
>>709
ならないよ
715:名無しさん@お腹いっぱい。
09/01/09 21:11:26 /4uiTXok0
以下頭の悪さをひけらかすID:gYr5hc3Z0はスルーでどうぞ
716:名無しさん@お腹いっぱい。
09/01/10 21:25:56 5RFVaUTS0
>>714
アプリに直接では送る相手が変わってしまって期待通りの動作しなかったりする。
それだったら直接API使った方がマシという。
717:名無しさん@お腹いっぱい。
09/01/10 23:38:46 0l2ZHHwf0
送る相手が変わる???
送り先指定してんのにどうやったら変わるんだ?
718:名無しさん@お腹いっぱい。
09/01/10 23:56:02 wtsRJKdD0
716は昨日のID:gYr5hc3Z0だろw
こいつは妄想で適当なことしか書き込まないからスルーしとけ
719:名無しさん@お腹いっぱい。
09/01/12 03:23:39 A1VFSCeY0
>>717
相手が変わるって言うか
アプリケーションに送るのとクライアントに送るのとで変わってくるだろ?
ちがうのかな。
アプリケーションに直接送るっていうのは、受け側がWM_CHARを処理しないといけないんだろ?
ゲームのようなやつはそんなの見てないし。
720:名無しさん@お腹いっぱい。
09/01/12 08:10:08 fTsgyzyK0
>>719
そんな妄想はいいから具体的にスクリプトあげてみてくれよ
721:名無しさん@お腹いっぱい。
09/01/13 01:43:09 kqB6nrSU0
// 投稿関数はtest15.uwsのもの。スレ覧取得ループはv1をさらに改造。
// キーワードに合致するものを優先的に検索・投稿し、そのほかは余裕があれば2ゲットする。
// 2008/7/4
// スレ覧はSubject.txtをGetして使うように変更。
// それに伴い304エラーのために間隔を開ける必要がなくなり、鯖への負荷も減らせる。
// 2008/07/14 OpenJaneでnewsplusを開いていてsageチェックがはずされていれば投稿し、待ち状態に入る。
// 2008/11/02 FOXの板を回避
// 2008/11/25 3回目の規制で、「二日までなら見逃し」という依頼者からの発言を受けて、
// 日付変更をチェックして自動終了するように変更。
def_dll GetWindow(hWnd,long):long:user32.dll
Public GW_ENABLEDPOPUP = 6 // ポップアップウィンドウ
board = "ニュース速報+"
//Jane本体のID取得
JBID = GetID("", "TMainWnd")
Public ProblemName = "FOX★", "番犬★"
/////////
// 定義
STOPFORM(true)
メモ帳 = Exec("notepad.exe")
板アドレス="URLリンク(mamono.2ch.net)"
TEXTBLOCK text24
正論が通らない狂った日本
URLリンク(ryotaroneko.ti-da.net) // 2ch規制
ENDTEXTBLOCK
Dim TitleWord = "更迭" // text1の投稿対象とするスレッドタイトル
text0 = text2 // そのほかのスレッドへの投稿内容
text = text0 // 投稿テキストにセット
722:名無しさん@お腹いっぱい。
09/01/13 01:44:13 kqB6nrSU0
Dim oHttp // 通信オブジェクト
conturl = "URLリンク(mamono.2ch.net)" // スレッド保存場所
url=板アドレス + "subject.txt" // 新着監視ページ
PUBLIC errortitles[]="サーバーが見つかりません", _
"ERROR", _
"ERROR", _
"error", _
""
DIM LastThreadNo=0 // スレ番を保存し、2重の書き込み、過去スレへの書き込みを回避する。
/////////
// 処理
// 通信オブジェクト接続
oHttp = CreateOLEObj("MSXML2.XMLHTTP")
// 投稿用ブラウザを起動
IE = CreateOLEObj("InternetExplorer.Application")
IE.visible = True
ID = HNDToID(IE.HWND)
SendSTR( メモ帳, TitleWord + "を処理します。<#CR>", 1, false, false )
LastModified = "Thu, 01 Jun 1970 00:00:00 GMT"
LastThreadNo = 0
sleeptime = 9
Gettime()
StartDay = G_TIME_DD
while 1
sleep(sleeptime)
Gettime()
SendSTR( メモ帳, G_TIME_HH2 + ":" + G_TIME_NN2 + ":" + G_TIME_SS2 + "." + G_TIME_ZZ2 , 1, false, false )
ifb StartDay <> G_TIME_DD then
SendSTR( メモ帳, "<#BR>日付変更により終了", 1, false, false )
exit
endif
723:名無しさん@お腹いっぱい。
09/01/13 01:45:08 kqB6nrSU0
// Webページ読み込み
COM_ERR_IGN //COMエラー無視
SendSTR( メモ帳, " ", 1, false, false )
oHttp.Open("GET", url, True )
SendSTR( メモ帳, ".", 1, false, false )
oHttp.setRequestHeader("If-Modified-Since", LastModified);
SendSTR( メモ帳, ".", 1, false, false )
oHttp.Send("")
SendSTR( メモ帳, ".", 1, false, false )
ifb 200 = oHttp.status Then
SendSTR( メモ帳, ";", 1, false, false )
sleeptime = 3
else
SendSTR( メモ帳, ":", 1, false, false )
sleeptime = sleeptime + 10
SendSTR( メモ帳, " " + oHttp.status + "<#CR>", 1, false, false )
continue
endif
SendSTR( メモ帳, ".", 1, false, false )
LastModified = oHttp.getResponseHeader("Last-Modified")
SendSTR( メモ帳, ".", 1, false, false )
ifb COM_ERR_FLG
SendSTR( メモ帳, ".", 1, false, false )
SendSTR( メモ帳, "COM ERROR<#CR>", 1, false, false )
continue
endif
SendSTR( メモ帳, ".", 1, false, false )
COM_ERR_RET //エラー処理復帰
SendSTR( メモ帳, " stat:" + oHttp.status + "<#CR>" , 1, false, false )
str = DECODE(oHttp.responseBody, CODE_BYTEARRAY)
724:名無しさん@お腹いっぱい。
09/01/13 01:48:23 kqB6nrSU0
// IEが終了された場合は連動して終了
if !IDToHND(ID) Then break
// スレッド一覧を処理
ThreadNo = 0
for TCnt = 1 to 50
str1 = token( "<#CR>", str, true, false )
Ifb 1 < Pos("(1)", str1) Then
SendSTR( メモ帳, str1 + "<#CR>", 1, false, false )
// スレ番取得
str2 = CopyB( str1, 1, 10 )
ThreadNo = Val(str2, -1)
if -1 = ThreadNo Then continue 2
//////////////////////////////////////
// 特定のスレッドにのみAAを投稿する。
Ifb Pos(TitleWord, str1) Then
text = text1
break
Else
// デフォルトテキストをセット
text = text0
// 処理しなかったスレ番の保存
//LatestNewList = ThreadNo
Endif
endif
next
///////////////////////////////////////////////
// 未処理の新規スレが残っている場合、投稿する。
// ループの外でやる理由は、一番古いスレから処理するため。
Ifb ThreadNo Then
725:名無しさん@お腹いっぱい。
09/01/13 01:49:05 kqB6nrSU0
// 投稿処理
ret = Cont( IE, conturl, ThreadNo, text, メモ帳) // text = text0
Gettime()
TS = G_TIME_HH2 + ":" + G_TIME_NN2 + ":" + G_TIME_SS2 + "." + G_TIME_ZZ2
ifb ret Then
LastThreadNo = ThreadNo
SendSTR( メモ帳, "●good " + TS + "<#CR>", 1, false, false )
sleeptime = 130
else
SendSTR( メモ帳, "▲err " + TS + "<#CR>", 1, false, false )
sleeptime = 5
endif
Else // Janeの書き込み準備ができていれば投稿
Ifb -1 <> JBID Then
//JCID = GetID("", "TWriteForm")
JCID = GetChldID(JBID)
Ifb JCID Then
Ifb 0 = ChkBtn(JCID, "sage") Then
GetItem( JCID, ITM_ACCCLK, 1)
Ifb Pos(board, ALL_ITEM_LIST[10]) Then
Ifb SaveJane( JBID, JCID ) Then
SendSTR( メモ帳, "〓OpenJaneで投稿" + "<#CR>", 1, false, false )
sleeptime = 130
else
SendSTR( メモ帳, "〓投稿失敗" + "<#CR>", 1, false, false )
endif
Endif
Endif
Endif
Endif
Endif
wend
726:名無しさん@お腹いっぱい。
09/01/13 01:53:06 kqB6nrSU0
>>721-725
関数化した部分があるけど長すぎたので省略
Function GetChldID( PID, CID = 0 )
// 投稿処理 ////////////////////
// 戻り値: TRUE:正常、FALSE:エラー
// 引数:
// IE :IEオブジェクト
// conturl :スレの場所
// TNo :スレ番
// text :投稿テキスト
// メモ帳=0 :メモ帳ID
// メモ帳IDはデバッグ用
Function Cont( Var IE, conturl, TNo, text, メモ帳=0)
//////////////////////////////////////////////////////
// 投稿ページを開く
// 引数:IEオブジェクト、アドレス、スレッド番号、投稿テキスト、試行回数、メモ帳ID
// 成功すればtrue、不完全なページならfalseを返す。
Function OpenContPage( Var IE, conturl, TNo, text, LTimes=3, メモ帳=0)
//////////////////////////////////////////////////////
// OpenJaneの投稿処理をする。
// 開いているスレと投稿先が違うと出る警告画面の処理のため関数化。
// _分で処理できなければFalseを返す
// ID:親ウィンドウのID
// IDD:Web ページの保存ダイアログID
// OpenJaneはウィンドウを閉じても非表示で存在している。
// そして投稿窓もダイアログでなく独自ウィンドウクラス。
// なので、制御がややこしい。
// 投稿窓が非表示になるとき、別の子窓が取得できるので、・・・
// 1000レスついてたり書き込みできない場合延々と繰り返してしまう・・
Function SaveJane( ID, IDD, メモ帳=0 )
727:名無しさん@お腹いっぱい。
09/01/13 02:41:28 OFjJkjc60
2getに加担して鯖の負荷を上げるのは嫌だねぇ。
こういうのだったら使い勝手とか言わないでセカンドマシンでぶん回しておけよ。
…何で2get…ブログ先の人も首を傾げてるんだがなぁ。
728:名無しさん@お腹いっぱい。
09/01/14 15:27:40 xOT5hdBj0
uwscで単純な作業複数を、それぞれひとつずつのキーに割り当てることってできますか?
記録と再生でひとつの動作は行えるのですが、
複数のマクロや○+○じゃなくひとつのキーで実行は出来ないのかなと。
729:名無しさん@お腹いっぱい。
09/01/14 15:34:16 ENz9kV0Y0
できるよ
730:名無しさん@お腹いっぱい。
09/01/14 16:11:48 rt4k6YB30
>>728
出来るけど、ショートカットKey絡みならAHKの方が楽だと思う。
731:名無しさん@お腹いっぱい。
09/01/14 16:16:45 dFd2Qpc10
私はAHKでuwscファイルを呼び出すけど
732:名無しさん@お腹いっぱい。
09/01/14 16:21:26 rt4k6YB30
>>731
お、同志w
自分も行数あるスクリプトはすぐに面倒になってUWSCで書いてるわ…
733:名無しさん@お腹いっぱい。
09/01/14 18:00:21 5VRwikzI0
ある株ソフトにアラーム機能がないので
UWSCで出来たらいいなと思いましたが
どうしたらいいのか分かりません。
そのソフトはシグナルが出たときに
一番上の行に時間やら銘柄やら株価などが更新されていきます。
上昇のシグナルは緑背景に白文字、
下降のシグナルは赤背景に白文字となっており
上昇の緑の時にだけアラームを鳴らしたくて
WHILE TRUE
IFB PEEKCOLOR(887 , 241) = $2F6B55 THEN
SOUND("C:\WINDOWS\Media\notify.wav")
sleep(2)
else
sleep(1)
ENDIF
WEND
分からないなりにやってみたけど
これじゃあ赤いシグナルから緑に変わったときにしか
役に立たない・・・
ボクにも書けそうな簡単なスクリプトあれば教えてください。
734:733
09/01/14 21:00:55 5VRwikzI0
追記
とにかくソフトになにか変化があったらアラームを
鳴らさせるように出来ないでしょうか?
735:名無しさん@お腹いっぱい。
09/01/14 22:46:19 INWUQKt00
そこまで聞くならソフト名ぐらい晒せ
736:733
09/01/14 22:51:25 5VRwikzI0
>>735
大人買検知機というソフトです。
URLリンク(www.vector.co.jp)
737:名無しさん@お腹いっぱい。
09/01/14 22:55:16 hOB1qOFr0
いっこのループと、いっこの条件分岐が出来てるから…
後は、ほしい数だけ条件分岐を作れば出来るよ。
738:名無しさん@お腹いっぱい。
09/01/14 22:59:56 rt4k6YB30
>>734
URLリンク(ochoja.web.fc2.com)
UWSCコードの断片生成器
を使わせて貰って一番都合のよいもの(status,str,etc)選んでスクリプト書けば良い。
739:733
09/01/14 23:34:18 5VRwikzI0
>>737
どういう条件分岐作ればいいのでしょう?
peekcolorだけでやるのは無理ですよねえ?
>>738
***** getstr() sendstr() ********************
getstr(id,0,STR_STATIC)="大人買検知機"
getstr(id,0,STR_ACC_STATIC)="時刻"
getstr(id,1,STR_ACC_STATIC)="時刻"
getstr(id,2,STR_ACC_STATIC)="銘柄"
getstr(id,3,STR_ACC_STATIC)="約定値"
getstr(id,4,STR_ACC_STATIC)="出来高"
ちょっとやってみましたが
getstrで更新される文字とれるのでしょうか?
むずかしい~
740:名無しさん@お腹いっぱい。
09/01/14 23:39:21 3rpO1RzOP
>>733
えーと監視する項目の色が緑に変わったときにアラームを鳴らしたいんだよね?
ということは、前回チェックした時の色と今回の色を比較しなければダメだよ。
色は何種類あるの? 赤と緑以外に通常の表示色はある?
それと気になった点を言うと、何秒おきに監視するの? 1、2秒単位で監視する
アルゴリズムになっているようだけど無駄にマシンパワーを食うんじゃない?
30秒おきとか1分おきとか5分おきとかだよね?
アルゴリズムを書くけど スクリプトにする時は文法と変数規約に則して変えてね。
※←は代入の意味ね。
前回の色 ← 通常色
今回の色 ← 通常色
WHILE TRUE
今回の色 ← 今回の色を取得して変数に代入
IFB 前回の色と今回の色が違う AND 今回の色は緑
アラームを鳴らす
ENDIF
前回の色 ← 今回の色
次回チェックまでXX秒スリープ
WEND
741:733
09/01/15 00:55:00 tW7kX9XU0
>>740
緑背景から緑背景の場合もあるから
文字の入る場所も含めて取得する地点を複数にして
判断すればいいのかな
比較ののところがどう記述すればいいのかまったく分かりません。
今のところ1秒でやっても負荷たいしてかからないけど
複数地点にして比較すると相当負荷かかってくるカモですね。
その場合はもうちょっと間隔あけるようにします。
742:名無しさん@お腹いっぱい。
09/01/17 11:18:45 iMN83Hym0
// ===
前回の色 = ""
WHILE TRUE
WHILE TRUE
今回の色 = (PEEKCOLOR(887 , 241)
IF !(今回の色 = $白ーい色) THEN BREAK // 白以外ならループ抜ける // !で真偽反転だっけかな;
今回の色 = (PEEKCOLOR(111 , 222)
IF !(今回の色 = $白ーい色) THEN BREAK // 白以外・・
今回の色 = (PEEKCOLOR(333 , 444)
IF !(今回の色 = $白ーい色) THEN BREAK // 白以外・・
WEND
IFB !(今回の色 = 前回の色) THEN
// 同じ色ではない場合の処理
IF 今回の色 = $2F6B55 THEN SOUND("C:\WINDOWS\Media\notify.wav") // グリーンなら
IF 今回の色 = $レッドオ THEN SOUND("C:\WINDOWS\Media\レッドオ.wav") // レッドなら
ENDIF
前回の色 = 今回の色
sleep(1)
WEND
// ===
泥くせ;;;
743:733
09/01/17 20:56:43 3elNHqC+0
分からないなりに理解しようとしましたが
色を取得するってところが全然分からない。
今回の色とか前回の色oldcolor newcolor?
744:名無しさん@お腹いっぱい。
09/01/17 23:58:47 70fVoJI80
>>743
ひょっとして変数が判ってない?
いずれにしろ、UBTrek使ってpeekcolorを検索すれば沢山ヒットすると思う。
745:733
09/01/18 00:49:03 V1b5lGQF0
>>744
単純なpeekcolorの記述は何個か出てきましたが
前回の色と今回の色を比較するような例が見つかりませんでした。
746:名無しさん@お腹いっぱい。
09/01/18 01:13:45 WQ5z9x9T0
>>745
dim color=peekcolor(100,200)
while true
newcolor=peekcolor(100,200)
ifb !color=newcolor
msgbox("変わった")
color=newcolor
endif
sleep(0.5)
wend
無限ループなので適当にBreak。
Mouseorg(id,2)使ってwindow指定した方がよいかも。
RGBが少しでも変化すれば反応してしまうので、RGBに分解した方がよいかも。
747:733
09/01/18 01:13:47 V1b5lGQF0
緑、赤とか関係なく
ある一点の色変化があったときに
アラームを鳴らす具体的なスクリプト教えていただけませんか
なんとかそこから発展させてやっていきたいと思いますので。
748:733
09/01/18 01:18:03 V1b5lGQF0
>>746
ありがとうございます
でもまったく反応しないですね。
このままじゃダメなんでしょうか?
749:名無しさん@お腹いっぱい。
09/01/18 01:21:04 aouJYoBm0
>>748
プログラムの基礎から学び直したほうがいいよ
君にはまだ早い
750:733
09/01/18 01:29:38 V1b5lGQF0
あ、反応しましたが
なかなか反応しない感じです。
751:名無しさん@お腹いっぱい。
09/01/18 03:18:31 lcf3XQYB0
皆さんのUWSCを使用する用途は大体何ですか?
自分のPC環境の最適化以外にUWSCというのは
マスターしたとしても他に例えば何に役立つのでしょうか?
例:仕事面 WEB製作面 etc
マジ質問です
752:WTTEkBtZS
09/01/18 03:22:58 24LUwixi0
URLリンク(rybeiddery.awardspace.com) dominos sub
URLリンク(maridoctoge.awardspace.com) ruff ryders columbus
URLリンク(caross.awardspace.com) darren nadel
URLリンク(maridoctoge.awardspace.com) ruff ryders soccer
URLリンク(rybeiddery.awardspace.com) dominos pizza nutrition
URLリンク(therybaive.awardspace.com) lenora jubilee
URLリンク(caross.awardspace.com) nadel jewish
URLリンク(maridoctoge.awardspace.com) ruff ryders layout
URLリンク(therybaive.awardspace.com) jubilee history
URLリンク(deadingrain.awardspace.com) facbook
URLリンク(therybaive.awardspace.com) red cedar jubilee
URLリンク(caross.awardspace.com) natasha nadel
URLリンク(rybeiddery.awardspace.com) pizza hut ottawa
URLリンク(caross.awardspace.com) nadel sarasota
URLリンク(maridoctoge.awardspace.com) bay ruff ryders
URLリンク(maridoctoge.awardspace.com) left ruff ryders
URLリンク(caross.awardspace.com) nadel artist
URLリンク(maridoctoge.awardspace.com) ruff ryders do
URLリンク(caross.awardspace.com) bernard nadel
URLリンク(caross.awardspace.com) fred nadel
753:名無しさん@お腹いっぱい。
09/01/18 05:43:43 85r780v+0
プログラムの何の知識も無いものがuwsc用のスクリプトを
作れるぐらいにったと仮定した場合に、既存のプログラミング言語では何が一番
とっつき易いでしょうか?
754:名無しさん@お腹いっぱい。
09/01/18 06:09:29 7B/GQZFQ0
>>751
仕事面:決まりきった作業、繰り返し作業の効率化
Web製作面:ランダムな操作で想定外行動のチェック漏れ発見(意味あるかは知らない
セキュリティ面:泥棒が侵入してきたとき、クイックメニューから一発でメールで連絡できる。
ある程度相手が分かってる時便利。
DOSコマンドでメール送信するのを使ってたけど、コマンドラインにパスワード入れなきゃいけなかったので削除されてしまった。
うpろだのJpeg画像とか、一回ペイントで開いて上書き保存すると、サイズが半分近くになる場合が多い。
だからダウンロードした画像のリストをエクスプローラーで出して、ドラッグとCtrl+Sで更新を繰り返すのとか作った。
あとは、性能は低いけどパスワードクラックとか2Getスクリプトとか
たくさんのID作りたいときに自動登録マクロとか。
755:名無しさん@お腹いっぱい。
09/01/18 06:10:50 7B/GQZFQ0
STOPFORM(true)
ID = Exec("C:\WINDOWS\system32\mspaint.exe")
while ID = (-1) // 負荷が高いとID拾えないので
sleep(0.1)
ID = GetID("無題 - ペイント")
wend
Repeat; sleep(0.1); Until GetKeyState(VK_CONTROL)
StartX = G_MOUSE_X
StartY = G_MOUSE_Y
sleep(1)
While !GetKeyState(VK_CONTROL)
CLKITEM( ID, "ファイル\新規", CLK_MENU )
sleep( 0.1 )
// Ctrlキーで中断・再開
ifb GetKeyState(VK_CONTROL) then
sleep(5)
Repeat; sleep(0.2); Until GetKeyState(VK_CONTROL)
sleep(1)
endif
MMV( StartX, StartY )
BTN( LEFT, DOWN, StartX, StartY )
EndX = Status(ID, ST_X) + 30
EndY = Status(ID, ST_Y) + 10
MMV( EndX, EndY )
BTN( LEFT, UP, EndX, EndY )
If DlgWait(ID, EndX , EndY) Then Continue
If Status(ID, ST_TITLE) = "無題 - ペイント" Then break
CLKITEM( ID, "ファイル\上書き保存", CLK_MENU )
DlgWait(ID, EndX , EndY)
wend
CtrlWin(ID, Close)
MsgBox("処理が終了しました。")
756:名無しさん@お腹いっぱい。
09/01/18 06:12:23 7B/GQZFQ0
// マウス形状が通常の状態が1秒ほどあればタイムアウト。
// その間にダイアログが表示されるかどうかで戻り値が変わる。
// ダイアログが出た場合、OKをクリックする。
// True: 窓出現 False: 窓出ず
Function DlgWait(ID, EndX , EndY)
Result = False
cnt = 0
while cnt < 6
sleep(0.1)
MMV( EndX , EndY )
if MUSCUR() = CUR_ARROW Then cnt = cnt + 1
CID = GetChldID(ID)
Ifb CID Then
sleep(1)
ClkItem(CID, "OK")
Result = True
break
endif
wend
Fend
// 子ウィンドウを探す
// 戻り値:子ウィンドウのID。見つからなければ0。
// PID:親ウィンドウID
// CID:子ウィンドウIDの候補
// GW_ENABLEDPOPUPはWindows2000以降のみでサポート
//
// GetWindowによる子ウィンドウ取得を、GetChldIDに使ってみたが、
// Zオーダーで手前のウィンドウを全て取得するので選別する必要がある。
// メニュー Class:"#32768"
// ダイアログ Class:"#32770"
// ツールチップ Class:"tooltips_class32"
757:名無しさん@お腹いっぱい。
09/01/18 06:17:23 7B/GQZFQ0
Function GetChldID( PID, CID = 0 )
Ifb CID Then
Ifb PID = STATUS( CID, ST_PARENT ) Then
result = CID
exit
endif
endif
h = GetWindow( IDToHnd(PID), GW_ENABLEDPOPUP )
Ifb h Then
S = Status(HndToID(h), ST_CLASS)
Select S
case "#32768"
Result = 0
case "tooltips_class32"
Result = 0
default
Result = HndToID(h)
Selend
Else
Result = 0
Endif
Fend
// エクスプローラーとペイントを使った、Jpeg画像ファイルダイエットスクリプト 2008/10/21
// 使用方法:対象ファイルをエクスプローラーで表示し、ペイントが起動したら、エクスプローラーの
// ファイル一覧画面の一番下のファイルにマウスカーソルを合わせ、Ctrlキーをクリックする。
// Ctrlキーで中断。
ソースは >>755-757
※エクスプローラーで、ファイルを詳細表示し、表示中ファイルの一番下のやつをクリックすると勝手に一つスクロールする。
これを使うと簡単に順番に処理することができる。スクロールしない場合は窓の高さを変更する。
758:名無しさん@お腹いっぱい。
09/01/18 06:25:01 7B/GQZFQ0
>>753
VBSかな。これもスクリプト言語だけど・・・
次はVB.netかな。
>>750
sleepが0.5秒だから反応は遅いね。
759:名無しさん@お腹いっぱい。
09/01/18 09:12:15 BRvZ2wPi0
>>733
とりあえず、最低限
URLリンク(big.tm.land.to)
の内容くらいは自分で理解してから質問してくれぃ。
760:733
09/01/18 11:55:00 V1b5lGQF0
>>759
一応読んでみたのですが
取得した値と新しく取った値を比較
さらに新しく取った値と比較みたいなことは
どこにも書いてないのではないでしょうか?
>>758
これって最初に取得した色と比較してMSGBOXが出るようになってますよね?
ある地点の色を取得して現在の色と比較
さらに取得して新しく取得した色と比較と
これを繰り返していきたいんです。
761:名無しさん@お腹いっぱい。
09/01/18 12:41:56 O40sJXqz0
>>760
あなたは日本語言語でちゃんと処理を記述してるじゃないか。
あなたがセンテンスを分割して2行で書いたとおり
uwscで2回比較処理をすればいいじゃないか。
これ以上はちょっと俺は関与することに面白みを見出せないわ
別にアルゴリズム的に難題というワケでもなし。
単なる知識不足のサポートは自助努力で補うといいよ。
…書いたものに駄目だしをされるだけなのは疲れるからね。
自分で書きなさい。想定がつけば駄目だしをしてあげるから。
762:名無しさん@お腹いっぱい。
09/01/18 12:45:57 Xm1Xcjw/0
自分でやろうって気が少しも感じられないもんな
763:名無しさん@お腹いっぱい。
09/01/18 13:15:24 I+l/Qm3w0
>>760
自分のやりたいことがそっくりそのまま1から10まで書いてあるわけ無いだろ。
基本的なことは書いてあるんだからそれを理解したなら自分で作れ
764:名無しさん@お腹いっぱい。
09/01/18 15:31:11 xwkw1ib70
>>754
真面目にレスありがとうございます
UWSCで画像を対象にした条件分岐や色々作成した事はあるのですが
(今ではすっかり文法忘れてます)
ルーターにアクセスしてある設定を切り替える、等も
UWSCで可能でしょうか?
PHP等のスクリプトですると難しそうなので・・・
765:名無しさん@お腹いっぱい。
09/01/18 18:34:11 o9RUmICX0
可能です
766:733
09/01/19 15:25:59 V9clvX4k0
みなさんのヒントを元になんとか完成しました。
またつまづいたらよろしくお願いします。
767:名無しさん@お腹いっぱい。
09/01/19 20:54:27 qcrdC3FS0
ハハ お断りします
(゚ω゚)
_(_つ/ ̄ ̄ ̄/_
\/___/
768:名無しさん@お腹いっぱい。
09/01/20 00:58:10 CMylmmuM0
[Ver4.5]
769:名無しさん@お腹いっぱい。
09/01/20 01:37:12 0N/gC0gi0
高レベル記録…
なんというお手軽システム。
770:名無しさん@お腹いっぱい。
09/01/20 10:17:34 Rt1OsezX0
うう、まだcall文で変数が使えんのか・・・
771:名無しさん@お腹いっぱい。
09/01/20 11:22:31 mivuHGw40
IE_Subってもう入手できないの?
772:名無しさん@お腹いっぱい。
09/01/20 16:02:13 6xnO4udb0
一昨日からスクリプト組始めたんですが、どうにも配列変数の使い方(定義を含めて)がわからないので
詳しい方ご教示願います。
例えば変数ABC(x、y)に10*10=100個の変数にX軸Y軸共に1を格納していく場合、
BASICで書くと(うろ覚えですけど。)
FOR Y=0 to 9
FOR X=0 to 9
ABC(X,Y)=1
X=X+1
NEXT X
Y=Y+1
NEXT Y
と、したい所をuwscでは最初にどう定義して配列変数を使っていけばいいですか?
ヘルプ見たんですけど、イマイチイメージがつかめません
お願いします。
773:名無しさん@お腹いっぱい。
09/01/20 16:09:22 6xnO4udb0
あ、FOR~NEXTってX=X+1とかいらないんだっけ?・・・orz
774:名無しさん@お腹いっぱい。
09/01/20 17:49:05 LpFWL/UM0
どうって、
DIM ABC[10][10]って定義して
> ABC(X,Y)=1
ABC[X][Y]=1
っていれてくだけでしょ…
775:名無しさん@お腹いっぱい。
09/01/20 18:03:13 6xnO4udb0
ああ、(x,y)じゃなくて[x,y]じゃないといけないのね・・・helpそういう意味かorz
とんだ勘違いしてました。どうもです
776:名無しさん@お腹いっぱい。
09/01/23 08:39:26 n0Gk8YsY0
複数のスクリプトを連続で起動させるにはどうすればよいですか?
1のスクリプトがおわったら自動的に2をのスクリプト起動、2→3、3→4...という感じです。
777:名無しさん@お腹いっぱい。
09/01/23 10:36:35 E4bxtYk+0
>>776
各スクリプトの最後でcall。
もしくは
exec("フルパス\uwsc.exe フルパス\hoge.uws")
こちらは多重起動禁止だとダメかもしれん。
778:名無しさん@お腹いっぱい。
09/01/23 12:19:14 v1eHViqS0
>>776
1の頭で2,3,4をcallして
1でprocedureやFunctionを順に呼び出してもいいよ
779:名無しさん@お腹いっぱい。
09/01/23 12:30:51 n0Gk8YsY0
>>777
>>778
ありがとうございました。とても参考になりました。
780:名無しさん@お腹いっぱい。
09/01/23 14:55:53 uyPNdhnC0
>>705さんの
>IEを操作するのならCOM使うとフォーカス奪われないよ
これについて理解を深めたいのですがどのあたりを具具れ場良いのでしょうか?
781:705
09/01/23 20:41:40 CkpYM4hA0
>>780
これに関してはググってないからわかんない
ヘルプのじゃ難しい?
スクリプト > スクリプト関数 > COMオブジェクト, IE操作関連
あとはページソースと睨めっこ
782:780
09/01/23 22:39:18 aJMC8HA30
>>781 ありがとうございます。よく読んでみます。
783:名無しさん@お腹いっぱい。
09/01/24 16:24:29 T53k2DPg0
かなり、基本的なことで恥ずかしいことなのですがどうしても解決できず…
HAZU = GETID("URLリンク(www.***)")
ClkItem(HAZU, "事件", CLK_BTN)
上記では、webウィンドウ上のアイテムをくりっくすることができません。
エラーは起きないのですが。。
原因としてはなにが考えられるでしょうか?
784:名無しさん@お腹いっぱい。
09/01/24 16:35:10 jFu+yqaK0
left clickではないだろうか。
785:名無しさん@お腹いっぱい。
09/01/24 17:06:55 JOvNHrQj0
>>781=>>783?
786:名無しさん@お腹いっぱい。
09/01/24 19:22:15 nTyZ62iO0
早速のへんしんあり
Left Clickということは、そのあとに座標指定ですよね?
web上だとずれてしまいませんか??
>>785
違いますよ~
787:名無しさん@お腹いっぱい。
09/01/25 02:35:43 XdmZStkM0
>>782
わからなかったからここできくといいよ
その時はURL晒すように!
↓のようなレベルの質問しなければだけどw
ID:5VRwikzI0
ID:V1b5lGQF0
>>783
IE上のはCOMで書かないとだめ
ウィンドウ関連はWindowsフォームを扱うもの
788:名無しさん@お腹いっぱい。
09/01/25 12:17:04 mUdf+86S0
COMで書くと言うことは、C++や、java言語で組め
ということですか?
789:名無しさん@お腹いっぱい。
09/01/25 12:29:17 KXHTzu1o0
座標(720,100)の赤要素が200~255の時はAキーを押し、
赤要素が199以下の時はBキーを押す。
というように動かすにはどう記述すればいいですか?
----------------------------------------------
IFB (PEEKCOLOR(720,100) and $0000FF) 55 then
KBD(VK_A,CLICK,40)
ELSE
KBD(VK_B,CLICK,40)
ENDIF
----------------------------------------------
上記のように書きましたがうまくいきません。
ご教授お願いします。
790:名無しさん@お腹いっぱい。
09/01/25 13:03:24 mUdf+86S0
IE上の、どのラジオボタンをクリックするのかを指定するにはどのようにすればよいのでしょうか?
IESetData(IE,True,"lr","lang_ja") // ラジオボタン選択:日本語のページを検索
IESetData(IE,"UWSC","q") // 文字設定:検索単語
IESetData(IE,True,"btnG","Google 検索") // SUBMIT
ヘルプではこのように載っていますが1行目のlrというのは、ラジオボタンということを示しているのでしょうか?
よくわかりません><
791:名無しさん@お腹いっぱい。
09/01/25 13:17:12 yFPEYg0l0
教授じゃなく教示だと何度言ったら
792:名無しさん@お腹いっぱい。
09/01/25 14:10:16 XdmZStkM0
>>790
IESETDATA( IE, 値, Name, [Value, 番号] )
google.co.jpのソースを見ると
<input id=all type=radio name=lr value="" checked><label for=all> ウェブ全体から検索 </label>
つまり Name=lr, value= ""
<input id=il type=radio name=lr value="lang_ja"><label for=il> 日本語のページを検索 </label>
同様に Name=lr, value= "lang_ja"
値がtrueということは,選択もしくはクリックするということ
793:名無しさん@お腹いっぱい。
09/01/25 14:11:57 XdmZStkM0
>>790
//以下コード
IE = CreateOLEObj("InternetExplorer.Application")
IE.Visible = True
IE.Navigate("URLリンク(www.google.co.jp)")
BusyWait(IE)
IESetData(IE,True,"lr","lang_ja") // RADIO: 日本語のページを検索
MSGBOX( "日本語のページを検索 のラジオボタンをオンにしました." )
IESetData(IE,True,"lr") // RADIO:ウェブ全体から検索
MSGBOX( "ウェブ全体から検索 のラジオボタンをオンにしました." )
Procedure BusyWait(ie)
Sleep(0.5) // Wait
Const TIME_OUT = 90
tm = Gettime()
repeat
Sleep(0.2)
ifb Gettime() - tm > TIME_OUT
MsgBox("Time Out:BusyWait")
ExitExit
endif
until (! ie.busy) and (ie.readyState=4)
Sleep(0.5)
Fend
794:名無しさん@お腹いっぱい。
09/01/25 14:34:02 XdmZStkM0
>>789
IFB ( PEEKCOLOR( 720, 100 ) and $FF ) >= 200 then
andってどういうこと?教えて!
795:名無しさん@お腹いっぱい。
09/01/25 14:44:55 od339K0v0
>>794
ビット積
URLリンク(www3.bigcosmic.com)
オイラも前に同じこと聞いたw
796:名無しさん@お腹いっぱい。
09/01/25 14:48:20 XdmZStkM0
>>795
ありw
797:789
09/01/25 18:08:13 KXHTzu1o0
>>794
ありがとうございます。うまく動きました。
798:名無しさん@お腹いっぱい。
09/01/25 23:25:00 mUdf+86S0
>>792
なるほど。ソースを調べるわけですね
骨が折れますね
大事なことを教えて頂き、ありがとうございます^^
しかし、右クリックでソースを調べることが出来ない場合はどうすればよいでしょうか?
799:名無しさん@お腹いっぱい。
09/01/26 00:00:03 o/KQMVrn0
>>798
opera使うといいよ
右クリック禁止抑制とかフレームのソースも簡単に拾える
俺も解析用に使った
今ではメイン
800:名無しさん@お腹いっぱい。
09/01/26 19:12:01 +wQJsntF0
なにからなにまでありがとうございます
試してみます
801:名無しさん@お腹いっぱい。
09/01/26 21:28:55 +wQJsntF0
InternetExplorer上で、操作したいページを表示した状態で、
IE = GETACTIVEOLEOBJ("InternetExplorer.Application", "Web航海時代" )
IESetData(IE,True,"point","3")
↑のようなコードを実行しても、なにも起きません
エラーは起きていないし、nameやvalueも間違っていないと思うのですが…
802:名無しさん@お腹いっぱい。
09/01/26 21:58:38 lqCZORip0
nameかvalueが間違ってるんだと思う
IESetDataの戻値を見て正常かエラーか見てみればいかが?
803:名無しさん@お腹いっぱい。
09/01/26 22:40:25 +wQJsntF0
<input type=radio name=point value="3">
↑ソースコードですが、name,value共にあっているかと…
804:名無しさん@お腹いっぱい。
09/01/27 03:31:42 i4vBvxWB0
志村ー!、ダブルクォーテーション!ダブルクォーテーション!
805:名無しさん@お腹いっぱい。
09/01/27 21:41:22 ko0WGgzz0
うぅ、、、ダブルクォーテーションまーくをつけたりとったりしてみましたが、エラーになりました><
806:名無しさん@お腹いっぱい。
09/01/27 21:51:17 i4vBvxWB0
<input type="radio" name="point" value="3">
これで行けるはずだけど、行けなかったらごめん、その時は他が間違ってると思う。
807:名無しさん@お腹いっぱい。
09/01/28 14:39:28 Di5rN0Wd0
色の判定をしてるのですが全然認識をしてくれません・・・
自分の環境に合わせてるつもりなのですが、どうすればBRG値をうまく範囲化できるのでしょうか><?
808:名無しさん@お腹いっぱい。
09/01/28 20:10:56 aP03qKyG0
>>806
わざわざありがとうございました^^
しかし、なにもかわらず…
色々やってみます。
809:名無しさん@お腹いっぱい。
09/01/28 20:42:55 aP03qKyG0
普段のIEの操作では実行できないページってあり得ますか?
例えば、私が操作しようとしているページは、そこのURLを直接打ち込んでもまっすぐ行けず
必ずホームに戻って、ホームから行きたいページのリンクをクリックしなければならないんですよ
ホーム→URLリンク(www9.plala.or.jp)
操作したいページ→URLリンク(www9.plala.or.jp)
※Operaだと、直接飛ぶことが出来ました
810:名無しさん@お腹いっぱい。
09/01/28 23:52:01 NvkvtEFN0
オンラインゲーム?
ならこのスレの上の方で散々書いてあると思うよ。
(それに当てはまるかどうかは知らない)
811:名無しさん@お腹いっぱい。
09/01/29 21:45:54 3VYUuVlD0
私は、ゲームの操作を自動化したいなとは考えていますが、特別なページ
殊に、上記のように、なぜURL直接入力では希望のページに飛べないの
か疑問に思った
だけです。
812:名無しさん@お腹いっぱい。
09/01/29 22:44:04 7CcxhBvcP
>>811
ソースを見ればすぐ分かると思うのですが・・・
Windows Script Encoderはもちろん知っていますよね?
IEでのみlocation.replaceがdecodeされるので別ページに遷移するのです。
これがuwscと一体どう関係あるのでしょうか?
813:名無しさん@お腹いっぱい。
09/01/30 03:55:44 OeBnpuaS0
>>812
横レスだが
おまいは常に人を馬鹿にしてないと生きていけない奴だなw 哀れw
814:名無しさん@お腹いっぱい。
09/01/30 04:18:35 SPXRBmP00
>>813
横レスとか言いつつ本人乙
815:名無しさん@お腹いっぱい。
09/01/30 04:25:19 OeBnpuaS0
>>814
横レスだといったろ?w
恥ずかしい奴だな おまいはw
816:名無しさん@お腹いっぱい。
09/01/30 05:00:06 3mlQ1XKW0
ここまで俺の自演
817:名無しさん@お腹いっぱい。
09/01/30 05:17:44 SPXRBmP00
>>815
単芝厨きもいです
818:名無しさん@お腹いっぱい。
09/01/30 21:23:01 AuYpJb6K0
と、ここまで俺の自演。
819:名無しさん@お腹いっぱい。
09/01/31 00:13:38 vsuJT7Qv0
集まってるおまえらよ、そろそろ散れよ。
820:811
09/02/01 06:29:15 KLbW2NFD0
すいません><よく知りません
821:名無しさん@お腹いっぱい。
09/02/01 12:52:27 w5ujQ7MM0
UWSCのスケジュールの設定で質問があります。
インターバルの設定が、1~5分の設定と10分毎の設定などがあるのですが
7分や8分でのインターバルの設定は、どのようにしたら良いのでしょうか?
式による設定で式を入れれば良いのでしょうが
どんな式を入れればインターバルが7分や8分になるのか
わかりません。
ご教授頂ければと思います。
822:名無しさん@お腹いっぱい。
09/02/01 13:07:22 VbDhycHQ0
>>821
インターバルだけでよかったら
Interval_7min.uws かなんか作ってそこに
Call Main.uws
while true
main() //関数呼び出し
sleep(420) //7分
wend
これでいいんじゃない?
823:名無しさん@お腹いっぱい。
09/02/01 16:14:17 ZukW/kKt0
それだと、
7分 + main()処理
じゃん?
GETTIME使えばピッタシ!!
> 式による設定
> 自分で式を記述する事により細かな時間設定が決められます
> 使える変数
> YY (年)、MM (月)、DD (日)、HH (時)、NN (分)、YMDNN (2000年からの経過分)、WW (曜日:日曜=0,.....土曜=6)
> 注意:チェックは分単位でされます、分単位の設定(NN, YMDNN)を忘れずに
> 例)
> (WW=2) AND (HH=0 OR HH=12) AND (NN=0) // 火曜日の0時と12時
> (YMDNN mod 18)=0 // 18分間隔
7分 : (YMDNN mod 7)=0
8分 : (YMDNN mod 8)=0
1、YMDNN (2000年からの経過分)
2、modは割り算した余り
3、割り算して余りがゼロ
じゃまいのか?
824:名無しさん@お腹いっぱい。
09/02/01 16:17:37 ZukW/kKt0
4、式を希望する日時で”真”になるようにすればいい
たぶん・
825:名無しさん@お腹いっぱい。
09/02/01 16:59:54 v32FCtQy0
>>823
Gettimeの戻り値が秒だからそれ使うだけでいいよ
分とか見たら割り切れないし。
ニュースの記憶見るかガンダム見るか悩むが
やっぱりガンダム見る
826:名無しさん@お腹いっぱい。
09/02/01 19:06:26 ZukW/kKt0
???
SLEEPと、
Gettimeと、
スケジュール設定の式による設定
の3つのメリットデメリットを書いたんだけど。
>>分とか見たら割り切れないし。
って意味わかんないんだが、
何を意味した書き込みなんだ?
827:名無しさん@お腹いっぱい。
09/02/02 04:55:33 cpjbDFRd0
>>826
ああ、ごめん。
>YMDNN (2000年からの経過分)
これ知らんかった
828:名無しさん@お腹いっぱい。
09/02/02 13:10:24 yH09tKlS0
質問です
.vbsファイルをuwscで開くにはどのように記述すれば出来ますか?
exe以外のファイルの開き方が分からず、
今はクイック起動にショートカットを作成し、クリックして開くように記述しているので
直接開く方法があればご教授頂きたいです。
829:名無しさん@お腹いっぱい。
09/02/02 14:08:30 pdMh/tE90
doscmd("???.vbs")
830:名無しさん@お腹いっぱい。
09/02/02 14:30:06 yH09tKlS0
>>829
有り難う御座います。
ですが実行されませんでした
フルパスで""も付けたんですが…
OSはvistaなんですが関係無いですよね…
831:名無しさん@お腹いっぱい。
09/02/02 14:49:49 cpjbDFRd0
>>830
ショートカットのプロパティにリンク先っていうのがあるでしょ。
それをコマンドラインに入力したらいいんだけど。
コマンドプロンプトを開いて実行するか、
ファイル名を指定して実行(Vistaにあるかは知らないが)で、実行できるか試してみて。
832:名無しさん@お腹いっぱい。
09/02/02 15:05:20 yH09tKlS0
>>831
有り難う御座います。
先ほどuwscで動かなかったので、
コマンドプロントからも直接やってみましたが、
vbsは実行されてませんでした orz
833:rpaawnaw
09/02/02 15:07:51 2TLMPBOD0
qFqgve <a href="URLリンク(lycvakiqmpbn.com)">lycvakiqmpbn</a>, [url=URLリンク(gxsxjoosngmt.com) [link=URLリンク(ifsiyjjscezd.com) URLリンク(piuboesbpern.com)
834:名無しさん@お腹いっぱい。
09/02/02 15:11:57 pdMh/tE90
>>832
Vistaでも問題なくできるぞ
どんなエラーメッセージが出る?
835:名無しさん@お腹いっぱい。
09/02/02 15:21:46 yH09tKlS0
>>834
いえエラーは出ないんですが、
コマンドプロンプトに(フルパス).vbsをペーストしてEnterを押しても
動いた形跡が無いんですよね・・・
ただbatファイルをウインドウ非表示で実行させるだけの簡単な物なんですが
それとも何か必要な物が欠けているんでしょうか
普通にクリックしたときは動くんですが・・・
836:名無しさん@お腹いっぱい。
09/02/02 15:28:21 PVHBkFFR0
>>835
vbsのほうにメッセージボックスを1行入れてみたら?
837:名無しさん@お腹いっぱい。
09/02/02 15:49:30 yH09tKlS0
>>836
有り難う御座います。
色々調べてみて今、解決出来ました。
お騒がせしました。
838:名無しさん@お腹いっぱい。
09/02/02 19:05:09 Os9uDG+70
できれば、何が原因だったか教えてくれると有り難いとか思ってるのは俺だけかな?
初心者だからどういう時にそうなるのか気になる。
839:名無しさん@お腹いっぱい。
09/02/02 20:36:43 bbkYkSZI0
ブラウザを起動するときに最小化できませんか?
検索では、UWSC.exeのあるフォルダのUWSC.INIをメモ帳で開き、
StopForm=0 を StopForm=1 に変更して保存します。
とあったのですが、iniファイルがなく設定できませんでした。
キーボードからオルトとスペース、Nキーで最小化できるので
キー操作のスクリプトからできることはできるみたいですが
一回、表示されてからの対応になるのでできれば起動時から
できたらいいのですが。
840:名無しさん@お腹いっぱい。
09/02/02 21:07:48 yMTVVraI0
comでxmlhttpを使え。解決する。
他にも色々あるが、まぁ、とりあえず使ってみろ。
841:名無しさん@お腹いっぱい。
09/02/03 03:38:57 eeztqI130
>>839
UWSC.INI の StopForm キーの値は
スクリプト再生中に現れるフォームウィンドウを
表示するかしないかってやつじゃなかった?
最小化でアプリ起動ってのは API 関数の ShellExecute() を使う
HINSTANCE ShellExecute(
HWND hwnd, // 親ウィンドウのハンドル
LPCTSTR lpVerb, // 操作
LPCTSTR lpFile, // 操作対象のファイル
LPCTSTR lpParameters, // 操作のパラメータ
LPCTSTR lpDirectory, // 既定のディレクトリ
INT nShowCmd // 表示状態
);
ブラウザのパスは適宜変更してください
DEF_DLL ShellExecuteA(hwnd, string, string, string, string, int): dword: shell32.dll
CONST SW_SHOWMINIMIZED = 2
IFB ShellExecuteA(NULL, "open", "C:\Program Files\Internet Explorer\iexplore.exe", NULL, NULL, SW_SHOWMINIMIZED) < 32 THEN
MSGBOX("実行に失敗しました")
ENDIF
842:名無しさん@お腹いっぱい。
09/02/03 03:52:05 eeztqI130
>>841
すみません、比較式を間違えました
失敗時は 32 以下の値を返すので、正しくは以下です
IFB ShellExecuteA(NULL, "open", "C:\Program Files\Internet Explorer\iexplore.exe", NULL, NULL, SW_SHOWMINIMIZED) <= 32 THEN
MSGBOX("実行に失敗しました")
ENDIF
843:名無しさん@お腹いっぱい。
09/02/03 09:29:53 9ClBsfHO0
API 関数とかしりませんでした。
実際やってみたらブラウザは機動できました。
しかし、そこからの動作がされません。
指定のアドレスに移動するにはどうしたらいいのでしょうか?
DEF_DLL ShellExecuteA(hwnd, string, string, string, string, int): dword: shell32.dll
CONST SW_SHOWMINIMIZED = 2
IFB ShellExecuteA(NULL, "open", "C:\Program Files\Internet Explorer\iexplore.exe", NULL, NULL,
SW_SHOWMINIMIZED) <= 32 THEN
MSGBOX("実行に失敗しました")
ENDIF
IE = getactiveoleobj("internetexplorer.application")
IE.Visible = True
IE.Navigate("URL")
上記のような感じでやっています。アドバイスお願いします。
844:名無しさん@お腹いっぱい。
09/02/03 21:49:12 eeztqI130
>>843
起動と同時に URL に移動するには
ShellExecute() の第 4 引数に URL を渡します
なお、ProgID は大文字小文字を区別するので
正しくは『InternetExplorer.Application』です
また、以下のコードでも同じことができます
OPTION EXPLICIT
DIM url = "URLリンク(www.2ch.net)"
DIM ie = CREATEOLEOBJ("InternetExplorer.Application")
CTRLWIN(HNDTOID(ie.HWND), MIN)
ie.Visible = True
ie.Navigate(url)
845:名無しさん@お腹いっぱい。
09/02/04 12:53:58 m6en7Q5I0
uwscでIEを開いた後、そのIEで開いたHP内の文字データなどを
EXCELのセルに代入することはできますでしょうか?
846:名無しさん@お腹いっぱい。
09/02/04 13:05:01 tXqKlnWn0
できます
847:名無しさん@お腹いっぱい。
09/02/04 13:20:25 m6en7Q5I0
ありがとうございます
なんとかやってみます
848:名無しさん@お腹いっぱい。
09/02/04 19:46:29 MfK5WOxL0
>>844
勉強になります。ヘルプみたり過去の質問検索してみましたが、
あまり、APIとかのことが載ってないのね・・・
849:名無しさん@お腹いっぱい。
09/02/04 23:12:09 N1AZKeZ50
>>848
MSDN見たほうが手っ取り早い事が多いからなぁ?
850:名無しさん@お腹いっぱい。
09/02/06 12:59:57 hPEtxwon0
A = "●●"と言った感じのものを20ぐらいあるとしてそれを順に
送信しようと頑張っています。ちなみに一個だけならなんとかなる
のですが、複数だとどうしてもコードがいっぱいになってしまします。
IESetData(IE,A,"kakikaki")
id = getid("internet explorer")
clkitem(id,"ボタン",CLK_ACC,CLK_BACK)
sleep(15)
これが、そのコードなのですが、Aのところに複数の文字を順に設定
できたらと思っています。よろしくおねがいします。
851:名無しさん@お腹いっぱい。
09/02/06 15:36:29 q6mgGLtH0
A[0] = "●●"
A[1] = "○○"
FOR i = 0 TO 20 - 1
IESetData(IE,A[i],"kakikaki")
id = getid("internet explorer")
clkitem(id,"ボタン",CLK_ACC,CLK_BACK)
sleep(15)
NEXT
これでいいじゃん
852:名無しさん@お腹いっぱい。
09/02/06 16:05:23 BBz1+Wne0
レスどうも。m(_ _)m
実際に実行してみたら下記のようなエラーがでました。
Uスクリプト: 変数: A 配列をオーバーしてます
8行目:A[1] = "●●"
こんなエラーがでます。A[0]は、大丈夫みたいです。
なんでだろう?なにかわかりましたら詳細お願いします。
853:名無しさん@お腹いっぱい。
09/02/06 16:32:11 1eXzPAIO0
dim a[19]= "●●","○○","△△","▲▲",・・・・・(20個記述)
"とりあえず1から10まで聞いとけ"という性格が羨ましいと思うようになったこの頃。('A`)
854:名無しさん@お腹いっぱい。
09/02/06 17:44:09 BBz1+Wne0
うまくいきました。m(_ _)m
なぜ、前にやつはエラーがでたのかしら?
原因が分からない。
855:名無しさん@お腹いっぱい。
09/02/06 18:42:36 q6mgGLtH0
変数の定義、宣言と
変数への値の代入という
二つの違いを理解してないから
856:名無しさん@お腹いっぱい。
09/02/07 03:18:07 vXpPMDOu0
前から疑問だったけど、聞けなかったこと。
>>841のshellexecuteのnShowCmd。msdn等を見ると記述順番は
SW_HIDE, SW_MAXIMIZE, SW_MINIMIZE, SW_SHOW ・・・
で順番違うじゃない? この定数はどこで判別するんでしょ?
どなたか解説してくれないかな…
857:名無しさん@お腹いっぱい。
09/02/07 09:37:19 xlfhJ7RV0
>>856
Windows Platform SDK の WinUser.h で定義されてます
ドキュメントの値は、記号定数名でソートされてるようです
CONST SW_HIDE = 0
CONST SW_MAXIMIZE = 3
CONST SW_MINIMIZE = 6
CONST SW_RESTORE = 9
CONST SW_SHOW = 5
CONST SW_SHOWDEFAULT = 10
CONST SW_SHOWMAXIMIZED = 3
CONST SW_SHOWMINIMIZED = 2
CONST SW_SHOWMINNOACTIVE = 7
CONST SW_SHOWNA = 8
CONST SW_SHOWNOACTIVATE = 4
CONST SW_SHOWNORMAL = 1
858:名無しさん@お腹いっぱい。
09/02/07 11:36:45 l5adthQH0
>>857
回答ありがとう!見つけられました。
これ、目的の記述部分を捜すのは適当な属性値をGrepで捜すくらい
しか思いつかなかったのですが、(ちゃんと順を追ってじゃなく、
あくまでdef_dllのためだけという意味)他に良い方法ありますでしょうか?
重ね重ねで恐縮ですが、もし知恵があれば教えてくださいませ。
859:名無しさん@お腹いっぱい。
09/02/07 20:34:24 TsGY9ahZ0
BMP画像(100x100)からUWSCを使ってRGB値をテキスト出力するにはどうすればよろしいでしょうか?
860:名無しさん@お腹いっぱい。
09/02/08 00:47:32 fB3ojcA60
色情報を取得してそれをファイルに書き出せばいいのではないでしょうか
861:名無しさん@お腹いっぱい。
09/02/08 07:22:53 QoTANPZk0
>>858
大抵の IDE はシンボルの定義部にジャンプする機能があるけど
確認のためだけに起動するのは避けたいので
俺は grep してます
862:858
09/02/08 18:05:42 iaalqOSe0
>>861
ナルホド~。
ひとつ賢くなりました。多謝。
863:名無しさん@お腹いっぱい。
09/02/08 22:31:33 dNKbKAR9O
いくつかの画像のサンプルがあって、指定したウィンドウ内からその画像を書いた順番で探す。
合ったら処理抜け、なかったら次の画像探し
最終的にどれもなかったらまた処理抜けってのをがんばってやろうとしてるんだけどどーすりゃいいのかな
いちいちifbで探してなかったらbreakみたいにやらんとダメ?
もーちょいスマートにやれないかな
864:名無しさん@お腹いっぱい。
09/02/08 23:45:58 vASK790PO
日本語でおk
865:名無しさん@お腹いっぱい。
09/02/08 23:51:13 SXOT3GUb0
例えば test test1 test2 って画像があって
どれかがヒットしたらその画像をクリックってことやらせたい場合
ifb chkimg (test.bmp) = true then
mmv(g_img_x, g_img_y)
sleep(1)
endif
ifb chkimg (test1.bmp) = true then
mmv(g_img_x, g_img_y)
sleep(1)
endif
ifb chkimg (test2.bmp) = true then
mmv(g_img_x, g_img_y)
sleep(1)
else
break
endif
↑よりもスマートってか効率的な書き方があるのかなってこと
866:名無しさん@お腹いっぱい。
09/02/08 23:55:43 3bfozRlh0
ifb chkimg (test.bmp) OR chkimg (test1.bmp) OR chkimg (test2.bmp) then
mmv(g_img_x, g_img_y)
sleep(1)
endif
867:名無しさん@お腹いっぱい。
09/02/09 00:20:04 wdWGM0TOP
日本語でおk
こういう意味?私はスマートという日本語を知りません
DIM bmp[]="test","test1","test2"
for n=0 to length(bmp)-1
ifb chkimg(bmp[n]+".bmp") = true then
mmv(g_img_x, g_img_y)
sleep(1)
break
endif
next
868:名無しさん@お腹いっぱい。
09/02/09 00:34:17 fwfzfodA0
867のをかきかえてみると
DIM bmp[5]="Garnet","Star sapphire","Topaz","Spinel","Emerald"
for n=0 to length(bmp)-1
ifb chkimg(".\image\"bmp[n]+".bmp") = true then
mmv(g_img_x, g_img_y)
sleep(1)
break
endif
next
こうなったんだけど式違うって怒鳴られました・・・
869:名無しさん@お腹いっぱい。
09/02/09 12:18:39 wdWGM0TOP
パソコンに同情するわ
870:名無しさん@お腹いっぱい。
09/02/09 16:18:53 5wLvS0Ft0
".\image\"bmp[n]+".bmp" ×
".\image\" + bmp[n] + ".bmp" ○
ちゃんとスペース入れないから間違うんだ
871:名無しさん@お腹いっぱい。
09/02/10 14:57:33 ldVPkdsr0
特定の文字を含むアドレスを抽出しそれを順々に周っていくという
のを作っています。
IE = CREATEOLEOBJ("InternetExplorer.Application")
IE.visible = True
IE.navigate("URLリンク(www.yahoo.co.jp)<)●●[A]", IE.document.links[A].href) > 0
IE2 = GETACTIVEOLEOBJ("InternetExplorer.Application")
IE2.visible = True
IE2.navigate(IE.document.links[A].href)
UNTIL !IE.BUSY AND IE.READYSTATE = 4
ENDIF
NEXT
IE.QUIT
[A]のところは毎回違います。これでやると順々に周ってくれません。
フリーズさえしないもののページを読み込むのが終了せずそのままに
なります。
実行したときには、"URLリンク(www.)●●[A]"←この部分はちゃんとしたアドレス
になっています。
872:名無しさん@お腹いっぱい。
09/02/10 16:02:10 HCMc1CKn0
>>871
>IE2 = GETACTIVEOLEOBJ(
これってIEを起動していないと、オブジェクトIEとオブジェクトIE2は同じものになるよね。
で、元のIEで他のページ開いちゃったら、IE.document.linksが無効になっちゃうんじゃないかな。
というか最初にとったIE.document.links.lengthとページが切り替わったあとのやつとでつじつまが合わなくなってちゃんと動かないはず。
特にUWSCのFOR分は、ループに入ったら回数固定だから、その辺が変動しないようにきっちりやらないと。
873:名無しさん@お腹いっぱい。
09/02/10 16:11:49 ldVPkdsr0
IE = CREATEOLEOBJ("InternetExplorer.Application")
IE.visible = True
IE.navigate("URLリンク(www.yahoo.co.jp)<)", IE.document.links[A].href) > 0
IE2 = CREATEOLEOBJ("InternetExplorer.Application")
IE2.visible = True
IE2.navigate(IE.document.links[A].href)
ENDIF
NEXT
IE.QUIT
これが参考にしたソースなのですが、871は私が色々やってるやつです。
上記のソースだとそれぞれブラウザで開くということになってしまいます。
表示されたページで特定の語句が含まれるアドレスをゲットして
それをもう一つ起動したブラウザで順に巡回するというのでもいいのですが。
874:名無しさん@お腹いっぱい。
09/02/10 16:54:12 HCMc1CKn0
>>873
2つ目をCreateしてれば問題ないけど、
1つ目に上書きするとだめなんですよ。
Getするということは、確率的に1つ目を取得することになります。
他の窓がない場合は100%1つ目の窓を取得します。
どうしても1つ目の窓でやりたければ、
Navigateする前にlinksを全部配列にコピーしておかないと駄目です。
ループすると次々に窓を起動するのでいやだということなら、
ループに入る前にあらかじめ2つ目をCreateしておけばいいんです。
そもそも参考にしたソースは実用的な動作じゃありません。
ただ、Navigateした後に待ちを入れていないので、スクリプトの動作は快適で安定するでしょう。
875:名無しさん@お腹いっぱい。
09/02/10 17:15:37 ldVPkdsr0
とりあえず
>ループに入る前にあらかじめ2つ目をCreateしておけばいいんです。
この手法をお願いします。できれば配列にコピーというのもお願いします。
876:名無しさん@お腹いっぱい。
09/02/10 17:54:36 HCMc1CKn0
>>875
まずは2つ起動
IE = CREATEOLEOBJ("InternetExplorer.Application")
IE.visible = True
IE.navigate("URLリンク(www.yahoo.co.jp)<)●●[A]", IE.document.links[A].href) > 0 Then
IE2.navigate(IE.document.links[A].href)
REPEAT
SLEEP(0.1)
UNTIL !IE2.BUSY AND IE2.READYSTATE = 4
ENDIF
NEXT
IE.QUIT
IE2.QUIT
if ~ Then
REPEAT ~ UNTIL
ThenとREPEATが抜けてました
あと、IE2でNavigateしたのに待ちループではIEになってました。
インデント(頭の空白)入れないとそういうところのミスが発見できません。
877:名無しさん@お腹いっぱい。
09/02/10 18:23:31 ldVPkdsr0
正直、わからないです。
質問が悪かったのかしら・・・
1、指定ページに移動
2、特定の文字を含むアドレスをゲット
3、ゲットしたアドレスを順に表示(IE2でも可)
この動作なんだけどなー。うーむ。
878:名無しさん@お腹いっぱい。
09/02/10 18:43:10 HCMc1CKn0
>>875
配列を使うやつ
DIM リンク[]="ダミーデータ"
IE = CREATEOLEOBJ("InternetExplorer.Application")
IE.visible = True
IE.navigate("URLリンク(www.yahoo.co.jp)<)●●[A]", IE.document.links[A].href) > 0 Then
リンク[length(リンク) - 1] = IE.document.links[A].href
resize(リンク, length(リンク))
ENDIF
NEXT
KAISU = length(リンク) - 1 // 配列の最後尾は空欄
FOR A = 0 TO (KAISU - 1)
IE.navigate(リンク[A])
REPEAT
SLEEP(0.1)
UNTIL !IE.BUSY AND IE.READYSTATE = 4
NEXT
IE.QUIT
879:名無しさん@お腹いっぱい。
09/02/10 18:51:38 HCMc1CKn0
>>878の補足
リンクの選別を最初のループでやってるので、2回目のループは無条件に処理できる。
ループ回数が違っているのも要チェック。
配列がちょっとややこしいやり方だけど、カウンタが2つ以上になってもややこしいのでこういうやり方してます。
リンク[length(リンク) - 1]は、リンクっていう配列の最後尾を意味します。
resize(リンク, length(リンク))は、配列を一つ増やします。
上記2行により、最後尾にデータを追加するたびに配列を増やし、常に最後尾をあけておきます。
ちなみに、最初に配列数を0にしておけばごみがでないように思われますが、
最小配列サイズが1なので、どうしてもごみが入ります。
また、最初の1回で隙間をなくそうとすると、ループの処理がおかしくなります。
>>877
おいおい
1、指定ページに移動 は、IE.Navigateだし
2、特定の文字を含むアドレスをゲット は、
POS("URLリンク(www.)●●", IE.document.links[A].href) > 0
の条件を満たすときの IE.document.links[A].href だし
3、ゲットしたアドレスを順に表示(IE2でも可) は、
ループの中でIE.Navigateですよ
これ以上丁寧に教えるのは無理。
ヘルプとサンプルをじっくり見てください。
1行ずつ実行してみるのもいい手。
僕は実験のファイルが70くらいたまってる。
880:名無しさん@お腹いっぱい。
09/02/10 20:47:55 ldVPkdsr0
お手間をかけます。m(_ _)m
実際に実行してみたのですが、両方駄目でした。
エラーは出ませんが、最初のヤフーページが読み込み中になりそれ以後が進みません。
難しいわぁ~('A`)
881:名無しさん@お腹いっぱい。
09/02/10 21:20:46 HCMc1CKn0
>>880
とりあえずそのままuwsファイルに書き込んで起動したら、IEは自動的に終了した。
読み込み中で止まるって?
IEの設定の問題かな?
>>876のやつの POS("URLリンク(www.)●●", IE.document.links[A].href) を
POS(".html", IE.document.links[A].href) に書き換えたらばんばん開くんですけど。
POS(”www”, IE.document.links[A].href) で試したらファイルのダウンロードが動いてCOMエラーになったけどさ。
IEのバージョンでも違うのかもしれないけど、IE6ではしっかり動きました。
ちなみに僕が使ってるのはちょっと古いバージョン。
4.4.2.4のやつ
882:名無しさん@お腹いっぱい。
09/02/10 23:15:08 d1Cz2CKr0
ちと教えてくれい。
JscriptのSort関数ってUWSCで扱えるかしら?
連想配列のソートを使って凌いでしまったんだけど、
もし使えるようなら、そのうち、ちゃんとw悩んでみようかと思って…。
883:名無しさん@お腹いっぱい。
09/02/11 00:17:02 HuYbgfa/0
>>882
無理じゃね?
そういうCOMオブジェクトがあるとも思えない。
DLLの場合は配列を渡せればいけるかもしれない。
と思ったけど、データベース使えばSortできるっぽいね。
テーブル作るのめんどくさそうだけど。
884:名無しさん@お腹いっぱい。
09/02/11 01:07:21 kWARHqJn0
>>883
レスサンクス。
時間掛けずにヨカッタw
885:名無しさん@お腹いっぱい。
09/02/13 14:30:03 3ZWIkmUk0
com操作から指定の同じ画像が2枚以上あるかどうかのチェックを
するスクリプトを作っています。
<img alt="画像" src="/img/member/status_01.gif?1234414294" />
これがそのソースなのですが、altの画像の個数でもおkです。とにかく2個以上
あったらメッセージボックスで知らせてくれるみたいなのができたらと思っています。
886:名無しさん@お腹いっぱい。
09/02/13 15:36:56 yfzZRrrS0
そうですか
887:名無しさん@お腹いっぱい。
09/02/13 16:29:22 mUOb2ZH60
>>885
一致するやつの個数を数えるだけですよね
888:名無しさん@お腹いっぱい。
09/02/13 16:31:07 3ZWIkmUk0
>>887
画像があるかどうかというのはできると思うのですが、同じ画像が2枚あるかどうか
となるとちょっと私のスキルでは難しいので訊いて見ました。
数を数えなおかつメッセージボックスなどで同じ画像が2つ以上あると知らせてくれる
というものです。
889:名無しさん@お腹いっぱい。
09/02/13 16:39:01 mUOb2ZH60
>>888
cnt = 0
while 全部処理
ifb 画像一致 then
cnt = cnt + 1
eneif
wend
ifb 2 <= cnt then
MsgBox()
endif
890:名無しさん@お腹いっぱい。
09/02/13 17:35:13 3ZWIkmUk0
メモリが・・・というエラーがでる。
今、他の手法でやってますが、IE.document.body.innerHTMLで
画像で使われてる文字の数というので判断しようとしています。
一つだけの場合、ちゃんとうまくいきました。しかし上記のやつをすこし
変えてやってみましたが駄目でした。
891:名無しさん@お腹いっぱい。
09/02/13 17:43:52 Ro94SGUQ0
情報を小出しにするのはやめてください。
チャットじゃないので整理してまとめてから書き込んでください
892:名無しさん@お腹いっぱい。
09/02/13 18:00:45 3ZWIkmUk0
str = "UWSC"
ifb pos(str, IE.document.body.innerHTML) then
MsgBox("あるよ")
endif
画像でエラーが出るので上記のやつで挑戦してます。
HTMLにUWSCという語句が2つ以上あればメッセージ
ボックスにあるよと表示されるというものです。
ひとつでは成功しています。
893:名無しさん@お腹いっぱい。
09/02/13 18:30:14 mUOb2ZH60
>>892
だから>>889のとおりにやれよと。
str = "UWSC"
cnt = 0
while 全部処理
ifb pos(str, IE.document.body.innerHTML) then
cnt = cnt + 1
eneif
wend
ifb 2 <= cnt then
MsgBox("あるよ")
else
MsgBox("ないよ")
endif