1read 100read
2013年06月ソフトウェア34: 自動化ツールUWSC使いよ集まれ10 (175) TOP カテ一覧 スレ一覧 2ch元 削除依頼
アニオタが好んで使うフリーソフト (108)
SopCast/NIJI Part9 (120)
rep2 part55 (221)
Twitterクライアント ツイタマ 2ツイート目 (214)
PC-98エミュを語ろう11 (214)
◆こんなソフトウェアつくってください〜Part17〜◆ (587)

自動化ツールUWSC使いよ集まれ10


1 :2013/05/01 〜 最終レス :2013/06/23
Windowsの作業を自動化するツール
フリーソフト版とシェアウェア版の2種類がある
http://www.uwsc.info/download.html
●UWSC 掲示板(※作成依頼掲示版ではありません)
 質問の際には自力で作ったスクリプトを晒すか、具体的な解らない場所を提示すること
 上級者が常駐、たまに作者も現れるため過去ログには有益情報の宝庫
http://www3.bigcosmic.com/board/s/board.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://cR22.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
Q.シェアウェア版で「L22が存在しません」とエラーが出て一部機能が動作しない
A.割れシリアルを使った時に出る、ささやかな割れ対策

2 :
●Pro版の追加機能
EXE化ツールが付属しています。(EXE化後は単体での実行が可能であり、ライセンスフリーにて配布できます)
IE(Web)用記録ツールが付属しています。(Web上の動作をUWSCのスクリプトとして記録する事ができます)
HTMLを利用した画面関数が使えます。
EXCELシート用関数が使えます。(OpenOffice.org/LibreOfficeの表計算(Calc)に対しても可)
デバッガが付属しています。
●質問したい方へ
「○○作れますか?」→ 可能か不可能かを聞いているのなら答えは「作れる」
「○○が作りたい」→ 自分が作れば?並大抵の事ならググれば似たようなスクリプトや知識が見つかる
「○○作って下さい」→ 依頼スレじゃありません。
過去ログを見る、検索する等、自分で出来る事を書き込む前にするように。
自力で作ったのを晒すか、具体的な解らない場所を提示して、改善点や解決策を求めるようにしましょう。
●スクリプトを晒す上での注意
他人が読みやすいようにインデントを付けるように。解らない人はググレ。
(タブインデントは使えないんだぜ 全角スペース等に 変換しておくべし)
言いたい事に関係無い部分は 〜○○の処理〜 や 処理A 等のようにし、
必要な部分を晒すようにする。
●他人の書いたスクリプトを安易に実行しないように。
ハードディスクをフォーマットされたりしても、自己責任。
●前スレ
8 http://anago.2ch.net/test/read.cgi/software/1333915056/
7 http://anago.2ch.net/test/read.cgi/software/1312390804/
6 http://hibari.2ch.net/test/read.cgi/software/1291347103/
5 http://hibari.2ch.net/test/read.cgi/software/1260304053/
4 http://pc12.2ch.net/test/read.cgi/software/1235990960/
3 http://pc11.2ch.net/test/read.cgi/software/1176677869/
2 http://pc11.2ch.net/test/read.cgi/software/1156416884/
1 http://pc7.2ch.net/test/read.cgi/software/1107738590/

3 :
次スレは>>980 がお願い。

4 :
で、前スレどこっすか?

5 :
●前スレ
自動化ツールUWSC使いよ集まれ9
9 ttp://anago.2ch.net/test/read.cgi/software/1350040751/
8 ttp://anago.2ch.net/test/read.cgi/software/1333915056/
7 ttp://anago.2ch.net/test/read.cgi/software/1312390804/
6 ttp://hibari.2ch.net/test/read.cgi/software/1291347103/
5 ttp://hibari.2ch.net/test/read.cgi/software/1260304053/
4 ttp://pc12.2ch.net/test/read.cgi/software/1235990960/
3 ttp://pc11.2ch.net/test/read.cgi/software/1176677869/
2 ttp://pc11.2ch.net/test/read.cgi/software/1156416884/
1 ttp://pc7.2ch.net/test/read.cgi/software/1107738590/
9入れたつもりが入ってなかった

6 :


7 :
おつ!ROM勢だけどおつ!

