[表示 : 全て 最新50 1-99 101- 201- 301- 401- 501- 601- 701- 801- 901- 2chのread.cgiへ]
Update time : 05/03 04:31 / Filesize : 344 KB / Number-of Response : 994
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

自動化ツールuwsc使いよ集まれ4



1 名前:名無しさん@お腹いっぱい。 [2009/03/02(月) 19:49:20 ID:rP5khwz50]
Windowsを自動化させるツールUWSC。
ttp://www.h7.dion.ne.jp/~umiumi/

uwsc使いのみなさま、マターリ己のスクリプトを晒しましょ。

前スレ
自動化ツールuwsc使いよ集まれ3
pc11.2ch.net/test/read.cgi/software/1176677869/

577 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/09/23(水) 11:07:08 ID:IbHZjMsfP]
>>529の最初に
>出来るだけ正確に投稿するにはどうしたらいいかと考えて、
>JaneDoeViewの「書き込み」ボタンをクリックすることにした。
>以下即席スクリプト
ソースの最後では
>kbd(VK_SPACE, UP)
って書いてあっても分かんないみたいだから、「どこが分からないの?」とかいちいちやり取りする良り
一から十まで丁寧に書けば1レスで済むとおもったんだよ。
結局長くなって2レスになったけど。

なのにいちいちあおりを入れる奴がいるから無駄にレスを消費してしまうんだよな。

それより栗ご飯はやっぱり炊飯器で炊いた方がいいかもな。
高圧鍋だとやわらかいけど・・・水が多かったのかやわらかすぎて栗の歯ごたえがなくなってる。
いや、栗だけなら高圧でもほくほくなんだよな。
水がやっぱり多すぎなのかなあ?

578 名前:名無しさん@お腹いっぱい。 [2009/09/23(水) 11:48:36 ID:39u478qO0]
>>575
正気で言ってる?
パケットはインターネットのどこを通って相手サーバーに辿り着くか保証しない
ping,tracert打てば分かるけど到達時間のゆらぎはここの影響が一番大きくて
光回線だろうと専用回線だろうと正確に書き込むなんてスクリプトの創意工夫じゃ無理な話

579 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/09/23(水) 11:50:59 ID:xgMteTKH0]
出来るだけ正確にってことでいいじゃないですか

580 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/09/23(水) 13:33:41 ID:IbHZjMsfP]
>>578
まさかその話を蒸し返すとは思わなかったよ。
ほとんどの板では最小単位は秒なので、多少の揺らぎがあってもきっちりあわせることは可能ですよ。
だって、いくら揺らぎがあっても最速より早くなることはないわけで、
そうすると遅れが1秒近くまで許容されるわけです。
pingで100msを超えることなんて、海外鯖じゃないかぎりあまりないことでしょ。
150msくらいなら国内でもありえなくはないけど。
通信が安定してない無線環境は論外ってことで。

あと、ルートがころころ変わるみたいに言ってるけど、基本的にトラフィック分散を意図的にでもしてない限りは同じルート通るでしょうに。
そもそも鯖の時計が正確かどうかも分からないんだから、期待通りの時刻になるかどうかは何度か書き込んでチェックしておくのは前提ですよ。

そんでもって、現実にほぼ100分の2秒プラスするくらいの誤差に収まっているんだから、揺らぎの影響をいくら説いたところで無駄です。
1000分の1秒の正確さを要求するとしても、Windowsがそんな正確に時間を刻むことが出来ないのに通信がそれ以上正確に出来るわけもないんですよ。
最近のWindowsは1000分の1秒まで正確に刻めるんだっけ?知らないけど。

>>579
ですよねえ
原爆の爆縮レンズじゃないんだからそこまで正確である必要はないのに。


581 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/09/23(水) 14:04:12 ID:IYhj49D60]
時間刻んでるのはマザーボードじゃね

582 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/09/23(水) 17:51:15 ID:7k3kCu8k0]
まあ一言で言えば、長文ウザイ、ってことだな

583 名前:名無しさん@お腹いっぱい。 [2009/09/23(水) 18:32:42 ID:39u478qO0]
なんでこう延々と想像だけで話を進めるのかねぇ。ちっとも確認する努力をしない。
いつから2chは日本に移転したんだかww

御託を並べるのはいいからコマンドプロンプトでこれ打ち込め(Ctrl+Cで停止)
ping -t pc12.2ch.net

んで出力される数字がルーティングは一定ではない証拠になっている
これの意味分かるか?意味が分からないというなら解説してやるよw

pc12.2ch.net [207.29.225.90]に ping を送信しています 32 バイトのデータ:
207.29.225.90 からの応答: バイト数 =32 時間 =139ms TTL=50
207.29.225.90 からの応答: バイト数 =32 時間 =131ms TTL=51
207.29.225.90 からの応答: バイト数 =32 時間 =119ms TTL=51
207.29.225.90 からの応答: バイト数 =32 時間 =134ms TTL=50
207.29.225.90 からの応答: バイト数 =32 時間 =120ms TTL=51
207.29.225.90 からの応答: バイト数 =32 時間 =127ms TTL=50
207.29.225.90 からの応答: バイト数 =32 時間 =136ms TTL=50
207.29.225.90 からの応答: バイト数 =32 時間 =120ms TTL=51
207.29.225.90 からの応答: バイト数 =32 時間 =135ms TTL=50

