■ このスレッドは過去ログ倉庫に格納されています
自動化ツールUWSC使いよ集まれ14
- 1 :名無しさん@お腹いっぱい。:2015/03/08(日) 00:18:57.40 ID:itdOhEn30.net
- Windowsの作業を自動化するツール
フリーソフト版とシェアウェア版の2種類がある
ttp://www.uwsc.info/download.html
●UWSC 掲示板(※作成依頼掲示版ではありません)
質問の際には自力で作ったスクリプトを晒すか、具体的な解らない場所を提示すること
上級者が常駐、たまに作者も現れるため過去ログには有益情報の宝庫
ttp://www3.bigcosmic.com/board/s/board.cgi?id=umiumi
ttp://www3.bigcosmic.com/board/s/board.cgi?id=umiumi&mode=past
●UWSC - Wikipedia
ttp://ja.wikipedia.org/wiki/UWSC
●使い方・基礎解説学習サイト
ttp://uwsc.g.hatena.ne.jp/cx20/20100131/1264938584
ttp://www.confrage.com/uwsc/
ttp://necro.jp/dev/uwsc/
ttp://park14.wakwak.com/~simizu/uwsc/fruwsc.html
ttp://canal22.org/
ttp://big.tm.land.to/handbook/uwsc.htm
ttp://www.game-rev.com/review/gameut/uwsc.html
●スクリプトテンプレサイト
ttp://izagne.com/uwsc/
ttp://scripts.web.fc2.com/
ttp://www.nagomi-jp.net/~liners/
ttp://nem.symphonic-net.com/uwsct/0610uwsct.html
ttp://siromasa.digi2.jp/uwsc/
ttp://iriyak.adam.ne.jp/uwsc.html
- 13 :名無しさん@お腹いっぱい。:2015/03/11(水) 19:43:39.38 ID:Kv0GqNyV0.net
- LeftClick っていうUWSCのスクリプト関数はなかったきがする。
たぶん、CLICKを押している時間じゃないの。
- 14 :名無しさん@お腹いっぱい。:2015/03/11(水) 19:59:43.56 ID:+rYcEFRE0.net
- >>13
解決しました。ありがとうございます
関数じゃないとの言葉から改めて探したところ見つかりました!
Procedure LeftClick(X1,Y1,X2,Y2)の一文が!
それの内容を見たところ理解できました
- 15 :名無しさん@お腹いっぱい。:2015/03/12(木) 09:01:13.68 ID:cPx9pA420.net
- 基本的なことで申し訳ないんですが、
formsとelementsが何番目かどうかってどうやって判断すればいいんですか?
htmlソース見ても複雑なのが多くて…
- 16 :名無しさん@お腹いっぱい。:2015/03/12(木) 10:48:59.97 ID:uSEK81CY0.net
- パスワードを忘れてしまいました0000〜9999の中のどれかが該当するんですが
自分で総当たりするのではなくUWSCにやってもらおうと思いました。
どのようなスクリプトを組めばいいか教えてください。
具体的には下記の作業をやらせたいのです。
0000入力→エンターキー→バックスペースx4入力
↓
0001入力→エンターキー→バックスペースx4入力
↓
0002入力→エンターキー→バックスペースx4入力
・
・
・
9999入力→エンターキー
- 17 :名無しさん@お腹いっぱい。:2015/03/12(木) 11:37:14.37 ID:DyIbiY5i0.net
- >>16
ループさせてその処理を書くだけ
0詰め編集は必要かな
- 18 :名無しさん@お腹いっぱい。:2015/03/12(木) 11:46:11.90 ID:DyIbiY5i0.net
- >>15
よく分からんが、
ループで回して欲しい要素のidやnameやvalueの値を見ればいいのでは?
- 19 :名無しさん@お腹いっぱい。:2015/03/12(木) 11:48:38.58 ID:xGHFbvBc0.net
- よく分からんなら答えるなよカス
- 20 :名無しさん@お腹いっぱい。:2015/03/12(木) 11:51:03.47 ID:DyIbiY5i0.net
- >>19
煽るだけならレスすんなよクズ
- 21 :名無しさん@お腹いっぱい。:2015/03/12(木) 12:37:16.04 ID:QWbt8LCP0.net
- >>17
横からで悪いけど連番作るのはFor a = 1 to 100で簡単に思いつくけど
前の空きを0で埋める方法って具体的にどんな方法があるんだろう
現状必要としてないけど、知識として知っておきたい
- 22 :16:2015/03/12(木) 12:46:14.67 ID:uEkExkhE0.net
- 9999までforで代入するのはわかるけど、それをどうやって文字に変換するの?
sendstrのクリップボードに送りたい
- 23 :名無しさん@お腹いっぱい。:2015/03/12(木) 12:57:12.93 ID:2RVo/dHL0.net
- UWSCのみでやるなら
ゼロプレスは最大桁数-1の”0”(この場合は”0000”)とVAL()で文字列を数値に変換したのを連結する
POS()と連結後の長さを使えば良い
- 24 :名無しさん@お腹いっぱい。:2015/03/12(木) 13:13:51.32 ID:eDOJrmZ/0.net
- UWSCの構文網羅した入力補完機能付きエディタありませんかね?
Visual Studioに慣れてしまって、入力補完ないとサクサクコーティングできない
- 25 :名無しさん@お腹いっぱい。:2015/03/12(木) 13:18:35.81 ID:2RVo/dHL0.net
- 秀丸はヘルプの予約語からコピペして辞書作ったら出来るよ
コーディング向けエディタなら大抵出来ると思うが
- 26 :名無しさん@お腹いっぱい。:2015/03/12(木) 13:39:50.50 ID:uSEK81CY0.net
- >>16は諦めました
メモ帳に
0001
0002
0003
0004
0005
0006
(省略)
9998
9999
と自動で打ち込むにはどう書けばいいか教えてください。
- 27 :名無しさん@お腹いっぱい。:2015/03/12(木) 13:49:25.76 ID:MRuS/Qcf0.net
- >>26
Excelでセルの書式設定→表示形式を文字列にする
0000
0001
0002
と入力する
その3つのセルを選択して、9999まで引っ張る
メモ帳にコピペ
- 28 :名無しさん@お腹いっぱい。:2015/03/12(木) 13:58:30.94 ID:J8DmLdi70.net
- >>23
copy使ったほうが簡単な気も
- 29 :名無しさん@お腹いっぱい。:2015/03/12(木) 13:58:49.90 ID:cPx9pA420.net
- >>18
まあ製品目的じゃないわけだし、そういった総当り的なやり方でもいいね
- 30 :名無しさん@お腹いっぱい。:2015/03/12(木) 14:25:53.29 ID:Twlw2OwD0.net
- 数値→文字列変換なんてのはどの言語にもあるし、UWSC 文字列 関数でぐぐればすぐ分かるよ。
- 31 :名無しさん@お腹いっぱい。:2015/03/12(木) 14:48:17.44 ID:uSEK81CY0.net
- >>27
ありがとう。でも知りたいのはUWSUでやる方法なんです
- 32 :名無しさん@お腹いっぱい。:2015/03/12(木) 14:49:04.15 ID:2RnQOx5x0.net
- for 0 to 9を4つ重ねてひっつける方法が真っ先に浮かんだけど
ぐぐって出てきたformatとreplace使う方法のほうが良さそうだ
- 33 :名無しさん@お腹いっぱい。:2015/03/12(木) 14:54:24.36 ID:J8DmLdi70.net
- >>31
execとsendstr使えばいいけど、
遅いから一旦ファイルに書き出した方がいいと思うよ
- 34 :名無しさん@お腹いっぱい。:2015/03/12(木) 14:55:30.92 ID:srIDA4G60.net
- for i = 0 to 9999
number = replace(format(i, 4), " ", "0")
sendstr(0, number)
クリップボードに文字列が入っているので処理する
next
こんな感じではいかんの?
- 35 :名無しさん@お腹いっぱい。:2015/03/12(木) 15:11:43.96 ID:J8DmLdi70.net
- formatか
勉強になった
- 36 :名無しさん@お腹いっぱい。:2015/03/12(木) 16:31:15.31 ID:uSEK81CY0.net
- >>34
をコピペしたけど出来なかった。
- 37 :名無しさん@お腹いっぱい。:2015/03/12(木) 16:40:42.25 ID:srIDA4G60.net
- コピペだけじゃなくてちっとは自分で考えろや
クリップボードに入れる所まで作ってもらっといてまだできないとかお前はミジンコか?
- 38 :名無しさん@お腹いっぱい。:2015/03/12(木) 16:49:05.39 ID:s3+uw6570.net
- 仕様書いたら、誰かが完璧なコードに起こすのを待ってるんだろうな
- 39 :名無しさん@お腹いっぱい。:2015/03/12(木) 17:17:25.66 ID:ZJ/7B8lw0.net
- The クレクレ君
- 40 :名無しさん@お腹いっぱい。:2015/03/12(木) 17:19:12.36 ID:uSEK81CY0.net
- ミジンコですんません次はプラナリア目指します
ごめんなさい
- 41 :名無しさん@お腹いっぱい。:2015/03/12(木) 17:23:47.76 ID:Twlw2OwD0.net
- てっとりばやく動くものがほしければ、お金出してつくってもらえばいいんでない。
コードいじったりするつもりないなら
- 42 :名無しさん@お腹いっぱい。:2015/03/13(金) 05:31:41.02 ID:d1ZXmJXS0.net
- モバゲーのサークル等画像認証がある場合連投ツールはUWSCで作れますかね。1から勉強してみようと思っているのですが
- 43 :名無しさん@お腹いっぱい。:2015/03/13(金) 05:49:48.08 ID:SzHwFuiM0.net
- >>42
UWSC単独では無理
画像解析の勉強もすることになる、というかそっちの方のウェイトが大きい
- 44 :名無しさん@お腹いっぱい。:2015/03/13(金) 12:19:53.14 ID:bWuS9Pqc0.net
- 画像認証する理由がマクロ対策のためだからな
それが簡単に出来たら対策じゃないし
- 45 :名無しさん@お腹いっぱい。:2015/03/13(金) 14:03:28.27 ID:kEU/A8NO0.net
- >>42 >>43さんありがとうございます。毎回画像認証をかいくぐって連投してくる人がいるのですが
仕組みをよく理解されてるみたいです。画像認証についても勉強してみます。
- 46 :名無しさん@お腹いっぱい。:2015/03/13(金) 14:14:36.21 ID:Grt+Wagz0.net
- >>45
> 毎回画像認証をかいくぐって連投してくる人
何も画像認識をしているとは限らないと思いますが、
画像にしても弾く処理にしても、どっか甘いんじゃないですか?
2ちゃんねるだってAPI実装で
今日から過去の専ブラが使えなくなりましたが
みんなそれをかいくぐってアクセスしてるでしょ?
- 47 :名無しさん@お腹いっぱい。:2015/03/13(金) 14:18:43.29 ID:fXWUGn930.net
- CAPTCHA突破じゃなく連投制限にひっかかってCAPTCHA出てるだけじゃない?
モバゲーは知らんけども、同一IPからこ連投には荒らし対策としてCAPTCHA入れてくるところがある
それなら自動的に串刺すとかで対処してるんじゃないかな
よっぽど見やすいものでもない限りCAPTCHA突破は無理
- 48 :名無しさん@お腹いっぱい。:2015/03/13(金) 14:54:18.58 ID:iLROOU3y0.net
- 最近は人力解除サービスもあるけどね
- 49 :名無しさん@お腹いっぱい。:2015/03/13(金) 15:46:21.29 ID:n6HUnrPd0.net
- ウィンドウ操作のCTRLWINで最前面操作はありますが、最後面にしたい場合はどうしたらいいですか?
別の方法でもかまいません
- 50 :名無しさん@お腹いっぱい。:2015/03/13(金) 16:05:04.46 ID:bWuS9Pqc0.net
- >>49
getallwinで全てのウインドウ取得して
ループさせて、対象のウインドウ以外を一通り最前面にすれば一応できそう
でも非表示の変なウインドウまで出すとエライことになるはずだから
statusで座標、可視状態、アイコン状態?とかを見て
普通のウインドウであることを判定してからやる必要がありそう
- 51 :49:2015/03/13(金) 16:08:07.04 ID:dhQkIESf0.net
- うーん、getallwinは使ってみたんだけど使うたびにウィンドウIDの連番が変わるのと言っている通り変なウィンドウまで取得しちゃうし
getallwin(getid("firefox"))としてもfirefoxのウィンドウだけ取得するってのができなかったんだよね…
- 52 :名無しさん@お腹いっぱい。:2015/03/13(金) 16:16:10.16 ID:k9PzO4D60.net
- >>47さん そうなんですね。全くの素人で分からないのですが、youtubeに画像認証突破している同士がをさっき見つけたので見やすいものなんだとおもいます。
- 53 :名無しさん@お腹いっぱい。:2015/03/13(金) 16:22:01.41 ID:fXWUGn930.net
- 発展途上国では画像認証入力代行のアルバイトもあるってどっかで見たな
- 54 :名無しさん@お腹いっぱい。:2015/03/13(金) 16:26:41.95 ID:bWuS9Pqc0.net
- >>51
使うたびにと言うのはループの外で一度だけ呼べばいいと思うけど
何か問題あるん?
家帰ったらコード書いてみようかな
getallwin(id)は小ウインドウ取得みたいだから、親子関係になってないと取れないね
- 55 :名無しさん@お腹いっぱい。:2015/03/13(金) 16:33:35.20 ID:dhQkIESf0.net
- >>54
申し訳ないです…
使うたびに変わるのは問題ないんですが、取得したものの中からfirefoxのものだけ抽出するのがうまくいかずに…
親ウィンドウ子ウィンドウの関係が理解できなかったけど、タブのようなものかな?
- 56 :名無しさん@お腹いっぱい。:2015/03/13(金) 16:55:43.66 ID:M+E6GPZL0.net
- >>55
Status()でパスとかタイトルからFirefoxと認識するのでは不十分ってこと?
- 57 :名無しさん@お腹いっぱい。:2015/03/13(金) 17:10:01.60 ID:4oBlUJIb0.net
- 画像認証で画像が消えるまでその画像を1秒おきにクリックするという
スクリプト作りたいんだけど、どういうの使うかアドバイスくだされ
- 58 :名無しさん@お腹いっぱい。:2015/03/13(金) 17:14:41.38 ID:fXWUGn930.net
- さすがにそれはuwscの基本でしょ
chkimgのヘルプ見るだけでできると思う
- 59 :名無しさん@お腹いっぱい。:2015/03/13(金) 17:16:53.57 ID:PxmAUj3h0.net
- これって他の言語から呼び出して戻り値を渡すことってできる?
例えば、C#で作成したフォームアプリにUWSCに画像認識任せて、結果をC#に返す。みたいな。
UWSC単体ではGUIが表示できないので困ってます
- 60 :名無しさん@お腹いっぱい。:2015/03/13(金) 17:41:52.92 ID:bWuS9Pqc0.net
- >>59
exitexitで終了コードは返せる
- 61 :名無しさん@お腹いっぱい。:2015/03/13(金) 17:44:26.22 ID:IhBN30Jy0.net
- surface pro 3で、クリックで記録しているのてすが、ズレが生じています。
自分が動かした所の右下で記録した動作が行われてしまいます…
関数書く知識もないので原因が全く分かりません…
分かる方宜しくお願いいたします…!
- 62 :名無しさん@お腹いっぱい。:2015/03/13(金) 17:45:37.39 ID:b9N18eWc0.net
- どっから迷いこんできたんだこれ
- 63 :名無しさん@お腹いっぱい。:2015/03/13(金) 17:52:47.80 ID:KwP/0EEO0.net
- >>59
ぶっちゃけc#使えるならOpenCVSとか使った方が良いぞ?
- 64 :名無しさん@お腹いっぱい。:2015/03/13(金) 18:04:46.58 ID:Nd6+FKpZ0.net
- >>60
ありがとうございます。
>>63
OpenCVSですか、ちょっと調べてみます。
- 65 :名無しさん@お腹いっぱい。:2015/03/13(金) 18:51:22.90 ID:p6+WWHEG0.net
- >>61
>surface pro 3 での動作について NEW / shadow
>windows8.1です。
>
>uwscで記録は出来るのですが、記録した通りの動きをしてくれません。
>必ず少し右下からの動作になり、ズレが生じてしまいます。
>
>わかる方居りましたらよろしくお願いいたします。
>No.997 2015/03/13(Fri) 17:25:07
>☆ Re: surface pro 3 での動作について NEW / shadow
>すみません。
>ブラウザはクロームです。
これは酷い
エスパーにしか分からんわ
ブラウザの位置を左上に戻せよ
- 66 :54:2015/03/13(金) 20:31:01.18 ID:g+EPUdK80.net
- >>55
まず、下の処理を実行して全てのウィンドウ情報を出力してみる
for id in getAllWin()
print "■" + status(id, ST_TITLE)
print status(id, ST_CLASS)
print status(id, ST_VISIBLE)
next
出力した中で不要なIDっぽいのを判別できる条件を探す。その条件を一つずつ指定して、除外していく。
俺の環境の場合↓で行けたっぽい
for id in getAllWin()
// 非表示は処理しない
if !status(id, ST_VISIBLE) then continue
// タイトルなしも処理しない
if status(id, ST_TITLE) = "" then continue
// スタートボタン(タスクバー?)も処理しない
if status(id, ST_TITLE) = "スタート" then continue
// 何コレ
if status(id, ST_TITLE) = "Program Manager" then continue
// 対象のウィンドウは処理しない(今回はFireFox)
if status(id, ST_CLASS) = "MozillaWindowClass" then continue
print "■" + status(id, ST_TITLE)
print status(id, ST_CLASS)
print status(id, ST_VISIBLE)
next
対象のウィンドウ以外で、普通のウィンドウだけが残ったなら、最後に、printの行のところをctrlWin(id, ACTIVATE)にすればOK
全角空白でインデントしてるので、半角スペースやtabに置換してね
環境によるから2番目のコードは参考程度にして自分で作ったほうがいい
- 67 :49:2015/03/13(金) 20:34:35.74 ID:JhaWoMs/0.net
- >>66
ありがとうございます
調べながらやってみます
- 68 :名無しさん@お腹いっぱい。:2015/03/14(土) 02:35:32.08 ID:YAMOqMkr0.net
- >>49
Alt + Esc
- 69 :名無しさん@お腹いっぱい。:2015/03/14(土) 08:13:04.56 ID:WGKI2Nkm0.net
- ブラゲマクロのループ内にiniのデータ再読み込みを入れてるのに、ini書き換えても反映されないと思ったら
public宣言と同時に読み込みしてたから二重定義で二回目以降はスルーされてたんだな
エラー吐かないから全然気づかなかったわ
配列の二重定義だとエラー吐くのに
- 70 :名無しさん@お腹いっぱい。:2015/03/14(土) 08:38:53.68 ID:mkTRBuo80.net
- というかゲーム自動化マクロの話題はNGっていうのが暗黙の了解じゃなかったのか?
久しぶりに来たら、その類いの質問に覆われてるんだけど
- 71 :名無しさん@お腹いっぱい。:2015/03/14(土) 08:53:32.25 ID:5WiP7gL70.net
- あの4桁は銀行か携帯だろうしな
そろそろやばいと思うわ
- 72 :名無しさん@お腹いっぱい。:2015/03/14(土) 09:10:58.21 ID:oSk0qD2D0.net
- あんな程度で突破できるセキュリティならとっくに破られてるわw
つーかあーいうのは5回くらいミスると別のロックがかかるのが普通だしな
- 73 :名無しさん@お腹いっぱい。:2015/03/14(土) 09:20:37.66 ID:yF8bwDJf0.net
- >>70
いつのまにかそうなってるね
答える側が消えない限り以前のようになるのは無理だと思う
- 74 :49:2015/03/14(土) 09:30:10.62 ID:3A8gIjv70.net
- >>68
すみません助かりました
ありがとうございます
- 75 :名無しさん@お腹いっぱい。:2015/03/14(土) 10:18:14.28 ID:WGKI2Nkm0.net
- >>70
スレ見始めたのも使い始めたのも最近だから知らんかった
すまんな
ゲーム自動化の話題はNGってテンプレに入れといたほうがいいんじゃない?
- 76 :名無しさん@お腹いっぱい。:2015/03/14(土) 10:57:25.31 ID:BYWwaXUY0.net
- ここに書き込むのって、ほぼゲーム自動化マクロだから、どうせ禁止にしたって質問する奴は後を絶たない
OKでいいんじゃない?
- 77 :名無しさん@お腹いっぱい。:2015/03/14(土) 11:09:35.85 ID:x4MA2C8f0.net
- 目的で禁止するんじゃなくて、丸投げを禁止するとかで
- 78 :名無しさん@お腹いっぱい。:2015/03/14(土) 12:44:57.63 ID:EJC2N5U10.net
- 普通のアプリ操作する分にはコントロールが取得できるから
ぶっちゃけゲーム目的でもない限り画像比較なんて滅多に使わないよ
IE以外のブラウザを意地でも操作したいケースとJavaアプリを操作するケース位じゃないかな
- 79 :名無しさん@お腹いっぱい。:2015/03/14(土) 16:39:06.41 ID:vESWpEGX0.net
- 同じ症状で解決策があれば教えてください
参考サイト
http://uwsc.wpblog.jp/?page_id=13
IFB CHKIMG("sample1.bmp")
MSGBOX("画像認識に成功しました。)
ELSE
MSGBOX("画像認識に失敗しました。")
ENDIF
//この時点では画像認証成功
COUNT = CHKIMG("sample1.bmp",1,,,,,-1)
MSGBOX(COUNT)
IFB COUNT > 0
MSGBOX("画像認識に成功しました。")
ELSE
MSGBOX("画像認識に失敗しました。")
ENDIF
//COUNT = CHKIMG("sample1.bmp",1,,,,,-1)この行で
//「CHKIMG: Unknown error」が出てしまいます。
//念のため次の行でCOUNTを出力するとやはり0で
//記述が間違っていますでしょうか
- 80 :名無しさん@お腹いっぱい。:2015/03/14(土) 16:48:09.18 ID:vESWpEGX0.net
- chkimgの引数をかえて解決できそうです失礼いたしました。
- 81 :名無しさん@お腹いっぱい。:2015/03/14(土) 16:58:10.03 ID:WGKI2Nkm0.net
- ヽ(・ω・)/ズコー
- 82 :名無しさん@お腹いっぱい。:2015/03/15(日) 05:42:44.66 ID:hoogL2Uj0.net
- 【net】今日も元気にスクリプト水増し
ttp://next2ch・net/test/read.cgi/poverty/1426346131/
UWSCで投稿スクリプトを作って200レスx2,3日やったら規制食らったんだけど
1000件以上書き込みしてる連中は規制されないのかね?
API必須になったから規制しやすいと思うんだけどね。
- 83 :名無しさん@お腹いっぱい。:2015/03/16(月) 00:40:08.18 ID:DlzN5Tfx0.net
- msvcrt.dllからmemcmpを利用して配列の比較を行いたいと思ってます。
UWSCでの記述方法がわかりません。
以下のように記述すると等しくない配列の場合でも戻り値が0になります。
DEF_DLL memcmp(var int[],var int[],int):int:msvcrt.dll
n = 8
DIM y01[] = 0, 1, 0, 0, 0, 0, 0, 0, 1
DIM x01[] = 0, 1, 0, 0, 0, 0, 0, 0, 1
DIM x02[] = 0, 1, 1, 0, 0, 0, 0, 0, 1
IF memcmp(y01, x02, n) = 0
PRINT "TRUE"
ELSE
PRINT "FALSE"
ENDIF
- 84 :名無しさん@お腹いっぱい。:2015/03/16(月) 00:43:14.47 ID:DlzN5Tfx0.net
- C言語なら以下サンプルのように記述すれば動作するようです。
#define N 8
int main(void) {
int x1[] = {0, 1, 2, 3, 4, 5, 6, 7};
int x2[] = {0, 1, 2, 3, 4, 5, 6, 7};
/* x1 と x2 を比較 */
if ( memcmp(x1, x2, sizeof(int) * N) == 0 ) {
printf("x1とx2は同じ要素を持つ配列です.\n");
} else {
printf("x1とx2は異なる要素を持つ配列です.\n");
}
return EXIT_SUCCESS;
}
比較したい配列の内容はサンプルと同じ数字1文字になります
- 85 :名無しさん@お腹いっぱい。:2015/03/16(月) 01:21:25.94 ID:WrVIpTH30.net
- Cだと sizeof(int) * N なんだから n*4 とかにするんじゃないの?
UWSCのintが32bit長かどうかは知らないけど
- 86 :名無しさん@お腹いっぱい。:2015/03/16(月) 01:56:19.65 ID:UdmG8GDz0.net
- 動かして見たけどn=length(y01)*4が正しそうだね
- 87 :名無しさん@お腹いっぱい。:2015/03/16(月) 05:23:07.52 ID:2C8i7Z6P0.net
- WEBなどから取り込んだテキストを,等で区切って文字列を配列に格納したいのですが、そういった命令文はありますか?あと、その場合、配列の総数がわからないのですが、あらかじめ多めに用意しておくものなのでしょうか?
- 88 :名無しさん@お腹いっぱい。:2015/03/16(月) 07:32:26.75 ID:UdmG8GDz0.net
- >>87
カンマ区切りを配列にするのはsplit
- 89 :名無しさん@お腹いっぱい。:2015/03/16(月) 07:41:51.44 ID:NlIIv4/A0.net
- 配列の総数はsizeofで求めれるでしょ
はい終了
- 90 :名無しさん@お腹いっぱい。:2015/03/16(月) 09:40:46.71 ID:PlEJfnTV0.net
- >>83
memcmpなんか使っちゃダメ
UWSCでは配列のアドレスが連続であることまで保証していないから
同じサイズ、同じ数字同士の比較であっても一致判定されるとは限らないよ
そもそも型サイズすら保証されてないから意味がない
- 91 :名無しさん@お腹いっぱい。:2015/03/16(月) 10:19:30.77 ID:Wof3gerZ0.net
- >>90
> UWSCでは配列のアドレスが連続であることまで保証していないから
dll呼び出しで渡した時点で連続になる
> そもそも型サイズすら保証されてないから意味がない
ドキュメントにあるがサイズは決まってる
※int=long= bool(4byte)、dword=uint=hwnd、 char=boolean(1byte)
- 92 :名無しさん@お腹いっぱい。:2015/03/16(月) 14:14:26.06 ID:j9PZCEg20.net
- >>87
ワイPerl使い
UWSCの配列には不評
これを常に持ち歩く
ttp://heppoko.fam.cx/UWSざんがい/Array.uws.txt
- 93 :名無しさん@お腹いっぱい。:2015/03/16(月) 17:36:09.87 ID:2C8i7Z6P0.net
- >>92
ありがとうございます。
スマホでぱっとみた感じ、キューとかも実装してるんですかね。
帰ったら詳しくみてみます。
- 94 :名無しさん@お腹いっぱい。:2015/03/16(月) 19:31:01.71 ID:tKWF7XPV0.net
- >>92
>Function Push(var PAR[], Val)
> DIM Siz = ReSize(PAR) + 1
>
> ReSize(PAR, Siz)
> PAR[Siz] = Val
>
> Result = Val
>FEnd
おいおい
ふざけてんのか?
- 95 :名無しさん@お腹いっぱい。:2015/03/16(月) 21:12:06.58 ID:xJMP86aK0.net
- 茶化すだけだと見っともないよ
- 96 :名無しさん@お腹いっぱい。:2015/03/16(月) 21:22:23.98 ID:KRGYyVXs0.net
- ん?
Rubyだと配列を引数で渡しても参照元のオブジェクトが同一だから破壊的に変更すればメソッドの中と外の両方に影響するけど
UWSCはオブジェクト指向じゃないからそんなことできないよな?
- 97 :名無しさん@お腹いっぱい。:2015/03/16(月) 21:42:12.49 ID:xJMP86aK0.net
- >>96
それは関数の引数にVerつけて参照引数にすればできるよ
- 98 :名無しさん@お腹いっぱい。:2015/03/16(月) 22:06:12.60 ID:KRGYyVXs0.net
- >>97
まじで?
UWSCの配列使いづらすぎて敬遠してたけど今度自作関数作って使ってみようかな
- 99 :名無しさん@お腹いっぱい。:2015/03/17(火) 00:56:03.25 ID:G6kIl/aB0.net
- ふざけるも何もPerlの挙動と一緒だろ
何がおかしいのかわからん
- 100 :名無しさん@お腹いっぱい。:2015/03/17(火) 01:09:24.08 ID:V1uFplEC0.net
- UWSCでは関数名に代入することで戻り値になるのね
だから最終行の Result への代入では戻り値に成らない
でも引数は参照渡しだかえら呼び出し元はソッチを使っている筈
要するに FUNCTION である必要はなくて PROCEDURE で良い挙動なのです
でも個人的には動作しているならとりあえずはそれでイイんじゃない?ってスタンス
おいおい勉強していけば良いのです
- 101 :名無しさん@お腹いっぱい。:2015/03/17(火) 06:49:13.32 ID:trvcbMmd0.net
- perlはやったことないけどググってみたらpushの戻り値は値追加後の配列の要素数って書いてるけど
rubyでも戻り値はselfだから追加した要素が戻り値なのはどこの仕様なんだ?
>>100もfunctionにresultが必要ないとか言ってるし意味わからん
仕様が変わったのかと思って>>100の言うとおり関数と同じ名前の変数に値を代入してfunctionを抜けたらやっぱり「resultがない」エラー出たし
急に知ったかおじさん増えすぎじゃね?
- 102 :名無しさん@お腹いっぱい。:2015/03/17(火) 08:21:27.03 ID:HJBxL4o70.net
- pushは押し込むって意味なんだから
それ以外の意味の処理があっても使わないわ
可読性が落ちる
- 103 :名無しさん@お腹いっぱい。:2015/03/17(火) 08:26:46.64 ID:IrmOB+4O0.net
- 関数名に代入すると戻り値?VB系とUWSCの区別が出来てないだけだろ
「FUNCTION である必要はなくて PROCEDURE で良い挙動」だけは賛成
配列サイズを戻すとかなら理解できるが
引数で渡されたものをそのまま戻り値に設定とかPerlって頭おかしいの?
だいたい配列サイズ取得にresizeを使ってる時点でウンコード
はやく消すべき
- 104 :名無しさん@お腹いっぱい。:2015/03/17(火) 09:24:02.94 ID:bEbY/JTw0.net
- UWSCのヘルプより
// Function - Fend 関数(戻り値あり)
FUNCTION関数名( 引数, Var 引数, 引数[], Var 引数[][], 引数=定数, .... )
処理
RESULT = 戻り値 // Result に戻り値を入れる
FEND
(例)
// 関数定義
function 階乗計算(値)
ifb 値 = 0 then
Result = 1
Exit
endif
Result =値 *階乗計算(値-1) // このように再帰計算もできるよ
fend
- 105 :名無しさん@お腹いっぱい。:2015/03/17(火) 13:02:08.56 ID:LvEKUW+E0.net
- 貼った意味がわからん
- 106 :名無しさん@お腹いっぱい。:2015/03/17(火) 16:33:33.21 ID:oYHC9Epn0.net
- youtubeでリストを倍速で見たい
3〜10分の情報系の動画をまとめて見る際に通常は1.5倍速で見てる
倍速を毎回押すの面倒
ggr→UWSC→UWSCで倍速は出来るが毎回(リストの次動画に変わる事に)押さなくちゃいけん
→ifとかでブラウザ変わったらとか?→ない→積んだ
どうにかできますか?
プログラムには特に興味はありません
全く素人ですがggって目的を達成できるなら素人なりの事はしようと思ってます
レスは夜になると思いますがよろしくおなしゃす
- 107 :名無しさん@お腹いっぱい。:2015/03/18(水) 08:11:53.70 ID:lBs4xwoHB
- 倍速なんてあったんだな。便利やね。
youtubeの構造ちゃんと理解してないが、「動画ごとにURLが違う」のであれば、whileで監視して、アドレスが変わるたびに倍速処理をすれば良いと思われ。
busywait()の中身はggrば出てくる。
Public IE
IE = CreateOLEObj("InternetExplorer.Application")
IE.Visible = True
setOleEvent()
url_b="https://www.youtube.com/watch?v=p0IZoYoEwtA"
IE.Navigate(url_b)
BusyWait()
while true
sleep(0.2)
url_a=IE.locationURL
ifb url_a<>url_b then
print "URL(動画)が変わったよ" //←消して良し
//←←←←ここに倍速を押す処理を記入する
endif
url_b=url_a
wend
- 108 :名無しさん@お腹いっぱい。:2015/03/18(水) 13:56:12.05 ID:WtkQEVNZ0.net
- YouTubeAPIを使って再生リストの動画を全部1.5倍速で再生するプレイヤーをJavaScriptとHTMLで書いて、実行すればいいよ。
- 109 :名無しさん@お腹いっぱい。:2015/03/18(水) 15:52:33.19 ID:Dr6MH4qF0.net
- EXE化したスクリプトって分解できない?
- 110 :名無しさん@お腹いっぱい。:2015/03/18(水) 17:36:57.16 ID:F7+nEtwv0.net
- >>108
ありがとうございます
少し調べてみましたが、自分の現時点での能力・知識では
時間がかかりそうなので今回は辞めときます
- 111 :名無しさん@お腹いっぱい。:2015/03/18(水) 22:46:05.79 ID:NqSwYxol0.net
- >>106
リストってことは、最初から見る動画は決まってるんだから、事前にローカルにダウンロードしとけば?
- 112 :名無しさん@お腹いっぱい。:2015/03/19(木) 00:44:39.56 ID:5ftHMR6F5
- あ
- 113 :名無しさん@お腹いっぱい。:2015/03/19(木) 00:46:01.06 ID:5ftHMR6F5
- やる気があるように見せかける初心者が屑に見える最近
総レス数 1144
361 KB
新着レスの表示
掲示板に戻る
全部
前100
次100
最新50
read.cgi ver.24052200