8 :
呼び出し関係をまとめてみた
◇UWSC スクリプトからの呼び出し
UWSC.exe
 └[MyScript].uws
   ├CALL [MySubScript].uws
   ├DLL 関数
   ├COM オブジェクト
   ├PowerShell スクリプト
   ├DOS コマンド
   ├EXEC 各ファイルの実行
   └キー、マウス、コントロールの制御
◇UWSC 関数の呼び出し
 ┌COM オブジェクト イベント
 ├キー イベント
自作関数

がんばれば Win32API 使ってメッセージループできるけど向いてない。
ウィンドウクラスだけダミーで作って
GetMessage の後、DispatchMessage をせずに UWSC スクリプトの中で回せば簡単だけどこれは非推奨。

HSP に、ウィンドウメッセージ受信用 DLL (hsgetmsg.dll) がある。
これは HSP 専用プラグインだが、これと同様の DLL があれば UWSC でも簡単にメッセージを受信できる。
ウィンドウ関連の構造体データを DOM 的にアクセスできるようになれば、
ネイティブコントロールの作成とかも手軽にできるようになるかもしれない。
あ、それをやってくれるのが seraphyscripttools とか SFCmini のような COM オブジェクトなのか。

9 :
UWSCのグループチャットってやつか
作者同士がUWSCネットワークを介して交流とか夢が広がるな

10 :
Aは画像認識→あったらクリック という命令として
今の自分の書き方だと [A1 A2 A3 … A25]
みたいに画像認識がすごく多くて1週するのに時間が結構かかっています。
↓みたいに命令を実行させたいのですが、どう書けば良いでしょうか?
・A1〜A20は連続の3個を1ブロックとして、どれか1個実行されたら1個ずつずらしていく
  例:[A1.A2.A3]→どれか実行→[A2.A3.A4]→どれか実行→[A3.A4.A5]→…
   →[A18.A19.A20]→略→[A19,A20.A1]→略→[A20.A1.A2]→略→(最初に戻る)
・A21〜A25は常に実行

11 :
>>10
3つずつ
for i = 0 to (length(A)-1)/3 step 3
 jMax = i + 2
 if length(A)-1 < i+j then jMax = length(A)-1
 while true
  for j = i to jMax
   ifb CHKIMG(A[j])
    処理
    break 2
   endif
  next
  // ここで毎回の処理
  sleep(0.1)
 wend
next
処理後に exit する関数にすれば
for i のループ
 3つずつの関数(A, i)
 毎回処理する関数(A, 開始位置, 終了位置)
 sleep(0.1)
next
って感じで少しすっきりする。

12 :
ttp://cx20.main.jp/blog/hello/category/win32-gui/
UWSC の GUI 版 Hello World! ソース見てびびった。
UWSC も PowerShell も、C#のソースを文字列定義して呼び出してるだけ。
ただ、.net ”開発”環境もいらないし
PowerShell 実行制限を迂回できると言うことで、
単に実行するだけならいい環境だったりするかも。

で、その下の Lua ってのが Win32API 使ってGUI使ってる。
Lua は以前チャレンジしようとしてやっぱ手が出なかったんだけど、
ネイティブの GUI が使えるとなると・・・
ま、RAD ツールがないと面倒なんだけどね。
それで、ちょっと、 UWSC と Lua の言語比較してみた。
すると、Lua の記述が UWSC と近いことが判明。
今までは Lua っぽいコードばっかり見てたから受け付けなかったのかな。
UWSC と違う部分は C言語っぽい。
ttps://docs.google.com/spreadsheet/ccc?key=0AnJADoDttLA2dDhmU1dDR2s1R2tQcmJNQW5UYWVraFE#gid=4
最初は UWSC に Lua を組み込もうかと思ってたけど
見れば見るほど「Lua すげー」ってなってる。
コールバックが使えるスクリプトとして、MIKO スクリプトってのも考えたけど、
Lua なら UWSC にコールバック機能を持たせることができるかも。よく知らないけど。
UWSC+API でやるのとどっちが簡単だろうね。