584 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/09/23(水) 19:42:45 ID:IYhj49D60]
ちょっとそれは不安定すぎ
俺のだと134msTTL52、135msTTL52を行ったり来たりするくらいでほぼ一定
つまり通信環境が安定してればルーティングなんて計っても計らんでも同じだぞ
まあどっちにしろ100%なんてないだろうがw

585 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/09/23(水) 23:38:33 ID:1bHA/wNB0]
>>581
Reply from 207.29.225.90: bytes=32 time=151ms TTL=45
Reply from 207.29.225.90: bytes=32 time=147ms TTL=45
Reply from 207.29.225.90: bytes=32 time=147ms TTL=45
Reply from 207.29.225.90: bytes=32 time=147ms TTL=45
Reply from 207.29.225.90: bytes=32 time=147ms TTL=45
Reply from 207.29.225.90: bytes=32 time=147ms TTL=45
Reply from 207.29.225.90: bytes=32 time=147ms TTL=45
Reply from 207.29.225.90: bytes=32 time=147ms TTL=45
Reply from 207.29.225.90: bytes=32 time=146ms TTL=45
Reply from 207.29.225.90: bytes=32 time=147ms TTL=45
Reply from 207.29.225.90: bytes=32 time=148ms TTL=45
Reply from 207.29.225.90: bytes=32 time=147ms TTL=45
Reply from 207.29.225.90: bytes=32 time=147ms TTL=45
Reply from 207.29.225.90: bytes=32 time=147ms TTL=45
Reply from 207.29.225.90: bytes=32 time=149ms TTL=45
Reply from 207.29.225.90: bytes=32 time=147ms TTL=45
Reply from 207.29.225.90: bytes=32 time=147ms TTL=45
Reply from 207.29.225.90: bytes=32 time=147ms TTL=45
Reply from 207.29.225.90: bytes=32 time=153ms TTL=45
Reply from 207.29.225.90: bytes=32 time=147ms TTL=45
Reply from 207.29.225.90: bytes=32 time=147ms TTL=45
Reply from 207.29.225.90: bytes=32 time=147ms TTL=45
Reply from 207.29.225.90: bytes=32 time=147ms TTL=45
Reply from 207.29.225.90: bytes=32 time=147ms TTL=45
Reply from 207.29.225.90: bytes=32 time=147ms TTL=45
Reply from 207.29.225.90: bytes=32 time=147ms TTL=45
Reply from 207.29.225.90: bytes=32 time=149ms TTL=45
Reply from 207.29.225.90: bytes=32 time=148ms TTL=45
Reply from 207.29.225.90: bytes=32 time=147ms TTL=45
Reply from 207.29.225.90: bytes=32 time=147ms TTL=45
Reply from 207.29.225.90: bytes=32 time=147ms TTL=45



586 名前:585 mailto:sage [2009/09/24(木) 00:12:31 ID:hVVrxn3L0]
>>583
pingの応答時間のばらつきがルーティングが一定でない証拠になるのなら、
逆説的に、一定であれば同じルートを通ってることになるわけだ?

俺の場合はたまたま146msがあったけど、基本的に147msで安定
5回に1回くらいの頻度で1ms以上遅れるブレがあり、>585のリストでは最大153ms
つまり、最大でも6msしか遅れないわけだ。

そしてこのばらつきは同じルートを通っていることを示すものだ。
トラフィックによる遅れがあり、それが往復で6msということだ。

そもそも、同じルートを通っても時間にばらつきが出るのはネットワークの基礎だ。
ルートを保障しないというのはルートを変更できるということであって、どこを通っても到達可能という意味ではない。
君の家、君の会社の出口はたくさんあるのか?
複数の出口を使ったためにホームページが機能しなくなった淀橋。comのような例もあるが、基本的に出口は一箇所だろう。
僕は拠点を数箇所持っている会社で、会社の出口までのpingを見ていたが、専用線とは言え細い帯域を使っていたため
>>585程度のばらつきは発生していた。
他にルートがないのは、俺がこの目でそれぞれの装置の設置とケーブルの接続を確認していたんだから間違いないんだ。


・・・そういえば複数の回線を束ねる方法があったっけね。
でも、基本的に同じ仕様の回線を使って同じ相手への接続をするだろう。
複数の相手にランダムに送りつけるなんてありえないね。


587 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/09/24(木) 13:14:20 ID:LnjpJUXE0]
いくらなんでも583はブレすぎw

588 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/09/24(木) 15:45:37 ID:WyG49l9r0]
>>587
シーっ
自分で気づいたとき
顔まっかっかにになるおw

589 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/09/26(土) 12:45:09 ID:i6V0HPzG0]
サブに使ってるノートパソコンを買い換えたんだけど
OSは Windows Vist HB です
今までXPで作ったuwsファイルが動かないんだよね
それでvist HB にて カメラモードで記録して再生してみたけど
動かないorz
どうなってんだかさっぱりわかりません
VistでUWSCを使えないでしょうか?
自分にとってUWSCは物凄く大切なツールなので
最悪の時はOSの入れ替えしてでも使っていきたいです
どなたかわかる方おられましたらお願いいたします

590 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/09/26(土) 12:54:56 ID:pa8lBq8j0]
>>589
VISTAなら管理者権限で動かせば動く
なお、SP1とか入ってないと動かない

ショートカットの上で右クリック
項目に管理者として実行(A)

591 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/09/26(土) 13:06:04 ID:i6V0HPzG0]
>>590さん
早速のレスありがとうです^^
一応SP1のようです
管理者権限ってのがよくわからないんですけど
教えてもらったとおりにやってみます
1時間くらい後になるかもしれませんが
後ほど報告します

