Windowsの作業を自動化するツール
フリーソフト版とシェアウェア版の2種類がある
ttp://www.uwsc.info/download.html
●UWSC 掲示板(※作成依頼掲示版ではありません)
質問の際には自力で作ったスクリプトを晒すか、具体的な解らない場所を提示すること
上級者が常駐、たまに作者も現れるため過去ログには有益情報の宝庫
http://www3.rocketbbs.com/13/bbs.cgi?id=umiumi
http://www3.bigcosmic.com/board/s/board.cgi?id=umiumi&;mode=past
●UWSC - Wikipedia
http://ja.wikipedia.org/wiki/UWSC
●使い方・基礎解説学習サイト
http://uwsc.g.hatena.ne.jp/cx20/20100131/1264938584
http://www.confrage.com/uwsc/
http://necro.jp/dev/uwsc/
http://park14.wakwak.com/~simizu/uwsc/fruwsc.html
http://canal22.org/
http://big.tm.land.to/handbook/uwsc.htm
http://www.game-rev.com/review/gameut/uwsc.html
●スクリプトテンプレサイト
http://izagne.com/uwsc/
http://scripts.web.fc2.com/
http://www.nagomi-jp.net/~liners/
http://nem.symphonic-net.com/uwsct/0610uwsct.html
http://siromasa.digi2.jp/uwsc/
http://iriyak.adam.ne.jp/uwsc.html
前スレ 自動化ツールUWSC使いよ集まれ18
http://potato.2ch.net/test/read.cgi/software/1469866649/
自動化ツールUWSC使いよ集まれ19 [無断転載禁止]©2ch.net
■ このスレッドは過去ログ倉庫に格納されています
2016/12/04(日) 17:04:38.16ID:nLvo1o5D0
2017/02/16(木) 22:02:01.81ID:BqEp4CGj0
>>425
お前が何を一つと認識しているかわからんので、なんとも答えにくいが、
HASHTBL ARY
ARY["NAME"] ="<#DBL>田中久雄<#DBL>,<#DBL>室町正志<#DBL>.,<#DBL>綱川智<#DBL>"
PRINT ARY["NAME"]
print結果
"田中久雄","室町正志".,"綱川智"
とちゃんと使える
お前が何を一つと認識しているかわからんので、なんとも答えにくいが、
HASHTBL ARY
ARY["NAME"] ="<#DBL>田中久雄<#DBL>,<#DBL>室町正志<#DBL>.,<#DBL>綱川智<#DBL>"
PRINT ARY["NAME"]
print結果
"田中久雄","室町正志".,"綱川智"
とちゃんと使える
2017/02/16(木) 22:46:48.28ID:otJGv3/o0
<#DBL>を入れないと駄目なんですね
ありがとうございました
ありがとうございました
2017/02/17(金) 00:58:47.55ID:iLAzKVSi0
まったく理解してないようにしか見えずもどかしい
2017/02/17(金) 01:05:37.57ID:glJ5dClm0
>>425
値を入れることばっかり考えてるみたいだけど
> ARY["NAME"] ="田中久雄","室町正志".,"綱川智"
> こういうやり方ができると思ったのですが、エラーが出ます
これでさ、どうやって値を取り出すのさ?
そこ考えてみ。
そしたら上の文はおかしいってわかるさ
値を入れることばっかり考えてるみたいだけど
> ARY["NAME"] ="田中久雄","室町正志".,"綱川智"
> こういうやり方ができると思ったのですが、エラーが出ます
これでさ、どうやって値を取り出すのさ?
そこ考えてみ。
そしたら上の文はおかしいってわかるさ
2017/02/17(金) 01:18:39.77ID:qOucvuN+0
2017/02/17(金) 01:47:57.09ID:iLAzKVSi0
person["名前"]="綱川智"
person["年齢"]=61
person["役職"]="代表執行役社長"
person["年齢"]=61
person["役職"]="代表執行役社長"
2017/02/17(金) 02:03:19.84ID:cBBrEBMg0
横からだけど構造体みたいなもん?
2017/02/17(金) 02:06:25.22ID:iLAzKVSi0
ただ、その例みたいな
少数かつ固定のキーを格納したいだけの目的に連想配列を使うメリットはさほどでもない
(意味の無い数値ではなく意味のあるキー名と結びつけられるという理由はある)
連想配列は連続してないキーによる大量のデータを高速に検索できるのが大きなメリット
ただの配列に格納したデータを検索するのは、ソートされていない場合は、頭からしっぽまで線形検索するしかないけれど
連想配列で名前をキーとして格納しておけば、名前から探すときは一瞬で見つかる
計算量のオーダーの話までするのは面倒なのでしないが
大量のデータなら大きな違いになる
少数かつ固定のキーを格納したいだけの目的に連想配列を使うメリットはさほどでもない
(意味の無い数値ではなく意味のあるキー名と結びつけられるという理由はある)
連想配列は連続してないキーによる大量のデータを高速に検索できるのが大きなメリット
ただの配列に格納したデータを検索するのは、ソートされていない場合は、頭からしっぽまで線形検索するしかないけれど
連想配列で名前をキーとして格納しておけば、名前から探すときは一瞬で見つかる
計算量のオーダーの話までするのは面倒なのでしないが
大量のデータなら大きな違いになる
2017/02/17(金) 08:54:33.51ID:iAbXlHyw0
HASHTBL age
HASHTBL position
age["山田孝雄”] = 61
position["山田孝雄"] = "課長"
連想配列ってこういう使い方でないの?
HASHTBL position
age["山田孝雄”] = 61
position["山田孝雄"] = "課長"
連想配列ってこういう使い方でないの?
2017/02/17(金) 12:16:17.87ID:PVkwW9Qi0
>>434
2つのりんごが3組あるのか、3つのりんごが2組あるのか、気になっちゃタイプ?
2つのりんごが3組あるのか、3つのりんごが2組あるのか、気になっちゃタイプ?
2017/02/17(金) 12:37:59.74ID:glJ5dClm0
数が増えればその違いは果てしなく多いというのに
2017/02/17(金) 12:44:37.36ID:VHtqFKoE0
取り出しやすさなら連想配列で
格納しやすさなら次元配列だなあ
そのデータにどれだけ頻繁に後からアクセスするかで使い方が変わるんじゃないの?
一回格納したら出力時にしか使わないなら多次元でいいし
頻繁にキーを入出力するなら連想配列
でも、データ数が千・万単位でないなら次元をFORで取り出すスピードと
連想配列自体のもともとも遅さと殆ど変らない
UWSCでDBファイル扱う方法ってあったっけ
ACCESSとかのDLL介すことが出来ればまとめて投げちゃってもいいよなあ
格納しやすさなら次元配列だなあ
そのデータにどれだけ頻繁に後からアクセスするかで使い方が変わるんじゃないの?
一回格納したら出力時にしか使わないなら多次元でいいし
頻繁にキーを入出力するなら連想配列
でも、データ数が千・万単位でないなら次元をFORで取り出すスピードと
連想配列自体のもともとも遅さと殆ど変らない
UWSCでDBファイル扱う方法ってあったっけ
ACCESSとかのDLL介すことが出来ればまとめて投げちゃってもいいよなあ
2017/02/17(金) 12:53:19.52ID:glJ5dClm0
千・万単位の連想配列作ると連想配列の動作がおかしくなるのが問題だけどな
かといってそれを通常配列でやると検索が超遅い
万単位の通常配列で検索速くする方法なんかないものだろうか
インデックスでも作ればいいのか
かといってそれを通常配列でやると検索が超遅い
万単位の通常配列で検索速くする方法なんかないものだろうか
インデックスでも作ればいいのか
2017/02/17(金) 12:58:10.76ID:VHtqFKoE0
やっぱDB扱うコマンドが必要だよなあ
2017/02/17(金) 13:01:14.11ID:ubzS4Bfh0
そこまでやる気なら
UWSCに頼らず普通に別の言語使って作れよ
UWSCに頼らず普通に別の言語使って作れよ
2017/02/17(金) 14:37:07.46ID:iAbXlHyw0
>>435
すまんが、何を言いたいのかさっぱりわからんです
すまんが、何を言いたいのかさっぱりわからんです
2017/02/17(金) 14:47:21.21ID:hMQ92FW60
sqliteとか使えないんだっけ
2017/02/17(金) 14:50:34.43ID:PVkwW9Qi0
>>441
掛け算の前後を入れ替えても、交換法則により同じ答えになるので、
計算しやすいように並び替えたらいいということ
使い方としては、
HASHTBL 山田孝雄
山田孝雄["age"] = 61
山田孝雄["position"] = "課長"
でも良いし、431でもいい
自分が値を入れたり出したりするのに最適な使い方をすればいいだけで、
どういう使い方をしなければならないというものではない
掛け算の前後を入れ替えても、交換法則により同じ答えになるので、
計算しやすいように並び替えたらいいということ
使い方としては、
HASHTBL 山田孝雄
山田孝雄["age"] = 61
山田孝雄["position"] = "課長"
でも良いし、431でもいい
自分が値を入れたり出したりするのに最適な使い方をすればいいだけで、
どういう使い方をしなければならないというものではない
2017/02/17(金) 15:25:17.39ID:iAbXlHyw0
>>443
DIM 山田孝雄[1]
const _AGE=0
const _POS=1
山田孝雄[_AGE]=61
山田孝雄[_POS]="課長"
添え字部分が動的に変わるんじゃなきゃ連想配列を積極的に使う理由もないよな。
DIM 山田孝雄[1]
const _AGE=0
const _POS=1
山田孝雄[_AGE]=61
山田孝雄[_POS]="課長"
添え字部分が動的に変わるんじゃなきゃ連想配列を積極的に使う理由もないよな。
2017/02/17(金) 15:43:40.67ID:glJ5dClm0
最初から山田孝雄なり人名がわかっていて変動しないなら
その名前の配列を定義すりゃいいが、普通は名前の部分は可変だから
事前定義は出来んよ
固定部の項目を定義して可変の名前をキーにするのが普通だろ
その名前の配列を定義すりゃいいが、普通は名前の部分は可変だから
事前定義は出来んよ
固定部の項目を定義して可変の名前をキーにするのが普通だろ
2017/02/17(金) 15:50:35.76ID:glJ5dClm0
あとは一つの連想配列を定義して
HASHTBL hary
name = "山田孝雄"
hary[name+"/age"] = 61
hary[name+"/position"] = "課長"
こんな感じにするのもありかもね
HASHTBL hary
name = "山田孝雄"
hary[name+"/age"] = 61
hary[name+"/position"] = "課長"
こんな感じにするのもありかもね
2017/02/17(金) 16:04:19.03ID:vACQ00hs0
そもそもUWSCでなんで配列なんて使うんだよ
やりたいのは自動化だろ?
やりたいのは自動化だろ?
2017/02/17(金) 16:20:00.63ID:glJ5dClm0
マウス操作を記録して再生…みたいな極低レベルの自動化なら要らん
2017/02/17(金) 17:28:51.54ID:fmo4qWYO0
キー値をINIファイルの階層構造的表記にすればいい
[section]paralv1.paralv2.paralv3
paralv3が無いときの既定値はparalv2に格納みたいな
[section]paralv1.paralv2.paralv3
paralv3が無いときの既定値はparalv2に格納みたいな
2017/02/17(金) 17:52:36.43ID:9mgyvOff0
使うとしたら、複数のウィンドウを切り替えて作業させるときに、
ウィンドウの固有値をキー、状態をバリューの連想配列を用意して、
関数には固有値渡して作業させるとかになるのかな
ウィンドウの固有値をキー、状態をバリューの連想配列を用意して、
関数には固有値渡して作業させるとかになるのかな
2017/02/17(金) 17:59:04.48ID:hMQ92FW60
動的なSLCTBOXのメニューの生成とか
2017/02/17(金) 20:54:36.71ID:sqOoPNS10
自動化したいアプリがDB抱えてんじゃねーのかよ?
DB操作して結果出してそれを取り込めば済む話じゃねーの?
DB操作して結果出してそれを取り込めば済む話じゃねーの?
2017/02/17(金) 21:53:12.63ID:iAbXlHyw0
2017/02/17(金) 23:00:40.04ID:mxi6j7HJ0
だからそれは自動化ツールの域超えてるだけじゃん
2017/02/17(金) 23:12:44.72ID:iAbXlHyw0
だからもなにも、UWSCにはそういうAPIが用意されてると言ってるんだが?
自分に作る能力がない?自分の用途では不要?だから粋を超えてるとか、お前何様すかw
自分に作る能力がない?自分の用途では不要?だから粋を超えてるとか、お前何様すかw
2017/02/17(金) 23:29:21.56ID:glJ5dClm0
>>454
自分が低能だからって他もそうだなんて考えたらいかん
自分が低能だからって他もそうだなんて考えたらいかん
2017/02/18(土) 00:30:10.80ID:txoGBDrd0
やりたいことできないAPIって
無いのと同じだろ
無いのと同じだろ
2017/02/18(土) 04:31:09.41ID:rAtcmUsD0
どういう意味で行ったか知らんが枠超えてるってのは俺も昔から思ってる。
データベース処理はデータベースアプリケーションを使って処理し、
そのアプリを自動化するならUWSCの範疇だが、
UWSC内に何でもかんでも実装してこなすのは、EXCEL方眼紙と一緒。
公式掲示板でもたまにいるが数万件レベルのデータ処理を
スクリプト内で文字列操作とループ使って遅々とした処理するとか、
趣味ならまだしも仕事でやるの迷惑でしょ。
データベース処理はデータベースアプリケーションを使って処理し、
そのアプリを自動化するならUWSCの範疇だが、
UWSC内に何でもかんでも実装してこなすのは、EXCEL方眼紙と一緒。
公式掲示板でもたまにいるが数万件レベルのデータ処理を
スクリプト内で文字列操作とループ使って遅々とした処理するとか、
趣味ならまだしも仕事でやるの迷惑でしょ。
2017/02/18(土) 04:55:08.41ID:IOLOKq+X0
そうはいってもここにいる連中はUWSC"しか"使えないんだろw
2017/02/18(土) 05:47:46.46ID:XpXWKsL60
だってIEオブジェでウインドウ簡単に作れるからデータ入力楽なんだもの
Submit押したらデータベースにダイレクトに格納したくなるじゃないの
Submit押したらデータベースにダイレクトに格納したくなるじゃないの
2017/02/18(土) 07:06:59.85ID:CKuZCERM0
いきなり数万レコードとかハードルあげてくる馬鹿w
2017/02/18(土) 10:50:03.32ID:esiT40SW0
エクセル方眼紙で1マス1字で文章書いてる役所があったな
活版印刷かよ?
活版印刷かよ?
2017/02/18(土) 13:23:36.20ID:ZYnWBog+0
sqlite取り敢えず動くようなのでペタリ
ttp://pastebin.com/GqEez7mT
調べながら書いたので間違い多いと思うし速度も調べてない
暇つぶしにどうぞ
ttp://pastebin.com/GqEez7mT
調べながら書いたので間違い多いと思うし速度も調べてない
暇つぶしにどうぞ
2017/02/18(土) 13:57:50.07ID:plPkAqUn0
>>463
ほほう
ほほう
2017/02/18(土) 15:47:58.54ID:GaAaEaa20
>>463
山県さん?
山県さん?
2017/02/19(日) 01:17:15.04ID:ZqKd6/Ft0
0から9までの数字をランダムかつ同じものを使わないで1個ずつクリップボードに送りたいんですがどうしたらできるでしょうか?
SLCTBOXでボタンを押すたびに送ろうと思ってます
SLCTBOXでボタンを押すたびに送ろうと思ってます
2017/02/19(日) 01:38:40.77ID:IcttVwTy0
引いた数字を除外しつつランダムで数字選べばいいだけでは?
2017/02/19(日) 01:52:47.26ID:Ko0bngu/0
2017/02/19(日) 02:19:51.22ID:x47RUa6o0
2017/02/19(日) 02:48:52.49ID:PQgx03v30
最初に全要素を配列か何かに格納しておいて
その要素数までの乱数で1個選ぶ
選んだ要素を除いた配列を作る
以後繰り返し
扱うのが1桁の数字なら、配列にしなくても
連結して文字列で扱う方が簡単だな
その要素数までの乱数で1個選ぶ
選んだ要素を除いた配列を作る
以後繰り返し
扱うのが1桁の数字なら、配列にしなくても
連結して文字列で扱う方が簡単だな
2017/02/19(日) 02:55:08.19ID:OLXdmsaT0
>>466
DIM RNDarry[] = 0,1,2,3,4,5,6,7,8,9;//初期化
FOR i=0 TO 9;rnd = random(9);tmp = RNDarry[rnd];RNDarry[rnd] = RNDarry[i];RNDarry[i] = tmp;NEXT //シャッフル
FOR i=0 TO 9;SENDSTR(0,RNDarry[i]);MSGBOX((i+1)+"個目");NEXT;//転送
DIM RNDarry[] = 0,1,2,3,4,5,6,7,8,9;//初期化
FOR i=0 TO 9;rnd = random(9);tmp = RNDarry[rnd];RNDarry[rnd] = RNDarry[i];RNDarry[i] = tmp;NEXT //シャッフル
FOR i=0 TO 9;SENDSTR(0,RNDarry[i]);MSGBOX((i+1)+"個目");NEXT;//転送
2017/02/19(日) 03:12:31.38ID:BGdduGK80
MsgBox( GetRundom() )
Function GetRundom()
Str = "1234567890"
While Length(Str)
Cut = Int(Random(Length(Str) * 10 + 9) / 10)
Tmp = Copy(Str, Cut, 1)
Result = Result + Copy(Str, Cut, 1)
Str = ChgMoj(Str, Tmp, "")
WEnd
FEnd
Function GetRundom()
Str = "1234567890"
While Length(Str)
Cut = Int(Random(Length(Str) * 10 + 9) / 10)
Tmp = Copy(Str, Cut, 1)
Result = Result + Copy(Str, Cut, 1)
Str = ChgMoj(Str, Tmp, "")
WEnd
FEnd
2017/02/19(日) 08:43:09.32ID:+lYjkYs/0
UWSCほぼ関係ないロジックの問題なのに、コードまで提供して甘やかすなあw
>>468
DIM n[9]=0, 1, 2, 3, 4, 5, 6, 7, 8, 9
こういう配列があったときに、どうやったら中身をシャッフルできるか考えてみよう。
シャッフル終われば順に取り出すとその数字はランダム。
>>468
DIM n[9]=0, 1, 2, 3, 4, 5, 6, 7, 8, 9
こういう配列があったときに、どうやったら中身をシャッフルできるか考えてみよう。
シャッフル終われば順に取り出すとその数字はランダム。
2017/02/19(日) 23:20:50.57ID:ad9NqWIq0
シンプルに質問と答えのやりとりならいいが
クイズ形式みたいのは他でやってくれないかなあ
クイズ形式みたいのは他でやってくれないかなあ
2017/02/20(月) 00:05:47.94ID:gBkCslTW0
魚の取り方を教えるよりも魚をくれと言う
2017/02/20(月) 22:11:44.99ID:iDB5u8Y40
本職のプログラマなら答えを見る前にアルゴリズムを自力で考案する試みをすべきかもしれんが…
所詮エンドユーザーなので、アルゴリズムの回答をググって見つけ出す方法を教えたほうが良い。
この場合、シャッフルというキーワードを思いつけばあとは自力でググれる。
所詮エンドユーザーなので、アルゴリズムの回答をググって見つけ出す方法を教えたほうが良い。
この場合、シャッフルというキーワードを思いつけばあとは自力でググれる。
2017/02/21(火) 10:57:35.81ID:NQoR/l/A0
5.2.2や5.2.3にするとsleepが1桁増えたみたいに遅くなって使い物にならない・・・
5.2.1に戻すと大丈夫だから良いけどバージョンアップできないのはなんか気持ち悪いなぁ
5.2.1に戻すと大丈夫だから良いけどバージョンアップできないのはなんか気持ち悪いなぁ
2017/02/21(火) 14:46:38.50ID:TlDvhJdM0
>>477
コードを上下を挟んでモジュール化してオーバーロード
overload.Run()
MODULE overload
PROCEDURE Run()
※自前のコード部分※
FEND
PROCEDURE sleep(sec)
DEF_DLL SleepEx(DWORD,BOOL): void: kernel32
SleepEx(sec*1000,false)
FEND
ENDMODULE
コードを上下を挟んでモジュール化してオーバーロード
overload.Run()
MODULE overload
PROCEDURE Run()
※自前のコード部分※
FEND
PROCEDURE sleep(sec)
DEF_DLL SleepEx(DWORD,BOOL): void: kernel32
SleepEx(sec*1000,false)
FEND
ENDMODULE
2017/02/21(火) 15:07:21.04ID:F1bV94+L0
俺のところではpeekcolorがやたら遅い
2017/02/23(木) 12:49:17.48ID:w/aJQ7aD0
PyAutoGUIなんてあるんだな。
そろそろUWSC卒業したいわ。
そろそろUWSC卒業したいわ。
2017/02/23(木) 19:14:03.97ID:PKaejp+00
IE.document.get~
みたいに、.で次々参照できるオブジェクトみたいなものを
UWSCで自分で作りたいのですがどうすればいいのか教えていただけませんか?
みたいに、.で次々参照できるオブジェクトみたいなものを
UWSCで自分で作りたいのですがどうすればいいのか教えていただけませんか?
2017/02/24(金) 08:06:24.38ID:YA7dESPe0
・moduleを使う(ただしオブジェクトではない)
・「C言語などで」COMを作って、UWSCでcreateoleobjectして使う
・「C言語などで」COMを作って、UWSCでcreateoleobjectして使う
2017/02/24(金) 18:54:26.19ID:TYy6ks8S0
三次元配列はどのように記述するのでしょうか?
2017/02/25(土) 04:10:39.82ID:9aUQw1ep0
UWSCでウインドウのメニューなどを含まない描画領域を取得するにはどうすればよいでしょうか?
APIのGetClientRectの値が欲しいです。よろしくお願いします。
APIのGetClientRectの値が欲しいです。よろしくお願いします。
2017/02/25(土) 11:36:13.83ID:SqL6WI4q0
>>483
どう、って二次元配列と同じように
どう、って二次元配列と同じように
2017/02/25(土) 11:51:08.99ID:SqL6WI4q0
>>484
statusで
statusで
2017/02/25(土) 11:59:21.87ID:OuQnz1ch0
2017/02/25(土) 12:21:58.41ID:Z4H+dPtW0
クライアント領域の座標取得できるが、これとは違うって意味?
2017/02/25(土) 12:22:42.64ID:Z4H+dPtW0
ヘルプ読んでない類なのかな…
2017/02/25(土) 12:58:20.48ID:SqL6WI4q0
2017/02/25(土) 13:04:40.38ID:Z4H+dPtW0
2017/02/25(土) 13:21:01.72ID:smopy31V0
>>485
すみません、三次元配列の要素の書き方が分からないです、括弧などは使えませんよね
すみません、三次元配列の要素の書き方が分からないです、括弧などは使えませんよね
2017/02/25(土) 13:29:18.00ID:J9vwpLVK0
>>484
ヘルプからそのまま
// ウィンドウの各種状態を返す
戻値 = STATUS( ID, 取得したいもの )
ST_CLX // クライアント領域のX座標を返す
ST_CLY // クライアント領域のY座標を返す
ST_CLWIDTH // クライアント領域の幅を返す
ST_CLHEIGHT // クライアント領域の高さを返す
これじゃだめなの?
ヘルプからそのまま
// ウィンドウの各種状態を返す
戻値 = STATUS( ID, 取得したいもの )
ST_CLX // クライアント領域のX座標を返す
ST_CLY // クライアント領域のY座標を返す
ST_CLWIDTH // クライアント領域の幅を返す
ST_CLHEIGHT // クライアント領域の高さを返す
これじゃだめなの?
2017/02/25(土) 13:48:00.81ID:SqL6WI4q0
>>491
GetClientRect 関数
https://msdn.microsoft.com/ja-jp/library/cc364604.aspx
>lpRect
>構造体へのポインタを指定します。この構造体にクライアント領域の座標が格納されます。
>left メンバと top メンバは 0 になります。right メンバと bottom メンバは、クライアント領域の幅と高さになります。
GetClientRect 関数
https://msdn.microsoft.com/ja-jp/library/cc364604.aspx
>lpRect
>構造体へのポインタを指定します。この構造体にクライアント領域の座標が格納されます。
>left メンバと top メンバは 0 になります。right メンバと bottom メンバは、クライアント領域の幅と高さになります。
2017/02/25(土) 13:51:35.47ID:SqL6WI4q0
>>492
たとえば
dim ary[3][4][5]
for i=0 to 2
for j = 0 to 3
for k = 0 to 4
ary[i][j][k] = i + j + k
next
next
next
たとえば
dim ary[3][4][5]
for i=0 to 2
for j = 0 to 3
for k = 0 to 4
ary[i][j][k] = i + j + k
next
next
next
2017/02/25(土) 13:56:41.60ID:SqL6WI4q0
あ、あれUWSCって配列サイズ指定は要素数じゃなくてインデックス上限値だっけ…
うう、よしなに読み替えてください
うう、よしなに読み替えてください
2017/02/25(土) 19:49:59.72ID:PqKfLwsL0
>>495
伝わりづらくてごめんなさい
既に入れる要素が決まってる場合の記述を知りたいです
一次元の場合
dim ary[1] = 1,2
二次元の場合
dim ary[1][1] = 1,2,_
3,4,
三次元の場合
dim ary[1][1][1] = ??
と、言う具合です
伝わりづらくてごめんなさい
既に入れる要素が決まってる場合の記述を知りたいです
一次元の場合
dim ary[1] = 1,2
二次元の場合
dim ary[1][1] = 1,2,_
3,4,
三次元の場合
dim ary[1][1][1] = ??
と、言う具合です
2017/02/25(土) 20:57:15.29ID:SqL6WI4q0
>>497
え、そんな書き方があったのか…
と思ったけど、それ単に "_" で形結合してるだけね
配列初期化は単純に順に埋っていくだけのようなので
三次元だろうが書き連ねていけばいいみたいです
dim ary[1][1] = 1,2,3,4
dim ary[1][1][1] = 1,2,3,4,5,6,7,8
え、そんな書き方があったのか…
と思ったけど、それ単に "_" で形結合してるだけね
配列初期化は単純に順に埋っていくだけのようなので
三次元だろうが書き連ねていけばいいみたいです
dim ary[1][1] = 1,2,3,4
dim ary[1][1][1] = 1,2,3,4,5,6,7,8
2017/02/25(土) 21:31:47.61ID:PqKfLwsL0
2017/02/25(土) 21:51:22.98ID:SqL6WI4q0
2017/02/26(日) 19:07:09.68ID:zJL7+0Sy0
comオブジェクトで開いてないブラウザを特定の位置にスクロールさせたい場合どうしたら良いでしょうか?
2017/02/27(月) 07:04:33.42ID:JlXKCF710
2017/02/27(月) 07:26:52.23ID:JlXKCF710
>>484で教えていただいたのですが
思った通りに出来なったのかでもう一度質問させてください。
IEでhtmlが表示されている描画領域の座標を取得したいのですが
どうすればよいでしょうか?
(メニューやアドレスバー、ツールバーのせいで座標が狂ってしますのです)
思った通りに出来なったのかでもう一度質問させてください。
IEでhtmlが表示されている描画領域の座標を取得したいのですが
どうすればよいでしょうか?
(メニューやアドレスバー、ツールバーのせいで座標が狂ってしますのです)
2017/02/27(月) 08:46:56.65ID:4I3Wp9+J0
>>498
マジで!?裏ワザすぎるw
マジで!?裏ワザすぎるw
2017/02/27(月) 08:57:48.49ID:yGQqNXEz0
>>503
まず
GETID(GET_FROMPOINT_OBJ)
を使ってIEのウェブページが表示される部分にマウスを持っていきIDを取得する
STATUS(id,ST_CLASS)
でウェブページが表示される部分のクライアントIDのクラス名が
Internet Explorer_Server であることがわかるので
id = GETID("Internet Explorer", "IEFrame", -1)
n = GETALLWIN(id)
for i = 0 to n -1
ifb pos("Internet Explorer_Server",STATUS(ALL_WIN_ID[i],ST_CLASS))
id = ALL_WIN_ID[i]
endif
next
MMV(STATUS(id,ST_CLX),STATUS(id,ST_CLY))//動作チェック用
まず
GETID(GET_FROMPOINT_OBJ)
を使ってIEのウェブページが表示される部分にマウスを持っていきIDを取得する
STATUS(id,ST_CLASS)
でウェブページが表示される部分のクライアントIDのクラス名が
Internet Explorer_Server であることがわかるので
id = GETID("Internet Explorer", "IEFrame", -1)
n = GETALLWIN(id)
for i = 0 to n -1
ifb pos("Internet Explorer_Server",STATUS(ALL_WIN_ID[i],ST_CLASS))
id = ALL_WIN_ID[i]
endif
next
MMV(STATUS(id,ST_CLX),STATUS(id,ST_CLY))//動作チェック用
2017/02/27(月) 11:20:36.47ID:rOmeQkZf0
2017/02/27(月) 11:45:31.92ID:ybz5GOST0
他の言語は普通は{ }でくくるけどな
2017/02/27(月) 19:06:15.36ID:wSvhHcaO0
FlashPlayerで動いている数字の取得って無理なんですか?
2017/02/27(月) 19:16:46.26ID:B1yTXikK0
>>508
動いてなくても無理でしょ。
動いてなくても無理でしょ。
2017/02/27(月) 19:39:49.13ID:yGQqNXEz0
>>508
数字のサンプルを画像切り抜いてchkimgで処理するとか
数字のサンプルを画像切り抜いてchkimgで処理するとか
2017/02/27(月) 20:28:35.74ID:AVldueBV0
2017/02/27(月) 22:08:26.29ID:9wX33izA0
>>508
> FlashPlayerで動いている数字の取得って無理なんですか?
あなたの日本語すごく分かりにくいね。
エスパーなしで額面解釈すると、
「動いている数字を、FlashPlayerを使って取得したい」
と読めてしまう。
ただ、このスレでその質問は無いだろうからエスパーするんだが、もはやそういう日本語を使う人の文面は疑ってかかることになるから、「動く」の概念もハッキリさせてくれ。
FlashPlayerでworkされた数字なのか、
FlashPlayerの表示の中でmove(motion)している数字なのか。
> FlashPlayerで動いている数字の取得って無理なんですか?
あなたの日本語すごく分かりにくいね。
エスパーなしで額面解釈すると、
「動いている数字を、FlashPlayerを使って取得したい」
と読めてしまう。
ただ、このスレでその質問は無いだろうからエスパーするんだが、もはやそういう日本語を使う人の文面は疑ってかかることになるから、「動く」の概念もハッキリさせてくれ。
FlashPlayerでworkされた数字なのか、
FlashPlayerの表示の中でmove(motion)している数字なのか。
2017/02/27(月) 22:30:49.28ID:+IBPHnSj0
君コミュ苦手そうやなあ
2017/02/27(月) 23:00:55.30ID:aic1gsmF0
実際俺が作ったやつだと、flash作ったやつがアホか何かで、
数字の配置のX座標が小数点まで設定されていて、
位置によってアンチエイリアスの掛かり方が変わって、同じ画像では認識できず、
全ての位置で違うマッチング用の画像を用意した
数字の配置のX座標が小数点まで設定されていて、
位置によってアンチエイリアスの掛かり方が変わって、同じ画像では認識できず、
全ての位置で違うマッチング用の画像を用意した
2017/02/27(月) 23:44:47.16ID:AVldueBV0
>>512
ネイティブじゃない人がそういうこと言うのはどうかと…
ネイティブじゃない人がそういうこと言うのはどうかと…
2017/02/28(火) 09:19:29.75ID:luielEWi0
2017/02/28(火) 10:55:08.87ID:cwO4OCmh0
「無理でしょ」も合わせて3人だな
UWSCから利用できるOCRライブラリとかあれば出来そう
UWSCから利用できるOCRライブラリとかあれば出来そう
2017/02/28(火) 12:06:31.53ID:oAMcfL5p0
UWSCだけでは無理
UWSC以外も含む全世界のソフト結集したら…多分出来る
UWSC以外も含む全世界のソフト結集したら…多分出来る
2017/02/28(火) 12:07:31.16ID:WHfTMHN10
フラッシュで再生中の数字的な画面表記(画像)を認識
→ アンチエイリアスがかかるから通常の画像認識では無理
グラボやブラウザによっても発色が違うので別機種動作は保証できない
フラッシュ中でカウンタやメモリ的に管理されている数字を取得
→ システム上介入は困難、それなりのAPIを扱える知識が必要
専用アプリや、Flashプレイヤーなどはもはや論外レベル
→ アンチエイリアスがかかるから通常の画像認識では無理
グラボやブラウザによっても発色が違うので別機種動作は保証できない
フラッシュ中でカウンタやメモリ的に管理されている数字を取得
→ システム上介入は困難、それなりのAPIを扱える知識が必要
専用アプリや、Flashプレイヤーなどはもはや論外レベル
2017/02/28(火) 12:20:49.57ID:cwO4OCmh0
>数字的な画面表記(画像)
って正確でもないし分かりにく過ぎるw
「画像で表示された数字」でいいんじゃないの
検索してみるとUWSCからのOCRは
MicrosoftのMODIってのとか
googleのCapture2Textとかってのが利用できるらしい
OCRは普通二階調化するから発色は関係ないと思うよ
回転や歪みがあったり分かりづらい背景だと難しいと思う
って正確でもないし分かりにく過ぎるw
「画像で表示された数字」でいいんじゃないの
検索してみるとUWSCからのOCRは
MicrosoftのMODIってのとか
googleのCapture2Textとかってのが利用できるらしい
OCRは普通二階調化するから発色は関係ないと思うよ
回転や歪みがあったり分かりづらい背景だと難しいと思う
2017/02/28(火) 12:35:44.43ID:luielEWi0
てか>>508はそのサイト貼れば的確な答えかってくるのにな
2017/02/28(火) 14:27:51.76ID:pq3cmI0V0
>>520
http://mgg.wp.xdomain.jp/archives/367
ここ参考にMODI試してみた。
そのサンプルのテキストエディタの画面コピーして
全画面 → エラー
「modidoc.Create( GET_UWSC_DIR+"\ocrtest.bmp" )」ここだけ切り取り → エラー
「Create」ここだけ切り取り → 認識して Createの表示
画像のゆがみもゆらぎもなくてこれでは、なかなか厳しいすね。
なお、CONST miLANG_JAPANESE = 17 を追加して日本語指定も試してみたけど一文字も
認識できなかった。
http://mgg.wp.xdomain.jp/archives/367
ここ参考にMODI試してみた。
そのサンプルのテキストエディタの画面コピーして
全画面 → エラー
「modidoc.Create( GET_UWSC_DIR+"\ocrtest.bmp" )」ここだけ切り取り → エラー
「Create」ここだけ切り取り → 認識して Createの表示
画像のゆがみもゆらぎもなくてこれでは、なかなか厳しいすね。
なお、CONST miLANG_JAPANESE = 17 を追加して日本語指定も試してみたけど一文字も
認識できなかった。
2017/02/28(火) 14:49:16.92ID:cwO4OCmh0
>>522
>テキストエディタの画面コピー
普通のOCRソフトで試したことあるが画面上の通常の大きさのフォントは認識率悪いね
508のがシンプルな数字のみ大映しとかの場合、もしかしたら行ける?てくらいかも
>テキストエディタの画面コピー
普通のOCRソフトで試したことあるが画面上の通常の大きさのフォントは認識率悪いね
508のがシンプルな数字のみ大映しとかの場合、もしかしたら行ける?てくらいかも
2017/02/28(火) 15:11:56.47ID:oAMcfL5p0
>>523
そういうのはwaifuとかで拡大処理したものをOCRに掛けるとかなり認識率高くなると思う
そういうのはwaifuとかで拡大処理したものをOCRに掛けるとかなり認識率高くなると思う
2017/02/28(火) 15:17:07.70ID:cwO4OCmh0
そうだろうね
そこまでUWSCに組み込むのは大変そうだけどw
そこまでUWSCに組み込むのは大変そうだけどw
■ このスレッドは過去ログ倉庫に格納されています