13 :
>>11
ありがとうございました
改善案からさらに改良していくのが面白い(できたら

14 :
>>1
乙!

15 :
>>11 は /3 とか変なのが残ってたね。
j を i*3 〜 i*3+2 ( i は step 1 )でやるか
i 〜 i+2 ( i は step 3 )でやるか迷ってて消すの忘れてた。

UWSCと関係ないけど、
3回ずつだと端数が出るからループ脱出条件が2つになる。
もし、3で割り切れる個数ならそもそもループする必要がなく、こう書ける。
for i = 0 to max step 3
 print data[i]
 print data[i+1]
 print data[i+2]
next
端数をループの外で書けば端数の問題は解消するけど、同じ処理を他の場所でやることになる。
C言語とJavaではこんな書き方がある。
書き換えるのがめんどいのでこぴぺ。
register n = (count + 7) / 8;
switch(count % 8) {
 case 0: do {  *to = *from++;
 case 7:     *to = *from++;
 case 6:     *to = *from++;
 case 5:     *to = *from++;
 case 4:     *to = *from++;
 case 3:     *to = *from++;
 case 2:     *to = *from++;
 case 1:     *to = *from++;
      } while(--n > 0);
}

16 :
RGB=PeekColor(512,384)
これやると真ん中指定しますが
X座標を502〜522、Y座標を374〜394くらいの範囲で指定したいんですけどできますか?
イメージはこんな感じです
http://www1.axfc.net/uploader/so/2889577.png

17 :
できますよ

18 :
>>17
よかったら教えてください
RGB=PeekColor(502,374,522,394)
↑こうではないですよね・・・?

19 :
>>18
範囲でってどういうこと?
A. その周辺の色を混ぜ合わせた色?
B. それとも、その周辺のドットの集合?
どちらにせよUWSCでは2重ループで繰り返し実行ですね。
A の場合はそれを配列に入れて平均値を計算。
WindowsAPI なら BitBlt で矩形指定してコピーもできる。
ただし、メモリイメージそのままなので色の平均値は自分で計算だし、
BitBltするまでがちょっとめんどい。

20 :
>>19
RGB=PeekColor(512,384)
これだと画面の真ん中のみ有効じゃないですか
画面の真ん中から少しずれてもいいように多少大きく範囲をとりたいと思ってるんです
色ではなく場所です

21 :
>>20
いや、PeekColor に範囲とかないから。
アクセサリのペイントを開いてスポイトツールを使ってみて。
それが PeekColor と同じ機能。

22 :
>>20
だから取りあえず2重ループでやってみればいいじゃん
スピードが遅いんならそんとき別の方法を考えれば良いんだし

23 :
範囲をとりたいってどういう意味だ

24 :
なんか1ドットの画像用意してchkimgのほうが…

25 :
>>24
たぶんそういうことなんだろうね。

テスト駆動開発
ttp://appkitbox.com/knowledge/test/2013/01/15/tdd_basic
1.エラーになるコードを書く (呼び出し、エラーを返す。つまり、エラー処理を書く。)
2.正常処理するコードを追加 (正常でない場合、1のコードに飛ぶので、またひとつコードが増える。)
3.書いた分をきれいにまとめる。
4.1〜3を繰り返す。
正常なコードをすぐに書ければいいけど、やっぱり試行錯誤になるよね。
試行錯誤を繰り返すとコードは汚くなるので、動いた時点できれいに書き直したほうがいい。
それを少しずつ積み上げることで、全体として完成したときに全体がきれいに仕上がっているはず。
とは言え、これは言語やライブラリを理解したうえでコードを書くことが前提なので、
関数がどう動くのかどう使えるのか分からないときには
その関数だけのためにテストコードを書かないとひどいことになる。

26 :
uwscの別プロセスのものが何故か自動で機能しなくなりました
関連ないことなのかもしれませんけどほぼ同時期に
一部ソフトを再起動させても、そのまま終了し起動しなくなりました
問題が曖昧すぎですが、何が問題なのか自分でもサッパリ分かりません
どうか分かる方がいましたらお願いします。

27 :
IEを起動したら、ウインドウのIDを取得して操作したいんだけど、
IE = CREATEOLEOBJ("InternetExplorer.Application")
IE.visible = True
IE.navigate("about:blank")
repeat
sleep(0.1)
until !IE.busy AND IE.readystate=4
IEid = GETID("Windows Internet Explorer",-1)
いつ迄待ってもIEidが-1のままになってしまいます。
何か、間違ってます?

28 :
>>27
クラス名を -1 にするからだろ
IEid = GETID("Windows Internet Explorer", "", -1)

29 :
>>26
画面は消えているように見えるのにプロセスが残っているために二重起動防止で落ちてるとかよくある。

30 :
>>28
できました、ありがとうございます!

31 :
今janeを開いてて、
<<ITM_ACCCLK>>の113)が
自動化ツールUWSC使いよ集まれ10のこのスレなんだけど、
こういうののACCCLKってどうやって取得するの?
getstrとかでも取得できないんだけど、
ネットにあがってるスクリプトだと出来る
何が違うの?やり方教えて