592 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/09/26(土) 13:53:25 ID:i6V0HPzG0]
>>590さん
できました!
ショートカットの上で右クリック
管理者権限で実行
これで以前作ったUWSファイルが見事に動いています!
>>590さんマジでありがとです m( _ _ )m

593 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/09/27(日) 18:05:14 ID:7JVGpQHe0]
firefoxを閉じる方法がわかりません教えてください

594 名前:名無しさん@お腹いっぱい。 [2009/09/28(月) 14:16:23 ID:dKc8Xyde0]
新着情報 / お知らせ
 2009/09/28 UWSC Ver4.5c、 Pro版と Free版をリリースしました。

[Ver4.5c]
  .NETのMDIアプリ対してCLKITEM関数の処理が不完全だったのを修正
  高レベル記録にてMDIアプリの記録ができなかったのを修正(一部不可)
  HASHTBLの宣言にて変数名に一部使えない2バイト文字があったのを修正
  SAFEARRAY型を作るSAFEARRAY関数を付けた
  CHKIMG関数にてヒット数/順番指定ができるようにした
  CHKIMG関数にて各色に対し色幅を持たせられるようにした
  SELECT-SELEND構文にてCASE部を先に全部計算していたのを随時計算するように変更した
  Pro版:
  CREATEFORM関数にてFOM_NOSUBMITが指定されていると frame表示ができなかったのを修正
  RecIE:表示項目の取得にて、タグにidがある場合はタグの順番では無く idを記録するようにした
  UDebug:Trace実行時にて行末に横スクロールしていたのをしないようにした

595 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/09/28(月) 16:40:50 ID:irclUfzT0]
nyやshareでダウンロード終わったrarなんかを自動的に解凍してくれるようなスクリプト組めない?
いちいち揃ったか確認してってちとめんどい



596 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/09/28(月) 18:00:48 ID:PAsbME+j0]
それを人に聞いて教えてくれる奴がいるとでも思ってるのかP2P厨

597 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/09/28(月) 18:08:44 ID:XYX6H4wP0]
>>593
いくらなんでもそれはわかるだろう

598 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/09/28(月) 18:09:50 ID:J6+ufsV/0]
>>593
>>595
まずPCを窓の外に投げ捨てます。それから、

599 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/09/28(月) 18:57:20 ID:plPjciD00]
服を脱ぎます。それから、

600 名前:593 mailto:sage [2009/09/28(月) 19:40:54 ID:tD6dVglK0]
わからないなら答えなくて良いよ

601 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/09/28(月) 20:35:45 ID:irclUfzT0]
>>596
P2P程度でガタガタ言うな器が知れる

602 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/09/28(月) 21:59:58 ID:kvY9Z34d0]
>>600
今日はここ見るの初めてなので質問気づかなかったですよ
関数抜けるなら
EXIT EXIT って書けば終了しますよ
quitでも抜けるかも
自分もまだ超初心者なのでわかんないんだけど
後で調べてみるよ
今からお風呂入ってからなので日付変わるかも^^;
詳しい人教えてあげればいいのにね
わかるかどうかは自分も自信ないけど
期待しないで待ってて^^;
取りあえず返事はするから。

603 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/09/28(月) 22:18:42 ID:tD6dVglK0]
CTRLWIN( ID, CLOSE)
ここまでわかったけど
このIDってのがどうやって調べるのかが疑問


604 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/09/28(月) 23:06:05 ID:J6+ufsV/0]
まあとりあえず人に物をたずねる態度ではないわな
しかもそんな超初級の質問だし

605 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/09/28(月) 23:15:48 ID:kvY9Z34d0]
>>600
お待たせしました^^
私の環境(WindowsXPpro)で試してみました
Firefoxの置いてあるフォルダーの部分は書換えてください
idについてなんですが
私もよくわからないんですよ^^;
なので先人の方のフォロー待ちしてください
一応、私は下記のようにIDという名前の変数を自作してます^^;
----------------------------------------
//DドライブFirefox 30フォルダーのFirefox起動
id = EXEC("D:\Firefox 30\firefox.exe")

//10秒間休憩^^
SLEEP(10.0)

//変数idに指定してあるFirefoxを 終了(QUIT)
CTRLWIN(id, CLOSE2)
----------------------------------------

>>604さん
みんな仲良くしましょう^^



606 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/09/29(火) 00:05:20 ID:NdTMXo030]
id = GETID("", "MozillaUIWindowClass", -1)
CTRLWIN(id, CLOSE)

これでいいだろめんどくせえ

607 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/09/29(火) 00:09:24 ID:G9pasUcy0]
>>601
p2pをやっている時点で器が知れる

608 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/09/29(火) 02:09:09 ID:MkiJ7lnC0]
>>595
スクリプトでなくとも、分割ファイルじゃない限りBACTHファイルでも出来そうだ


609 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/09/29(火) 06:34:07 ID:FQvNwZh30]
>>601
程度って言う時点で終わっていることに気が付かない無能

ネタでも質問して答えがもらえなくて逆ギレするのは古い
0点

他人の器を計測出来る技量があるなら自分で作りましょう^^;

610 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/09/29(火) 07:15:22 ID:i5//2YOSP]
ダウンロードしたファイルの展開を自動化して勝手にキンタマに感染してればいいよ

611 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/09/29(火) 10:05:41 ID:luOmQHoy0]
展開とファイル実行機能をつけたスクリプトをEXE化してプレゼントしてあげよう

