■ このスレッドは過去ログ倉庫に格納されています
自動化ツールUWSC使いよ集まれ13
- 1 :名無しさん@お腹いっぱい。:2014/10/18(土) 11:46:19.83 ID:yC04f7EM0
- 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
- 396 :名無しさん@お腹いっぱい。:2014/12/12(金) 19:40:47.95 ID:z8bKijBT0
- プロセス多重起動だと60かそこらで非公式エラー出てたんで普通に意味不明エラーメッセで止まると思う。
- 397 : ◆evw/E7kww2 :2014/12/12(金) 19:50:52.98 ID:da4ZeTbp0
- 1065回の再帰呼び出しでエラー出た
EVAL だと208回
- 398 :名無しさん@お腹いっぱい。:2014/12/13(土) 05:51:34.89 ID:6zzLho3c0
- >>397
調査乙
以外と少ないな。まぁ普通のプログラムには十分すぎるけど
>>365は末尾再帰だから最適化でループに変換できるけどUWSCはそんな最適化はしないだろうからループで書くべきだろうね
本人は「再帰で書いちゃってる俺スゲー」って思ってるだろうけど
- 399 :名無しさん@そうだ選挙に行こう:2014/12/13(土) 14:09:29.60 ID:iIjKZEBp0
- 自作関数内のCONTINUEを
メイン関数のループ処理に適用する方法ってあるの?
- 400 :名無しさん@そうだ選挙に行こう:2014/12/13(土) 14:27:22.12 ID:srw17/Qs0
- >>399
パッと思いつくのは関数の戻り値でメイン関数内で判別させてContinueさせるくらい
- 401 :名無しさん@そうだ選挙に行こう:2014/12/13(土) 14:29:21.74 ID:wFBftLhC0
- 俺はPROCEDUREは使わない!(キリッ)
どんな関数でもFUNCTIONを使い、処理の成否を戻り値に返している。
つまりこう
IF !myFuncHoge() THEN CONTINUE
- 402 :名無しさん@そうだ選挙に行こう:2014/12/13(土) 15:00:58.04 ID:iIjKZEBp0
- 間接的にCONTINUEを用いるのですか
なるほど勉強になりました
- 403 :227:2014/12/18(木) 12:02:35.36 ID:Bh6qgjZp0
- >>228
ものすっごい遅れたけどサンクス
これは使えそうだな
- 404 :227:2014/12/18(木) 12:15:27.12 ID:Bh6qgjZp0
- って、なんかもっとすごいchkimgxとかいうの作ってくれた人いたんですね
使わせてもらいます
ありがとう 超助かる
- 405 :名無しさん@お腹いっぱい。:2014/12/18(木) 23:00:32.51 ID:lEG1CPWK0
- だれかグラブルのあらぶるっていうマクロうpしてくれ
- 406 :名無しさん@お腹いっぱい。:2014/12/18(木) 23:02:54.15 ID:T6S0MLGC0
- スレ違いだから死んで
- 407 :名無しさん@お腹いっぱい。:2014/12/18(木) 23:14:56.99 ID:lEG1CPWK0
- お前が死ね
- 408 :名無しさん@お腹いっぱい。:2014/12/19(金) 17:00:34.53 ID:XLZcXe/l0
- フラッシュでUSWC使ってフォアグラウンドで操作してるんだけど、バックグラウンドはうまくいかないから
パソコンのディスプレイの電源が切れたらどうやらchkimgがうまく動作しないんだよね
誰か対策わからね?
FullFramerateWhenInvisible = 1を追加は試した。あとハードウェアアクセラレータ無効
ブラウザは火狐
- 409 :名無しさん@お腹いっぱい。:2014/12/19(金) 17:04:37.67 ID:Av6eWrcc0
- >>408
パソコンのディスプレイの電源を切らない設定にする
- 410 :名無しさん@お腹いっぱい。:2014/12/19(金) 17:12:01.08 ID:XLZcXe/l0
- >>409
電力喰うからそれはしたくない。あと先に言うと仮想化OSもしたくないメモリに負荷かかるから
それ系のなんかコードか、設定か知らない?
- 411 :名無しさん@お腹いっぱい。:2014/12/19(金) 17:13:52.37 ID:ulmb5ne30
- FlashのオブジェクトID取得して、直接送ればいいだけだろ
- 412 :名無しさん@お腹いっぱい。:2014/12/19(金) 17:17:22.45 ID:XLZcXe/l0
- ぐぐってMozillaWindowClassとかでID取得してみたんだけど
なんか中身に何も入ってないっぽいんだよねPRINT文とかで出力してみたんだけど
オブジェクトID取得するためのパスがわからんから知ってるなら教えてけろ
- 413 :名無しさん@お腹いっぱい。:2014/12/19(金) 17:21:53.66 ID:oQnZZ3Nk0
- お前が死ね
- 414 :名無しさん@お腹いっぱい。:2014/12/19(金) 17:22:19.14 ID:61MyG13T0
- モニタの電源ONにする関数あるだろ
それぐらい調べろよ
- 415 : ◆evw/E7kww2 :2014/12/19(金) 17:39:10.79 ID:3DxMn3sv0
- >>410
ディスプレイが一体型でないなら、設定ではOFFにしないようにして
物理スイッチでOFFにすればいい。
一体型は知らん。
暗くするだけでもそれなりに省エネなんじゃね?
- 416 :名無しさん@お腹いっぱい。:2014/12/19(金) 17:53:17.48 ID:Ww2O0ZK80
- ディスプレイの話を絡めてややこしく考えているけれど
単純にフォアグランドじゃないと動かないスクリプトってだけの話
でもって仮想化抜きでは安定した解決策は無いってのが最終的な答え
- 417 : ◆evw/E7kww2 :2014/12/19(金) 18:18:30.17 ID:3DxMn3sv0
- うちのLenovoのノートは Fn+F2 で液晶のバックライトが消えるんだけど
消した状態でもバックグラウンドで動くポーカーマクロは動いてたよ。
- 418 :名無しさん@お腹いっぱい。:2014/12/19(金) 18:30:52.28 ID:XLZcXe/l0
- >>415
せんきゅう
os上でモニタの電源切らないようにして、物理電源切ったらうまく動作してるわ
てことはOS上のモニタoffによって描写が中途半端にはぶられたのか、中途半端には動いてたから。手動しかないんだろうなあ。とにかくせんくす
- 419 :名無しさん@お腹いっぱい。:2014/12/20(土) 13:13:51.28 ID:H+gMsN1S0
- chkimgは画面が作成されないと動作しないから
ソフトウェア的に画面OFFにしたり最小化したりすると
OSが画面の作成をさぼってchkiimgが動作しなくなる
- 420 :名無しさん@お腹いっぱい。:2014/12/20(土) 20:24:33.67 ID:ZeXAQlth0
- MOUSEORGを入れるとCHKIMGで画像認識が上手くできないのですが原因分かる人いませんか?
MOUSEORG無しの状態ではウインドウ内の画像を100%認識に成功するのですが
MOUSEORGを入れると認識確率が10%くらいになります
完全に認識しないならともかく、10回に1回くらいは無事みつけてくれます
原因分かる人いたら教えてください
- 421 :名無しさん@お腹いっぱい。:2014/12/20(土) 21:11:23.81 ID:fPu+cuS30
- 認識対象ウィンドウのIDと
MOUSEORGの引数で渡したウィンドウIDが
異なる以外に考えられまへんな
例えば認識したい画像が実はPOPUPウィンドウで表示されてるとかね
- 422 :名無しさん@お腹いっぱい。:2014/12/20(土) 22:24:42.18 ID:E6sOJohh0
- お尻の穴からウンチでちゃうんですが
解決策はありますか?
- 423 :名無しさん@お腹いっぱい。:2014/12/20(土) 23:12:11.86 ID:fPu+cuS30
- 排泄対象ウィンコウのIDと
ANUSORGの引数で渡したウィンコウIDが
異なる以外に考えられまへんな
例えば排泄したい便器が実はPOPUPウィンコウで詰まってるとかね
- 424 :名無しさん@お腹いっぱい。:2014/12/20(土) 23:54:30.82 ID:Ot8Y1ZBh0
- どの穴から出したいのか書いてくれないと助言不可だろよ
もしくは別のモノが出る筈なのか?
質問意図明確にせんとプログラム以前の問題だぞ
- 425 :名無しさん@お腹いっぱい。:2014/12/21(日) 12:16:32.03 ID:bi3QIUFw0
- >>423
レベルが高すぎる会話で僕にはまだ理解出来ません
僕に出来る事はCHECKUNKOの関数を使ってうんこの色を判定する事だけです
>>424
どの穴からも出したくはないんです
どうしても無理であれば鼻の穴からでも構いません
- 426 :名無しさん@お腹いっぱい。:2014/12/21(日) 19:53:59.08 ID:qzajFb780
- 何・・このウンコスレ
- 427 :名無しさん@お腹いっぱい。:2014/12/22(月) 11:41:18.89 ID:Gyt4M/+w0
- 失礼します。
画像認識が正常に動作しません。
OSはvistaです。
プリントスクリーンで画像を撮り、ペイントから余白とかなしで画像を24bit bmpで保存。
WHILE TRUE
IF CHKIMG("画像.BMP") THEN BREAK
WEND
KBD(VK_U,CLICK,1000)
これは例ですが、画面にその画像があるのにループから抜けれません。
大変困っています。3年ほど前はできていたのですが。
- 428 :名無しさん@お腹いっぱい。:2014/12/22(月) 13:08:40.14 ID:/4D6rdyi0
- >>427
とりあえず3×3くらいの他の画像で試してみて
- 429 :名無しさん@お腹いっぱい。:2014/12/22(月) 14:11:05.52 ID:Gyt4M/+w0
- 試してみました。
画像をいろいろ変えても動作しません。
- 430 : ◆evw/E7kww2 :2014/12/22(月) 15:44:52.66 ID:+Wtf9vOI0
- >>427
タスクバーの時計とか含んでないですよね?
例のポーカーマクロやってて気が付いたんですが
Google 製 Chrome のウィンドウ枠が2重になってて
普通に画面に表示されているものと、UWSCでキャプチャするものが食い違ってたりするんですよね。
UWSCでキャプチャしたものとほかの方法でキャプチャしたものを比較してみないと。
- 431 :名無しさん@お腹いっぱい。:2014/12/22(月) 18:04:47.57 ID:Gyt4M/+w0
- キャプチャの方法をかえればいいってことですか?
- 432 : ◆evw/E7kww2 :2014/12/22(月) 18:13:06.58 ID:+Wtf9vOI0
- >>431
SAVEIMGするだけだからとにかくやってみれば
あとループには必ず SLEEP 入れないと。
- 433 :名無しさん@お腹いっぱい。:2014/12/22(月) 18:58:27.14 ID:Gyt4M/+w0
- すいません。SAVEIMがなになのかわからないです。
スリープいれるのは動作重くなるからですか?
- 434 : ◆evw/E7kww2 :2014/12/22(月) 19:09:18.64 ID:+Wtf9vOI0
- >>433
SAVEIMG()
とだけ書いた .uws ファイルを作って実行してください。
それが PrintScreen と同様の動作をします。
あとはペイントに張り付けて実際の画面と比較してみてください。
> スリープいれるのは動作重くなるからですか?
そうです。
- 435 :名無しさん@お腹いっぱい。:2014/12/22(月) 20:28:18.02 ID:Gyt4M/+w0
- >>434
了解です!
実行後、ペイントで貼りつけると、真っ白になりました。
printされてない?
- 436 : ◆evw/E7kww2 :2014/12/22(月) 20:42:43.82 ID:+Wtf9vOI0
- >>435
UWSCのバージョン古くないですか?
- 437 :名無しさん@お腹いっぱい。:2014/12/22(月) 20:48:18.76 ID:8Fs1EtPY0
- ブラウザを開かずにphpに値を渡し、返り値を受け取る事って可能でしょうか?
- 438 :名無しさん@お腹いっぱい。:2014/12/22(月) 20:53:05.30 ID:Gyt4M/+w0
- 昨日ダウンロードしたばかりです!
- 439 :名無しさん@お腹いっぱい。:2014/12/22(月) 22:42:47.65 ID:j8nonv9V0
- >>427
過去ログで散々言われてること:
AEROを切る。
対象ウィンドウIDを正しく取得し、MOUSEORGを行ってから、CHKIMGを行う。
CHKIMGのオプションには一番判定の甘い IMG_MSK_BGR4 を指定する。
- 440 :名無しさん@お腹いっぱい。:2014/12/22(月) 23:10:21.77 ID:Gyt4M/+w0
- >>439
エアロはきってあります!
IDって手動で記録したときに一番上にでるやつのことですかね?
MouseORGって何ですか。
Chikingのオプション変更方法ってどうやるのです?
質問多くてすみません。
- 441 :名無しさん@お腹いっぱい。:2014/12/22(月) 23:14:41.51 ID:/4D6rdyi0
- >>440
http://www.google.co.jp/
- 442 : ◆evw/E7kww2 :2014/12/22(月) 23:19:54.17 ID:+Wtf9vOI0
- ID:Gyt4M/+w0 は UWSCがちゃんと動いてないからスクリプトの話をしても無駄
まさか仮想マシンで動かしてるのかな?
- 443 :名無しさん@お腹いっぱい。:2014/12/22(月) 23:23:12.05 ID:B87ekD500
- 新作の掲示板サイトをベータ公開中です。
http://fluid.twolineprj.com/twoline/entry
テーマは自由自在。自由に投稿してみてください。
- 444 :名無しさん@お腹いっぱい。:2014/12/22(月) 23:28:38.31 ID:Gyt4M/+w0
- 一応ボタン押したりの動作はするんです。
3年前できてたのに今できないってなんかあるのかな。
- 445 :名無しさん@お腹いっぱい。:2014/12/22(月) 23:57:56.59 ID:6L7JKp6p0
- >>444
3年前のコードをそのまま動かしてみろよ
- 446 :名無しさん@お腹いっぱい。:2014/12/23(火) 00:30:08.24 ID:/LjOiScf0
- >>440
おまえ質問者としての最低限の要件を満たしてないよ。
- 447 :名無しさん@お腹いっぱい。:2014/12/23(火) 01:04:47.36 ID:MmHoMkXQ0
- すいません。わかったことがあります。
さっきまでオンラインゲームを起動しており一度再起動して
デスクトップにある適当なアイコンの画像を画像認識させると認識されました。
しかし再びオンラインゲームを起動させるとさっきまでできていたアイコンの
認識ができなくなりました。ちなみにゲームは窓化しております。
- 448 :名無しさん@お腹いっぱい。:2014/12/23(火) 01:17:43.67 ID:MmHoMkXQ0
- ちなみにこのコードでやっています.
WHILE TRUE
IF CHKIMG("画像.BMP",0,1,1,1030,800) THEN BREAK
WEND
PRINT G_IMG_X + "," + G_IMG_Y
- 449 : ◆evw/E7kww2 :2014/12/23(火) 01:19:50.72 ID:jRByVTjg0
- >>447
ゲームガードは画面キャプチャを妨害するから無理です。
- 450 :名無しさん@お腹いっぱい。:2014/12/23(火) 01:27:18.91 ID:MmHoMkXQ0
- なんかゲーム側がなにかしてるっぽい・・・。
- 451 :名無しさん@お腹いっぱい。:2014/12/23(火) 01:27:58.16 ID:MmHoMkXQ0
- ちなみにメイプルストーリーだけど、何か対策ないですかね。
- 452 :名無しさん@お腹いっぱい。:2014/12/23(火) 02:22:30.27 ID:O7rzg04u0
- nPro回避はスレチ。他所でやれ
- 453 : ◆evw/E7kww2 :2014/12/23(火) 09:58:21.71 ID:jRByVTjg0
- >>451
回避できるけどその先どうにもできないでしょ。
ググったら出てくるのにそれすらできないなんて。
- 454 :名無しさん@お腹いっぱい。:2014/12/23(火) 17:43:01.79 ID:MmHoMkXQ0
- 64bitならできるみたいなこと書いてあって
僕のPCが32bitなんです。
bitはあげることできないですか?
- 455 :名無しさん@お腹いっぱい。:2014/12/23(火) 18:05:21.16 ID:SI1FbXIQ0
- もうUWSCと全く関係ない話になってるのは解るよね?
なら該当するスレを探しに出かけなさいな
- 456 :名無しさん@お腹いっぱい。:2014/12/23(火) 18:25:10.31 ID:fUDYgvFp0
- 厨房に構うとかお前ら親切を通り越して馬鹿だな
- 457 :名無しさん@お腹いっぱい。:2014/12/23(火) 20:23:05.68 ID:6gl2uQWc0
- 何だ冬休みか早いねぇ
- 458 :名無しさん@お腹いっぱい。:2014/12/23(火) 23:30:17.36 ID:NA6C+1B80
- 君子、教えてちゃんに近寄らず!
- 459 :名無しさん@お腹いっぱい。:2014/12/24(水) 02:02:19.93 ID:YFA14UhM0
- 教えて下さい。クリスマスプレゼントにゲームソフトが欲しいです。
僕のプレステは32bitなんです。
64bitのNINTENDO64のソフトは動きますか?
- 460 :名無しさん@お腹いっぱい。:2014/12/24(水) 02:11:56.99 ID:+EvE5RkD0
- >>459
動きます
- 461 :名無しさん@お腹いっぱい。:2014/12/25(木) 22:22:33.33 ID:eZelsVef0
- UWSCが再生中の作業とは別に、自分もマウスキーボードを使って作業したいんだけど可能?
スクリプト等とは無縁の人生だったのでhelpを見ながら試行錯誤してるミジンコなんだが、
「この単語を検索しろ」程度のヒントだけでも教えてもらえるとありがたい
最近UWSCを知ってから作業がかなり効率化して助かってるんだが、マウスカーソル等の主導権を
奪われなければ、並行してる手作業がもっと捗って助かるんよ
- 462 :名無しさん@お腹いっぱい。:2014/12/25(木) 22:25:36.80 ID:qlh+Jtuw0
- >>461
仮想化
- 463 :名無しさん@お腹いっぱい。:2014/12/25(木) 22:30:13.36 ID:FEiPAWyZ0
- 仮想化ってもうひとつOS買わないと駄目なの?
- 464 :名無しさん@お腹いっぱい。:2014/12/25(木) 23:41:55.14 ID:eZelsVef0
- >>462
d、色々と見えてきた
- 465 :名無しさん@お腹いっぱい。:2014/12/26(金) 03:34:50.53 ID:L4hv5nUs0
- 変数保存する方法とかってなんかある?
動作中のスクリプトの変数をファイルか何かに保存して
今度動かす時に読み込ませるみたいな
- 466 :名無しさん@お腹いっぱい。:2014/12/26(金) 07:48:44.45 ID:2MOLrRqX0
- readini()
writeini()
- 467 :名無しさん@お腹いっぱい。:2014/12/26(金) 13:08:31.87 ID:L4hv5nUs0
- >>466
出来た、ありがとう
- 468 :名無しさん@お腹いっぱい。:2014/12/27(土) 17:24:14.71 ID:x3db8G6c0
- あるスクリプトで途中で不具合が発生して
いつまでも終わらなくなってしまう場合があり
そういう場合でもスクリプト終了だけはさせたいと思って居ます。
なので例えば開始から○分経ったら強制終了、みたいな事は可能でしょうか。
gettimeを使って経過時間を出すことは出来ましたが、
処理事に○秒経ったら強制終了、って記述を書いていくとかなり膨大な量になるのと
それぞれにかかる時間が必ずしも読めないので、出来れば全体で○分経ったら、とひとくくりにしたいのです。
この経過時間に関わらず、並列処理みたいな記述って難しいのでしょうか。
どなたかアドバイスをお願い致します。
- 469 :名無しさん@お腹いっぱい。:2014/12/27(土) 17:25:53.24 ID:Qy45KO+O0
- スレッドでカウントさせればいんじゃね
- 470 :名無しさん@お腹いっぱい。:2014/12/27(土) 19:21:27.06 ID:x3db8G6c0
- スレッド!これですか!
うまい検索ワード見つからず悩んでいました。
やりたいことが出来そうです。ありがとうございました。
ついでに経過時間のカウント方法としては
sleep(1)毎に変数+1とかやれば十分でしたね…。
それで度々すみません、起動したスレッドってメインのスレッド側から
停止させる方法ってありますか?
メインが正常終了してもいつまでもカウント続けてるので
メインが正常終了させたら止めたいのです。
何故か検索してもスレッド側からメインを止める話ばかりヒットするので…
- 471 :名無しさん@お腹いっぱい。:2014/12/27(土) 19:50:17.72 ID:HdrXDhIm0
- >>470
俺もよくCLKITEMとかがデッドロックっぽくなって帰ってこないんでスレッド使ってるが、
あんたの発想は逆だよ。
原因箇所を特定せずに荒い考えでやるとメインを終了という手段に出る。
原因箇所のほうを別スレッドに隔離すんだよ。
メインには危険な行為をさせない。
メインが特攻隊スレッドを出撃させ、
一定時間以内に生還報告がなければ戦死扱いにして、
第2時特攻隊を出撃させる。
その際同時に、戦死スレッドが実は生きていた横井さんとなった場合のため、
横井さん宛に余計なことせずに自決せよコマンドを発行しておく。
ブラウザが相手の場合、ブラウザの方を強制終了させるとフリーズが解けるので、
DOSCMDでTASKKILLを使いターゲットブラウザを強制終了
言語仕様上スレッドの強制命令はないが、自決コマンドが送ってあるので、
横井さんスレッドがフリーズ解けて正気に戻った際にグローバル変数経由でそれ見て自決。
そうしないと複数のスレッドが同じリソースをCLKITEMしようとしたりしてトラブルになるからな。
- 472 :名無しさん@お腹いっぱい。:2014/12/27(土) 19:58:00.52 ID:HdrXDhIm0
- あと組み込みなんかでよく使われる方法はWATCHDOGなんだけど、
これを擬似的に行う一つの方法として、
UWSCのメインルーチンでフローのチェックポイントごとに、
例えばImAlive.txtというファイルを新規作成する。
一方、UWSCではない別の何らかの常駐ツールでもって定期的にImAlive.txtを削除する。
またそのツールは、何回かImAlive.txtを見つけられなかった場合に、
UWSCの全てのプロセスを強制リブートさせる。
もし仮想マシン上で走らせているなら、
スタートアップにUWSCとWATCHDOG用ツールを仕込んでおき、
異常なら再起動させるとより確実。
- 473 :名無しさん@お腹いっぱい。:2014/12/28(日) 02:04:29.99 ID:jtGJgsvl0
- >>470
メインが終了したら、マクロ自体要らないんだから
EXITEXITでいいんじゃないの?
- 474 :470:2014/12/28(日) 03:22:13.23 ID:8wl5TXyM0
- グローバル変数を使ってメインの終了時にフラグを立てて
スレッドで定期的にそれを見てフラグが立ってたら終了するようにしたらうまくいきました。
構造的には本来は逆にした方が良いみたいですね。
今後時間をかけててこ入れしたいと思います。
- 475 :名無しさん@お腹いっぱい。:2014/12/31(水) 06:03:59.28 ID:OuzlGTZO0
- 桁数の大きな数値を取り扱う時ってどうすればいいんですか
A=5646546516515135151
B=6546549849846546546546
C=A*A*B*B*B
print C
これを計算させると
8.94547194841095E102
と表示されてしまい詳細が見えません
- 476 :名無しさん@お腹いっぱい。:2014/12/31(水) 07:05:22.62 ID:DjD8z53F0
- >>475
四倍精度、八倍精度などの外部処理系に丸投げするとか?
- 477 :名無しさん@お腹いっぱい。:2014/12/31(水) 07:21:52.02 ID:DjD8z53F0
- >>475
何桁かに分解してそれぞれ計算させて、「表示」の際に合成
- 478 :名無しさん@お腹いっぱい。:2014/12/31(水) 11:52:04.19 ID:UkwXpY2C0
- >>475
1.EXCELや電卓を自動操作して取得(これ、そういうツールだから。)
2.多倍長演算のアルゴリズムを自力で実装(ttp://poset.jp/ompa/node2.html)
3.ってかその表示、演算成功してね?EXCELでも同じ結果よ?
8.94547194841095E102
= 8.94547194841095 * 10^102
≒ 894547194841095000000000000000......
ttp://pc.nikkeibp.co.jp/pc21/special/gosa/eg4.shtml
- 479 :名無しさん@お腹いっぱい。:2014/12/31(水) 12:33:14.75 ID:UkwXpY2C0
- fltNum = 8.94547194841095 * power(10, 102)
print fltNum
//print Format(fltNum, 50) だめ
strNum = "" + fltNum
posD = POS(".", strNum); PRINT "小数点位置=="+posD
posE = POS("E", strNum); PRINT "指数記号位置=="+posE
strMantissaPart = COPY(strNum, 1, posE - 1); print "仮数部=="+strMantissaPart
numExponentPart = VAL(COPY(strNum, posE + 1, Length(strNum) - posE)); print "指数部=="+numExponentPart
digitNumDecimalPart = Length(strMantissaPart) - posD; print "小数部桁数=="+digitNumDecimalPart
digitNumZeroFilling = numExponentPart - digitNumDecimalPart; print "ゼロ桁数=="+digitNumZeroFilling
IFB numExponentPart < 0 THEN
PRINT "負の指数部は未対応"
ELSE
strMantissaPartInt = REPLACE(strMantissaPart, ".", "")
strZeroFilling = REPT("0", digitNumZeroFilling)
strFixPointNum = strMantissaPartInt + strZeroFilling
PRINT strFixPointNum
ENDIF
FUNCTION REPT(char, numOfTimes)
buf = ""
FOR loop=0 TO numOfTimes
buf = buf + char
NEXT
RESULT = buf
FEND
- 480 :名無しさん@お腹いっぱい。:2014/12/31(水) 13:28:26.11 ID:UkwXpY2C0
- え?そういうことじゃないって?w
- 481 : ◆evw/E7kww2 :2014/12/31(水) 14:00:36.07 ID:AeJCkZmC0
- >>475
これがやりたいのかな?
任意精度計算
ttp://ja.wikipedia.org/wiki/%E4%BB%BB%E6%84%8F%E7%B2%BE%E5%BA%A6%E6%BC%94%E7%AE%97
bc - Unix系標準コマンド
.Net4 - BigInteger
JAVA - BigInteger, BigDecimal
Ruby - Bignum, BigDecimal
Python- int, long, Decimal
任意精度計算プログラムを配列で実装
ttp://7ujm.net/play/dcalc.html
50桁の計算ができるサイト
ttp://keisan.casio.jp/has10/Free.cgi
BC コマンドがあるなら PowerShell でもできるかと思ったらどうもできない。
.net4 でできるけど PowerShell としてはできない。
Python を呼び出すのが簡単かと思ったけど
UNIXコマンドをインストールして呼び出すのが簡単かな。
処理は遅くなるし UWSC では文字列としてしか扱えないけど大丈夫かな?
wbin
ttp://win.just4fun.biz/%E9%96%8B%E7%99%BA%E3%83%84%E3%83%BC%E3%83%AB/Windows%E3%81%A7%E5%AE%9A%E7%95%AAUNIX%E3%82%B3%E3%83%9E%E3%83%B3%E3%83%89%E3%82%92%E4%BD%BF%E3%81%86.html
- 482 :名無しさん@お腹いっぱい。:2014/12/31(水) 17:53:10.60 ID:UkwXpY2C0
- そもそも言語仕様でBigintを扱えないから
計算結果を文字列で返すとかのライブラリじゃないと無理
作らないと無いんじゃね?
- 483 :475:2014/12/31(水) 18:55:02.78 ID:OuzlGTZO0
- UWSCだと簡単には無理そうですね
481さんの任意精度計算の方向を調べてみます。
みんなどうもありがとう。
- 484 :名無しさん@お腹いっぱい。:2014/12/31(水) 23:12:18.70 ID:UkwXpY2C0
- え?w
だからさ、EXCELでいいじゃんw
EXCEL上の計算結果をEXCEL上の文字列関数でテキストにした奴をUWSCで受け取るとかでいいじゃんw
VBスタジオで .net 4.0 使って書けばそもそも何の問題もないけど…
わざわざUWSCで何したいんだか…w
- 485 : ◆evw/E7kww2 :2014/12/31(水) 23:44:02.63 ID:AeJCkZmC0
- >>484
エクセル扱える数値最大桁数は?
ttp://detail.chiebukuro.yahoo.co.jp/qa/question_detail/q1243219727
> 数値の有効桁数は 15桁
- 486 :名無しさん@お腹いっぱい。:2015/01/01(木) 00:37:51.28 ID:at7dEPWi0
- VBスタジオw
知ったかwww
- 487 :名無しさん@お腹いっぱい。:2015/01/01(木) 02:31:51.14 ID:0hFDccBH0
- 出来ない理由ばっかり探してんじゃねーぞ?
まず実現する方法が無いか探す、しかもなるべく簡単にだ
多倍長整数演算を行う Excel アドイン
http://supermab.com/biginteger.html
電卓では32桁までの有効数字を扱える
http://www.nokotech.net/merumaga-img/office/excel-yukouketa.html
多倍長電卓LM
http://www.vector.co.jp/soft/win95/personal/se242555.html
そもそも VBスタジオw で書けばUWSCは要らない
http://d.hatena.ne.jp/matsukawar/20120527/1338095845
多倍長演算のアルゴリズムを自力実装とか車輪の再発明もいいとこ
楽するためのUWSCで本末転倒も甚だしい。
ネトゲとかにハマる奴は死ぬまで手段を目的化して何も成し得ずに氏ぬ。
- 488 :名無しさん@お腹いっぱい。:2015/01/01(木) 02:40:06.88 ID:0hFDccBH0
- LM 多倍長電卓 Ver2.17 (C)1999-2008 H.Takahashi
内部有効桁(Word):26 10進表示桁:100
スタートアップマクロ startup.lm を読み込みました
>A=5646546516515135151
= 5646546516515135151.
>B=6546549849846546546546
= 6546549849846546546546.
>C=A*A*B*B*B
=
+8.94547 19484 10946 41868 61278 40446 09723 84130 17714 47148
73471 51920 57586 52423 35944 98619 87380 29137 40407 0360
e102
これコピペして文字列処理すればいいじゃん。
もっと真面目な用途ならC#とかで書けよ。
- 489 :名無しさん@お腹いっぱい。:2015/01/01(木) 03:29:03.51 ID:CkBEVHFE0
- >>488
桁足りて無いじゃんw
- 490 :名無しさん@お腹いっぱい。:2015/01/01(木) 07:16:26.72 ID:0hFDccBH0
- あけおめおはよう。
これで足りないかは目的による。
絶対に精度が必要ならそれは科学技術計算だろ。
んなもんUWSCでやるな。
理由も問わずに典型的な手段の目的化だわ。
- 491 : ◆evw/E7kww2 :2015/01/01(木) 11:51:08.62 ID:Xtm9aTbT0
- ネトゲにはまっちゃってごめんなさいね。
だけど、業務に精通してないとユーザーが求めるものは絶対に作れないって主張する人々もいるんですよ。
実際にはかけられるお金が少ないので得られるものが少ないってだけなんだけどね。
自社のシステムは自社で作らないと成功しない 3 [転載禁止](c)2ch.net
ttp://kanae.2ch.net/test/read.cgi/prog/1416996537/
ところでリンク先に Office と連携する開発ツールが出てくるんだけど(僕の書き込みなんだけど)
UWSC と Office を連携するより、.net と Office を連携した方がいいよね。
まあ、UWSC の機能をちょっと補う程度ならいいと思うけどさ。
「VBAの行き詰まり」って UWSC に置き換えても成立するよね。
でも実際、使う側にとってもそれ以外のものを入れるってのは抵抗があるもんなんだよね。
組み合わせるといろいろできるけど
その組み合わせはできるだけ近く密接な方がいい。
- 492 :名無しさん@お腹いっぱい。:2015/01/01(木) 13:27:13.30 ID:tvWrb8PU0
- ◆evw/E7kww2が場所も空気も読まず誰も聞いてない事を
ベラベラと主張していると思ったら単なるグラブル厨か
荒れる元凶なので読まずにスルーをしましょう
- 493 :名無しさん@お腹いっぱい。:2015/01/01(木) 15:16:38.95 ID:qP+iYoTt0
- 糞コテ氏ね
- 494 :名無しさん@お腹いっぱい。:2015/01/01(木) 17:44:01.76 ID:T7ms11rY0
- コテはクソってはっきりわかんだね
- 495 :名無しさん@お腹いっぱい。:2015/01/02(金) 10:00:50.96 ID:6it1oiAn0
- いやこれよく考えたら、科学系の用途ならむしろ
こんなアホな有効桁数求めないよ。
こんな桁数求めるのは、科学ではなく数学の暗号理論だけだけじゃね?
最初の質問者、UWSC+暗号でこんな所に質問しに来て、
何しようとしてたのかなー(棒)
- 496 :名無しさん@お腹いっぱい。:2015/01/02(金) 18:14:38.99 ID:ouGkdjQt0
- 2進数にして文字列で処理すれば良いじゃない的なアナログ思考
302 KB
★スマホ版★
掲示板に戻る
全部
前100
次100
最新50
read.cgi ver 05.05 2022/08/31 Walang Kapalit ★
FOX ★