32 :
>>31
そのツールで取得できたんならよくね?
もし、クリック以外の何かをしたいんならツールと同じように取得すればよくね?
取得方法は以下のやつをループ
GetAllWin() の ALL_WIN_ID[]
GetItem() の ALL_ITEM_LIST[]

33 :
>>32
わかんない!おしえて!!

34 :
入力したいフォームに高レベルな記録で
文字を入力してみましたが、保存したuwsのファイルには
何も書かれていませんでした。
こういう場合自動で入力は不可能ですか?
また、
フォームが1〜5まであって
getstrで文字を全て取得したいんですが、
なぜかアクティブになってるフォームしか取得できないです。
VK_TABで1個1個アクティブにして取得するのは格好悪いです
こういう場合どうすればいいですか?

35 :
>>29
そんな場合、どうしたらいいですか?

36 :
>>34
> なぜかアクティブになってるフォームしか
HTML なら DOM 使う。
Winフォームなら裏側は非表示だろうから無理なんじゃね?
スパイアプリでコントロールIDでも取れれば API 経由でいけるかも。
>>33
ALL_ITEM_LIST とかでぐぐる
ヘルプ見る
>>35
タスクマネージャから終了するか
taskkll コマンドで終了するか
PowerShell の Stop-Process か
Windows を再起動。

37 :
("Microsoft.XMLhttp")を呼び出して
ソースを引っ張ってくるようにしてるんですが
オフラインなどで
エラーが出る時の処理を分岐させたいんですが
エラーを感知する方法が分かりません・・・
sendを先に書いておかないと
statusを取れないし
sendを先に書いてしまうとエラーを感知して止まってしまいます

38 :
>>37
try 〜 except 〜 endtry
または
COM_Err_Ign 〜 COM_Err_Ret して COM_ERR_FLG で判断

39 :
MacromediaFlashPlayerActiveX を Chrome と FireFox でもできんかと
GetWindow で GW_CHILD して GW_HWNDNEXT のループして GetClassName してたけど
前スレにあったわ。
GETCTLHND() で取れる IEFrame だけが可能なだけだったんだな。
GetAllWin() で取れる TabThumbnailWindow を対象にしても駄目だったんだ。
無駄な努力だった。
Win7+IE9の場合
IEFrame
└Frame Tab
 └TabWindowClass
  └Shell DocObject View
   └Internet Explorer_Server
    └MacromediaFlashPlayerActiveX
しかし、ActiveX ならHTAでもアプリでもいける・・・
ってな感じで2ヶ月くらい迷走してるわ。

40 :
>>38
ありがとうです
後者で何とかいけそうです

41 :
いいことが書いてあった
これからコードを書く人に絶対やって欲しいこと★2
ttp://kohada.2ch.net/test/read.cgi/prog/1365269189/36
12 :仕様書無しさん [↓] :2013/03/10(日) 16:47:33.91
  動的型付け言語なら高機能なテキストエディタを使え
  静的型付け言語ならIDEを使え。
 
  なぜなら、動的型付け言語ではIDEのサポートが十分に得られない。重いだけ。
  静的型付け言語はコード自体は冗長になるが、IDEのサポートで大幅に生産性が上がる。
15 :仕様書無しさん [↓] :2013/03/10(日) 16:55:11.95
  コードは書くことよりも、読む時のことを考えろ。
  短く書いたとしても、読みにくければそれは駄目なコードだ。
  コーディングにかける時間の8割は、コードを読むことに使わている。

> 理由が書いてない(納得出来ない) コーディング規約はゴミだ。作るな。従うな。

42 :
コーディングにかける時間の8割は、コードを読むことに使わている。
あぁ、そう言えば全くのその通りだった。殆どの時間読んでるわ。

43 :
スレチ

44 :
最近変なやつが居座ってRーしてんのな

45 :
>>41
そのスレ参考になったぞ
そしてUWSCの言語仕様の限界を改めて認識してしまったな

46 :
そのスレに興味を持つレベルならuwscなんて卒業しろ
uwscなんて本格的なプログラミングするためのものじゃない

47 :
これでline荒らしたら、人間関係崩れたんだけど
このソフト糞だわ