612 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/09/29(火) 15:26:34 ID:0xdw+62LP]
4.5cだとselectが仕様変更したせいかこんな関数すると2ループ目で
構文エラーになるぞ。バグ?
for z = 0 to 5
print z
Test()
next
procedure Test()
dim cb
cn = "efg"
select cn
case "efg"
cb = 1
case "hij"
cb = 2
selend
fend

613 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/09/29(火) 20:17:33 ID:RXL7LTN80]
>>612
漏れのとこはprocedure Test()がSyntax error吐く
procedure Test(a)と呼び出しもTest(0)に書き直すと5まで回る

614 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/09/30(水) 16:39:27 ID:IWwKgH1S0]
>>612
エラーになる最小構成
Uスクリプト: SyntaxError:PROCEDURE TEST()2行目: TEST()
二回目の呼び出しでエラーになる

Test()
Test()

procedure Test()
  select 1
    case 2
  selend
fend

615 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/10/03(土) 15:10:10 ID:PrU7zT590]
>>612
最新の4.5c1で問題ないようですね。



616 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/10/03(土) 15:17:35 ID:PrU7zT590]
あ、修正内容記載忘れ

>SELECT-SELEND構文のCASE部の演算にて、正しく処理できないパターンがあるエンバグ修正

617 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/10/04(日) 19:21:28 ID:nTBPfdcN0]
他のアプリのフォーム上のテキストを取得するにはどうしたらいいんでしょうか。
手順だけでも教えてください。

618 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/10/05(月) 00:07:31 ID:CH7gUdqSP]
まずヘルプを見ます

619 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/10/05(月) 00:08:51 ID:PJFhomP10]
それから服を脱ぎます

620 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/10/05(月) 03:49:26 ID:NhTXeCvfP]
>>617
ttp://scripts.web.fc2.com/scriptsup/GetItem.uws

621 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/10/06(火) 08:32:17 ID:c/PWe0slP]
HSPは皆さん名前くらいはご存知だと思います。
簡単にGUIを利用できるスクリプトです。
GUIを利用するには操作可能なウィンドウのハンドルが必要になりますが、
hsp3imp.dll と .ax 形式のスクリプトファイルがあればHSPの基本的なスクリプトが実行できます。
ハンドルにNULLを渡すしかないのでデスクトップ画面の左上になにやら表示されるだけですが、
同一プロセスで実行するので、UWSCのTHREAD関数と同じで、UWSCのメインが終了すれば自動的にHSPスクリプトも終了します。
実用的なコードではありませんが、UWSCと連携できる方法が分かったので、メモ代わりに置いておきます。
----------------------------------------------------------------
def_dll _hspini@16( Long, Long, Long, Long):long:hsp3imp.dll
def_dll _hspbye@16( Long, Long, Long, Long):long:hsp3imp.dll
def_dll _hspexec@16( Long, Long, Long, Long):long:hsp3imp.dll
def_dll _hspprm@16( Long, Long, Long, var string):long:hsp3imp.dll

_hspprm@16( 0, 0, 0, NULL )
_hspprm@16( $102, 0, 0, "test.ax" )
_hspini@16( $100, 300, 200, 0 )
_hspexec@16( 0,0,0,0 )
_hspbye@16( 0,0,0,0 )

622 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/10/06(火) 12:07:27 ID:MmWu6XUb0]
いえ、結構です

623 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/10/06(火) 13:51:43 ID:/f+XFp6+0]
そういうなよw

HSP利用してるひとには、何か役に立つ場面があるんだろう。よくわかんないけど。

624 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/10/06(火) 14:08:00 ID:iGIKVHSK0]
GUIって書いてあるし、インターフェースの作り方が簡単に出来るんじゃね?
PRO版でも以外にhtmlで組んで値の取得はめんどいきがするしなぁ。

625 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/10/06(火) 14:40:59 ID:aEe1fbMS0]
スクリプトが中心のUWSCにGUIは要るのかどうか



626 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/10/08(木) 18:39:23 ID:POs5weyE0]
GUIは要るだろw
処理は分岐させるときに、
マウスでボタン選ばせることはよくある。

627 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/10/08(木) 19:32:12 ID:qRylH6WX0]
漏れはGETKEYSTATE(と反応いるならFUKIDASI)派

628 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/10/08(木) 20:16:25 ID:G90OFwF50]
そういえば、UWSCをゲームの自動化に使う人が多いけど、
UWSCはドットと一定範囲のキャプチャ、そしてあらかじめ用意した画像との一致ができるけど、
もーちょっと複雑な処理をするとなると普通の開発言語が必要になってくる。
DLLを作れば呼び出しはしやすいけど、DLLを作るのはちょっと大変。
HSPは個人というか同人のゲーム開発によく使われているから、作りやすそうな気がする。

>>621の呼び出し方法だとデータの受け渡しは出来なさそうだけど・・
確かHSP独自の管理データのバッファを受け渡すオプションがあるんですよ。
メモリアロケートしなきゃいけないからUWSCで用意するのはきついか・・・
そもそもそのバッファをどう使うのかも分かんないし。
直呼びするんじゃなくて中間にそのデータを処理するライブラリが必要になるよな。
結局DLLは作らなきゃいけないのか。


629 名前:名無しさん@お腹いっぱい。 [2009/10/08(木) 20:54:12 ID:UBSNf1qA0]
msgboxでYES or NO を選択させているときに
バックグラウンドのログウィンドウのサイズ変更やスクロール操作をさせたいのですけど
どーにもウィンドウ自体がロックされてて動かない。

何かいい処理手段はありませんか。

630 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/10/08(木) 21:08:28 ID:qO5rVH0kP]
>>629
ためしに別スレッドで表示してみたけど、スレッド関係なくログ窓はロックされた。
最初にログ窓を表示してsleep()してる間にサイズを変更しておくしかないね。

毎度変更するのが面倒なら、ログ窓の初期サイズはどっかの初期設定で変更できるんじゃないかな。
参考にはならないだろうけど、UWSCの別スレッドで>>621の方法で呼び出したHSPスクリプトで表示した窓なら確かログ窓をロックしなかった。
モーダルとモードレスの違いかな。


631 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/10/09(金) 12:31:18 ID:b97IpTpi0]
>>630
やっぱりそこは仕様として受け入れるのが妥当みたいですね…


632 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/10/09(金) 21:26:03 ID:arGnFET40]
OPTIONで、SLCTBOXとかMSGBOXのタイトルは指定出来るけど、
Printで出てくるLogのウインドウのタイトルは変更出来ないですよね?
やるとしても、指定したタイトル.uwsを勝手に生成させて、
それにPrintしたい文を引数として渡しながら起動させて、そっちのプロセスからLogウインドウ生成させる
とか、
もしくはFukidashi使ってPrintまがいの関数作って、常に一番上に同じ文字列を表示させる事で代用する感じですか?

633 名前:名無しさん@お腹いっぱい。 [2009/10/10(土) 19:09:22 ID:x/VCcQim0]
ふと思ったんだがUSBケーブルで携帯電話に繋げば携帯電話のキーも自動操作可能?

634 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/10/10(土) 19:16:07 ID:utpQqVzD0]
無理

携帯電話を接続する場合、モデムとして認識されるだろう。
モデムとしてダイヤルすることは、通信ソフトを使えば可能だが、通話は・・
Windows98には通話に使えるダイヤラーがあったけどな。


635 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/10/11(日) 00:22:44 ID:35okaGI10]
UWSCで初めてプログラムを触ったんですが、基本的なことがわからないので質問します。

for i = 0 to 30
 A = ループの終了条件1
 B = ループの終了条件2
 ifb FLAG = 0 then
  if A then break
 else
  if B then break
 endif
next

for i = 0 to 30
 ifb FLAG = 0 then
  A = ループの終了条件1
  if A then break
 else
  B = ループの終了条件2
  if B then break
 endif
next

どちらが正しい処理の仕方(処理的に軽い)ですか?



636 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/10/11(日) 00:36:00 ID:PutYKpoI0]
for i = 0 to 30
 ifb FLAG = 0 then
  if ループの終了条件1 then break
 else
  if ループの終了条件2 then break
 endif
next

これじゃいけない?

後者の方が条件Aにマッチする時は条件Bの評価をしなさそうに見えるけど、
実際はそうでないことも多いからやってみないとわからんな。

637 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/10/11(日) 02:58:02 ID:VZNQjdxo0]
FLAGが0か1なら
for i = 0 to 30
 if (FLAG XOR ループの終了条件1) OR (FLAG AND ループの終了条件2) then break
next
とかやっちゃいそうな気がする。
短く書けるけど読みにくいし早くは無さそうだがw
ORは確か片方成立で飛ぶんじゃなかったっけかな?

638 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/10/11(日) 03:08:56 ID:bm9Dl8WM0]
そもそもFLAGをforの中で変えてないのだから
ifb FLAG=0 then
for i = 0 to 30
   A = ループの終了条件1
  if A then break
   B = ループの終了条件2
  if B then break
next
endif
としてfor〜nextの間を省けばいい

FLAG変数への参照を無駄にループ数分行っていたのを省略できるし、forの中で一切FLAGをいじってない
時間の無駄すぎる

639 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/10/11(日) 03:21:48 ID:G3PJrjiY0]
>>638
いや、マルチスレッドでflagをセットするのかもしれない。

ちょうど昨日くらいにマルチスレッドで同じ変数への演算を試したが、タイムラグはあるものの矛盾は起きなかった。
絶対に起きないというテストじゃなくて、ログに吐いてざっとみた感じだけどな。
データ保持時間が最短のインクリメント(X=X+1)だったから矛盾しなかっただけかもしれないが、
実際マルチスレッドでやり取りするのはその程度の小さいデータだしな。

>>637
UWSCの or はビット演算するんじゃなかったかな。
FLAGにセットするデータとループの終了条件1、2が0または1しかセットしないと決めてあるなら大丈夫だろうけど。

640 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/10/11(日) 03:38:04 ID:bm9Dl8WM0]
>>639
ほい、if文の中のorの動きを見るサンプル
マウスの真ん中ボタン押すと次の数字をチェックに動く
動かす限りは、左右どちらかの条件を満たしたときthenの処理を行うっぽい

for a=-2 to 2
for b=-2 to 2
ifb a or b then
fukidasi(a+"|"+b)
while GETKEYSTATE(VK_MBUTTON)=FALSE
WEND
while GETKEYSTATE(VK_MBUTTON)=TRUE
WEND
else
endif
next
next

641 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/10/13(火) 22:27:37 ID:jrmsphI70]
z = 1
repeat
IESetData(IE,True,"btnG","u-tan",z)
z = z + 1

until z > 400

終了条件が400となっていますが、400以下のときがあり
そのまま終了せずに止まってしまいます。

400以下の場合はどのような終了条件にすればいいのでしょうか?

642 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/10/13(火) 22:38:27 ID:xJwyuOU/0]
while IESetData(知らない)
 z=z+1
wend