48 :
Lineやってことないんだけど
PC版Lineの画面ってどんな感じ?

49 :
クリックの繰り返しの際に、
for i=0 to 100
BTN(LEFT,DOWN,964,553,100)
BTN(LEFT,UP,964,553,62)
SLEEP(1)
next
こんな感じになると思うんですが、繰り返し回数(この例では100)を、コマンドラインから、
UWSC.exe TEST.UWS 100 のように引数で渡すことはできますか?

50 :
できますよ

51 :
>>50
スクリプトの方では、引数をどう受け取ればいいんですか?
for i=0 to 100
の100のところなんですけど・・

52 :
ヘルプの起動時パラメータを見ろ

53 :
for i=0 to =PARAM_STR[0]
 BTN(LEFT,DOWN,964,553,100)
 BTN(LEFT,UP,964,553,62)
 SLEEP(1)
next
コマンドライン UWSC.exe TEST.UWS 100
こうですな。どうもありがとう
UWSCのHELP、俺のPCだと開かないんだよね・・なんか環境がどうのこうのみたいなんだけど。

54 :
UWSCの配列まわりでバグを発見した。
データが欠損するバグだ。これは致命的だ。
検証し速やかに報告をしなくては。
と思ったら俺オリジナルのバグだったまる

55 :
おまおれ

56 :
配列の添字の仕様がアレですからねぇバグも出るよ。

57 :
配列添字の仕様で何かあったけ?

58 :
ifb CHKIMG("check.bmp") then
SOUND("bell.wav")
endif
check.bmpという画像を元に、
"色を無視して形でチェックする"動作を行わせたいのですが、この場合どう記述すればいいのでしょうか?
CHKIMG("check.bmp",-1)ってやっても認識されなかったんだ・・・

59 :
何か日本語おかしいな
check.bmpと同じ画像ではなく、同じ形の画像を認証させたいんだ

60 :
>>56-57
C系言語が広がったんで
配列は0から始まるのが普通になったけど
それ以前は1から始まるのも結構あった

61 :
Cが広まったのってもう20年以上前のことじゃね?

62 :
配列が1から始まるのってBASIC系くらいじゃないの?
それよりも DIM A[10] ってしたとき A[0]〜[10]になるほうが慣れないなぁ

63 :
UWSCだって0始まりだよ。SafeArrayはともかく。
配列定義で DIM a[2] とやると 0〜2 の3つになるのはBASIC系言語の仕様でしょ
VBA、VBS、VB.NET、ActiveBasic …。もちろんUWSCはBASIC系。
社会人なら、エクセルのVBA位さわった事あるだろし
C系言語だけしか知らないのはどうかと思う

64 :
今でもCOBOLのような業務系言語は基本的に1から。

65 :
>>62
これこれ
これが原因
添え字最小〜最大     = 配列数
1〜配列宣言時の数値   = 配列宣言時の個数    BASIC系
0〜配列宣言時の数値−1= 配列宣言時の個数    C言語系
0〜配列宣言時の数値   = 配列宣言時の個数+1 UWSC
FOR ループでは
for i = 0 to length(配列) -1   next UWSC

66 :
>>65
何言ってんの?
BASIC系も添え字最小は0だろが

67 :
マジで?

length(配列)じゃなくてmax(配列)として、添え字の最大値を使えればミスらないんだけどな。
for i = min() to max(配列)      next
これで解決。

68 :
>>67
上限値が欲しいなら Resize(配列)
for i=0 to Resize(配列)
next

69 :
maxだと要素中の最大値を求めるっぽくて駄目だな。
配列の添え字の最大って分かるようにしないと。

70 :
>>68
resizeで取れるならいいけど、一見して分かりにくいワードだな。まいっか。
C言語と同じ比較すればいいんだけどな。
添え字のカウントアップを忘れそうなのがな。
i = 0
while i < length(配列)
 i = i + 1
wend

だいたいBasic系の to って言葉が悪いよ。
なんで「〜の手前まで」って表現がないのか。
「To the front of」とか長すぎ。

71 :
VBのUBound、LBoundが欲しいのか。
ごちゃごちゃしょーもねーな。
今更言ってもかわらねえよ。

72 :
俺はCに慣れてるのもあるから0からが当たり前だと思っているがUWSCさわる人ってプログラムは知らないけどエクセルは使っていてエクセルマクロ(VB仕様?)で考えてる人が多いのかな?
俺はVBほとんどさわらないからその仕様もよくわかってないがw

73 :
COBOLのような勘定系だけは1からだよ
C言語やVBで組んだとしても

74 :
デフォルトは兎も角
環境の宣言で指標の使い方は自由に決める事が出来る言語は多い

75 :
>>68
俺ずっとそれでやってた上で、
> 0〜配列宣言時の数値−1= 配列宣言時の個数    C言語系
だと思い込んでやってたぜ。
>>72
VBAって
> 1〜配列宣言時の数値   = 配列宣言時の個数    BASIC系
だったか?
VB6のVBAけっこう使ったが、俺そこでも間違えてたのか?

UWSCってオブジェクト指向プログラミングで開発してるだろうに、提供する言語がコレって何かずるいw

76 :
ttp://www.relief.jp/itnote/archives/001048.php
23区(23個)だから、「str23ku(23)」としたくなるところですが、
インデックス番号が「0」からはじまるため、
「Dim str23ku(22)」という宣言で計23個の配列が用意されることになります。
この「0」からはじまるという点が、配列を難解にしている要因の一つではないかと思うのです。
VBA(Visual Basic for Applications)ではこの0オリジンを1オリジンにすることができます。
> モジュールの宣言セクションに
> 「Option Base 1」
> と記述する
で、これがまたバグの元なので >>71 の UBound、LBound で範囲を設定すると言うわけか。

77 :
>>75
数値とか個数という表現がさらにややこしくしてるんだな。
配列宣言時に入れる数値が最大なのか個数なのかが違う。
個数 = 10
最大 = 個数 - 1
として
・C言語
int 配列[個数]
for( i = 0; i < 個数; i++ ) {}
・VB, UWSC  (「Option Base 1」 を使わない場合)
Dim 配列[最大]
for i = 0 to 最大  next
で、最大 を入れるべきところで 個数 -1 を使ってたからややこしいと。
VBの場合は「Option Base 1」とか UBound、LBound を使って分かりやすく、間違いにくくできるけど
UWSC の場合は 0 が固定なので。
しかし、配列を処理する関数とか作ればUWSCでもなんとかなるかな。
イテレーターとか言うんだっけ。
token 切り出すみたいに1個ずつリターンしてもらう・・・
あ、配列にセットする場合はセットする関数が必要になってややこしいか。
関数作って覚えるなら、配列の扱いを覚えたほうが早いと言う。
っていうか、連想配列使えば1からでも好きなように出来るけど。

78 :
true/falseで-1、0、1、
返り血で正常異常その他、-1、0、1、他、
色々さまざまあるじゃん
勝手な思い込みしないで、どっちだっけ?と確認する癖をつければいいんだよ。
てかレス遡ると配列サイズを得るのにlength()使うひとみたいだし、ヘルプや仕様をろくに読まないで文句いってるんでしょ。

79 :
sa = SafeArray() が、sa = SafeArray(1,0) と等価になるは納得いかん
上限値はResizeで変更できるけど、下限値は変更不可だから、1始まりのまま。
DIMで作る配列は0始まりなのに、紛らわしい仕様だ。
引数省略できなくするか、または、SafeArray(0,-1)をデフォルトにすべきだと思うな
長さ0の配列作ることのない人には関係ないかもしれんけど

80 :
どっちにしても全言語で統一されん限り確認は必要なのになに暴れてるんだ

81 :
http://officetanaka.net/excel/vba/statement/OptionBase.htm
これ見ると、VBでも、A[5]は0〜4または1〜5であって、0〜5じゃないみたいだけど…?

82 :
A[5]が0〜5になる言語なんて他にあるの?

83 :
>>78
true/falseが定数名使わないと何であるかなんか、
定数名使う時点で関係なくなるから配列の添字の問題と関係無いじゃん…
確認するっつったって、確認した上で間違えるだろ、
あの素っ気ないHELPじゃ。

> 多次元配列には宣言が必要: DIM 変数名[数]
> (配列での初期値代入: DIM X[2]=1,2,3  配列数の省略可 DIM X[]=1,2,3 )

これだけだぜ。
「0〜4でも1〜5でもないので注意が必要です」とは書いてないからな。

84 :
>>78
あと「ろくに読まない」について。
ヘルプに書いてない仕様が多すぎ。

> // For Next 文
> FOR 変数 = 初期値 TO 終了値 [STEP 刻み値] 
>   処理
> NEXT       // NEXTの後に変数を書いてはダメ

この変数が変更不能であるとは何処にも書いてない。
結果、様々な仕様テストPGを書きまくる必要が出てくる。

85 :
え…?
お、おう

86 :
>>81
サンプルコードが、たまたまそうしてるだけでしょ
http://ameblo.jp/tech-note/entry-10157307186.html

87 :
>>84
俺も以前それにハマッタわ
for i=1 to 5
 MsgBox(i)
 i=i+1
next
↑これ、VBSでもUWSCでも動作するコードだけど
VBSは、1,3,5 と表示される
UWSCは、1,2,3,4,5 と表示される

88 :
>>87
自分も前にハマったわ
他の言語じゃ普通に出来るので結構盲点

89 :
>>86
VB6のVBAで試したら、
Option Base 0 '0と1でテスト
Public Sub testArrayUBound()
  Dim testArray(5) As Integer
  Debug.Print "LBound = " & LBound(testArray) ' Option Base で指定した数
  Debug.Print "UBound = " & UBound(testArray) ' 常に5
End Sub
正直すまんかった

90 :
画像認証の場合でPCが小さくて画面サイズが小さい場合や
画像認証する画像が一番上に来ていない場合は動作しないの?

91 :
1ドットの画像でも検索できる
バックグラウンドの画像でも検索できる

92 :
そもそもPCの解像度は関係ないだろ

93 :
バックグラウンドはできないだろ。少なくともXPでは。
Vista以降ではウィンドウの表示イメージをアプリごとに持つようになったからできるかもしれないが。

94 :
XPでも出来るよ

95 :
VMwareで全て解決

96 :
XPmodeでも解決

97 :
www.uwsc.info/history.html
> DOSCMD関数にてマルチ行の実行を出来るようにした
このマルチ行とはどのように記述すれば実行できるのでしょうか。
マルチ行の実行とは、DOSCMDの画面表示をTrueで実行すると
例えばバッチファイルに
echo テスト1
pause
echo テスト2
と記述して実行した場合と同じように複数行の実行ができると理解していますが、
理解が間違っているでしょうか。

98 :
>>97
コマンドラインで1行ずつ入力するのと同じでしょ
バッチファイルとは異なり、gotoやサブルーチンコールなどは無理

99 :
>>97
確認してないけどマルチコマンドの事かと思ってた
echo テスト1 & pause & echo テスト2
こんな感じね

100read 1read
1read 100read
TOP カテ一覧 スレ一覧 2ch元 削除依頼
メモソフト総合スレ(旧:メモ帳総合スレ) (184)
【簡単】Hamachiやろうぜ!!【共有】 Part2 (185)
LAV Filters 0.02 (167)
SKKとその派生入力メソッド (151)
IE8総合スレ (805)
Hoot サウンドエミュレータ v0.05 (583)
--log9.info------------------
【違法】割れ窓の危険性について【撲滅】 (153)
●そろそろproxydesktopを解明するスレ【ハング】 (108)
ちょっと後悔、買わなきゃよかったWindows7 (103)
■IE8PRO■ハイスピードに広告ブロック■IE7PRO■ (157)
【ゴミ同然】ウィンドウズ98・Meは今すぐ捨てよ! (107)
[Win]WindowsXPを軽く、安定させるスレッド3 (135)
WindowsXP SP1は安売りしないのか? (102)
  100年後のWindows   (160)
Vistaでごみ箱削除しちゃって右往左往 (128)
Windows使う奴はセンスゼロ、センスあるなら当然Mac (191)
UBUNTU伝説 3発目 (123)
パソコンをぶち壊したくなる瞬間 (195)
昨日気づいたんだけど俺のOS98じゃなくて98SEだった (115)
2000とXP。 (103)
なぜLonghornはGUIが3D表示 じゃないのか? (100)
メモ帳は難しすぎ (188)
--log55.com------------------
道の駅でキャンプwwwwwwww
【RKK・TKU・KKT・KAB】終わってる熊本のテレビ局50
頭にホラッチョ川上(ショーンK)を付け嘘臭い番組に
【ガセ厳禁】地方局飛び乗り・飛び降り Part101
三瓶より格下の石橋貴明(笑)
フジテレビよりも格下のテレビ朝日(大爆笑)
世間からまったく相手にされない底辺老害とんねるず
日本テレビよりも格下のTBSテレビ(大爆笑)