643 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/10/13(火) 22:57:01 ID:71hzl6RX0]
for z = 1 to 400
IESetData(IE,True,"btnG","u-tan",z)
next

644 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/10/13(火) 23:07:14 ID:jrmsphI70]
>>642-643
どちらも駄目でした・・・



645 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/10/13(火) 23:13:52 ID:Duzrrw3q0]
z=1
while z<400 and a=TRUE
a= IESetData(知らない)
 z=z+1
wend



646 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/10/13(火) 23:51:29 ID:jrmsphI70]
>>645
変数aを上に記載してやったら
どうにかできました。m(_ _)m

647 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/10/14(水) 00:48:59 ID:21DOA/fB0]
ということはこれだな
for z = 1 to 400
 if false = IESetData(IE,True,"btnG","u-tan",z) then break
next


648 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/10/15(木) 17:56:31 ID:UljGJ3ay0]
ちょっと疑問に思ったんだけど、
 「false = 条件」 と、 「条件 = false」
って普通はどっち?

649 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/10/15(木) 18:55:03 ID:bcXkiyj70]
C言語で
> if 変数 = 状態
ってやっちゃうと代入になっちゃうから
> if 状態 = 変数
って書くべしっていうのはある

でもBasicは = で比較だからどっちでも同じ
ただ、比較対照が長い関数の場合、どれとどれを比較してるんだかわかんないので
> false = 関数
ってしたほうがいい。

> if 関数 = false then
と書くと、
> if 関数 then
と間違えやすい
だから、Basicでは
> if false = 関数 then
と書くのをお勧めする


650 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/10/15(木) 23:21:40 ID:a8XdqmYx0]
初歩的な質問だと思いますが、
a = 1
IFB a != 1
 print "a != 1"
ELSE
 Print "a = 1"
ENDIF
で、表示されるのがa != 1というのは、仕様ですか?
エラー出ないのに、=を論理否定して≠にしている訳では無いのかな。
上記をC言語的なイメージで解釈したように使うには、
a = !1か、!a = 1か、a<>1にしなければならないようですが、
a<>1が一番解りやすいですかね?

651 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/10/16(金) 00:12:35 ID:d8MsK2iH0]
>>650
それなんで通っちゃうんだろうね
確かに != の表記が間違ってるみたいだけど。

652 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/10/16(金) 14:55:14 ID:yaBuphLm0]
saveimgを使って保存した画像をchkimgで調べるのを組んでるのですが
chkimgの座標指定が今一うまくいかないのでアドバイスお願いします
CHKIMG( 画像名, [透過色/色無視, x1, y1, x2, y2, 番号, 色幅] )

 X1――X2
  |    |
 Y1――Y2
このような解釈でいいのでしょうか?

ACW(GetID("ログイン"))
LOGIN = GetID("ログイン")
MOUSEORG(LOGIN)
 Repeat
  log = CHKIMG("log.BMP",-1)
  in = GetID("ログイン")
  ifb log then
   print "認証"
   print "X"+G_IMG_X+"Y"+G_IMG_Y
   BTN(LEFT,CLICK,G_IMG_X+20,G_IMG_Y+20,500)
 endif
 sleep(0.1)
 Until in < 0

この様に一度動かしてみて print "X"+G_IMG_X+"Y"+G_IMG_Y で出た座標を
log = CHKIMG("log.BMP",-1,)に入れてみるのですが上手く認識してくれません
座標指定しなければちゃんと認識はしてます
CHKIMG("log.BMP",-1,0,0,1000,1000)などにすると認識はしますが
実際 print "X"+G_IMG_X+"Y"+G_IMG_Y で出てくる数値は20,400程度なので
これに余裕を持たせ CHKIMG("log.BMP",-1,0,0,200,600) にしても認識してくれません
何がいけないのでしょうか?

653 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/10/16(金) 15:07:01 ID:d5KMyGe80]
>>652
 (X1,Y1)――
   |     |
   ―――(X2,Y2)


654 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/10/16(金) 15:21:35 ID:d8MsK2iH0]
>>652

  ┌Y1┐
 X1   X2
  └Y2┘


655 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/10/16(金) 15:26:36 ID:d5KMyGe80]
>>652
始点Yが400で選択範囲をY600までにした場合
Yの値=画像の横幅、が200pxを超えていると認識しない。



656 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/10/16(金) 15:49:11 ID:yaBuphLm0]
>>653-654
654を見て理解できました

>>655
画像自体の幅と高さが関係してくるのを理解してませんでした


これで少し前進しました アドバイスくださった皆さんありがとうございました


657 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/10/17(土) 16:13:22 ID:GlNkzRYu0]
ifb (L > 0 and L < 11) or (L > 40 and L < 51) or (L > 80 and L < 91) then
i = 1
ifb (L > 0 and L < 11) then
ii = 1
elseif (L > 40 and L < 51) then
ii = 2
else
ii = 3
endif
elseif (L > 10 and L < 21) or (L > 50 and L < 61) or (L > 90 and L < 101) then
i = 2
ifb (L > 10 and L < 21)
ii = 4
elseif (L > 50 and L < 61)
ii = 5
else
ii = 6
endif
endif

下一桁も取出したいのですがもっと簡単に書く方法はないですか?

658 名前:名無しさん@お腹いっぱい。 [2009/10/17(土) 17:03:23 ID:Xw3XxMCcP]
ここまで何をしたいのか全く理解できないレスは初めてだ

659 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/10/17(土) 17:32:45 ID:4eI9AiXq0]
>>657
select L
 case 1 to 10
  i = 1
  ii = 1
 case 11 to 20
  i = 2
  ii = 4
 case 41 to 50
  i = 1
  ii = 2
 case 51 to 60
  i = 2
  ii = 5
 case 81 to 90
  i = 1
  ii = 3
 case 91 to 100
  i = 2
  ii = 6
 default
selend

「to」って使えたっけ??

660 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/10/17(土) 17:58:54 ID:II0xKVE40]
使えないだろ。

下一桁の意味がわからん

661 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/10/17(土) 18:30:52 ID:GlNkzRYu0]
すいません説明不足で
1〜200までの場所がありまして、まず1〜200は8つのブロックに分かれてます。

1つ目のブロックは、1〜10 41〜50 81〜90

2つ目のブロックは、11〜20 51〜60 91〜100

3つ目のブロックは、21〜30 61〜70 101〜110

4つ目のブロックは、31〜40 71〜80 111〜120

5つ目のブロックは、121〜130 161〜170

6つ目のブロックは、131〜140 171〜180

7つ目のブロックは、141〜150 181〜190

8つ目のブロックは、151〜160 191〜200

1つ目のブロックの1行目は1〜10 2行目は41〜50 3行目は81〜90
4つ目まで同じ
5つ目のブロックからは1行目は121〜130 2行目は161〜170
8つ目まで同じ

これを指定した番号の場所に行きたいのですが簡略化して書く方法が思いつかなかったので質問させていただきました。


662 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/10/17(土) 19:15:57 ID:2kTk15QU0]
すみません質問です
友人から拡張子.uwsのスクリプトをもらいましたがUWSCのお試し期限が切れてしまいました
そこでAutoItで使えるようにしたいのですが僕にはこういった知識が全くありません
その友人に変換してもらえるか聞いたんですが
「UWSC以外は使ったことないからワカンネ」と言われてしまいました
もしここの部分をこうするだけだよ、
ってレベルの話であればどうか教えてください

663 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/10/17(土) 19:25:26 ID:ra182OK/0]
>>662
UWSCのフリー版使えば期限なんてないよ
www.uwsc.info/uwsc45c1.zip

664 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/10/17(土) 19:35:41 ID:a5Xst/mw0]
>>661
IFB L <= 120
 hoge = (L-1) MOD 40
 i = INT(hoge / 10) + 1
 ii = INT((L-1) / 40) + 1
 iii = L MOD 10
ELSEIF L <= 200
 hoge = ((L- 120) -1) MOD 40
 i = INT(hoge / 10) + 5
 ii = INT((L-1) / 40) + 1
 iii = L MOD 10
ENDIF
こんな感じじゃない?
適当に書いたからどこか1とかずれてると思うけど、
適当にいじれば使えると思うよ。
MODは割った剰りを求める演算な。

665 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/10/17(土) 19:54:20 ID:D58+E+1n0]
>>657の条件だとiiの条件が特殊じゃね?
俺ならこんなの配列イメージで出すようにするわ
L = 11
DIM i,ii
DIM index[7][2] =_
0, 4, 8,_
1, 5, 9,_
2, 6,10,_
3, 7,11,_
12,16,99,_
13,17,99,_
14,18,99,_
15,19,99
DIM value_ii[7][2] =_
1, 2, 3,_
4, 5, 6,_
7, 8, 9,_
10,11,12,_
13,14,99,_
15,16,99,_
17,18,99,_
19,20,99
for block = 0 to 7
 for column = 0 to 2
  ifb int((L-1)/10) = index[block][column] then
   i = block + 1
   ii = value_ii[block][column]
MSGBOX( "i=" + i + ", ii=" + ii )
   break 2
  endif
 next
next



666 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/10/17(土) 20:03:08 ID:2kTk15QU0]
>>663
ありがとうございます
フリー版があったんですね
助かりました

667 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/10/17(土) 20:36:20 ID:GlNkzRYu0]
L = 入力された数字1〜200

ifb (L > 0 and L < 11) or (L > 40 and L < 51) or (L > 80 and L < 91) then //8つのうちの1つ目のブロック
 i = 1 // 8/1 iはブロックの場所の変数
 ifb (L > 0 and L < 11) then
  ii = 1 // 1〜10までだから1行目 iiは行数の変数
  ifb L = 1
   iii=1 // Lは1番目 iiiは何番目かを表す変数
これをズラズラ200通り書いてたのでうまく求める書き方がなのかと思いまして



668 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/10/17(土) 21:23:35 ID:pJnpQWGB0]
>>667
どうせ200通り書くんなら200通りの配列にしろよ。
そしたらコーディングは次の1行で済むからバグが混入しなくていいだろ。
> 結果 = データ[L]

> const ブロック = 0
> const 行 = 1
> const 列 = 2
> dim 結果[2]
> 結果 = データ[L]
> ブロック番号 = 結果[ブロック]
> 行番号 = 結果[行]
> 列番号 = 結果[列]

データは↓のように1〜200を定義する
dim データ[200][2] = _
// ブロック番号、行、列
0, 0, 0, _ // ダミーデータ
1, 1, 1, _ // L = 1
2, 1, 1, _ // L = 11
3, 1, 1, _ // L = 21

ルール化してデータを折りたたむ場合でも、一旦表にしてみれば整理しやすい。


669 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/10/17(土) 21:27:50 ID:NwjYpu/W0]
下一桁の意味がわからん
普通に考えてL=164なら4をさすと思う
iはブロックらしいが、iiはなになのかわからんってことで

DIM minv[20]= 1,11,21,31,41,51,61,71,81, 91,101,111,121,131,141,151,161,171,181,191,-999
DIM maxv[20]=10,20,30,40,50,60,70,80,90,100,110,120,130,140,150,160,170,180,190,200,-999
DIM tou[20]= 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20,-999
DIM blk[20]= 1, 2, 3, 4, 1, 2, 3, 4, 1, 2, 3, 4, 5, 6, 7, 8, 5, 6, 7, 8,-999

L=INPUT("数字を入力してください",1)

L=INT(L)
ifb L<0 or L>200 then
FUKIDASI ("範囲外なので処理できません")
SLEEP(500)
EXITEXIT
endif

670 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/10/17(土) 21:28:31 ID:NwjYpu/W0]
counter=0
while minv[counter]<>-999
if minv[counter]<=L and L<=maxv[counter] then break
counter=counter+1
wend

i=blk[counter]

ifb minv[counter]<>-999 then
FUKIDASI(tou[counter]+"&"+blk[counter])
WHILE GETKEYSTATE(VK_MBUTTON)=FALSE
WEND
WHILE GETKEYSTATE(VK_MBUTTON)=TRUE
WEND
endif
EXITEXIT

671 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/10/17(土) 22:00:44 ID:GlNkzRYu0]
沢山の答えありがとうございます
自分はまだ初心者なので皆さんの答えを今すぐに理解できないので
1つずつ理解していきます。



672 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/10/17(土) 22:30:46 ID:GlNkzRYu0]
>>669
95は何ブロック目の何行の何番目かを出したくて661みたいなkとを書いたのですが
簡潔にまとめるために質問しました。

□は縦1列で1ブロック

    1〜10  11〜20  21〜30  31〜40 
1行   □     □     □     □

   41〜50  51〜60  61〜70  71〜80 
2行   □     □     □     □

   81〜90 91〜100  101〜110 111〜120 
3行   □     □     □     □

   121〜130 131〜140 141〜150 151〜160 
4行   □     □     □     □

   161〜170 171〜180 181〜190 191〜200 
5行   □     □     □     □



673 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/10/18(日) 09:11:39 ID:t51s/utc0]
661とは全く違うじゃねーかw
説明が下手糞だから余計な混乱を招いてるんじゃないのかよ。

下手に簡略化しようと考えずに
実際にやってることを書けよw

674 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/10/18(日) 11:27:49 ID:0ZmdNhwk0]
>>673
最初そう思ったがどうやらLの数値からブロックの番号と行の番号の2種類を求めたいらしい
ただ、あとは>>669のDIM tou[20]=をその行の番号に対応するところを変えて後ろにii=tou[counter]
をつければ差し替えるだけで終わるから、後は質問者がLvUPしてこれをするだけ

675 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/10/18(日) 13:43:28 ID:fLNvafB60]
>>669はminとmaxを別々の配列にしてるけど、それはミスが出やすいコーディングだから駄目だよ。
ひとつのオブジェクトにminとmaxがあるのはいいんだけどね。

□部分に、 L に9を足して10で割った数字を入れてみる。
さらに4を足して4で割った数字(小数点は切捨て) 【↓】
    1〜10  11〜20  21〜30  31〜40 
1行   1      2      3      4       1

   41〜50  51〜60  61〜70  71〜80 
2行   5      6      7      8       2

   81〜90 91〜100  101〜110 111〜120 
3行   9      10     11     12       3

   121〜130 131〜140 141〜150 151〜160 
4行   13     14     15     16       4

   161〜170 171〜180 181〜190 191〜200 
5行   17     18     19     20       5
      1      2      3      4 【←】 ((□-1) mod 4) + 1 の計算結果


>>664が既に書いてくれてるのを分解した図だな。
Excelとかで計算式書いてみたらすぐ作れる表なんだけどなあ。
しかも今どき表計算とか無料で使えるのに知らないのかなあ?




676 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/10/18(日) 18:29:56 ID:/4/WenoU0]
ヘルプも見たけど分からなかったので質問
batファイルなんかだと「go to ○○」と書くと○○の部分に処理をジャンプさせられるけど
例えば

EXEC("C:\Program Files\lolifox\lolifox.exe")
loliid = GETID("lolifox", "MozillaUIWindowClass", -1)
CTRLWIN(loliid, MIN)

loli = STATUS(loliid, ST_ICON)

ifb loli = 0 then
CTRLWIN(loliid, MIN)
EXEC("D:\ソフト\Jane Style\Jane2ch.exe")
else
EXEC("D:\ソフト\Jane Style\Jane2ch.exe")
endif

こんな感じで書いたとして(本当はJaneの後も他の起動がズラズラ)
lolifoxは最小化したあと何故か勝手に最大化されてしまう場合があるから
こういう風にしてるんだけど、それだと同じ処理を両方に書いて長く見づらくなっちゃうため
thenの方で最小化した後にelseの方に飛ばす方法ってないのかな?

677 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/10/18(日) 18:48:35 ID:fLNvafB60]
>>676
loliの中身を見る必要はない
これでおk
> STATUS(loliid, ST_ICON)
> CTRLWIN(loliid, MIN)
> EXEC("D:\ソフト\Jane Style\Jane2ch.exe")


もしくは、if分が終わった後に書けばおk
> if loli = 0 then CTRLWIN(loliid, MIN)
> EXEC("D:\ソフト\Jane Style\Jane2ch.exe")







[ 続きを読む ] / [ 携帯版 ]

前100 次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧](;´∀`)<344KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef