VBプログラマ質問スレ(6.0以前) Part46

このエントリーをはてなブックマークに追加
1デフォルトの名無しさん
VisuarlStudio
2デフォルトの名無しさん:2006/02/03(金) 22:58:53
3
3デフォルトの名無しさん:2006/02/03(金) 22:59:04
VBプログラマ質問スレ(6.0以前) Part45
http://pc8.2ch.net/test/read.cgi/tech/1133977286/989
4デフォルトの名無しさん:2006/02/03(金) 23:01:43
ここは Visual Basic 〜6.0 の質問スレです。
質問者は使用しているOS、VBのバージョン、サービスパックのバージョン、
「何がしたくて、どうしたけど、どう困っているのか」を明確に書きましょう。

前スレ >>3


VB.NETは別物なので専門スレで、
VBS、APIの質問もそれぞれのスレで。
VBAは、Officeアプリの操作以外ならばこのスレで質問しても大丈夫です。

MSDN Online Japan ホーム
http://www.microsoft.com/japan/msdn/default.asp
Visual Studio 6.0 Service Pack 6 正式リリース
http://msdn.microsoft.com/vstudio/downloads/updates/sp/vs6/sp6/default.aspx
Google
http://www.google.co.jp/
※「まず自分で調べる」クセを身につけよう。
5デフォルトの名無しさん:2006/02/03(金) 23:09:47
アマチュアやこれからプログラミング始めようって人は
そろそろこっちに移行した方が幸せ?かもな。無料だし。

ま、最新スペックのPCにメモリ大盛りでもIDEが激しく重いがw

Visual Basic 2005 Express Edition 日本語版
http://www.microsoft.com/japan/msdn/vstudio/express/vbasic/
6デフォルトの名無しさん:2006/02/03(金) 23:16:33
おいおい、これから始める人で6使う奴はいないだろ


あ、新入社員?ご愁傷様。
7デフォルトの名無しさん:2006/02/03(金) 23:20:39
これからの新入社員は膨大なVB6(or under)の負の遺産を改悪していく必要があります

そのためのスレッド乙>>1!!!!!!!!111
8デフォルトの名無しさん:2006/02/03(金) 23:57:18
やっぱり.NET以降のが秀逸ってことかい?
ちっこいアプリつくる程度なら6のが手軽なきがすっけど。
9デフォルトの名無しさん:2006/02/03(金) 23:59:48
VB.NEETがもっとロード時間が軽くなれば手ごろなアプリ作る気になるけど、
正直今は趣味にも使えない・・・

というわけで俺はVB6派
10デフォルトの名無しさん:2006/02/04(土) 00:37:07
>>9
VBニート・・・
11デフォルトの名無しさん:2006/02/04(土) 00:42:10
>>10
残念C++/Java/.NET系は扱えることは扱える
しかも学生(orz
12デフォルトの名無しさん:2006/02/04(土) 00:55:59
てっきり.NETアーキテクト全般を馬鹿にする造語かと思った
いいな『.NEET』
これからこう呼ぼう
13デフォルトの名無しさん:2006/02/04(土) 01:02:37
>>12既出
14デフォルトの名無しさん:2006/02/04(土) 01:52:07
あなたはいつまでVB6を使い続けますか?
15デフォルトの名無しさん:2006/02/04(土) 02:02:28
VB6が動かなくなるまで。
16デフォルトの名無しさん:2006/02/04(土) 02:06:20
>>15
つまりVistaがリリースされたらVB6を卒業すると・・・
17デフォルトの名無しさん:2006/02/04(土) 02:20:42
な、なんだってーーーーーーーー!!!
18デフォルトの名無しさん:2006/02/04(土) 02:28:54
もうそろそろ.NETに以降しようぜ
19デフォルトの名無しさん:2006/02/04(土) 02:49:19
.NET『以降』に『移行』しようぜ
20デフォルトの名無しさん:2006/02/04(土) 03:21:38
もうそろそろ.NETに以上しようぜ
21デフォルトの名無しさん:2006/02/04(土) 04:39:12
Live2chのスレッド一覧やBecky!2のメール一覧みたいに
カラムで区切られてるのってListViewコントロールじゃないのかしら?
どうもうまくいかん。
22デフォルトの名無しさん:2006/02/04(土) 05:53:19
>>21
つ Spy++
23デフォルトの名無しさん:2006/02/04(土) 05:56:23
>>16
vistaでvb6のアプリは動くのかい?

cとかjavaも画面がないやつなら書いたことあるけど、
画面があるアプリつくるのにvb6からシフトするならどの言語がお勧め?
24デフォルトの名無しさん:2006/02/04(土) 06:35:20
田中彰の応援歌を考えた。

行くぞ彰ホームラン!センターオーバーホームラン!
弾丸ライナーだ!飛ばせ!運べ!彰!

俺が考えた歌詞ですよ!
弾丸ライナーだ!の後に「ヘイ!」とか「おい!」って掛け声を入れてスタンドでジャンプするの
とかいれると面白いかもしれない。
25デフォルトの名無しさん:2006/02/04(土) 06:47:54
>>11
これはボケ・・・なのか?

>>23
言語の問題じゃないでしょそれは。
26デフォルトの名無しさん:2006/02/04(土) 07:13:40
VB6SP6のDateAdd関数なんだけど

Dim a As Date
Dim b As Date

a = CDate("18:30:00")
b = CDate("18:15:00")

b = CDate(DateAdd("n", 15, b))

If a = b Then
Call MsgBox("OK")
Else
Call MsgBox("NG")
End If

上のを動かすとOKにならないんだけど、うちの環境だけなのかな?
OS:WinXPSP2
27デフォルトの名無しさん:2006/02/04(土) 07:40:56
>>26
VB6はXPでは動作保証されてないよ。
で、日付の比較は DateDiff。
28デフォルトの名無しさん:2006/02/04(土) 09:00:51
2kでも同じ現象が起こるがdatediff使えばいいだけだな
2926:2006/02/04(土) 09:18:58
b = CDate("18:30:00")

にするとOKになるんで今までDateDiff関数なんか使ったことないです。
DateAdd関数使うとミリ秒の誤差が発生するってことですよね?
30デフォルトの名無しさん:2006/02/04(土) 09:40:59
>>29
全然違うが。
31デフォルトの名無しさん:2006/02/04(土) 09:51:41
この件とは関係ないけど、CDate("18:30:00")じゃなく#18:30:00#にしようぜ。
32デフォルトの名無しさん:2006/02/04(土) 14:00:30
>>27
それほんと?

>>29
確かに同じ日付(時刻)どうしを引き算すると値があることがあるわけだけど、
そういう引き算に何か意味があるのかといえば、無いのではないかと思われる。
やはり日付操作はそれ専用の関数を使わないといけないということだけなのでしょう。
3332:2006/02/04(土) 14:08:27
- 演算子のマニュアルに
2 つの日付型の式を含む除算は倍精度浮動小数点数型が返ってくるとある。
日付型が返ってくるわけではないのでおよそ意味不明なことになるけど
不具合でもなくて仕様どおりですね。
因みに、日付型とその他のデータ型を含む除算は日付型を返すと言っている。
3432:2006/02/04(土) 14:11:40
えー
>>32>>33につき
全く流れに沿ってない発言でした。
撤回します。orz
35デフォルトの名無しさん:2006/02/04(土) 14:34:51
>>26
VBの日付型は1分を1/1440の小数であらわすので微妙な誤差が出る。

それからDateAddの日本語版のマニュアルの記述に誤りがある。本当は次のとおり
Returns a Variant of subtype Date.
そなもんで b = CDate(CStr(DateAdd("n", 15, b))) と書けばOKが戻るはず。

36デフォルトの名無しさん:2006/02/04(土) 15:00:29
ややこしいな
37デフォルトの名無しさん:2006/02/04(土) 15:08:42
>>32
普通に考えて、開発環境より後に世に出たOS上で、その開発環境がまともに動く訳がない。
ttp://www5.airnet.ne.jp/init/vb/level1/level1001.html
こんなサイトもある。

で、日付型に「=」を使う事自体がそもそも間違い。VBだしエラーにはならないけど、結果は不定。
日付型専用の DateDiff がわざわざちゃんと用意されてるんだから。
38デフォルトの名無しさん:2006/02/04(土) 15:09:05
MyDateクラスでも自給してれば
39デフォルトの名無しさん:2006/02/04(土) 15:09:34
>>36
DateDiff 使えばいいだけの話なので、ややこしくも何ともない。
40デフォルトの名無しさん:2006/02/04(土) 15:22:25
WinXPのコマンドインタプリタなんだが
tabで補完してくれる分には嬉しいけど、複数の候補が有る場合に一番使わないのに確定しちゃうのはちょっとなぁ・・・
41デフォルトの名無しさん:2006/02/04(土) 15:22:29
内部がDoubleで表現されてるのを知らないと陥りやすい罠だよね
42デフォルトの名無しさん:2006/02/04(土) 15:41:26
日付の引き算の問題はOSのバージョンや環境とは関係なく最初からある。
上の例だと1.11E-16だけ誤差があるようで、DateDiff使うのがやっぱり無難でしょう。
Date型の内部表現やDoubleとの互換性はマニュアルにも明記してあるんだから、
それを意識して使うなら問題はない。
43デフォルトの名無しさん:2006/02/04(土) 16:22:45
>>42
いや「無難」じゃなく、それしか方法はなく、それだけが正しいのだが。
44haha:2006/02/04(土) 16:33:36
VB6で画像ファイルをPictureBoxにドラッグして表示させたいのです。
OLEDragDrop イベントを使うらしいのですがなんだかよくわかりません。
まずファイルのパスを取得して、ロードで読み込みをするんでしょうか?
でもドロップファイルのパスの取得のやり方もわかりませんし…。
どのようにして実現させるのでしょうか? どなたか教えてください。
45デフォルトの名無しさん:2006/02/04(土) 16:35:32
>>44
とりあえずOLEDropModeを自動に設定
OLEDragDrop()イベントで引数DataのFilesコレクションの中身を列挙するForEach文を書く
で、ファイルをD&D

かもしれない
46デフォルトの名無しさん:2006/02/04(土) 17:03:16
WinInetを使ってサーバーにデータをPostさせるにどうすればいいでしょうか?
47デフォルトの名無しさん:2006/02/04(土) 17:15:52
>>46
つMSDNヘルプ
48デフォルトの名無しさん:2006/02/04(土) 17:23:15
>>47
ありがとう
ぐぐってみます
49デフォルトの名無しさん:2006/02/04(土) 17:24:58
Bitbltって画像読込させたら速いの?
50デフォルトの名無しさん:2006/02/04(土) 17:27:53
>>49
BitBltはDCからDCにビットマップを転写するAPI
画像読み込む云々は全く関係ない・・
51デフォルトの名無しさん:2006/02/04(土) 17:55:40
>>50
ありがとう

でもこのサイトにはスピードがあるって書いてあるよ
ttp://www005.upp.so-net.ne.jp/h-masuda/vb6/vb6api/vb6api04.html
API自体が速いってこと?
52デフォルトの名無しさん:2006/02/04(土) 18:03:29
Set f1 = fk.GetFolder("c:")
For Each bj In f1.Files
こうすると、「Function または変数が必要です」となります。どうしてですか?
53デフォルトの名無しさん:2006/02/04(土) 18:05:10
>>51
PaintPicture()メソッドはVBの内部と癒着しまくって動いているから(描写以外にも何かしてるはず)
基本的に低速
BitBltはその辺GDI直だから結構早い
それでも遅いときはDIB系のAPIつかう
まだ早くしたいときはDirectXか?
54デフォルトの名無しさん:2006/02/04(土) 18:06:12
あと>>51のサイトでScaleMode=vbPixelにしろって書いてないけど、
多分しないとマトモに動かないから
55デフォルトの名無しさん:2006/02/04(土) 18:06:54
>>52
とりあえず msgbox Typeof(fk.getfolder("c:")) の値を見せなさい。
56デフォルトの名無しさん:2006/02/04(土) 18:07:42
>>55、TypeNameな
57デフォルトの名無しさん:2006/02/04(土) 18:08:09
("c:")
 ↑これなんてキャラ?
58デフォルトの名無しさん:2006/02/04(土) 18:09:03
>>53-54
わかった
どうも親切にありがとう
59デフォルトの名無しさん:2006/02/04(土) 18:19:06
>>55>>56
ループの中でFolderでした。bjはファイルにならないのかな?
60デフォルトの名無しさん:2006/02/04(土) 18:24:25
61デフォルトの名無しさん:2006/02/04(土) 18:25:41
>>52
f1 と fk とbj の宣言部分は?
62デフォルトの名無しさん:2006/02/04(土) 18:27:47
>>59
とりあえずさ、例外を再現できるコード(vbsファイルにコピペすれば大体動くような)を提示してくんない?
なぞなぞやってるわけじゃないんだから
6359:2006/02/04(土) 18:36:45
コメントにしていたSUBとかEND SUBを除いたら出来るようになりました。ごめんなさい
6426:2006/02/04(土) 18:45:12
>35>42
納得出来ました、ありがとう。

>37
専用関数使えば良いだけなんだろうけど
文字列の比較もStrComp関数で…とか屁理屈考えちゃいました。
65デフォルトの名無しさん:2006/02/04(土) 18:47:18
>>64
あと、文字列→日付にCDate()使ってるみたいだけど
あれはWindowsの設定によって解釈変わっちゃう可能性あるから、
DateSerial()+TimeSerial()で作った方が安全だと思うぞ
66デフォルトの名無しさん:2006/02/04(土) 18:49:45
エクセルVBAの話をしてはだめですか?
67デフォルトの名無しさん:2006/02/04(土) 18:50:32
>>66
VB6と被ってる関数/クラスならいいんでね?
俺は
68デフォルトの名無しさん:2006/02/04(土) 18:54:39
>>63
何がどう駄目でどの様に解決したのか全然分からん。
69デフォルトの名無しさん:2006/02/04(土) 18:56:42
70デフォルトの名無しさん:2006/02/04(土) 19:00:32
>>67
Sub UHA()
S = "Select qq.* From kimo.txt qq"
c = "ODBC;DSN=Text Files;DefaultDir=C:\www"
With Sheets(2).QueryTables.Add(Connection:=c, Destination:=Range("a1"), Sql:=S)
.Refresh
End With
End Sub
のあと、シート2のソートが正常に動作してくれません
71デフォルトの名無しさん:2006/02/04(土) 19:04:38
>>51のサイト見てたんだけど
非表示のPictureBoxに絵を読み込んで他に転写する方法っていかにもVBっぽいよな
72デフォルトの名無しさん:2006/02/04(土) 19:04:56
(ノ∀`)アチャー
73デフォルトの名無しさん:2006/02/04(土) 19:12:45
>>70
突っ込むのはビューだからかもなー
よく分からん
orderbyでソートしたら?

>>71
たすかに
CreateCompatibleDC/Bitmap使ってとかは面倒なんだろ
74デフォルトの名無しさん:2006/02/04(土) 19:25:35
> 突っ込むのはビューだからかもなー

解説をお願いします。突っ込む ビュー のあたりが初耳です
75デフォルトの名無しさん:2006/02/04(土) 22:32:12
>VBAは、Officeアプリの操作以外ならばこのスレで質問しても大丈夫です。
との事なんで質問させていただきます。

Excel2002 + MySQL
VBAからテーブルのバックアップを取ろうと思って以下の処理を書いて
見たんですが、バックアップファイルが出来ません。
Dim shell_str As String
Dim ret

shell_str = "mysqldump database table1 -u root -phogehoge > D:/Data/SQL/table1.sql"
ret = Shell(shell_str, vbMinimizedNoFocus)

これをバッチファイル(例えばbkup.bat)にして

ret = shell("c:\temp\bkup.bat",vbMinimizedNoFocus)

で正常に走る事は確認しているんですけど、出来たらちょこまかしたバッチ
ファイルは作らずにVBA上からやりたいと思っています。どういう風にすれば
よろしいんでしょうか。

76デフォルトの名無しさん:2006/02/04(土) 22:53:32
>>75
shell _str = "cmd /c""mysqldump database table1 -u root -phogehoge > D:/Data/SQL/table1.sql"""
77デフォルトの名無しさん:2006/02/04(土) 23:03:33
>>76
おおお〜!即レス有難うございますm(__)m。
なるほど、そういう風に書くんですね!
実行してみたら出来ました。有難うです。
78デフォルトの名無しさん:2006/02/04(土) 23:21:09
post methodを使うサンプルコード探しています
どなたかご親切な方いましたら
post methodの使い方をご教授願います。

ブラウザーを介さず直接サーバーに情報を送信したいのです。
79デフォルトの名無しさん:2006/02/04(土) 23:22:42
80デフォルトの名無しさん:2006/02/04(土) 23:27:20
>>79
レスありがとう
大変参考になりましたといいたいところですが
敷居が高すぎますorz
出来ましたら、易しめなのを希望します。
81デフォルトの名無しさん:2006/02/04(土) 23:29:12
>>79
オマエ鬼だな...

>>78
ご教授って書かなかったら教えたのにな

ヒント:X○○H○○○R○○○e○○
82デフォルトの名無しさん:2006/02/04(土) 23:30:58
XMLHTTP(ry
83デフォルトの名無しさん:2006/02/04(土) 23:31:30
俺ならWinSockから実装するよ

telnet o www.google.co.jp 80
POST (ry
84デフォルトの名無しさん:2006/02/04(土) 23:33:25
>>83
WinSockだとSSLがじゃましないか?
8580:2006/02/04(土) 23:45:11
>>81-82
サンクス昔調べたサイトのこと思い出せた。
XMLHTTPRequest
http://x7net.com/~access/AcTipsVbaXMLHTTP.html

>>ご教授って書かなかったら教えたのにな

もう少しpost methodの使い方について教えて下さい?

>>83
レスありがとう
>>84が言うとおり処理が複雑そうになるのは気のせいですか?
8683:2006/02/04(土) 23:48:21
ん?
WinSockだと何か弊害が…?
とりあえずセキュアなサイトは訪れるのが面倒になるが
8780:2006/02/05(日) 00:00:12
>>86
いいえそんなことはないと思うのですが
別な掲示板でWinInetのほうが初心者は使いやすいと読んだことがあります。
88デフォルトの名無しさん:2006/02/05(日) 00:01:27
じゃあそっちの掲示板で聞けよ
89デフォルトの名無しさん:2006/02/05(日) 00:04:40
まったり行こうぜ
90デフォルトの名無しさん:2006/02/05(日) 00:09:33
初心者はInetコントロールでも画面に貼って使っておけ
91デフォルトの名無しさん:2006/02/05(日) 00:10:37
>>90
そんなことせんでもUserControlのAsyncReadメソッドで
92デフォルトの名無しさん:2006/02/05(日) 00:15:09
AsyncReadはmethod指定できなくね?
93デフォルトの名無しさん:2006/02/05(日) 00:17:57
しかしInetはバグが酷すぎる
94デフォルトの名無しさん:2006/02/05(日) 00:24:20
>>78
つMSDNヘルプ
95デフォルトの名無しさん:2006/02/05(日) 01:28:14
AsyncReadって、どうしてユーザーコントロールじゃなきゃいけないんだろ。フォームでええやん。
96デフォルトの名無しさん:2006/02/05(日) 01:49:35
>>37
なんだ根拠なしに言ったのか。
sp6のサポートOSにちゃんとXPも載ってるじゃねえか。
ttp://www.microsoft.com/downloads/details.aspx?FamilyID=a8494edb-2e89-4676-a16a-5c5477cb9713&DisplayLang=ja

ところでVB6からVB2005への移行を検討するスレってどこかにない?
97デフォルトの名無しさん:2006/02/05(日) 01:53:25
>>96
おまいは実行環境と開発環境の区別もないのか・・・
98デフォルトの名無しさん:2006/02/05(日) 01:54:28
>>65
非常に懐かしいが経験ある。
99デフォルトの名無しさん:2006/02/05(日) 01:55:34
>>97
ランタイムじゃないよ。97が間違えてるのでは?
100デフォルトの名無しさん:2006/02/05(日) 01:56:20
>>97は真性キチ
101デフォルトの名無しさん:2006/02/05(日) 01:57:15
>>98
経験?
102デフォルトの名無しさん:2006/02/05(日) 02:01:25
>>101
DBから文字列で格納された日付をひろって、
cdateで日付に変換していたらで一部PCでだけ不具合が出たなーという
苦い経験
103デフォルトの名無しさん:2006/02/05(日) 02:03:01
>>102
ぁあなるほど・・・そういえば時々掲示板に上がってくるなぁ、そういうの
104デフォルトの名無しさん:2006/02/05(日) 02:39:23
105デフォルトの名無しさん:2006/02/05(日) 05:06:52
ハハハ、IHTMLElementRender::DrawToDC()使おうと思ったらVBに怒られたぜ・・・ショボンヌ
106デフォルトの名無しさん:2006/02/05(日) 10:00:41
す、すんまそん。VB4からのウラシマユーザーです。
VB2005弄ってみました。
で、いきなり躓きました。

コントロール(チェックボックスとか)を配列にするにはどーしたらエエんでしょう?
以前は、コピペで勝手に配列型にしてくれてたんですが。

107デフォルトの名無しさん:2006/02/05(日) 10:16:09
AsyncRead と Inet で GetChunk するんじゃどっちがはやいですか?
108デフォルトの名無しさん:2006/02/05(日) 11:06:50
>>106
スレタイを二百回読んでごらん
109デフォルトの名無しさん:2006/02/05(日) 11:35:43
IEなどのブラウザーを通さずに
サーバから直接、特定のサイトにユーザー名、パスワードを送信して
ログインしたいのですが
まずはじめに何から取り掛かれば良いでしょうか?
エクセルのVBAで解決したいと考えています
おねがいします。
110デフォルトの名無しさん:2006/02/05(日) 11:38:04
>>109
質問があいまいです
111デフォルトの名無しさん:2006/02/05(日) 11:43:33
>>109
とりあえず校庭十周
112デフォルトの名無しさん:2006/02/05(日) 11:45:39
>>111
40過ぎのおっさんだったらカワイソウだぞw
113デフォルトの名無しさん:2006/02/05(日) 11:47:14
基礎体力は大事だな、確かに
114デフォルトの名無しさん:2006/02/05(日) 11:49:42
>>109
素人なら
WinInetでも使っとけw
115デフォルトの名無しさん:2006/02/05(日) 12:48:52
VB6の低脳化はついにここまで進行したのか
116デフォルトの名無しさん:2006/02/05(日) 12:49:07
>>109
とりあえず何のプロトコルかわからんからそっから調べて来い
117109:2006/02/05(日) 14:05:05
>>116
素人はWinInetを使えとありますので
本を見ながらユーザーフォームに追加してみました
下記の
name="koza1"
name="koza2"
name="passwd"
にデータを送信したいです。
GETでデータを取得すると文字化けしたので
WEB上のソースを貼り付けました。

https://trade.kabu.livedoor.com/Login/0/imode/login_h
ライブドア証券携帯サイト

<!--画面専用のソースの挿入-->
<FORM action="/IMode/00000000/imode/login_e" method="POST">
<P> 部店コード <BR>
<INPUT type="text" name="koza1" maxlength="3" size="3" istyle="4" value="">
<BR>
口座番号 <BR>
<INPUT type="text" name="koza2" maxlength="7" size="6" istyle="4" value="">
<BR>
パスワード <BR>
<INPUT type="PASSWORD" name="passwd" maxlength="10" size="10" istyle="4" value="">
<BR>
<center>
<INPUT TYPE="submit" VALUE="ログイン" accesskey="1">
</center>
</FORM>
118109:2006/02/05(日) 14:07:09
>>110-111
すいません
初めてのことで何を聞けばいいかさえ解らない状態です
119デフォルトの名無しさん:2006/02/05(日) 14:14:08
>>96
未だにMSの「サポートしてます」を信じる奴が居るとは・・・
実際に数々の不具合が出てる訳だが。
まぁ別にやりたいならインストール&開発&配布すればいいよ。
>>107
速さはハードウェアで解決する時代。
>>109
TCP/IPの勉強。
120デフォルトの名無しさん:2006/02/05(日) 14:18:20
VBってランタイムが要る時点でだめぽだよね
121デフォルトの名無しさん:2006/02/05(日) 14:20:48
>>120
今の時代、全て突っ込んだアプリケーションはそうそうない
122デフォルトの名無しさん:2006/02/05(日) 14:37:15
APIもランタイムライブラリの一種

ってことは、マシン語しか認めない方ですか?
123デフォルトの名無しさん:2006/02/05(日) 15:37:44
拡大解釈してどうすんだろ
124デフォルトの名無しさん:2006/02/05(日) 15:54:19
>>123
>>120はランタイムが嫌いな人間らしい
125デフォルトの名無しさん:2006/02/05(日) 15:55:38
俺には別途DL&インスコが嫌いな人間にしか見えないが
126デフォルトの名無しさん:2006/02/05(日) 17:12:58
>>119
XPで開発しているけど、
試験環境さえちゃんとあれば別に大して問題ない。

>>120
ランタイムと一緒に配布すればいいだけでは?
127デフォルトの名無しさん:2006/02/05(日) 17:22:36
>>117
レベルが低い間は自動売買ソフトのスレで聞きなさいよ。
もっと言語固有の問題に突き当たってからこっちに質問すればよし。
128デフォルトの名無しさん:2006/02/05(日) 17:37:44
>>117
MSHTML か XMLHTTPRequest 使えば WinInet よりも簡単に出来んずあんw

>>文字化けしたので
多うにこーでに変換して無いから あるいはその逆
129デフォルトの名無しさん:2006/02/05(日) 17:54:03
MSHTMLでPOSTってどうやってやるの?
130デフォルトの名無しさん:2006/02/05(日) 18:05:13
>>129
質問があいまいです
131デフォルトの名無しさん:2006/02/05(日) 18:09:13
帳票形式のコントロールってどうやってつくるの?
132デフォルトの名無しさん:2006/02/05(日) 18:11:30
>>131
頑張ってつくるの。
133デフォルトの名無しさん:2006/02/05(日) 18:25:18
>>MSHTMLでPOSTってどうやってやるの?
MSHTMLにポストする機能は無いんで <FORM method="POST">のSENDボタンをclick()でやるとか
134デフォルトの名無しさん:2006/02/05(日) 18:31:01
MSHTML使ってやる方法

1 IPersistStreamInitインタフェイスとしてMSHTML.HTMLDocumentを見る
2 IPersistStreamInit.Loadメソッドを呼ぶ
これでおk
135デフォルトの名無しさん:2006/02/05(日) 18:56:20
XMLHTTPRequestよりMSHTMLのほうが人気あるってことか
136デフォルトの名無しさん:2006/02/05(日) 19:22:45
137109:2006/02/05(日) 19:39:35
>>119
>>TCP/IPの勉強。
本買って読んだのですが、具体的な使い方はほとんど書いていなく敷居が高すぎました

>>127
★★★自動売買ソフトを作ろうぜ★★★
http://live19.2ch.net/test/read.cgi/stock/1138091550/
このことですか?

>>128
レスありがとう
MSHTML か XMLHTTPRequestでぐぐってきます
エクセルに標準では入っていないと思うので
入れるところからはじめたいと思います



138109:2006/02/05(日) 19:42:11
>>133-134
サーバーに直接データ送信は難しいですね
スクリプト組んでブラウザー経由で送信は簡単でしたが・・・
139デフォルトの名無しさん:2006/02/05(日) 20:07:21
>>137
具体的な使い方も何も、IPアドレスとポートを指定して、
何らかの決まったデータを送受信するだけ、ですよ。
140デフォルトの名無しさん:2006/02/05(日) 21:02:47
>>137
かわいそーーーーwww
  >>119の無配慮な発言で本を買わせてどーするwwww
  あーいう本って結構 値張るんでしょ??ww
  本買うまでもなく、Web ページ探せば知識がゴロゴロ転がってますよwww
  と言うか、まず中身確認してから買いましょうよwwww
  あと MSDN ちゅうのがあるでしょうにwww


              と近所のネコが小一時間
141デフォルトの名無しさん:2006/02/05(日) 21:07:16
VBの軽量化の手段を教えてください
142デフォルトの名無しさん:2006/02/05(日) 21:12:36
>>141
手当たり次第にファイル削除するか、
不必要なまでの構造化をしてエントロピを上げろ
143デフォルトの名無しさん:2006/02/05(日) 21:18:28
エントロピーの意味を知らない奴がいるなw
144デフォルトの名無しさん:2006/02/05(日) 21:20:52
(V)(´Д`)(V) えんとろぴー
145デフォルトの名無しさん:2006/02/05(日) 21:23:16
Functionばっかりしてたらやっぱり遅くなる?

あ、僕が>>141で言いたかったのは、実行時の速度の事です=軽量化につながるかなと思って

ほんとちょこっと機能を増やすだけでモッサリするんだから

上らへんでSubしまくれよって書いてあったけど、実際うんこ?

Form_Load時に余計な事させなかったら起動は速くなる?
146デフォルトの名無しさん:2006/02/05(日) 21:24:35
>>145
実行速度と体感速度は全然違うぞ
実行してUIが"もっさり"するのなら、適当にDoEventsでも入れてメッセージ処理させれ
147デフォルトの名無しさん:2006/02/05(日) 21:45:22
>>141
「VBの軽量化」の意味が全然分からん。
148137:2006/02/05(日) 21:52:21
>>140
VBAによるTCP/IPプログラミング入門―HTTP,SMTP,POP3,FTPの基本がわかる TCP・IP基礎シリーズ
価格: ¥2,520 (税込)
http://www.amazon.co.jp/exec/obidos/ASIN/4789818772/249-3841508-3277910

北海道の田舎に住んでいるので、本屋行っても専門書は売っていないんです
アマゾンでそれらしき本を買うしかありませんでしたorz

>>あと MSDN ちゅうのがあるでしょうにwww

MSDNのヘルプで調べましたが、素人なので見ても理解に苦しみます。
なので質問をして少しずつ解決していくしかありません。

>>109に書いてあることは初心者向けですぐに出来そうな気もしましたが
MSHTML か XMLHTTPRequest でするとしても
参照設定でMicrosoft XMLだけみてもv2.6 v3.0 v5.0 version 2.0とたくさんあり
なにがなにやらさっぱりわからないのが現状です。


149デフォルトの名無しさん:2006/02/05(日) 22:12:32
>>145
VBのUIモッサリの理由は独自の描画処理にあるらしい
例えば FormにPictureを指定すると勝手に再描画されるでしょ
その辺の得体の知れない描画処理が原因とか

機能を豊富にしてコントロール増やすと 得体の知れない描画処理が増えて重くなるとか

特にVB上でのListViewは最悪だな
150デフォルトの名無しさん:2006/02/05(日) 22:17:13
この重い(想い)伝えたい


     なんつって^^;
151デフォルトの名無しさん:2006/02/05(日) 22:19:11
>>148
まぁこれを機にその分野に精通したらどうだろう
152デフォルトの名無しさん:2006/02/05(日) 22:21:36
>>148
最初は誰でも知識ゼロなんだから、あせらずゆっくり確実に一歩一歩。
153デフォルトの名無しさん:2006/02/05(日) 23:49:29
>>148カワイソスカワイス
154デフォルトの名無しさん:2006/02/06(月) 00:36:50
俺的WinSock2の良書:
WinSock2puroguramingu (改定第二版)
ルイス・ナッパー著
ISBN 4-7973-3044-9
155デフォルトの名無しさん:2006/02/06(月) 01:04:45
puroguramingu て
156デフォルトの名無しさん:2006/02/06(月) 01:06:03
このタコ普通に変換忘れてるな
157デフォルトの名無しさん:2006/02/06(月) 01:23:43
>>155-156
ちゃんと名前入れなよ
158デフォルトの名無しさん:2006/02/06(月) 01:34:05
Inet コントロールで GetChunk メソッドを使いデータを取得しているのですが、
途中、中断したく Cancel メソッドを実行するものの、タスクは回り続けてるようなんですが、
こういった場合、どう対処すればよろしいでしょうか。ご教授のほどどうぞよろしくお願いします。
159デフォルトの名無しさん:2006/02/06(月) 01:37:25
>>158
仕様です
160デフォルトの名無しさん:2006/02/06(月) 01:40:10
それを言うなら「ご教示」だろ
161デフォルトの名無しさん:2006/02/06(月) 02:21:33
>>141
紙のユーザーズマニュアルは添付しないでCD−ROMやwebで済ます。
162デフォルトの名無しさん:2006/02/06(月) 02:23:47
>>141
顧客の要望でVB使うことになったのなら、
なんとかゴネてプログラム作らない方に仕向ける
これ最凶
163デフォルトの名無しさん:2006/02/06(月) 02:27:07
未だにヴィクトリーベーシックなんかやってんだ?
164デフォルトの名無しさん:2006/02/06(月) 02:28:38
ちなみに猫が800匹でてきます
165デフォルトの名無しさん:2006/02/06(月) 02:31:00
Wicrosoft Victory Basic 6.0
166デフォルトの名無しさん:2006/02/06(月) 02:31:55
勝利宣言w
167デフォルトの名無しさん:2006/02/06(月) 02:41:12
>>160
「教授する」という使い方は正しいよ。
辞書引いてみな。
168デフォルトの名無しさん:2006/02/06(月) 02:50:38
http://www.tt.rim.or.jp/~rudyard/torii009.html

このスレでは「ご教授〜〜」は禁止になっています
169デフォルトの名無しさん:2006/02/06(月) 02:57:39
教授と教示どっちでもいいがよ、おまえがルールなのは気に入らねぇ。
170デフォルトの名無しさん:2006/02/06(月) 02:59:35
まったく逆の意味じゃないか
171デフォルトの名無しさん:2006/02/06(月) 03:02:23
>>169
いいわけねーじゃん。
172デフォルトの名無しさん:2006/02/06(月) 03:05:02
このスレでは〜は禁止になってます
って言う奴が嫌いなだけ。
他に関しては情報が正しくなくても話題として興味無しです。
173デフォルトの名無しさん:2006/02/06(月) 03:06:17
>>172
馬鹿かおめーは。
174デフォルトの名無しさん:2006/02/06(月) 03:07:39
>>172
俺はお前が嫌いだ
175デフォルトの名無しさん:2006/02/06(月) 03:10:36
お前らこそスレ違いだよバーカ
176デフォルトの名無しさん:2006/02/06(月) 03:12:08
間違いを突っ込まれて逆切れ?格好悪いね
177デフォルトの名無しさん:2006/02/06(月) 03:13:12
ジエン臭につられてやってきますた。
178デフォルトの名無しさん:2006/02/06(月) 03:14:09
あの葡萄はすっぱいって事にしておけよ。
179デフォルトの名無しさん:2006/02/06(月) 03:29:09
ま、質問者は潜在的な回答者を減らさないためにも
とりあえず、ご教示にしておけってこった
180デフォルトの名無しさん:2006/02/06(月) 04:37:06
ところでタブブラウザの人どうなったのよ?
あれから報告ないんで気になって仕方ないんだがwww
181デフォルトの名無しさん:2006/02/06(月) 07:04:36
>>180
自演乙
182デフォルトの名無しさん:2006/02/06(月) 12:05:38
>>180
奴のいってたことが本当だとしたら、俺も、
UserAgentの変更と、お気に入り順序は気になるな
どうやって実現するのか、ソース晒してくれないかね
183デフォルトの名無しさん:2006/02/06(月) 15:46:30
http://zaraba.qp.land.to/up/src/1139076592986.jpg
お前ら良かったな
バレンタインデーなくなるみたいだぞw
184デフォルトの名無しさん:2006/02/06(月) 15:48:27
放流
void scpy(const char* src,char* dst){
//srcからdstにコピー
__asm{
push eax;
mov esi,src;
mov edi,dst;
cld;//DF=0(movsbで+1方向に進む)
lbl:
cmp [esi],0;
je lbl_exit;
movsb;
jmp lbl;
lbl_exit:
mov byte ptr [edi],0;//終端の0をコピー
pop eax;
}
return;
}
185デフォルトの名無しさん:2006/02/06(月) 17:13:48
VB6(SP5) PostgreSQL8(8.01)
VB6とPostgreSQL8をファイルDSNで接続する方法がわかりません
今のコーティングは下記の記述の通りです
「一般エラー:DSN ファイル"が無効です。」となってしまいます
 ファイルDSN名:PostgreSQL(Unicode)
  (どちらが良いのか・一般的なのかわからないので)
  (Unicode/ANSIのどちらも試しましたが両方だめでした)
  ちゃんとファイル C:\PostgreSQL はあります
 データベースのtestテーブルのnameの一覧をList1に表示してみようと思ったのですが
 接続すらできていない状態で困っています

Cn.Open "FILEDSN=C:\PostgreSQL;"
Set rs = Cn.Execute("select * from test")
Do While Not rs.EOF
List1.AddItem rs.Fields("name").Value
rs.MoveNext
Loop

お願い致します
186デフォルトの名無しさん:2006/02/06(月) 17:16:04
DBはDB板へ
187デフォルトの名無しさん:2006/02/06(月) 17:18:12
188デフォルトの名無しさん:2006/02/06(月) 18:10:19
VB6を使ってますがString型に250文字以上代入しようとすると250文字で切れてしまいます。
MSDNには
可変長文字列には、約2GB (2^31) までの文字を格納することができます。
固定長文字列には、1 〜 約 2GB (2^31) の文字を格納することができます。
と書かれてますので問題ないと思いますが、可変長、固定長どちらでやっても
やはり250文字で切れてしまいます。
いろいろ調べて見ましたがよく分かりません。
ご教示お願いします。
189デフォルトの名無しさん:2006/02/06(月) 18:11:27
>>188
再現する最小のソースをどうぞ
190デフォルトの名無しさん:2006/02/06(月) 18:18:07
VBプログラムで有名なフリーウェアって何がありますか?
どうか何卒ご教授願います。
191デフォルトの名無しさん:2006/02/06(月) 18:24:06
ありません
192デフォルトの名無しさん:2006/02/06(月) 18:49:11
> 189
ウォッチで値を参照しながらデバッグしてたのですが、もしかしたらウォッチって
250文字までしか見れないんでしょうか。
250文字で切れてると思ってしまいました。
念のためDebug.Printで確認したら問題ありませんでした。
初歩的な質問ですみませんでした。
193デフォルトの名無しさん:2006/02/06(月) 18:51:38
しかしそれだけ文章練ってタイピングする手間は惜しまないのに
当然の確認作業はやり惜しむって俺には理解できんよ。。
M気質の人なのかなあ
194デフォルトの名無しさん:2006/02/06(月) 18:54:35
焦りやすいお方なのでしょう
195デフォルトの名無しさん:2006/02/06(月) 18:57:38
>>188
何の問題もないけど。
Dim Tmp$
Tmp$ = ""
Dim i%
For i% = 0 To 299
Tmp$ = Tmp$ & Chr$((i Mod 26) + Asc("A"))
Next i%
Debug.Print Len(Tmp$), Tmp$
196デフォルトの名無しさん:2006/02/06(月) 18:58:38
>>195
そういうコードは久々にみた
197デフォルトの名無しさん:2006/02/06(月) 21:08:18
起動時に設定値を読込たいのですが、
この場合、Form_Load プロシージャと Main プロシージャでは
どちらが適切と言えるでしょうか?
198デフォルトの名無しさん:2006/02/06(月) 21:10:03
>>197
シラネ。
そんなのいちいち人に聞かなきゃ二進も三進もいかないなら
PGなんて辞めるこった。
自分のためにも周囲のためにもな。
199デフォルトの名無しさん:2006/02/06(月) 21:10:57
厳しいwwwwwwwwwwwwwwwwwwwwwwwwww
200デフォルトの名無しさん:2006/02/06(月) 21:11:15
>>197
それだけの条件ではどちらが適切かは決めかねる。
つーか、「設定値を読込むのにどちらが適してるか」ではなく
ソフトの設計としてどちらを使うか考えるべきだろ。
201デフォルトの名無しさん:2006/02/06(月) 21:33:04
>>197
Sub Main は自分の意志で書かないとデフォルトでは存在しないが。
202デフォルトの名無しさん:2006/02/06(月) 21:33:13
ListViewコントロールって導入すると重いって聞いたんですけど実際どうなんですか!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
203デフォルトの名無しさん:2006/02/06(月) 21:33:57
>>196
普段どんなコードを見てるの?
204デフォルトの名無しさん:2006/02/06(月) 21:35:57
>>203
こんなこーど
Dim Tmp as string
Dim i as integer
Dim asc_A as integer
asc_A=Asc("A")
For i = 0 To 299
Tmp = Tmp & Chr$((i Mod 26)+asc_A)
Next
Debug.? Len(Tmp), Tmp
205197:2006/02/06(月) 21:38:23
お返事どうもありがとうございます。
言葉不足でしたが、適切と言うよりかは、
読み込みが速いのはどちらかと聞きたかったのですが、
・・・読み込みが速いとかいう低次元の発想で質問をしたこと深く反省しています。
206デフォルトの名無しさん:2006/02/06(月) 21:41:15
>>205
「読み込み」というのはアプリケーションイメージの読み込みか、
その後の設定値の読み込みか・・・
後者だろうなぁ。

後者ならドコに書いても同じだと思われ。
前者なら、Form_Load()はVBから間接的に呼ばれているだろうからちょっと遅い「かも」
数ミリ秒を体感できる人間ならSubMain()でもいいだろうが、そうでなければどっちでも構わない。

個人的にはSubMain()だけど
207デフォルトの名無しさん:2006/02/06(月) 21:42:49
>>202
死んだじっちゃんはVer6のリストビウには手を出すなって言ってた
208197:2006/02/06(月) 21:56:38
>>206
ずばり前者も後者もあてはまるような、おみごとです。
さほど大差は無いようですが、>>206様が「個人的にはSubMain()」と
おっしゃってるので、わたしもそうさせていただきます。

どうもありがとうございました。
209デフォルトの名無しさん:2006/02/06(月) 22:04:15
>>202
特に重くない。
>>204
そういう意味か。
突っ込み所は沢山あるが、まぁいっか。
>>205
何処で読み込もうが、読み込み速度は同じだが。
210デフォルトの名無しさん:2006/02/06(月) 22:07:56
>>209
ちゃんと突っ込め
奥までな
211デフォルトの名無しさん:2006/02/07(火) 00:42:16
>>197
2005だとmain()が終了するとプロセスが終了するという仕様らしい。
VB6から2005へ移行する可能性があるなら
ちょっと意識してもいいかもしれない。
212デフォルトの名無しさん:2006/02/07(火) 08:37:14
ひきつづきタブブラウザ、ますます機能充実(*´∀`)
今回は、ブラウザの操作を自動化する機能を実装
アラートや認証ダイアログなどは全部表示前に捕まえて
自分で制御できるので、自動操作しにくいのはFLASHのサイトくらい
実行ファイルもActiveX化して、VBA等との連携も容易になった
ますます進化をつづけるタブブラウザにご期待ください
ところで、エンコードの種類を変える方法がよくわかんないんだけど、どうやんの?

>>182
>UserAgentの変更と、お気に入り順序は気になるな
UA は OnAmbientProperty を VB で実装すれば出来ます
お気に入り順序は、レジストリに並び順がありますが、軽く説明すると
バイナリは {データ長,順番,ITEMIDLIST} という構造体の数珠繋ぎになってます
213デフォルトの名無しさん:2006/02/07(火) 08:47:10
>>212
死ね
214デフォルトの名無しさん:2006/02/07(火) 08:51:03

> ますます進化をつづけるタブブラウザにご期待ください
バイナリには全く期待してない。目新しい機能もないし、WebBrowserコントロールだし・・・
 (VBでWebBrowser使わずに実装しろと言うわけではなく、VBではWebBrowser使うのが最良の手段なのはわかるけど
  最良の手段がWebBrowserコントロールという時点で終わってる)

ソースには目下の者が書いた物でも参考になる部分が無いとは限らないから少しは期待してもいいが、
どうせこの手の子はソース出さないだろうな。
215デフォルトの名無しさん:2006/02/07(火) 09:01:24
>>214
IEコンポってことは言ったけど、一度もWebBrowser「コントロール」だなんて
言ってないんだけど、どこでそういう風に思われたんだろうなぁw
勝手に誤解してVB終わってるって言う前に、自分の頭が終わってることを認識しよう!
216デフォルトの名無しさん:2006/02/07(火) 09:07:19
なぜ前スレで"WebBrowserコントロール"と言われて否定しなかったのに今になって?
あのとき否定しなかったならそう思われても仕方ないと思うが
217デフォルトの名無しさん:2006/02/07(火) 09:07:31
>>212
死ね
218デフォルトの名無しさん:2006/02/07(火) 09:24:03
ソース公開する気がないなら、奴は適当に踊らせて弄る対象でしかないな。
219デフォルトの名無しさん:2006/02/07(火) 09:49:16
ソース公開されても見る気は全くないけどね。
220デフォルトの名無しさん:2006/02/07(火) 10:17:04
>>212
死ね
221182:2006/02/07(火) 10:19:50
>>212
キタ―――(・∀・)―――!!
完成したらソース見せてください
222デフォルトの名無しさん:2006/02/07(火) 10:52:22
>>212
死ね
223デフォルトの名無しさん:2006/02/07(火) 11:02:44
>>212
死ね
224デフォルトの名無しさん:2006/02/07(火) 11:05:01
>>212
死ね
225デフォルトの名無しさん:2006/02/07(火) 11:19:09
>>212
死ね
226デフォルトの名無しさん:2006/02/07(火) 11:44:02
('A`) 通報するか・・・
227デフォルトの名無しさん:2006/02/07(火) 11:59:06
シリアル通信プログラムのテストをしているのですが
受信側でReadFileをしたときこのReadFileは
すぐに戻ってきます。
しかし送信データが取れません。
送信側で送信してすぐReadFileをすると受信できました。
ReadFileは送信データをバッファから取得されるのではなく
リアルタイムに送られたデータを取得することしかできないのでしょうか?
というのもデータが送信されてから2秒後くらいにReadFileが
実行されるのでバッファかなにかに溜まってくれないかと思いまして。
228デフォルトの名無しさん:2006/02/07(火) 12:01:30
それはVBの質問ではなくAPIの質問では?
229デフォルトの名無しさん:2006/02/07(火) 12:17:14
>>228
なるほど。それは一理ありますね。
230デフォルトの名無しさん:2006/02/07(火) 12:20:57
>>226
お前は('A`)の間違いに気付け。
('A`)じゃない
('A`)だ
231デフォルトの名無しさん:2006/02/07(火) 12:21:48
('A`) うるせー 殴られたんだよ ばか
232デフォルトの名無しさん:2006/02/07(火) 12:25:14
>>230
AA に間違いも何も・・・w
233デフォルトの名無しさん:2006/02/07(火) 12:32:38
MediaPlayerコントロール(コンポーネント > Windows Media Player)についてなのですが、
動画の現在の再生位置(先頭から何分何秒)を取得する方法と
任意の位置にジャンプ(シーク)する方法を教えてください。

もしMediaPlayerで出来ないならこれらが出来る
Win標準または無料の動画再生コントロールを教えてください。

WindowsXP Pro SP1a、VB6SP6、msdxm.ocxのバージョンは6.4.9.1125です。
234デフォルトの名無しさん:2006/02/07(火) 12:35:03
>>233
そういう重たいコントロールはあんまり使ったことないんでパス
とりあえずMCISendString()でvideoは再生できるはず
235227:2006/02/07(火) 12:37:19
なんとなくわかりました。
どうやらWindowsメッセージ処理されるとバッファがクリアされるようです。
クリアされないようにできないでしょうかね〜
236デフォルトの名無しさん:2006/02/07(火) 12:41:16
>>235
・・・??
ReadFile()の非同期モードってそんなんなのか・・・
237デフォルトの名無しさん:2006/02/07(火) 12:50:01
違うよな。
まず、CreateFileのオプションとか見直せと。
APIの場合、確かAttributeか何かの設定関数も必要じゃなかったっけ?シリアル通信のボーレート設定で。
その流れの中で設定があったように思うけど。

つうか、なぜVBでAPIでやるの?
VBならMSCOMM使えばいいし、それで出来ないでAPI必要ならCで作ればいいのに。
238デフォルトの名無しさん:2006/02/07(火) 12:50:06
Media Player SDK 6.4のドキュメントには
MediaPlayer.CurrentMarker
MediaPlayer.GetMarkerTime(lMarkerNum)とある。
けどどうせならDirectShow使う。
239デフォルトの名無しさん:2006/02/07(火) 12:55:04
>>235
まず、データが数秒で消える可能性はバッファサイズを超えた場合だと思う。
シリアルからの通信をリアルタイムで受けたければ、非同期通信でコールバック側で処理。
だけどそれはVBでは難しいはず。

でね、なんでMSCOMMのOnCommを使わないのかと。
240227:2006/02/07(火) 13:00:31
MSCOMMを使わない理由ですがVB6.0のアプリをVB.Netに
コンバートするのですがVB.NetにはMSCOMMがなく
まずVB6.0でAPIに変換してからコンバートすればスムーズに
バージョンアップできると思うからでございます。

その既存のアプリはわたくしの作成したものではないので
なるべくロジックはそのままにAPIへの置き換えを企てています。
241227:2006/02/07(火) 13:04:22
今は試しに
http://spectrum123.at.infoseek.co.jp/vb/vb_3/vb_3.htm
のサンプルプログラムを試してみています。

このプログラムにタイマーイベントを貼り付けて2秒ごとに
発生させてその中にReadFileだけを実行してみました。

といいますのは既存アプリがこのような構造になっているため
真似をしてみました。
242233:2006/02/07(火) 13:11:20
>>234
情報ありがとうございます。

しかしそれは用途に合わないので失礼ながらこちらでもパスです。
常用するプレイヤーを作るわけではなく特殊な用途でたまに使うだけのものだし
ハードが強いのでMediaPlayerより更に重くても結構ですので
>>233で書いた通りコントロール(ActiveXコントロール)として使えるものを希望します。


>>238
CurrentMarkerは動画を読み込みシークバーの位置を中央あたりまで移動しても0を返します。
それとMSDNアーカイブのWindows Media Player SDK Version 6.4 コントロール リファレンス
は見たのですが、結構プロパティやメソッドが違ってたりします。
VB6のコンポーネント参照ダイアログの一番下にあったものを使ってるのですが。
ファイルはC:\WINDOWS\System32\msdxm.ocxです。
243デフォルトの名無しさん:2006/02/07(火) 13:13:26
>>242
> コントロール(ActiveXコントロール)として使えるもの
よくわからん・・MCISendString()を内部で使っているコントロールを作ることも不可?
244227:2006/02/07(火) 13:30:58
大発見をしました。
タイマーイベントの中でReadFileの前でWriteFileも実行すると
送信データが受信できました。

はて、これの意味するものはなんでしょう??
でも一歩前進です。
245デフォルトの名無しさん:2006/02/07(火) 13:32:29
ここはお前の日記帳じゃねえんだ
246227:2006/02/07(火) 13:39:23
いえ、まだ解決したわけではないので引き続けお力添えお願いいたします。
247233:2006/02/07(火) 13:41:03
>>243
不可です。

>>242で書いたように常用するプレイヤーではないので、
目的の機能だけを実装出来れば、あとは重くても低機能でもいいから
とにかく手軽に使いたいので、とりあえず既製コントロール限定で探してます。
どうしても無さそうなら、そのときはちゃんと作ることも考えますが。
248デフォルトの名無しさん:2006/02/07(火) 13:48:18
>>247
ふーん
・・ま、人それぞれだからな。

----------
ふっつーにcurrentpositionじゃだめなの?
249デフォルトの名無しさん:2006/02/07(火) 14:07:11
よくわからんが、家で動いたのを載せておく

Option Explicit
'Windows Media Player 6.4.09?
'MediaPlayer:MediaPlayer1を貼り付ける
'Timer:Timer1を貼り付ける
Private Sub Form_Load()
Const FilePath As String = "" '<-ここにファイルパスを突っ込む
Me.MediaPlayer1.Open FilePath
End Sub

Private Sub Timer1_Timer()
With Me.MediaPlayer1
If .PlayState = mpPlaying Then
Debug.Print Format$((.CurrentPosition - .SelectionStart) / (.SelectionEnd - .SelectionStart), "###.###%")
End If
End With
End Sub
250デフォルトの名無しさん:2006/02/07(火) 14:37:21
>>240
つうか、その根本が間違ってる。
.netはアンマネージドコード(WinAPI)の利用は推奨されてません。
移行の為にVB6側で作り直すぐらいなら、.netに移植した後でそこを作り直せばいいじゃん。

まず、MSの移行ツールの出来に関してなんか情報集めたの?
その上でAPIのほうが良いってどこかに情報あった?
なんか一歩目を大間違いして藪の中突進してるよ、あんた。

で、.netでシリアル通信・・・って.netになってからシリアルなんてやってねーや。w
工場とかの制御機器もソケットでつながっちゃう御時世、シリアル通信ってあまりつかわんよね・・。
251デフォルトの名無しさん:2006/02/07(火) 14:41:01
知らないなら黙ってろ
252デフォルトの名無しさん:2006/02/07(火) 14:41:54
>>250
新規はつかわんが、保守せにゃならん
プログラムは変えられてもハード変えるのはなぁ
253デフォルトの名無しさん:2006/02/07(火) 14:43:05
>>244
大発見て。
もしかして、普段からそんな風に開発してるの?
まさか仕事でやってる訳じゃないよね。

>>247
やりたい事とやる方法がごちゃごちゃになってるな。
254デフォルトの名無しさん:2006/02/07(火) 14:45:20
>>252
意味不明ですよ。なんでハード変えるの?

VB6でMSCOMMのプログラムが現状として、
それをAPIに変えてから.net化するのと、
.net化してからその部分を.net流儀で書き換える。

やることは変わらんし、どっちが安定するかは自明。
頭固いんじゃないの?
255デフォルトの名無しさん:2006/02/07(火) 14:48:24
>>254
やってみればいいさ
256233:2006/02/07(火) 14:54:19
>>248,>>249
CurrentPositionでいけました。
ありがとうございます。
257227:2006/02/07(火) 14:59:49
>>253
すみません。仕事でやってますw
いつもあたってくだけろで砕けてますw

>>254
意外と移行ツール使えますよ。VB6側を先に移行ツールの
わかりやすいように修正してやると。
258デフォルトの名無しさん:2006/02/07(火) 15:05:17
>>257
馬鹿にされてヘラヘラするな低脳
259デフォルトの名無しさん:2006/02/07(火) 15:07:33
>>257
(V)(´Д` )(V)
260デフォルトの名無しさん:2006/02/07(火) 15:13:42
移行ツールのご機嫌とってコード書き直して移植するなら、作り直したほうが早いし安定するし・・・。
あんなコメントアウトでごめんなさいだらけの移行ツールを使う奴の気がしれん。

で、どこにAPI化してから移植しろってあるんだよ。

.net2.0しか入ってないからあれだけど。
System.IO.Portsの下にシリアルあるから、それで作り直す方を勧める。
あんた程度で知らないAPIで通信通したと思ってる程度のプログラムよりは、ましな移植になるんじゃないの?
261227:2006/02/07(火) 15:14:06
>>258
すみません。馬鹿にされていたんですね(´Д⊂グスン

ところでWriteFileを入れるとなぜReadFileが
うまくいくのかわかる方いませんか〜

かわりにClearCommErrorとかいれてみたけどダメですね
262デフォルトの名無しさん:2006/02/07(火) 15:16:07
API使うなら、ヘルプの該当関数とその関連情報を死ぬほど読んでからにしろよ。
それで理解できないなら、勉強不足か能力不足、100年早いってこと。あきらめろ。
263227:2006/02/07(火) 15:16:10
>>260
.net 2003なのです。system.io.portsは無いのです(´Д⊂グスン
264デフォルトの名無しさん:2006/02/07(火) 16:08:26
>>257
そんな仕事のやり方をどうして上司が許してるの?まじで信じられないんだが。
メソッドや関数や引数やAPI等の意味や役割や動きや働きに関して一切理解しようともせず、
「適当に思い付きでReadFileの前でWriteFile」で受信出来ました万歳?ふざけるなよお前。
「これの意味するものは何?」「一歩前進」だ?あぁ?
てめぇの様な阿呆が居るから、プログラマの地位が何時迄経っても向上しねぇんだよ糞が。
二度とプログラム書くな。すぐ転職しろ。貴様には徹底的に向いてない。死ね。
265デフォルトの名無しさん:2006/02/07(火) 16:12:52
>>264
いや、多分どんなことしても仕事上のプログラマの地位は変わらないとおもう
よくて頭の回る土方だよ
所詮ソフトなんてそんなもんなのさ (´;ω;`)
266デフォルトの名無しさん:2006/02/07(火) 16:30:16
日本人らしい職人気質な人って減ったよねぇ
自分の仕事にプライドもってほしいよ
地位だの金だの忙しさだのは別問題
267デフォルトの名無しさん:2006/02/07(火) 16:40:07
>>265
きちんとした仕事をしてから、そのせりふをほざけ。
268227:2006/02/07(火) 16:47:45
今までWriteFileしなかったらReadFileの戻り値が0だったのですが
dim rData as String * 100
dim rLen as long
dim dLen as long
dLen = 100
dummy = ReadFile(hComm, ByVal rData, dLen, rLen, 0)

としたところWriteFileしなくてもReadFileの戻り値が1になりました。
そしてデータを受信するとVBごと落ちてしまいました。
また一歩前進しましたワーイヽ(゚∀゚)メ(゚∀゚)メ(゚∀゚)ノワーイ
269デフォルトの名無しさん:2006/02/07(火) 16:50:06
いい加減日記かくのはチラシの裏にしろ。
他人の警告も聞けないなら、ここじゃ有効な回答得られないってことでどっかいけ。
270デフォルトの名無しさん:2006/02/07(火) 16:52:39
>>269
頭のおかしい人を相手にしてはいけません。相手の思うつぼです。
それともジサクジエンですか?
271デフォルトの名無しさん:2006/02/07(火) 17:26:00
>>268
どんどん後退してる様にしか見えないが。
272デフォルトの名無しさん:2006/02/07(火) 17:35:31
>>212
死ね
273デフォルトの名無しさん:2006/02/07(火) 17:36:26
再帰を利用してフォルダの最深部にフォルダを作ろうとしたけど、一つ手前のフォルダに出来てしまう
これって当たり前?最深フォルダの名前を取得してんだけど、そこで作ると一つ手前に出来てんだよな
274デフォルトの名無しさん:2006/02/07(火) 17:45:03
メニューについて質問させていただきます。
例えば、"最近使ったファイル"というメニューがあります。
MSDNを見るとコントロール配列を使うみたいなんですが、
記載されていた方法が、まずメニューエディタで一つずつ作成し、非表示にし、インデックス値を設定するとの事です。

この場合、こういった方法しか無いのでしょうか。
実行時にメニューを生成できないものでしょうか。

皆様のお知恵を拝借させてください。
275デフォルトの名無しさん:2006/02/07(火) 18:13:17
>>273
プログラムは、糸色文寸に書いた通りにしか動きません。
もしそうなるならば、そうなるコードを貴方が書いている、って事。
現象が再現する最小限のVBを起動して貼り付けるだけですぐ実行出来るコードを示せと何度(ry
276デフォルトの名無しさん:2006/02/07(火) 18:14:35
>>274
Load すりゃいいんじゃね?
277227:2006/02/07(火) 18:21:14
みなさま、ついにWriteFileをしなくても受信できました。

dim ret as long
dim er as long
dim gcom as COMSTAT
ret = ClearCommError(hComm, er, gcom)
if gcom.fDsrHold > 0 then
  dim rdata as string
  dim dlen as long
  dim rlen as long
  dlen = gcom.fSdrHold
  rdata = space(dlen)
  dummy = ReadFile(hComm, byval rdata, dlen, rlen , 0)
end if

問題はfDsrHoldが何者かということですが・・・・
278デフォルトの名無しさん:2006/02/07(火) 18:25:20
>>212
死ね
279273:2006/02/07(火) 18:25:53
>>275
ごめん
Sub kn(ByVal oFo As Object)
For Each oF In oFo.SubFolders
Call kn(oF)
o1 = oF & "001"
Set fs = CreateObject("Scripting.FileSystemObject")
Set f = fs.CreateFolder(o1)
Set f = Nothing:Set fs = Nothing
Cells(ic, 1) = oF.Path: ic = ic + 1
Next oF
280227:2006/02/07(火) 18:39:17
すみません。COMSTATの定義が間違ってました。
ネットから拾ってきたものではなく
APIビュアーからコピーしたらcbInQueがfSdrHoldの値でした。
これなら意味もばっちりあっています。
では嫌われもののわたしめはこれにて失礼いたします。
281デフォルトの名無しさん:2006/02/07(火) 18:44:59
>>277
日記はチラシの裏。
282デフォルトの名無しさん:2006/02/07(火) 18:46:05
>>280
2回以上死ね。
283デフォルトの名無しさん:2006/02/07(火) 19:58:42
っていうか.NETでもCOMコントロールは普通に使えるよ。
もちろんMSCommもね。
284デフォルトの名無しさん:2006/02/07(火) 21:17:09
>>283
ActiveXをラップしてもらって使うのはいまいちだよ。
まあ、屑な彼にはお似合いだと思うけどね。

こねくり回した挙句に作り直しになるに一票。
285デフォルトの名無しさん:2006/02/07(火) 21:18:41
>>284
イマイチってどの辺が?
実際使ってから物いってるかなw
286デフォルトの名無しさん:2006/02/07(火) 22:06:05
>>284
っつーか、まともに動作するブツは作れないと思う。
287デフォルトの名無しさん:2006/02/07(火) 22:15:44
>>212
OnAmbientPropertyをVBで実装って具体的にどうやるんだろうか。。。
誰か分かる人いたらおせーてくれ
288デフォルトの名無しさん:2006/02/07(火) 22:43:33
>>285
ラップするクラス作ってる時点で性能面で難が出る。
.netなのに、ActiveXのインストールが必要な時点でメリットがほとんどすっ飛ぶ。
289デフォルトの名無しさん:2006/02/07(火) 22:44:21
性能より機能重視
290デフォルトの名無しさん:2006/02/07(火) 22:47:01
機能より保守性重視
291デフォルトの名無しさん:2006/02/07(火) 22:49:55
>>288
よくわからんデメリットだなw
体裁を気にするガキが自作のソフト配るわけでもあるまいし。

あのねえ、プロパティやメソッドに一回アクセスするのにnSオーダーの
オーバーヘッドが出るのがそんなに性能面で問題あるのかいw
292227:2006/02/07(火) 22:50:23
.net移行完了しますた!
っていってocx使ってたらぬっころされますw
293デフォルトの名無しさん:2006/02/07(火) 22:56:37
>>291
.netで代替できる手段があるのに、わざわざレガシー使うほうがおかしい。
それに、体裁じゃないよ。
構造をシンプルにすることも、後のメンテナンス性には重要。
あんたは何時までActiveXを引っ張るんだい?

それに、MSCOMMって.netにはついてないよね。
もしそれ込みで開発・再配布するなら、VB6などMSXOMMが付いている開発環境も必要。
294デフォルトの名無しさん:2006/02/07(火) 22:59:20
>>293
再配布可能

というか.NETでMSCOMMと同等の処理をするにはどのクラスを使えばいいんですか?
295デフォルトの名無しさん:2006/02/07(火) 23:04:26
>>294
2005なら今日の流れの中で出てる。
2003ならぐぐれば出てくる。
296デフォルトの名無しさん:2006/02/07(火) 23:06:31
297デフォルトの名無しさん:2006/02/07(火) 23:06:33
>>293
スレの文脈を無視するわけ?
>>227の彼の話をしているわけね。
227はVB6持ってないってかw

ついでにCOMは現役だし、.netにMSCommの代替手段などないよ。
Win32とか文脈無視した寝ぼけたこと言わないでくれよ。
298デフォルトの名無しさん:2006/02/07(火) 23:09:42
2005なんて全然使われてないじゃん
それこそCOM以前の問題だよ
何考えてるの>>295
299デフォルトの名無しさん:2006/02/07(火) 23:11:11
>>298
普通に仕事で使うけど。次の開発2005だし。
あんたがいまだにVB6とかActiveXに固執してるロートルなだけ。
300デフォルトの名無しさん:2006/02/07(火) 23:12:53
>>299
物凄く怖いな
301デフォルトの名無しさん:2006/02/07(火) 23:15:27
いまだにサポートが切れるVB6使うほうがよっぽど怖いわ。
.netは普通に安定してるし。
VBって言語限定があるなら、どっちのリスクも大差ねーよ。

単に自分が着いていけないだけなのに、もっともらしく理屈つけてるんじゃないの?w

302227:2006/02/07(火) 23:16:49
みなさまはお客様から.net移行の依頼を受けて
VB6.0のocxをそのまま利用するのでしょうか?

例えばソースも納品するとしたらどうしますか?
開発環境にはVB6.0も入れてくださいね!とか言うのでしょうか・・・
303デフォルトの名無しさん:2006/02/07(火) 23:17:10
>>301
いや.net2003は使ってる
しかし.net2005なんてまだまだ怖いとおもってるんだが・・
System.IO.File.Createだったか?のバグどーなってる?
304デフォルトの名無しさん:2006/02/07(火) 23:17:13
それをVB質問スレで書いてるチミは何なのさw
馬鹿じゃないの。
305デフォルトの名無しさん:2006/02/07(火) 23:18:26
>>301
新しいのを使うより枯れた方を使うのが普通
306テンプレよめ:2006/02/07(火) 23:19:47
ここは Visual Basic 〜6.0 の質問スレです。
質問者は使用しているOS、VBのバージョン、サービスパックのバージョン、
「何がしたくて、どうしたけど、どう困っているのか」を明確に書きましょう。

前スレ >>3


VB.NETは別物なので専門スレで、
VBS、APIの質問もそれぞれのスレで。
VBAは、Officeアプリの操作以外ならばこのスレで質問しても大丈夫です。

MSDN Online Japan ホーム
http://www.microsoft.com/japan/msdn/default.asp
Visual Studio 6.0 Service Pack 6 正式リリース
http://msdn.microsoft.com/vstudio/downloads/updates/sp/vs6/sp6/default.aspx
Google
http://www.google.co.jp/
※「まず自分で調べる」クセを身につけよう。
307デフォルトの名無しさん:2006/02/07(火) 23:19:47
>>302
仕事の仕方は上司に聞け。
お客様からの依頼というか、仕様、用件はお客様に聞け。

なんつうか、典型的な出来ない奴だな。
近くにいたら絶対ぶっ飛ばしてる。

仕事請けてから聞くことか?
ソースはどうする、移植時にOCXの使用有無なんて、そんなの要求定義、用件定義の段階だろ?
308デフォルトの名無しさん:2006/02/07(火) 23:19:52
>>302
ちゃんと参照設定してやってれば
デプロイメントプロジェクト(早い話がインストーラ)で
普通にCOMをちゃんとインストールしてくれるようなインストーラが作れるよ。

つまりVB6までと何もかわらん。
309デフォルトの名無しさん:2006/02/07(火) 23:20:20
>>305
枯れたと終わったは違いますよ。
310デフォルトの名無しさん:2006/02/07(火) 23:21:46
.NETは終わってる
311227:2006/02/07(火) 23:22:56
>>307
あなたならどう提案しますか?
ocxを使うのですか?私なら使わないということです。
312デフォルトの名無しさん:2006/02/07(火) 23:25:43
>>311
客に導入先に対して何をインストールしてよいのかとか、条件を聞くのが普通。
あんた、いい加減うせろ。すれ違いだし、散々喚き散らすだけだし。
313デフォルトの名無しさん:2006/02/07(火) 23:28:55
客にCOMとかActiveXとかいってわかるのかw
いや、そりゃ俺の世界が下衆なだけかもしれんけどね。
314デフォルトの名無しさん:2006/02/07(火) 23:30:49
それを分かる言葉で説明するのも仕事。
そんなこと出来ないとか考えが及ばないから、
あなたの周りがそういう世界になってるんじゃないのか?
客は教育するもの。
315デフォルトの名無しさん:2006/02/07(火) 23:32:20
>>313
ところでSystem.IO.File.Createのバグって何?
316デフォルトの名無しさん:2006/02/07(火) 23:34:32
自分がバグってただけだったりしてなw
317デフォルトの名無しさん:2006/02/07(火) 23:34:36
別にCOM登録したからって害があるわけでもなし、
説明責任があるとは思えんが。。
318デフォルトの名無しさん:2006/02/07(火) 23:36:57
>>317
なんとなくDLLHellが・・・

かといって過去と完全に決別できたわけじゃないし
.NETの出現で現状はより混沌になったと言うべきか・・?
319デフォルトの名無しさん:2006/02/07(火) 23:37:16
DLL Hell
十分実害じゃん。
320デフォルトの名無しさん:2006/02/07(火) 23:38:43
今度はCOMじゃなくてDLLになったぞw
321デフォルトの名無しさん:2006/02/07(火) 23:39:19
>>320
あんた勉強不足。
じゃあCOMって何?
322デフォルトの名無しさん:2006/02/07(火) 23:39:24
誤解があるようだけどCOMはDLL Hell関係ないよ。
すくなくとも回避するメカニズムをちゃんと持ってる。
323デフォルトの名無しさん:2006/02/07(火) 23:39:37
(´Д`;)・・・(コイツ・・)
324デフォルトの名無しさん:2006/02/07(火) 23:40:11
>>321
COMじゃないDLLもあるって知ってますか?w
325デフォルトの名無しさん:2006/02/07(火) 23:40:38
>>322
あのバージョン管理がちゃんとしてると。
なるほど。良く分かった。
326デフォルトの名無しさん:2006/02/07(火) 23:41:45
ちゃんとしてるだろ。
互換性が無いCOMにはまったく違う
GUIDが割り当てられるんだし。
327デフォルトの名無しさん:2006/02/07(火) 23:42:07
>>324
ちょっとまて、それが何をいみs(ry
328デフォルトの名無しさん:2006/02/07(火) 23:42:18
>>324
逆なら反論になってるけど、それじゃ反論になってないよ。
DLLじゃないCOMもあるってしってます?ってなら反論だけど。
COMじゃないDLLがあってもだから何?って。

>>322
メカニズムを持っていても、一般に使えないメカニズムは持っているとはいえない罠。
そんなに回避できるならば、誰も苦労はしてないわけで。
329デフォルトの名無しさん:2006/02/07(火) 23:42:32
それを言ったら、COMではない
DLLにもあてはまるんだけどな。
ついでに、Linux系なんかの.soなどにも当てはまる。
330デフォルトの名無しさん:2006/02/07(火) 23:43:59
なぁ、DLL HellはCOMだから発生するわけじゃないのわかってるか?
普通のDLLでもWindows以外でも発生する問題なんだが。

なんにでも発生する問題を出して、
ほらCOMは危険といわれてもなぁ。
331デフォルトの名無しさん:2006/02/07(火) 23:45:03
とりあえずGUIDがどーのとか言う前に、
「全部一枚岩の上に乗っかっている以上、こんがらかってくるのは必至なわけで」
みんなが整然と領域まもってくれればなんてことはなかったんだろうがなぁ・・・
332デフォルトの名無しさん:2006/02/07(火) 23:45:11
>>382
そもそも君Dll Hellの意味わかってないんじゃないの?

COMの作者が余程トンマじゃないかぎり、COMでDll Hellなんてないよ。
333デフォルトの名無しさん:2006/02/07(火) 23:45:43
>>330
あんたが、>>317を書いたならば、書いてることが矛盾しまくり。

別人だとしたら、>>317からの流れなんだから流れ嫁。
334デフォルトの名無しさん:2006/02/07(火) 23:45:50
>>332
安価ミスもHellの一歩手前です
335デフォルトの名無しさん:2006/02/07(火) 23:47:04
>>332
だとしたら、MSの製作者ってとんまばっかりですね。
336デフォルトの名無しさん:2006/02/08(水) 00:09:02
何を揉めてるんだ?
337デフォルトの名無しさん:2006/02/08(水) 00:10:12
そんな話はもういいから>>287の質問に誰か答えてくれぇぇー
338デフォルトの名無しさん:2006/02/08(水) 00:58:13
やっべ、スレが凍ったw
答えられる人がいない予感!!orz
339デフォルトの名無しさん:2006/02/08(水) 01:10:05
340デフォルトの名無しさん:2006/02/08(水) 01:31:58
>>276
ありがとうございます。
APIとLoadステートメントを組み合わせてメニューオブジェクトを動的に生成できるという事ですか?
もしよければ何のAPIを使用すればよろしいか教えていただけないでしょうか。
341デフォルトの名無しさん:2006/02/08(水) 01:39:36
>>340
いやLoad関数だけで十分だとおもうぞ?
342デフォルトの名無しさん:2006/02/08(水) 04:52:22
>>339
ありがとん
でも肝心の答えが載ってない・・・('A`)
343デフォルトの名無しさん:2006/02/08(水) 08:11:49
>>340
APIは必要ないんだが。
344デフォルトの名無しさん:2006/02/08(水) 08:12:29
>>342
答を載せてしまっては、貴方の成長の妨げになるから・・・
345デフォルトの名無しさん:2006/02/08(水) 08:18:49
>>344
ぶっちゃけ、答えられる奴はこのスレに居ないだろ
素直に分からないって言えばいいんだよ
さも知ってるかのように気を持たせるのはどうかと思うぞ
まあ俺も分かんないけどねww
346デフォルトの名無しさん:2006/02/08(水) 10:26:46
アンカーが339で切れてるから、元の質問が分からん。
347デフォルトの名無しさん:2006/02/08(水) 14:10:28
excelのvbaでとあるHPのHTMLを取得する方法はどんなものがありますか?
又それぞれのメリット・デメリットも知りたいです。
348デフォルトの名無しさん:2006/02/08(水) 14:25:53
>>347
とりあえず一番簡単なCOM使って取得する方法を覚えろ。話はそれからだ。
何も解ってない初心者に表面的なことだけ詰め込んでも仕方ないからな。
349デフォルトの名無しさん:2006/02/08(水) 14:50:04
Winsock APIでバイナリデータを受信する引数の渡し方がわかりません。
送信側も間違っている?かもしれません。
ご教授願います。

以下、試したものです。
Public Declare Function recv Lib "wsock32.dll" (ByVal s As Long, ByVal buf As Any, ByVal lngLen As Long, ByVal flags As Long) As Long
Public Declare Function send Lib "wsock32.dll" (ByVal s As Long, buf As Any, ByVal lngLenlen As Long, ByVal flags As Long) As Long

Dim bytData(100)

bytData(0)=1

lngRet = send(lngSock, bytData(), 100, 0)

受信側
Dim bytRec(100) as byte
lngRet = recv(mlngSock, bytRec(0), 100, 0)

Any型の部分が問題だとは思いますが・・・。
350デフォルトの名無しさん:2006/02/08(水) 14:53:15
bufferwritecount = send(lngSock,bytData(lbound(bytData)), ubound(bytdata)-lbound(bytdata), 0)
みたいな。

もちろんByte()をStreamの様に扱えるクラスはあるんだろうな?
無いと苦しいぞ
351デフォルトの名無しさん:2006/02/08(水) 14:54:27
>>350
> bufferwritecount = send(lngSock,bytData(lbound(bytData)), ubound(bytdata)-lbound(bytdata), 0)
こっちだな
bufferwritecount = send(lngSock,bytData(lbound(bytData)), ubound(bytdata)-lbound(bytdata) + 1, 0)
352デフォルトの名無しさん:2006/02/08(水) 15:08:38
Byte-StreamというかStringって、API使うなら普通にStrConvでやってるソースがごろごろしてるべ。
353デフォルトの名無しさん:2006/02/08(水) 15:11:33
lngRet = send(lngSock, ByVal bytData(0), 100, 0)
lngRet = recv(mlngSock, ByVal bytRec(0), 100, 0)

じゃね?
354デフォルトの名無しさん:2006/02/08(水) 15:16:19
>>352
(どんなソケット使ってるか分からんけど)
TCPっぽいならByte()のストリームが帰ってくるからさ、
Byte()を自由に繋げたり、任意の長さだけ切り取れるようなものを作っておくといいよってこと。
String関係ない。

>>353
イジメ発覚
355349:2006/02/08(水) 15:34:32
配列の添え字がいい加減になってしまいましたが・・

lngRet = recv(mlngSock, bytRec(0), 100, 0)
このbytRec(0)の変数の型が一致しません。
356デフォルトの名無しさん:2006/02/08(水) 15:45:26
宣言間違ってる?
> Public Declare Function recv Lib "wsock32.dll" (ByVal s As Long, ByVal buf As Any, ByVal lngLen As Long, ByVal flags As Long) As Long
Public Declare Function recv Lib "wsock32.dll" (ByVal s As Long, BYREF buf As Any, ByVal lngLen As Long, ByVal flags As Long) As Long
357デフォルトの名無しさん:2006/02/08(水) 15:46:53
俺が昔使った宣言:
Public Declare Function recv Lib "ws2_32.dll" (ByVal s As Long, ByRef buf As Any, ByVal buflen As Long, ByVal flags As Long) As Long
Public Declare Function send Lib "ws2_32.dll" (ByVal s As Long, ByRef buf As Any, ByVal buflen As Long, ByVal flags As Long) As Long
358349:2006/02/08(水) 18:05:43
宣言が間違ってました。
どおりで配列を受け付けないわけですね。
ありがとうございました。
359デフォルトの名無しさん:2006/02/08(水) 18:27:35
次のソースで不具合が発生します。
デバックしたところlngA、lngB、lngCには0&以外の値が入っているのですが、
IF文の条件式がFalseを返す場合が多々あります。

strVal="ABCを含む文字列"
lngA = InStr(strVal, "A")
lngB = InStr(strVal, "B")
lngC = InStr(strVal, "C")
If _
  lngA And _
  lngB And _
  lngC Then
End If

IF文を入れ子にしたり、lngA <> 0&と条件を明示することでTrueを返すようにはなるのですが、
上記コードの場合なぜFalseを返すことがあるのか分かる方みえませんか?
360デフォルトの名無しさん:2006/02/08(水) 18:29:06
>>359
And:
 論理演算-論理積
 ビットごとの演算-ビットごとの論理積

例)
dim a as long,b as long,c as long
a=1:b=2:c=4
debug.? a and b and c
debug.? cbool(a) and cbool(b) and cbool(c)
361デフォルトの名無しさん:2006/02/08(水) 18:58:53
javascriptにあるような連想配列ってVBにはありませんか?
あれば使い方を教えてください。お願いします。
362デフォルトの名無しさん:2006/02/08(水) 19:01:14
>>361
collectionオブジェクト

dim c as collection
set c=new collection
c.add 10,"a"
debug.? c("a")
363デフォルトの名無しさん:2006/02/08(水) 19:01:16
>>360
ありがとうございます。
コードを簡潔にしたいがあまりに基本的なことを忘れていました。
364273:2006/02/08(水) 19:51:28
>279ではやはりできないのかな。最深のフォルダを取得してるっぽいんだけどな
365デフォルトの名無しさん:2006/02/08(水) 20:17:40
>>364
じゃなくて、VB起動して貼り付けただけではこれっぱかしも動作しないからでは。
変数宣言もないし、End Sub もないし、呼び出すコードもないし Cells とか謎のオブジェクトもあるし。
全部直して動く様にして検証する気になる人なんて皆無。
366デフォルトの名無しさん:2006/02/08(水) 22:35:08
テキストボックスに OLE Drag,Drop Mode を設定すると
選択文字列の上にマウスカーソルをあわせても I ビームが表示されません。

よってコンテキストメニューも開けないわけなんですが、解決策はありませんでしょうか?
367デフォルトの名無しさん:2006/02/08(水) 22:48:04
>>366
手動でDrag()を呼び出す・・・じゃないかぁ
368デフォルトの名無しさん:2006/02/09(木) 00:24:06
>>346
>>278

>>366
>テキストボックスに OLE Drag,Drop Mode を設定すると
原因をはっきり特定しろよ、OLEDragModeを自動にしたときだけだろ
選択文字列の上で I ビームにならないのは、Dragするんだからあたりまえだ
コンテキストメニューがまったく出ないのは、文字をすべて選択したときだけだ(こっちの仕様は意味不明だけどなw)
挙動が気に入らなければ、OLEDragModeを手動にして自分でやれ
369デフォルトの名無しさん:2006/02/09(木) 00:37:04
>>368
素晴らしい!正解です!
そうなんです、自動です、しかし選択文字列の上で I ビームにならないんじゃくて、選択しなくてもならないんです
挙動が気に入らないですけど、現状のままで行きます、癖をつければなんてこと無いでしょう。
だって僕しか使わないソフトですからね!しかし未だにソフトを公開したことナインですけど公開すると後悔しますか?
370デフォルトの名無しさん:2006/02/09(木) 00:53:37
>>369
>しかし選択文字列の上で I ビームにならないんじゃくて、選択しなくてもならないんです
それはテキストを全選択したときだけだ、3文字入力して1文字だけ選択して確かめてみろ
まあOLEDragの自動は、コンテキストメニューも含めておかしいと思うがね
ついでに言うと、テキストの後ろから数文字を選択してドラッグを開始、
Escを押してキャンセルすると、なぜかキャレットが先頭に移動する
ぶっちゃけ自動は使えないと思ったほうがいいだろうな

>しかし未だにソフトを公開したことナインですけど公開すると後悔しますか?
ここで公開するとボコボコに叩かれて、たぶん後悔する
Vectorで公開すれば、とりあえずDL数見て自己満足に浸れる
好きにしなさいw
371デフォルトの名無しさん:2006/02/09(木) 01:10:41
>だって僕しか使わないソフトですからね!
だったら公開する必要無くね?
372デフォルトの名無しさん:2006/02/09(木) 01:12:49
>>371
ったく、この朴念仁が!
373デフォルトの名無しさん:2006/02/09(木) 01:15:07
そうですそうです、一桁分のテキストボックスなんですけど、それが横一杯パンパンになるとどこに置いても通常のマウスカーソルのままでして、
そしてあろう事かその状態なら選択しなくてもそのままドラッグできるんです、そして別のテキストボックスにドロップすると全文移動するんです、不思議ですよね!

手動にしてみようと思ってコードを書いていたんですが、途中で挫折してしましてね、もう自動でいいです。

ここで公開するとボコボコにされるんですか、恐いですね。
たぶんにボコボコにされる対象はソースコードでしょうね、だけど実行ファイルのみで公開しても誰も触ってくれないでしょうし、ハハハ。
374デフォルトの名無しさん:2006/02/09(木) 01:21:13
ソーっすね
375デフォルトの名無しさん:2006/02/09(木) 01:22:52
>>374
全米が泣いた
376デフォルトの名無しさん:2006/02/09(木) 10:21:03
xmlDoc.async="false"
ってどういう意味ですか?
377デフォルトの名無しさん:2006/02/09(木) 10:43:36
>>376
class hoge{
public string async;
}

hoge xmlDoc=new hoge();
xmlDoc.async="false";
でもしたのかしら?
378デフォルトの名無しさん:2006/02/09(木) 10:49:20
>>369
公開と後悔を掛けたなっ!

>>376
async に "false" を設定した。
って、xmlDoc.async = False の様な気もするが。
379デフォルトの名無しさん:2006/02/09(木) 10:50:48
しまった
最近javaとC++とVB6といろいろ渡り歩いてるもんだから混ざっちまったぜ・・
380デフォルトの名無しさん:2006/02/09(木) 11:00:23
xmlDoc.async = False
でした。ごめんなさい。
これってどういう意味ですか?
381デフォルトの名無しさん:2006/02/09(木) 11:06:52
>>380
378に答えも書いてあるじゃん。
asyncをFalseにするとどうなるかは、
これだけの情報では何とも言えないけど。
382デフォルトの名無しさん:2006/02/09(木) 11:07:03
>>380
xmlDocのメンバasyncにFalse値を設定したっていう意味
383デフォルトの名無しさん:2006/02/09(木) 11:15:12
xmlDoc.Loadの前にあるんですけど
無いとだめなんでしょうか?
384デフォルトの名無しさん:2006/02/09(木) 11:19:56
ネタくさいので放置決定
ネタじゃないとしたら勉強不足
385デフォルトの名無しさん:2006/02/09(木) 11:21:58
>>383
名前に惑わされすぎるのはよくないから、
>>377とか>>378は xmlDoc というモノを不明なものとして扱って書いてるわけ。

特に、>>377は xmlDoc が hoge というクラスのインスタンスで async というメンバを持つという具体例を挙げているだろ?
こんな風にもとのクラスが何なのか、具体的に書いてくれないとさっぱりなわけ。
ちょっと説明下手すぎるんじゃない?
386デフォルトの名無しさん:2006/02/09(木) 11:24:10
387デフォルトの名無しさん:2006/02/09(木) 11:58:32
>>383
ヘルプを熟読すれば分かる。
388デフォルトの名無しさん:2006/02/09(木) 12:31:00
今さらそんらレスされてもw
389デフォルトの名無しさん:2006/02/09(木) 12:33:09
Windows Picture and FAX Viewer をコントロールしたいのですが、
Preview 1.0 Type Library(shimgvw.dll)を使ってできませんか。

メソッドの使い方はある程度予測つきますが、Previewクラスへ
オブジェクトを得る方法が分かりません。

破損したファイルを読み込むと次の画像に進むボタンの位置が動いて
うまく制御できないので困ってます。

390デフォルトの名無しさん:2006/02/09(木) 13:53:49
msflexgridでお聞きしたいのですが、
今までDAoで構築していて発行したSQlを以下のようにgridに挿入していたのですが
msflexgrid1.AddItem レコードセット(取り出した列1).Value
msflexgrid1.TextMatrix(msflexgrid1.Rows - 1, 1) = レコードセット(取り出した列2).Value

ADOで構築すると列の値が取り出せなくなってしまします。
ADOでこういった風に書くにはどうすればよいでしょうか?
391デフォルトの名無しさん:2006/02/09(木) 13:59:57
msflexgrid1.TextMatrix(msflexgrid1.Rows - 1, 1) = rs.fields("col2").value
392デフォルトの名無しさん:2006/02/09(木) 14:38:25
>>391
ありがとうございます。実行してみましたが
「要求された名前、又は序数に対応するコレクションが見つかりません」とでてしまいました。
393デフォルトの名無しさん:2006/02/09(木) 14:42:47
msflexgrid1.TextMatrix(msflexgrid1.Rows - 1, 1) = rs.item("col2")
394デフォルトの名無しさん:2006/02/09(木) 14:43:32
ありがとうございます!できました!
本当にありがとうございます。
395デフォルトの名無しさん:2006/02/09(木) 14:47:23
>>392
まさか col2 って書いてないよね。
396デフォルトの名無しさん:2006/02/09(木) 15:11:04
>>395
ヒント:>>393-394
397デフォルトの名無しさん:2006/02/09(木) 17:54:28
1元の配列に対しn番目を処理する
関数を作り使っています。(平均、標準偏差等)
Function Ave(a(),n,Kikan)

2元配列A(i,j)に使おうとしたら
Ave(A( ,1),n,Kikan)
動きませんでした。2元配列を行列とすると1行(1列)だけもってくるような
表現の仕方はあるのでしょうか?
398デフォルトの名無しさん:2006/02/09(木) 18:02:43
>>397
無い
そういう場合は自力で(自分の欲しい機能を提供する)行列を扱えるMatrixクラスを作るしかねーと思う
399デフォルトの名無しさん:2006/02/09(木) 18:05:30
ひきつづきタブブラウザ、ますます機能充実(*´∀`)
今回は、ページの内容を正規表現で置換する機能を追加した
それと、ユーザーが作成したJavaScriptをページ表示時に自動実行できるようになった
これによって、ページ内容を事前に書き変えたり、入力ボックスに文字を入れたり
工夫次第では、バナー広告の排除や、リンクされていないURLの自動リンクなどが可能だ
これらの機能は、実行するサイトを限定することも可能!
ますます進化をつづけるタブブラウザにご期待ください
さて、そろそろ実装したい機能がなくなってきたんでバグ叩きに入るかなっと♪

ところで、エンコードの種類を変える方法がよくわかんないんだけど、どうやんの?
難し過ぎて分かる人いないっぽ?
400デフォルトの名無しさん:2006/02/09(木) 18:06:32
>>399
そこまで実装していてそれはないだろうという程度の質問

adodb.stream?
401デフォルトの名無しさん:2006/02/09(木) 19:06:33
>>399
バグ叩きて。
途中はバグなんか全然気にせずどんどん開発してるのか?
402デフォルトの名無しさん:2006/02/09(木) 20:20:07
この”プログラムの最適化”ってあてになる?
http://www.bcap.co.jp/hanafusa/VBHLP/sonota_no1.htm
403デフォルトの名無しさん:2006/02/09(木) 20:22:41
なる。
404デフォルトの名無しさん:2006/02/09(木) 20:41:25
>>402
最適化はバグを全部潰してから。
405デフォルトの名無しさん:2006/02/09(木) 20:56:29
CreateObject("Excel.Application")
みたいに、ExcelとApplicationというのはレジストリに記録されていると思いますが、
どこを見ればいいですか。
406デフォルトの名無しさん:2006/02/09(木) 20:56:57
DDE接続はどのようにしますか?
407デフォルトの名無しさん:2006/02/09(木) 21:15:08
DDEは終わった仕様なのでできるだけ他の技術を使う事
408デフォルトの名無しさん:2006/02/09(木) 21:38:45
>>405
レジストリ
409デフォルトの名無しさん:2006/02/09(木) 22:15:30
文字列を格納した変数を大量に置換する場合
やはり一つずつ、一行ずつコードを書いていくしか無いのでしょうか?

今現在やっている方法です↓
strMISO = Replace(strMISO, "ほげほげ", "ホゲホゲ")
strMISO = Replace(strMISO, "もぎもぎ", "mogimogi")
strMISO = Replace(strMISO, "まんまん", "満々")
410デフォルトの名無しさん:2006/02/09(木) 22:23:23
>>409
他にもやり方はあるだろうけど、面倒ならそれでいいんでね
411デフォルトの名無しさん:2006/02/09(木) 22:49:32
>>410
・・・泣
412デフォルトの名無しさん:2006/02/09(木) 23:09:57
>>411
テキストに書き出して、単機能の外部フィルタアプリとかにやらせては。
413デフォルトの名無しさん:2006/02/09(木) 23:23:14
>>412
・・・グスン(誰もわかってくれない
414デフォルトの名無しさん:2006/02/09(木) 23:29:20
まぁ、正規表現クラスでも使えば一発でできないこともないかもしれないが…(できるか・・??)
ごり押しするなら、単語をinstr()で地道に検索&自力で置換、だな。
文字列連結は文字列大きくなるほど遅いから、そのへんの高速化も自力でせにゃならん。

1行1行replace()書くのがいやなら、foreachなりで反復操作にすればいいじゃまいか ( ´Д`)
415デフォルトの名無しさん:2006/02/09(木) 23:56:09
>>413
ほんとーのわたしを♪
416デフォルトの名無しさん:2006/02/10(金) 00:32:23
VBで文字列置換を自力実装すると使えないくらい遅いからな
結局Replaceの重ねがけが一番速かったりナ。。。
417デフォルトの名無しさん:2006/02/10(金) 00:38:40
>>416
(VB6)ちなみに家でStringBuilderなるクラスを作って試してみました
Private Sub Form_Load()
Dim sb As New StringBuilder
Dim i As Long
Dim s As Single
Dim t As String
s = Timer
For i = 1 To 20000: sb.AddString "hello!": Next
Debug.Print Timer - s
s = Timer
t = ""
For i = 1 To 20000: t = t & "hello!": Next
Debug.Print Timer - s
End Sub

結果
4.711914E-02
1.437012

ただの文字列連結は非線形的に所要時間が増加するっぽい
sb.AddStringは内部でMidステートメントによる置換をしています
418デフォルトの名無しさん:2006/02/10(金) 01:02:11
>>Midステートメント
Midはメモリ上書きだから速いんだけど 異なる文字数で置き換えられないよね

例えば "まんまん" を "満々" に置き換えるとか

結局Replace見たいな機能を要求すると &結合か Byte配列のRedim・メモリ移動 でゴリゴリ
Byte配列でやると &結合に比べて 10〜50倍の差が出るんだっけ?
419デフォルトの名無しさん:2006/02/10(金) 01:07:22
>>418
いや
1 "まんまん"をInstrで検索
2 直前までMidステートメントで置換代入
3 "満々"を置換代入
4 1へ

置換代入先の文字列を、あらかじめ10KBとか多めにとっておけばメモリ移動がそれほど起こらないので速いかも
(少なくとも&で連結していくよりは)

> Byte配列でやると &結合に比べて 10〜50倍の差が出るんだっけ?
時間差は先ほど書いたとおり非線形
Midステートメントで最終的に必要なサイズを全て最初に確保しているとすれば、置換代入の時間は線形に済むはず
というわけで比率はかなり変動するかと
420デフォルトの名無しさん:2006/02/10(金) 01:21:05
満々w
421デフォルトの名無しさん:2006/02/10(金) 01:34:23
ごみん Redim = ReDim Preserve ・ メモリ移動 = Kernel32.CopyMemory の事だよ 伝わらなかったカナ?
文字列(Unicode)をバイナリデータとして配列上をポインタ操作する っ言いたかったんだ
422デフォルトの名無しさん:2006/02/10(金) 01:44:07
>>421
あー、まぁそういう方法もあるが…
VB6側でString→Byte()してからいろいろゴリゴリすることになるんじゃないか?
文字列連結よりは高速だろうけど、それだとオーバーヘッドかかっちまうよな。

で、Stringの内部処理だったらMidB()とか*B()系が最速だったよーな気がする
423デフォルトの名無しさん:2006/02/10(金) 01:48:12
>>399
しかし、開発はえーなぁ
タブの部分って何のコントロールで作ってるの?
424デフォルトの名無しさん:2006/02/10(金) 02:27:26
>>398
お礼遅れましたが、サンクスです。
425デフォルトの名無しさん:2006/02/10(金) 02:51:48
>>399
いい加減 バイナリでもソースでも晒せ
晒す気が無いんなら消えろ ここはお前の日記帳じゃな(ry
426デフォルトの名無しさん:2006/02/10(金) 03:24:46
いや、話聞いてる限りバイナリは(゚听)イラネ
427デフォルトの名無しさん:2006/02/10(金) 03:29:52
どーせなら「ソース&実行ファイル」を完全にさらして、
オープンソースにしてみんなで開発するかw
428デフォルトの名無しさん:2006/02/10(金) 05:10:01
メモリ確保処理が1回で済む>>419に1票入れたいんだが>>421の処理が激しく気になる。
配列上のポインタ操作ってリストの連結みたいなの?
C言語ならやりようもあるけど、VBってStringとかByte配列の中身に対してポインタ指せたっけ?
429デフォルトの名無しさん:2006/02/10(金) 05:12:38
> VBってStringとかByte配列の中身に対してポインタ指せたっけ?
VB5からだっったかな
詳しいことは自分で調べな
430デフォルトの名無しさん:2006/02/10(金) 05:22:37
あー勘違いしてたかも。
VarPtrとCopyMemory駆使するってことかな?
これだとMidと変わらんような気がする(ていうか>>422の指摘の通りか)
スレ汚しすまん。
431デフォルトの名無しさん:2006/02/10(金) 08:22:53
まぁ結局後々の色々な事を考えると Replace が一番だな。
432デフォルトの名無しさん:2006/02/10(金) 09:18:30
とりあえず言語はおいといて、処理の内容から考えると、
元の文字列のメモリを走査しながら、
新しく確保したメモリに文字列を置換しながらコピーするのが一番速いか?
433デフォルトの名無しさん:2006/02/10(金) 10:18:45
VB6.0のADOを利用してMySQL4.1にあるデータベースに
接続したんですけど出来ないです。
どうしたらいいんですか?

Dim cn As Variant
Dim sql As String

'** ODBC 接続
Set cn = CreateObject("ADODB.Connection")
cn.Open "dsn=MySQL;uid=ユーザー名;pwd=パスワード"
cn.CursorLocation = 3
これではだめでした。
434デフォルトの名無しさん:2006/02/10(金) 10:47:57
435デフォルトの名無しさん:2006/02/10(金) 10:56:34
436デフォルトの名無しさん:2006/02/10(金) 18:21:12
VB6.0でAPI叩いてシリアル通信してるプログラムがあるんだけど
これがWin2000では動くけどWinXPだと通信できないんです
WriteFileとReadFileが0を返してきます

なんかWinXPで変わった?
437デフォルトの名無しさん:2006/02/10(金) 20:56:53
>>436
VB6は、開発環境も実行環境も、XPには対応してないよ。
色々と、訳の分からん所で不具合が出る。
当然、回避不可能。
438227:2006/02/10(金) 21:00:00
>>436
私にまかせてください!
439デフォルトの名無しさん:2006/02/10(金) 21:39:59
> 開発環境も実行環境も、XPには対応してないよ。
片方ハズレ
440デフォルトの名無しさん:2006/02/10(金) 21:41:44
> 訳の分からん
> 回避不可能
> 回避不可能
> 回避不可能
> 回避不可能
> 回避不可能
> 訳の分からん
( ・ω・) 他意はないです
441デフォルトの名無しさん:2006/02/10(金) 21:43:38
ヘッダを取得するただそれだけのソフトなんですが、
いい名前が思いつきません、もしよければ一緒に考えてくれませんか。
442デフォルトの名無しさん:2006/02/10(金) 21:45:07
>>441
getheader/headergetter/huntheader/huntYOURhead
443デフォルトの名無しさん:2006/02/10(金) 21:55:06
>>442
どうもありがとう、ただありきたりなんです
もうちょっとユニークーなのお願いしまする
444デフォルトの名無しさん:2006/02/10(金) 21:58:32
>>443
> もうちょっとユニークー
これでいけ「ユニークー」
445デフォルトの名無しさん:2006/02/10(金) 22:00:55
>>441
HeaderSyutoku.Exe
446デフォルトの名無しさん:2006/02/10(金) 22:01:27
>>438
またおまえか!
447デフォルトの名無しさん:2006/02/10(金) 23:13:12
>>441
ヘッドハンター西脇.exe

てか、VB6ってXPダメなんか!
うひょーどうすっかな
orz
448デフォルトの名無しさん:2006/02/10(金) 23:14:16
>>447
俺XPで開発してWin95で動かしてる
449デフォルトの名無しさん:2006/02/10(金) 23:25:10
近ごろマニフェストを覚えて浮かれている初心者です
450デフォルトの名無しさん:2006/02/10(金) 23:27:52
>>447
>ヘッドハンター西脇
いいですねそれ
ありがとうそれに決めた!
451デフォルトの名無しさん:2006/02/10(金) 23:53:15
XPで普通に開発しているが、なにか不具合あったか?
452デフォルトの名無しさん:2006/02/11(土) 00:41:13
>>448
まさか、XPでセットアップしたやつで95にインストールしてる?
453デフォルトの名無しさん:2006/02/11(土) 00:55:52
VB6で下記のような今の時間が9時5分すぎかどうかの比較を行うにはどうしたらよいですか?

Time >= "09:05:00"
454デフォルトの名無しさん:2006/02/11(土) 00:58:41
>>453
datediff使え

>>452
そんな地獄は見たくないから
システムに依存するものは持っていかないようにしてるぞ
455デフォルトの名無しさん:2006/02/11(土) 03:23:53
C言語でいう #define みたいなのって何でしたっけ?

ちなみBVAです。

456デフォルトの名無しさん:2006/02/11(土) 03:27:31
>>455
つ #Const
457455:2006/02/11(土) 03:30:05
>>456

おーこれだこれだdクス!
458デフォルトの名無しさん:2006/02/11(土) 05:50:17
> ちなみBVAです。
新しい言語?

俺はVB関係ではVB、VBA、VBSしか知らない
VB関係ではなくBasic関係ならもっと知ってるがな
459デフォルトの名無しさん:2006/02/11(土) 06:11:46
つまんねえレスだな
460デフォルトの名無しさん:2006/02/11(土) 08:51:02
昔々の事じゃった・・・

朝出社すると、係長の先輩と後輩2人の合計3人が、一台のPCの前で悩んでいました。
それとなく見ていると、どうやら、ひたすら同じ作業を繰り返し、エラーが出て、
「分からん。どうしてだ?おかしい・・・。出来る筈なのに!」と言い続けている模様。

その日一日普通に仕事をし、残業する程でもなかったので定時で帰ろうとしたら、その3人は、
まだ同じ事をやっているみたい。

流石に可哀想になって「どうしたんですか?」
「いやこのVBXを読み込もうとしてるんだけど、エラーが出るんだよ・・・」
「(VBX?今頃何故?)へぇ〜」と、見てみると・・・

VB6でVBXを使おうとしていました。(VB5だったかな?)

私は「ホントだ。エラーになりますね。では、お先に失礼します」と帰りました。

きっと、残業して徹夜したかも・・・
461デフォルトの名無しさん:2006/02/11(土) 09:16:16
早朝から速攻で反応してる子の方がつまらない気がする
462デフォルトの名無しさん:2006/02/11(土) 15:41:01
>>439
両方問題ない
463デフォルトの名無しさん:2006/02/11(土) 15:45:04
XPは言葉を濁してるが次のOSから完全にサポート外だったよな
新規は.Netにしてるよ
464デフォルトの名無しさん:2006/02/11(土) 15:47:13
465デフォルトの名無しさん:2006/02/11(土) 15:53:10
ご注意:この一覧は全て開発ツール自体の動作に関する情報であり、
以下の開発ツールを使用してお客様が開発されたアプリケーションの
対応に関するものではありません。これらの開発ツールを使用して
開発されたアプリケーションは、全てお客様の責任において
必要な環境下でテストしていただく必要があります。
お客様の開発されたアプリケーションの動作に関して、

弊社では 一 切 の 保 証 は い た し ま せ ん

ので、あらかじめご了承ください。

何度繰り返すんだこの話題は
466デフォルトの名無しさん:2006/02/11(土) 15:57:35
人のつくったものは知らないよ
という極めて当然の話をしているのでしょ。

そもそも延長保守契約していない人にとっては
2000で開発してようが保守は受けられないのだけど。
467デフォルトの名無しさん:2006/02/11(土) 15:59:14
両方対応しているか否かの話題じゃなかったのか
468デフォルトの名無しさん:2006/02/11(土) 16:06:40
リモートデスクトップおよびユーザーの簡易切り替えは除きます。
469デフォルトの名無しさん:2006/02/11(土) 16:07:16
うんこは寝て食えってことだろ?
470デフォルトの名無しさん:2006/02/11(土) 16:12:07
開発ツールの動作には実行ファイルを作ることもあるから
それはできる
でもリモートデスクトップとユーザーの簡易切り替えは除くよ
と読める。
471デフォルトの名無しさん:2006/02/11(土) 16:16:15
XPにVB6はインストールしないし、開発もしないし、セットアップも作成しない。
472デフォルトの名無しさん:2006/02/11(土) 16:17:42
>>470
”それ”ってなに?
473デフォルトの名無しさん:2006/02/11(土) 16:20:43
474デフォルトの名無しさん:2006/02/11(土) 16:20:58
IT
475デフォルトの名無しさん:2006/02/11(土) 16:23:53
>>472
流れから言えば直前の>>469
476デフォルトの名無しさん:2006/02/11(土) 16:27:33
VB6の互換性の問題はディストリビューションウイザードに関係してるところがほとんどだと思うけどね。
これで作ったインストーラは開発環境のActiveXを適当に持ち出して、
容赦なく旧バージョンで上書きしてしまう。
同じActiveXの新バージョンで動いてる別のアプリが動かなくなったり、
unicode版のATL.DLLをwin9xにインストールしちゃって動かね〜になったりって事もあった。
477デフォルトの名無しさん:2006/02/11(土) 16:41:20
>>476
開発環境と全く同じActiveXで運用しなきゃ、テストとかの意味ないじゃん。
478デフォルトの名無しさん:2006/02/11(土) 16:42:37
6ではVSIしか使ったこと無いな
5の時は使ってたけど、2000なんて無かった時代・・・
479デフォルトの名無しさん:2006/02/11(土) 16:43:13
>>476
いやもうお前大変だな
480デフォルトの名無しさん:2006/02/11(土) 16:44:38
VBでATL.DLLをどうやって使うの?
481デフォルトの名無しさん:2006/02/11(土) 16:47:15
たしかにw VBの話じゃなさげだね。
482デフォルトの名無しさん:2006/02/11(土) 16:51:10
>>478
VSIでもディストリビューションウイザードが使われているのでは?
インストーラの動作はもちろん違うけど、
ディストリビューションウイザードがないとVSI動かなかった記憶
483デフォルトの名無しさん:2006/02/11(土) 16:52:36
つかわれてねーよw
484デフォルトの名無しさん:2006/02/11(土) 16:54:56
>>480
VC++ + ATLで作ったActiveXを含めると一緒に配布されてたのだと思う。
これは同じ名前でUnicode版とAnsi版があるのですよ。
485デフォルトの名無しさん:2006/02/11(土) 16:55:18
>>483
ディストリビューションウイザードなしで動くの?
486デフォルトの名無しさん:2006/02/11(土) 16:56:10
>>485
そのくらいは自分で調べようや
487485:2006/02/11(土) 16:56:28
VB6のインストーラをつくるときに限った話でね
488デフォルトの名無しさん:2006/02/11(土) 16:59:02
>>486
うごかねーだろってこと
489デフォルトの名無しさん:2006/02/11(土) 17:01:30
>>488
なにが?
490デフォルトの名無しさん:2006/02/11(土) 17:02:16
ttp://dobon.net/vb/installer/installer2-2.html
>ディストリビューションウィザードがインストールされていないとVB関連の機能は使えないようです。

491デフォルトの名無しさん:2006/02/11(土) 17:02:51
っていうか、ディストリビューションウイザードは
Windows Installerと違って、OSのコンポーネントじゃなくて
単一のアプリだし。しかもVB製でソースも付属してる。

ディストリビューションウイザードのバグで
2バイト文字ユーザー名にインストールできないから
ソース修正しろって話しらない?
492デフォルトの名無しさん:2006/02/11(土) 17:04:16
>>491
それは知らないけど、490の通りうごかない。
493デフォルトの名無しさん:2006/02/11(土) 17:05:15
VSI( ver1 と 1.1 )は使い方がわからなくて結局使わなかった。
作業ディレクトリの設定の方法がわからなかったり、
データファイルなどを自動修復の対象からはずす方法がわからなかったりで。
結局Orcaがいるとか言う話だったけど、よくわからなかったのでそのまま放置しとりました。
494デフォルトの名無しさん:2006/02/11(土) 17:06:15
>>490
なんか勘違いしているのだろうね。

そもそもディストリビューションウィザードは
インストールするものじゃないから。
っていうか何をどうやってインストールするのかと。
495デフォルトの名無しさん:2006/02/11(土) 17:16:04
Windows Installer が事前に入ってないと動かないという話と誤解してる予感。
496デフォルトの名無しさん:2006/02/11(土) 17:17:15
そこまで言うなら
まあ、いいや。
497デフォルトの名無しさん:2006/02/11(土) 17:38:10
まあいいやといいつつ確かめちゃったよ。(改行は適当にいれた)

---------------------------
Microsoft Development Environment
---------------------------
プロジェクト出力を追加できません。

ディストリビューション ウィザードが見つかりません。 
Visual Studio Installer は Visual Basic 
プロジェクトの依存関係を算定するために
 Microsoft Visual Basic ディストリビューション ウィザードを使用します。
---------------------------
OK   
---------------------------
498497:2006/02/11(土) 17:39:17
環境によると思うけど、この下のファイルがないとそのメッセージが出る
C:\Program Files\Microsoft Visual Studio\VB98\Wizards\PDWizard
499デフォルトの名無しさん:2006/02/11(土) 17:44:44
その事がVSIを使うにあたって、ユーザが問題になる事があるの?
500デフォルトの名無しさん:2006/02/11(土) 17:47:58
そんなことはだれも言っていないかと。。

情報をお伝えしたまでです。
501デフォルトの名無しさん:2006/02/11(土) 17:48:53
>>499
逆切れですか?
502デフォルトの名無しさん:2006/02/11(土) 17:50:54
つまりVSI自体を動かすのにディストリビューション
ウィザードが必要なのであって、
VSI使って作られた配布パッケージを使用するときには、
ディストリビューションウィザードは必要ないということだな。
何の問題もなし。
503デフォルトの名無しさん:2006/02/11(土) 17:51:12
小力のネタかよ
504デフォルトの名無しさん:2006/02/11(土) 17:52:54
>>502
482で最初から指摘の通りだが。
505デフォルトの名無しさん:2006/02/11(土) 17:54:03
何の意味があったんだ?この流れ。
506デフォルトの名無しさん:2006/02/11(土) 17:55:29
>>469ってことか
507デフォルトの名無しさん:2006/02/11(土) 17:56:07
ディストリビューションウィザードをあえて消してる奴の話されてもなー
508デフォルトの名無しさん:2006/02/11(土) 17:57:41
開発ツールの動作には実行ファイルを作ることもあるから
うんこは寝て食え
509デフォルトの名無しさん:2006/02/11(土) 18:09:10
スカトロ趣味はない。
510デフォルトの名無しさん:2006/02/11(土) 21:25:04
風説の流布
511453:2006/02/11(土) 22:00:25
>>454
ありがとう
512デフォルトの名無しさん:2006/02/11(土) 22:34:19
VBSの質問なんだけど

WSHShell.Run "D:\oracle\ora92\bin\SQLPLUS.EXE system/manager@master"

これのsystem/manager@masterを変数で渡したいとき、以下のように書くとエラー。。

WSHShell.Run "D:\oracle\ora92\bin\SQLPLUS.EXE" & db_user

どうやって書けばいいんでしょうか?
正直、眠りたい。
513デフォルトの名無しさん:2006/02/11(土) 22:37:39
>>512
db_user ="""system/manager@master"""
WSHShell.Run "D:\oracle\ora92\bin\SQLPLUS.EXE " & db_user
514デフォルトの名無しさん:2006/02/11(土) 22:40:20
>>512
×WSHShell.Run "D:\oracle\ora92\bin\SQLPLUS.EXE" & db_user
○WSHShell.Run "D:\oracle\ora92\bin\SQLPLUS.EXE " & db_user

515デフォルトの名無しさん:2006/02/11(土) 22:45:32
そもそも VB を作り上げてる開発言語って何ですか?
516デフォルトの名無しさん:2006/02/11(土) 22:47:04
>>515
例えばCだと?

> そもそも C を作り上げてる開発言語って何ですか?
・・・
517デフォルトの名無しさん:2006/02/11(土) 22:50:46
まるで宇宙の七不思議を見てるような感じだな
ムカムカしてくる
518512:2006/02/11(土) 22:56:20
>> 513,514
こころからありがとう。
自分が情けなくなってきました。。
519デフォルトの名無しさん:2006/02/12(日) 00:32:02
Formにtoolbarコントロールを貼り付けました。
labelコントロールをコピペしたら、貼り付けたコントロールが
toolbarの後ろに隠れてしまって移動させるのに困っています。
toolbarえお最背面に移動しても出てきません。
なんとかならないでしょうか。
だれかたすけて
520デフォルトの名無しさん:2006/02/12(日) 00:40:45
MSXMLを使用するのに最新のVerから存在するかで順番に指定したいのですが、
Ver4から順にためしていくにはどうしたらよいのでしょうか?
(Ver2から試すのは下記のサンプルをみつけました。)

Set oHttp = CreateObject("MSXML2.XMLHTTP")
If (Err.Number <> 0) Then
Set oHttp = CreateObject("MSXML.XMLHTTPRequest")
End If
521441:2006/02/12(日) 00:46:29
ヘッドハンター西脇を完成させたんですが、
もしよかったら触ってみてくれませんか。
522デフォルトの名無しさん:2006/02/12(日) 00:49:21
>>521
ところで、何のヘッド?
523441:2006/02/12(日) 00:52:15
>>522
HTTPのヘッダです。それだけです。
524デフォルトの名無しさん:2006/02/12(日) 00:55:38
テスターになれってかよ市ね
525デフォルトの名無しさん:2006/02/12(日) 01:00:25
>>519
labelのLeft・Topをプロパティウィンドウで見ある位置にカエル
あとlabelはFormのDCに直接文字を描画するからコントロールより前には表示できない 覚えておきなさい
526デフォルトの名無しさん:2006/02/12(日) 01:01:49
>>523
あー…
持ってるけど、とりあえずうpしてみれ
ソース込みならみるかもしらん
527デフォルトの名無しさん:2006/02/12(日) 01:12:09
>>515
Visual C++
WindowsOS・ワード・エクセルもコレで作っている

ちなみに Visual C++ を作っているのは Visual C++
528デフォルトの名無しさん:2006/02/12(日) 01:16:53
MS-Cだよ
529441:2006/02/12(日) 04:50:17
>>524
テスターになって下さいとは言っていませんが、そう解釈されても仕方ありませんね、ごめんなさい。
>>526
これはどうもありがとう
しかしソースとなるととっても汚い部分を晒す事になりますので、控えときます。
530デフォルトの名無しさん:2006/02/12(日) 10:59:23
なんかソフトウェアの世界でWizardっていったら何を意味するかわかってない奴が
何人かいるような。。w
531デフォルトの名無しさん:2006/02/12(日) 13:47:28
あれだろ、魔法を使ってドラゴンを倒してくれる奴だろ
532デフォルトの名無しさん:2006/02/12(日) 14:19:16
>>515
マシン語です。

>>520
Set oHttp = CreateObject("MSXML4.XMLHTTP")
Set oHttp = CreateObject("MSXML3.XMLHTTP")
Set oHttp = CreateObject("MSXML2.XMLHTTP")
じゃないの?
>>528

VC++が存在しなかった時の一番最初のVC++はMSCで書いたのかな。
533デフォルトの名無しさん:2006/02/12(日) 15:37:12
532 は「開発言語」の意味も分からない池沼か?
534デフォルトの名無しさん:2006/02/12(日) 15:43:53
>>533
うんこは寝て食え
535デフォルトの名無しさん:2006/02/12(日) 16:35:18
>>533
いちいちアホに絡まないほうがいいぞ
536デフォルトの名無しさん:2006/02/12(日) 17:16:59
>>533
先輩は16ビットな開発環境でDB(デファインバイト)でマシン語でプログラムを書き、
それをビルドしてデータセグメントを実行可能にして32ビットなプログラムとして動作させてた。
537デフォルトの名無しさん:2006/02/12(日) 17:43:10
>>536
ちょっとまて
流れ的にVBの開発言語の話なんだが、
つまりおまえの先輩がほろほろVBを一人で開発していたってことでFA?
538デフォルトの名無しさん:2006/02/12(日) 17:54:25
>>537
ほろほろ、って?
539デフォルトの名無しさん:2006/02/12(日) 19:09:49
フォームモジュールに、
---------------------
Dim a#
Private b#
Public c#

Private Sub f(a#, b#, c#)
Print Me.a 'エラー:メソッドまたはデータメンバが見つかりません
Print Me.b 'エラー:メソッドまたはデータメンバが見つかりません
Print Me.c 'OK
End Sub

Private Sub Form_Click()
a = 10
b = 20
c = 30
Call f(1, 2, 3)
End Sub
--------------------
と書いて、フォームをクリックすると10,20,30と表示されることを期待したのですが、
エラーがでてしまいます。
名前を変えずに、スコープ解決できないものでしょうか?
this->aとか::aとかみたいに…
540デフォルトの名無しさん:2006/02/12(日) 19:52:51
言語的に出来たとしてもやらないよな。
可読性が悪くなるし、怪しい要素を持ち込むコードだし。

なんか、出来ない奴ほどこういう知らなくてもよいことにこだわる。
挙句に言語の欠陥だとかいい始めて。
541デフォルトの名無しさん:2006/02/12(日) 20:08:36
>>539
Print a#
Print b#
Print c#
じゃないの?
Me.a とかじゃなくて。
542デフォルトの名無しさん:2006/02/12(日) 20:10:20
>>541
取り消し。
何を勘違いしてたんだ・・・_| ̄|○
543デフォルトの名無しさん:2006/02/12(日) 20:13:07
>>540
お前はVBスレに潜む癌ですか?
544デフォルトの名無しさん:2006/02/12(日) 20:14:54
見る気にもならない糞コードだなおい
545デフォルトの名無しさん:2006/02/12(日) 20:22:36
>>539
無理
546デフォルトの名無しさん:2006/02/12(日) 20:24:13
スコープ被る範囲で同一名称になることを一瞬でも悩むぐらいなら、変数名変える。

もしそんなのがそこらじゅうにあるとすれば、スコープの広い変数が多いって時点で糞プログラム。
547デフォルトの名無しさん:2006/02/12(日) 20:41:20
いや、一部とかそこらじゅうとか手法を問題にしてるんじゃないでしょ・・・
言語の受けずに自由にプログラミングしたいと思うなら自然な疑問だと思うけど・・・
実際に使ってる人にそれを聞くのがそんなに変か?
548デフォルトの名無しさん:2006/02/12(日) 20:48:49
自由に組みたいってのと、無法に組みたいってのは違うわな。
まあ、趣味ならいいけど仕事だとしたら論外。
549デフォルトの名無しさん:2006/02/12(日) 20:59:34
どんなに厳格にスコープがあっても、絶対に同じ変数名になんかしないけどな。
もしするとしても、For カウンタの i 位か。
550デフォルトの名無しさん:2006/02/12(日) 21:26:29
>>549
それが被るってのも、もっとおかしい。
551デフォルトの名無しさん:2006/02/12(日) 21:31:04
おいおい馬鹿が揃ってるな。
なんのためのスコープ解決のメカニズムがあるんだよw

>>539
Private以外のメンバなら普通にMe.aとかでできるよ。
っていうか、それぐらい自分で実験しろよ。

>>549
本気でそう思ってるのならそれはおかしい。議論の余地無くね。
まあ、その程度のコードしか書いたことないからだろうけど。
552デフォルトの名無しさん:2006/02/12(日) 21:34:48
>>551
だからさ、きちんと設計したフォーム、クラスで、
関数内のローカル変数と、フォーム等の変数名称が被る場面がそんなにあるんか?
そうだとしたら、モジュール化が単に出来てないだけだよ。
>>540の指摘がそのままあてはまるよ、あんた。
553デフォルトの名無しさん:2006/02/12(日) 21:42:10
>>552
なら聞くけど、君はFormのFunctionまたはSubの中のローカル変数として
Formのプロパティと名前がバッティングする変数は絶対に使わないんだよね。
WidthもHeightもCaptionもBackColorも。

馬鹿馬鹿しい。
そんじゃなんのためのスコープなのよw
554デフォルトの名無しさん:2006/02/12(日) 21:45:42
>>553
フォームが持っているそれらプロパティと、フォーム内の関数等でそれを使う場合に、
もしフォームの値を使うならローカル変数・引数を作る必要ないし、
関数内でフォーム値じゃない値があるならば、その役割+Widthなどになるよ。
名前が被るってことがまずありえない。
555デフォルトの名無しさん:2006/02/12(日) 21:47:16
>>550
ん?
カウンタに i を使う事がおかしいの?
556デフォルトの名無しさん:2006/02/12(日) 21:48:25
>>555
違う、スコープの異なるiが2つ被るって状態がおかしい。
557デフォルトの名無しさん:2006/02/12(日) 21:48:36
>>551
て佑香、普通にコード書いてて全く同じ変数名なんて出てこないが。
558デフォルトの名無しさん:2006/02/12(日) 21:49:36
>>553
ローカル変数でそんな一致してしまう名前使う奴がこの世に存在するのか?
559デフォルトの名無しさん:2006/02/12(日) 21:50:40
>>556
何か話が噛み合ってないな。
Sub a()
Dim i As Integer
End Sub
Sub b()
Dim i As Integer
End Sub
って i を使うのがおかしいの?
何故??
560デフォルトの名無しさん:2006/02/12(日) 21:52:59
>>558
いや、純粋に関数化とかモジュール化が下手なんだと思うよ。
たとえば彼が出した例だって、それらの値を持つものってそれ自体がクラスになってると思うし。
WidthとかHeightとかが、ばらばらの状態のローカル変数で、フォームにただ存在する場面ってのがそもそもおかしい。

もしそれらの値があるとして、何か意味をもったWidthやHeightだったり、
フォーム自体じゃない別のオブジェクトに属するWidthやHeightでしょ?
前者なら、xxWidthなどの名前、後者ならクラスや構造体のメンバー。
つまり被る場面ってのがそもそも想定しにくい。
561デフォルトの名無しさん:2006/02/12(日) 21:55:12
>>559
スコープ被ってないじゃん。あんたこの流れのの最前提を理解してない。

form1のformのPrivateレベルでiが定義されていて、それと別にローカル変数のiがある状態でしょ?
この議論で流れからして>>449の例は。
562デフォルトの名無しさん:2006/02/12(日) 21:55:32
>>560
ダメだこりゃ。
ローカル変数って意味わかってるのかなw
OOP以前だなこりゃ。
563デフォルトの名無しさん:2006/02/12(日) 21:56:39
VB房同士仲良くしようぜ
564デフォルトの名無しさん:2006/02/12(日) 21:59:37
>>562
じゃあさ、フォームのPrivate関数内で、フォーム値以外の幅・高さをいじる場面ってどういう場面だ?
565デフォルトの名無しさん:2006/02/12(日) 22:05:21
>>564
リアルで聞いてるのなら頭悪すぎます。
たとえば単純な例として、直角三角形の斜辺と底辺の長さを引数にとって
高さを返す関数を考える。

このとき、「普通の」プログラマなら求める「高さ」を意味するローカル変数として、たとえば

  Dim Height as Single

とやるだろうね。
少なくとも俺はそうする。
566デフォルトの名無しさん:2006/02/12(日) 22:06:37
ローカル変数とプライベート変数の名前が被るなんて
そんなアホな話はVBスレならではだなぁw
そもそも、そんな名前を付ける必要はないし、つーか、やっちゃいけないし
言語仕様としては、そんなこと出来ないように設計されているべきだろう
それを自由にプログラムしたいとかアホかとw
567デフォルトの名無しさん:2006/02/12(日) 22:09:34
>>561
理解してないんじゃなくて、話の前提が違ってた。
それとは別の話をしてたので。
568デフォルトの名無しさん:2006/02/12(日) 22:09:43
>>565
普通にフォームのローカル関数なんかにしないから判らん。
それだけでモジュールかクラスに抜き出してるからフォームの変数と被らん。

だから、あんたモジュール分けとか出来てないって最初からいってるじゃん。
569デフォルトの名無しさん:2006/02/12(日) 22:14:06
>>565
そんな名前は糸色文寸に付けないけど。
例えば
Dim Height As Single
じゃなくて
Dim sglSankakuHeight As Single ' 変数名が長くなるけど
とかにする。
ハンガリー記法のプレフィクス+個別の表現+共通の部分、って感じ。
だから、全く同じ変数名が出てくる事なんて有り得ない。
570デフォルトの名無しさん:2006/02/12(日) 22:14:34
ふと、なんとなく思ったんだが変数名を組み立てて参照したがる初心者と似てる気がした
Data1〜Data5の個別の変数に対して
i = 1
Data & i = 3
みたいなことできませんか?って訊いてくる人w

>>565
単純に三角形っていってるけど、何の三角形なんだ?
それが三角形の形したボタンの高さなら「ボタンの高さ」とすればいいだろうし
そのボタンが特別な意味のボタンなら、その意味を付加した名前にすりゃいいだろ?
なんで、そんな漠然とただ「高さ」なんて分かりにくい変数名つかうんだ?
どうしても、そういう単純な名前がいいならハンガリアンでもモンゴリアンでもやればいいだろwww
571デフォルトの名無しさん:2006/02/12(日) 22:15:32
>>568
馬鹿だな本当。
話は何もフォームに限らない。

たとえば'Height'というメンバを持つクラスのPrivateな関数の中で
物理的に全く異なる「高さ」を意味するローカル変数が欲しくことなんて普通にある。
いままでそういうことがないなら、そりゃそれなりのコードしか書いてないだけw
572デフォルトの名無しさん:2006/02/12(日) 22:17:12
いや、やっぱあの例だとそもそも三角型に関する関数が漠然とフォームにあるのがおかしい。
それ自体は共通的な関数だからモジュールにするのがVB6風だし、
普通の言語だったら三角形クラス作るでしょ?
その時点で変数名被らないし・・・。
573デフォルトの名無しさん:2006/02/12(日) 22:17:54
>>571
だからさ、その高さって言葉が被る時点で、そのクラスなりフォームの設計がおかしいの。
理解できないかな?
574デフォルトの名無しさん:2006/02/12(日) 22:19:29
すげぇ馬鹿がいるな・・・
VB厨って言われるわけだ・・・
名前がかぶる時点で設計がおかしいってなんだよ・・・
575デフォルトの名無しさん:2006/02/12(日) 22:20:35
ああ悪い。時代が違うだけかもしれんな。
576デフォルトの名無しさん:2006/02/12(日) 22:21:18
>>574
責務分けができてないじゃん。
>>572>>574が同一かはしらんが、自分の設計なりつくりが糞なことを自覚してないだけ。

クラスの分割が足りていない、クラス内の特定の値の集合をきちんと括れていないなどなど。
577デフォルトの名無しさん:2006/02/12(日) 22:22:58
おら、何だかワクワクしてきたぞ!
578デフォルトの名無しさん:2006/02/12(日) 22:23:24
>>571
物理的に全く異なる高さなら、同じ名前の変数になることはない
X = (Height / 2) - (Height / 2)
これが、文法的に可能だとしても、どっちがどっちかサッパリ分からんw
こんな可読性のない糞コード誰が書くかw
っていうか、なんか釣りなんじゃないかと思えてきた
この付き抜け具合はちょっと怪しいw
579デフォルトの名無しさん:2006/02/12(日) 22:28:01
議論整頓

・被ってOK派
言語仕様が許すんだし、命名はその直近の場面に対して最適なものでOK。

・被り論外派
そもそも同じ名前にならない。
同じ名前としても命名規則(ハンガリアン等)で避けるべき。
同じ名前わざわざ付けるなんて正気じゃない。
580デフォルトの名無しさん:2006/02/12(日) 22:28:49
>>578
釣りじゃないよ。
っていうか、君馬鹿でしょw

だからスコープを解決するためのメカニズムが(一応VBにも。。)あるから
混乱など起きない。

っていうか、これが釣りだと思う君のセンスって相当ヤバいよ。
そもそもスコープって概念が何のためにあるのかわかってないとしか思えない。
まあVBオンリーの人にありがちなOOPが理解できてないってことだと思うけど。
581デフォルトの名無しさん:2006/02/12(日) 22:29:02
悪いけど俺のは被ってない(ちんこ
582デフォルトの名無しさん:2006/02/12(日) 22:29:11
プライベート変数名なら、Height。
オブジェクト変数ならMe.Height。
それでいいじゃん。
583デフォルトの名無しさん:2006/02/12(日) 22:31:07
OOP言ってればなんでも許されると思ってるのか?
だから、あんたがいうOOPから考えても、責務分けが甘いって。
同じ名前がクラスレベルとローカルレベルに出る時点で、そのローカル側が何故中にいる?ってなる。

それに、プログラム慣れしている人だって、クラスレベル変数には _xxxなどプレフィクスつけて、
可読性を明示するようにしてる。

あんたが複数人である程度以上の規模のプログラムを組んだことないだけだよ。
584デフォルトの名無しさん:2006/02/12(日) 22:31:46
あのねえ、たとえば一度コレクション的な動作をするクラスを自分で書いてみ?
コレクションにはアイテム数を返す'Count'ってメンバが要るよね?

そしたら君はローカル変数に'Count'って命名することを封印するわけ?
そんな奴いたらタワケだと思うわw
585デフォルトの名無しさん:2006/02/12(日) 22:34:31
一つ言えば、ローカル関数の戻り値なんて全てretとかだな。
で、関数が当然1つの機能を有するだけだから、例えば戻り値にCountなんて変数は割り当てられない。
586デフォルトの名無しさん:2006/02/12(日) 22:34:31
これは要するに命名規則の話だな。

コードに height とあったとき
関数の頭を見ればわかるという人は、そのままheightと書く。
ローカル変数なのか、メンバ変数なのか、グローバル変数なのかわからないという人は、
たとえば、ローカル変数の最初か最後に _ (アンダーバー)をつけるとか
グローバル変数にg_、メンバ変数にm_をつけるとか。

要するにコーディングスタイルの話。
どっちでもいい。
587デフォルトの名無しさん:2006/02/12(日) 22:34:33
アイテムを返すのはgetCount
ローカル変数はcnt
588デフォルトの名無しさん:2006/02/12(日) 22:35:06
>>582
しかし質問の件だと無理なのです!
これがVBクオリティ><
589デフォルトの名無しさん:2006/02/12(日) 22:36:08
590デフォルトの名無しさん:2006/02/12(日) 22:37:36
>>588
別に無理じゃないでしょ。

混乱する可能性があるから、
ローカル変数(またはグローバル・メンバ変数)名を
工夫しろといっている人がいるだけであって。
591デフォルトの名無しさん:2006/02/12(日) 22:38:50
>>580
スコープはPC(言語環境)の為にある物だよ。
人間の為じゃない。
592デフォルトの名無しさん:2006/02/12(日) 22:40:22
>>589
>>590
いや、そういう場面に出くわして言語仕様的に出来る出来ないの話なのだが・・・
変数名を変えれば解決なんて質問しなくても分かりきってるわけで。
なんでわざわざそれを回答してるのかわからない。

593デフォルトの名無しさん:2006/02/12(日) 22:41:01
>>591
おいおいマジかよw
594デフォルトの名無しさん:2006/02/12(日) 22:41:15
>>591
変数名は人間のためにあるものだよ。
人間がA0001、A0002、A0003・・・とかいう変数名を使えば
スコープなんて要らない。

人間のためにわかりやすい変数名を使えるようにしたから
名前が重なったときに解決するためのスコープというものが出来た。
595デフォルトの名無しさん:2006/02/12(日) 22:42:04
>>592
だったら解決じゃん。いちいちそんな確認が必要なソースなんて書かないのが普通。
だから>>540なわけで。
596デフォルトの名無しさん:2006/02/12(日) 22:43:11
>>592
そういう場面って?
たとえば一つの関数内で、違う意味で同じ変数名を使いたいって事?
意味が違うのに???
597デフォルトの名無しさん:2006/02/12(日) 22:43:35
>>580
はいはい、わかったわかったw
オレがVBしかやったこと無い人ってことにしといていいし
君は、とても複雑で高度で難解なコードをたくさん書けるスーパーハカーでいいから、
早く同名の変数であふれかえったコードを書く作業に戻ってくれw
598デフォルトの名無しさん:2006/02/12(日) 22:43:37
>>594
スコープはあくまで言語を成立させるためのルールであって、
必ずしもそれを推奨してるわけじゃないからね。
どっちをとるか決めないと言語として成立しないし、コンパイラだって書けないし。
599デフォルトの名無しさん:2006/02/12(日) 22:46:23
>>597
> 早く同名の変数であふれかえったコードを書く作業に戻ってくれw
違う関数・オブジェクトでは同名の変数たくさんあるけどなw
全部違う名前にするなんて人間には不可能だし。
多人数で作業していればなおさら。

だからスコープというものがあって、
名前が被っても問題ないようになっているんだけどね。
VBを含めてほとんどの言語が。
600デフォルトの名無しさん:2006/02/12(日) 22:46:41
>>594
変数名とスコープは全然違う物だけど。
601デフォルトの名無しさん:2006/02/12(日) 22:47:35
>>599
逆だよ。
602デフォルトの名無しさん:2006/02/12(日) 22:48:36
>>600
そうだね。
でもスコープというものは人間のために出来たということ。
名前が完全に一意であれば、スコープなんて必要ないから。
603デフォルトの名無しさん:2006/02/12(日) 22:48:49
>>599
だからそれは普通でしょ?
で、スコープが被る場面で同一の名称って何?っていってるわけで。
例えばフォームのheightと被るとして、その中の値って本当に単なるheightなのか?って。
何かに属するheightなら構造体のメンバーだし・・・ってそれに全く答えてないよね。
自分のクラスわけが間違っていないって前提が間違ってるのに・・・。
604デフォルトの名無しさん:2006/02/12(日) 22:48:52
>>600
えー?
さすがにスコープと変数名別にしたらコンパイラ書けんでしょ。
605デフォルトの名無しさん:2006/02/12(日) 22:49:23
>>601
反論無いと信用されませんよ。
606デフォルトの名無しさん:2006/02/12(日) 22:50:46
このなかにコボラーがおる
おまえやろ
607デフォルトの名無しさん:2006/02/12(日) 22:50:51
>>599
>違う関数・オブジェクトでは同名の変数たくさんあるけどなw
んなの、あたりまえだろ
なんでプロジェクト全体でユニークにするなんて極論に行き着くんだよw
608デフォルトの名無しさん:2006/02/12(日) 22:51:02
>>603
あー。わかった。

> で、スコープが被る場面で
このスコープが被る場面ってのを具体的にどういうコードなのか言ってみて。
そうすれば、何を勘違いしているのか(みんなに)わかるだろうから。
609デフォルトの名無しさん:2006/02/12(日) 22:51:55
>>608
それを俺に聞くな。
俺は被らん派なんだから。
610デフォルトの名無しさん:2006/02/12(日) 22:53:21
被らん派ってのも意味がわからんw

どういうのが被らないのか、自分でわかっているから言えるんだよね。
どういう状態が被らないと言っているのか説明してみて。
611デフォルトの名無しさん:2006/02/12(日) 22:55:08
>>610
>>603に書いてあるだろ?
そのHeightなりってのが、そもそも他の何かに属するHeightであるならば、それは構造体のメンバー。
この時点でまず被らない。
そうじゃないとしても、何かのHeightだから、xxxHehghtとなるはず。
612デフォルトの名無しさん:2006/02/12(日) 22:55:13
やっぱ議論は会議室でやらないとな。
ホワイトボード使って。
613デフォルトの名無しさん:2006/02/12(日) 22:57:46
スコープの話と変数名の付け方の話、2つが流れてるのか?
614デフォルトの名無しさん:2006/02/12(日) 22:57:47
長々とやって結局命名規則の話かよ。

グローバル・メンバ・ローカル変数に名前が被らないように
プリフィックスをつける派とつけない派。

そういうことだろ?
615デフォルトの名無しさん:2006/02/12(日) 22:59:32
命名規則でもないだろ?
単なる高さじゃないものに対して、なんでもheightって命名する人って。
それをいっちゃー、変数なんてa,b,cでいいじゃんってのと同レベルと思うけど。
616デフォルトの名無しさん:2006/02/12(日) 22:59:33
>>611
構造体のメンバーとか何いってんの?

ぶっちゃけ、途中参加で過去スレよんでないのよ。
飯食い終わったから退場するよ。
617デフォルトの名無しさん:2006/02/12(日) 23:01:00
>>610
Public Height と Private Height と Dim Height が被ることは無い
Dim Height が異なる関数内で存在することは当然ある
話の発端が >>539 から来てるんだから、このくらいは理解しろよ
618デフォルトの名無しさん:2006/02/12(日) 23:03:36
>>616
死ね。
619デフォルトの名無しさん:2006/02/12(日) 23:03:45
>>617
ちょwwwおまwwwww
620デフォルトの名無しさん:2006/02/12(日) 23:05:49
>>617
ほうほう。

>>539
DimとPrivateは同じとして、

これからは、プライベートメンバ変数にはm_という
プリフィックスをつけるようにするといいよ。
君もm_のよさがわかったね!

※これはスコープに関するプリフィックスなので
型に関するプリフィックスであるハンガリアンではありません。
621デフォルトの名無しさん:2006/02/12(日) 23:08:48
どうでもいいけど、名前を変えずに>>539を解決できる言語って無いよな?
622デフォルトの名無しさん:2006/02/12(日) 23:09:33
いや。あるか。
623デフォルトの名無しさん:2006/02/12(日) 23:14:31
ないあるよ。
624デフォルトの名無しさん:2006/02/12(日) 23:21:41
ローカル変数、モジュール変数、グローバル変数

これって便利じゃん!!
625デフォルトの名無しさん:2006/02/12(日) 23:23:25
>>624
便利だね。
626デフォルトの名無しさん:2006/02/12(日) 23:29:18
祭に遅れた・・・



うんこは寝て食えっていうことですかね?
627デフォルトの名無しさん:2006/02/12(日) 23:35:50
MSXML2.XMLHTTPを使用してSendを実行した場合で、
タイムアウトだとどうなりますか?(エラーコードが帰ってきますか?)
628デフォルトの名無しさん:2006/02/12(日) 23:59:04
>>627
まずやってみろと。
629デフォルトの名無しさん:2006/02/13(月) 03:39:41
>>628
まず答えろと。
630デフォルトの名無しさん:2006/02/13(月) 09:17:43
>>629
答える為にはやらないといけない。
それよりも、質問者本人がやってみるのが一番早い。
二度手間。
631デフォルトの名無しさん:2006/02/13(月) 09:32:04
>>627は質問じゃないわな。作成依頼。
奇特な人がやってくれるでしょ?w

質問ってのは、どういう状態でどうだから、何が問題ってなるわけで。
632デフォルトの名無しさん:2006/02/13(月) 09:40:40
vbで自分のIPとデフォルトゲートウェイを変更するプログラムを
作りたいんですが、やっぱりWINDOWS API叩かないと駄目なんでしょうか
ググって見てもそれらしいものが見つけられなかったので
知ってる人がいたら教えてください
633デフォルトの名無しさん:2006/02/13(月) 10:46:51
>>631
だね。
自分でこんなコードでやってみたけどこうなった。何故?とかさ。
634デフォルトの名無しさん:2006/02/13(月) 11:01:53
>>632
取得ではなく列挙だけど・・・
長すぎて投稿出来ないので改行してあるけど、全部で一行です。
ttp://64.233.179.104/search?q=cache:V8ZwjmNGhmcJ:vbvbvb.com/jp/gtips/0151/gGetAdaptersInfoAddress.html
+%E3%83%8D%E3%83%83%E3%83%88%E3%83%AF%E3%83%BC%E3%82%AF%E3%82%A2%E3%83%80%E3%83%97%E3%82%BF
%E3%81%AE%E7%89%A9%E7%90%86%E3%82%A2%E3%83%89%E3%83%AC%E3%82%B9%E3%82%92%E5%88%97%E6%8C%99
%E3%81%99%E3%82%8B&hl=ja&gl=jp&ct=clnk&cd=1&lr=lang_ja
635デフォルトの名無しさん:2006/02/13(月) 11:04:21
636デフォルトの名無しさん:2006/02/13(月) 11:08:29
>>632
win2kとかwinxpならipconfigさんを使った方がマシだとおもお
637デフォルトの名無しさん:2006/02/13(月) 13:01:40
>>632
routeコマンドを実行すればよい
638デフォルトの名無しさん:2006/02/13(月) 15:50:20
>>623
あるのかないのかどっちなんだ
お前は修羅か
639デフォルトの名無しさん:2006/02/13(月) 15:51:33
ないあるよ
640デフォルトの名無しさん:2006/02/13(月) 16:03:54
ttp://ex14.2ch.net/test/read.cgi/news4vip/1139796916/1/
この問題をVBで解いてよ。
641デフォルトの名無しさん:2006/02/13(月) 16:29:00
VB6でデータベース関連のプログラミングの勉強しています。
今までADOでMicrosoft.Jet.OLEDB.4.0を使いAccessと対話してたのですが
今回からADOでODBCデータベースと対話したいと思いぐぐってみたのですが
どうも接続するための構文がわからないためエラーがでてしまいます。
FromLoadに書く接続用の構文おしえてください。
おねがいします。

VB6で参照設定
Microsoft ActiveX Data Objects 2.1 Library
Win2kSP4でODBCのシステムDSNに
Microsoft Access Driverでデータソース名をODBCTestと言う名前で登録しています。

あとODBCデータベースをAのPCで実行しておき
BのPCからVBでデータベースにアクセスすることはできるでしょうか?
642デフォルトの名無しさん:2006/02/13(月) 16:30:10
643デフォルトの名無しさん:2006/02/13(月) 16:38:52
>>641
接続文字列の違いだけだな
ADO+ODBC+VB6でググッたら出てきたのがこれ↓

Microsoft OLE DB Provider for ODBC Drivers -> Provider=MSDASQL;User ID=<ユーザーID>Data Source=<データソース名>
Microsoft Jet 3.51 OLE DB Provider -> Provider=Microsoft.Jet.OLEDB.3.51;Data Source=<MDBファイル名>
Microsoft OLE DB Provider for SQL Server -> Provider=SQLOLEDB;User ID=<ユーザーID>;Data Source=<サーバー名>
Microsoft OLE DB Provider for SQL Server -> Provider=SQLOLEDB;User ID=<ユーザーID>;Data Source=<サーバー名>
Microsoft OLE DB Provider for Oracle -> Provider=MSDAORA; User ID=<ユーザーID>;Data Source=<データベース別名>

"->"の左側をデータソースに設定すれば使えるはず

後半の質問はしらね
データベースの種類によるんじゃない?って事で
644デフォルトの名無しさん:2006/02/13(月) 16:53:04
>>641
一度に一つのPCからしかアクセス出来ないDBなんて
使い物にならないが。
645デフォルトの名無しさん:2006/02/13(月) 16:54:03
Visual Basic 2005で
Dim DialogRet As Integer
のDialogRetってどう変えればいいの?
646デフォルトの名無しさん:2006/02/13(月) 16:54:44
>>645
マルチ子ね
647デフォルトの名無しさん:2006/02/13(月) 17:06:34
>>645
質問の意味が全く不明。
648デフォルトの名無しさん:2006/02/13(月) 17:08:01
>>643

ありがとうございます。
ConnectionStringの
Providerのとこがわかってなかった
orz

>>644

排他制御とかちゃんとできるのかが気になって・・・。
649デフォルトの名無しさん:2006/02/13(月) 17:17:25
>>648
それはDBMSの仕様とDBをオープンする時の設定。
「ちゃんと出来るのか気になる」んじゃなく、「自分でちゃんとやる」。
650デフォルトの名無しさん:2006/02/13(月) 18:28:17
VB6でMySQL4.1に接続して
テーブル"table1"にレコードを追加したいんですけど
MySQLには接続できるんですけど、新しいレコードを
追加できません。
エラーメッセージは
 Unknown column 'ID'in'fieldlist'
とでます。

Dim SQL As String
Dim ID As Integer
Dim name As String
Dim cmd As ADODB.Command

Set cmd = New ADODB.Command
ID = Text1.Text
name = Text2.Text
SQL = "insert into table1(AID,Aname) values(ID,name) "

cmd.ActiveConnection = cn
cmd.CommandText = SQL
cmd.Execute
651デフォルトの名無しさん:2006/02/13(月) 18:29:15
>>650
プログラム中のIDとnameは何か意味があるのか?
652650:2006/02/13(月) 18:40:58
>>651
一応IDとnameにはTextBoxの値を代入してます。
補足でtable1の内容は
AID Aname  ←フィールド名
1  suzuki
2 satou
3 takahasi
みたいな感じです。
  
653デフォルトの名無しさん:2006/02/13(月) 18:43:15
SQLインジェクションとかまっさら置いておいて、
もしかして "insert into table1(AID,Aname) values(" & ID & "," & name & ")" こう?
654デフォルトの名無しさん:2006/02/13(月) 19:49:22
windows xp
vb6 で ソケットを使うには
どのコントロールを使えばいいのでしょうか
655デフォルトの名無しさん:2006/02/13(月) 19:52:33
>>654
コントロール使わなければならないならwinsockを思いつく
656デフォルトの名無しさん:2006/02/13(月) 20:18:05
>>654
だからXPでVBは(ry
657デフォルトの名無しさん:2006/02/13(月) 20:31:58
Visual Studio 2005です
インストールする時に、勘違いをしてVB BASICを選択してしまいました
そしたら、リソースビューやクラスビューが右に表示されます
VC++スタイルの様に左側に配置したいのですが、どこを弄ったら
出来るでしょうか?

658デフォルトの名無しさん:2006/02/13(月) 20:35:39
>>657
ディスプレイを逆さにしろ
659デフォルトの名無しさん:2006/02/13(月) 21:07:05
>>657
ツール−オプションとかの何処かにあるのでは。
660デフォルトの名無しさん:2006/02/13(月) 21:11:38
Visual Studio 2005にVB6.0以前が入ってるとは知らなかった
661デフォルトの名無しさん:2006/02/13(月) 22:03:42
>>650
俺もそれやろうとして
そんなエラーメッセージでた事あるわ。
どうやって解決したかは、忘れたけどw
662デフォルトの名無しさん:2006/02/13(月) 23:00:48
 / ̄⌒⌒ヽ
 | / ̄ ̄ ̄ヽ 
 | |   /  \| 
 | |    ´ ` |   http://uploader.fam.cx/data/u1826.wmv
 (6    つ /    http://uploader.fam.cx/data/u1837.wmv
 |   / /⌒⌒ヽ   http://uploader.fam.cx/data/u1838.wmv
 |    \  ̄ ノ  
 |     / ̄
663デフォルトの名無しさん:2006/02/13(月) 23:20:53
基本ランタイム以外のコンポーネントを配布する場合、インストーラは必須でしょうか・・・?
664デフォルトの名無しさん:2006/02/14(火) 01:34:59
>>663

1.インストーラーを作る
2.Vector等で配布されてるランタイムパッケージを利用者に入れてもらう

の選択肢しかないな

2 を選択した場合は 配布されているバージョン・SPのコンポーネントで作らないと
DLLヘル起こすよ
665デフォルトの名無しさん:2006/02/14(火) 12:41:50
>>663
regsvr32で1個ずつ登録するとか。
666デフォルトの名無しさん:2006/02/14(火) 13:37:16
>>663
基本コンポーネント以外は、全部関数呼び出しのDLLだけにすればOKOK。
667デフォルトの名無しさん:2006/02/14(火) 13:50:24
なぜこうも的外れなレスが多いのか
668デフォルトの名無しさん:2006/02/14(火) 14:08:34
一番的外れ → >>667
669デフォルトの名無しさん:2006/02/14(火) 14:35:19
うわっ。さぶっw
670デフォルトの名無しさん:2006/02/14(火) 14:56:01
>>669
つカイロ
671デフォルトの名無しさん:2006/02/14(火) 15:13:33
ヤバスw
672デフォルトの名無しさん:2006/02/14(火) 15:14:02
言語障害ですね
673デフォルトの名無しさん:2006/02/14(火) 15:25:01
誰も質問しないね。
674デフォルトの名無しさん:2006/02/14(火) 15:34:21
質問しても誰も答えられないじゃんw
675デフォルトの名無しさん:2006/02/14(火) 15:38:03
任せとけ!
676デフォルトの名無しさん:2006/02/14(火) 15:39:24
VB初心者とかプログラミング初心者とかはまだ許せる

でも質問初心者とかは消えてなくなれって感じですね

【消えろ】質問初心者【カス】みたいな
677デフォルトの名無しさん:2006/02/14(火) 15:46:17
今やWEB上に幾らでも情報が転がってるから、どんな質問に対しても
「ググれ」で終われる様な気がする・・・
678デフォルトの名無しさん:2006/02/14(火) 15:53:15
まあまあ
.NETが出てけっこうたつのに新規でVB6を覚える初心者も少ないってことだろ
そもそも言語自体が手に入りにくい
679デフォルトの名無しさん:2006/02/14(火) 16:17:35
VB6かわいいよVB6
680デフォルトの名無しさん:2006/02/14(火) 17:21:19
シャチかわいいよシャチ
681デフォルトの名無しさん:2006/02/14(火) 19:51:05
>>680
シャチて?
682デフォルトの名無しさん:2006/02/14(火) 19:56:00
能登かわいいよ能登
683デフォルトの名無しさん:2006/02/14(火) 20:40:13
  ,j;;;;;j,. ---一、 `  ―--‐、_ l;;;;;;
 {;;;;;;ゝ T辷iフ i    f'辷jァ  !i;;;;; アンゴルモアちゃんや志摩子サマに
  ヾ;;;ハ    ノ       .::!lリ;;r゙ 中の人など居ない・・・
   `Z;i   〈.,_..,.      ノ;;;;;;;;>
   ,;ぇハ、 、_,.ー-、_',.    ,f゙: Y;;f.  そんな風に考えていた時期が
   ~''戈ヽ   `二´    r'´:::. `!   俺にもありました・・・
684デフォルトの名無しさん:2006/02/15(水) 09:56:20
UBoundとLBoundのどっちが配列の要素数最大値取得なんだか毎回分からなくなっちゃう鳥頭な俺なんだが、
覚えやすい方法ない? つーか何の頭文字なんだ?
685デフォルトの名無しさん:2006/02/15(水) 09:58:01
>>684
根本的に間違ってる
UBound(array,script):arrayのscript次元の上限
LBound(array,script):arrayのscript次元の下限

arrayのあるscript次元の要素数は
ubound(array,script)-lbound(array,script)+1で与えられる
686デフォルトの名無しさん:2006/02/15(水) 10:26:57
で、何の頭文字?
687デフォルトの名無しさん:2006/02/15(水) 10:28:44
upperとlowerじゃねーの?
688デフォルトの名無しさん:2006/02/15(水) 10:36:49
>>685
要素数"最大値"なんだから言い方は悪いが間違っちゃいねーだろ
要素インデックス最大値って言った方がまだいいけどな
ちなみに正確にはUBound(array [ ,script=1])ね

つーかLBound使う機会ほとんどねー
689デフォルトの名無しさん:2006/02/15(水) 12:10:35
>>687
thx、これで覚えられそうだ
690デフォルトの名無しさん:2006/02/15(水) 12:34:30
つうか思い当たらないのか?UとLで・・・。
691デフォルトの名無しさん:2006/02/15(水) 12:42:22
ヒント:俺はバカ
692デフォルトの名無しさん:2006/02/15(水) 14:47:19
>>691
それ解答。
693デフォルトの名無しさん:2006/02/15(水) 15:31:30
配列になっていない状態で、

a1="abc"
a2="def"
  ・
  ・
  ・
a100="ghi

上記のように100個の変数がある場合、
forやloopで1〜100を回してそれぞれの値を取る方法はないでしょうか?
694デフォルトの名無しさん:2006/02/15(水) 15:43:59
配列にしてください。
695デフォルトの名無しさん:2006/02/15(水) 15:59:20
>>693
ない。
696デフォルトの名無しさん:2006/02/15(水) 16:00:42
>>693
何が目的なのか良く分からないけど、それは無理です。
素直に配列で質問してくださいね
697デフォルトの名無しさん:2006/02/15(水) 16:21:33
>>693
そんな状態で100個の変数がある時点で異常。
698デフォルトの名無しさん:2006/02/15(水) 20:17:00
( ,_`ゝ′)キー
699デフォルトの名無しさん:2006/02/15(水) 20:37:26
ヘ:::::::::;;: -‐''''""( )1
 ゙、::::::::-‐''""" ̄"'i
  :V;;||:::: '~ニ=ッ, r='|
  i!f !:::::      ゙、i
  i!ゝ!::::     ‐/リ
  i::/:、 :::、  /''ii'V
  ̄ハ:::::\ "''il|バ''
 ショカツリョウ
 諸葛亮 曰く
  「目的と手段を履き違えてはいかんぞ」
700デフォルトの名無しさん:2006/02/15(水) 21:57:34
田村亮なら知っているが、諸葛亮って誰やねん
701デフォルトの名無しさん:2006/02/15(水) 22:15:02
もろくずりょうさん知らないなんて・・・。
702デフォルトの名無しさん:2006/02/16(木) 21:29:31
テキストファイルで指定した一行を削除(改行を含む)する方法はありますか?
703デフォルトの名無しさん:2006/02/16(木) 21:30:16
>>702
方法はあります
704デフォルトの名無しさん:2006/02/16(木) 21:36:55
>>702
ある。
705デフォルトの名無しさん:2006/02/16(木) 21:58:38
みんな断言するなんてすごいね。
俺は多分あるとしか言えない。
706デフォルトの名無しさん:2006/02/16(木) 21:56:22
環境:
WinXP SP2
VB6.0 SP6
InputMan Pro 6.5J

InputManのimTextで、IMEオフで入力すると正常ですが、
IMEオンにして入力すると、確定したときに文字がある部分のみ
灰色(フォーム背景色?)になり、文字が隠れてしまうという現象が起こります。
IMEからの入力だと全角、半角問わず発生します。

解決策ご存知の方いましたらご教授お願いします。
707デフォルトの名無しさん:2006/02/16(木) 22:06:00
あるわけねえだろw
ネタじゃなくあるって言ってるならファイル操作ってものが全くわかってないんだよw
708デフォルトの名無しさん:2006/02/16(木) 22:49:16
>>706
ここではなく、BOC、じゃなくてグレープシティのWEBサイトでFAQ検索した方がいいかも。
709デフォルトの名無しさん:2006/02/16(木) 22:57:50
>>703-705
教えてティーチャー
710デフォルトの名無しさん:2006/02/16(木) 23:00:41
環境:
WinXP SP2
VB6.0 SP6
InputMan Pro 6.5J

InputManのimTextで、IMEオフで入力すると正常ですが、
IMEオンにして入力すると、確定したときに文字がある部分のみ
灰色(フォーム背景色?)になり、文字が隠れてしまうという現象が起こります。
IMEからの入力だと全角、半角問わず発生します。

解決策ご存知の方いましたらご教授お願いします。
711デフォルトの名無しさん:2006/02/16(木) 23:16:30
>>710
VB6もInputMan65Jも、XPには対応してないよ。
だから、どんな不具合が起こっても仕方がないし、回避方法はない。
712デフォルトの名無しさん:2006/02/16(木) 23:17:23
>>709
ヒント:エディタ
713デフォルトの名無しさん:2006/02/16(木) 23:37:17
>>709
ヒント:split()
714デフォルトの名無しさん:2006/02/16(木) 23:54:02
>>702
あるも何もロジックの問題
715デフォルトの名無しさん:2006/02/17(金) 00:21:59
  _  ∩
( ゚∀゚)彡 ロジック!ロジック!
 ⊂彡
716710:2006/02/17(金) 00:26:45
>>711
そうですか・・・。回答有難うございます。
717デフォルトの名無しさん:2006/02/17(金) 03:40:06
販売元に報告したらいいよ。
一応お客さんなんだしさ。なんらかの対応はしてくれるよ。
718デフォルトの名無しさん:2006/02/17(金) 06:34:04
>>707
行を削除する関数とかがあるかって話じゃなくて、
"方法"があるかって話なんだがw

組み込みにしたってAPIにしたって、関数一つで出来る事なんて限られてる。
それを組み合わせて必要な機能を実装していくのがプログラミングというものですよ。
そのレベルの話で「出来ない」とか言ってるなら、「お前の知識では出来ないだけ」だ。
719デフォルトの名無しさん:2006/02/17(金) 07:02:48
VBSのスレが見あたらないのでこちらで質問。
正規表現を使いたくて、ここ
http://www.microsoft.com/japan/msdn/library/default.asp?url=/japan/msdn/library/ja/script56/html/vsobjRegExp.asp
を参考にスクリプト組んでみたのですが、
被検索文字列を " 2005/12/31" 、検索パターン文字列を "[0-9]^4" にして
RegExpオブジェクトを使っても、どこにも一致してくれません。
パターンを "\\d^4" にしても一致してくれません。
"僕は海が好きで、川が好きで、山も好きです。" から "(海|山)(.)好き" の
パターンを検索すると、これは正常に動作してくれます。
数字4桁を拾うにはどう記述したらいいですか?
720デフォルトの名無しさん:2006/02/17(金) 07:26:01
>>719
VBSはスレ違いじゃないけど、正規表現構文はスレ違い。
つーか、全然理解してないようだが、Pattern プロパティのところに正規表現の解説あるから
それを読んでも解らなかったら正規表現スレ行け。
まぁ、この件に関しては数量子の使い方が解ればいいだけだが、この機会にきちんと勉強しておけ。


あまりにも簡単すぎる質問だから、ここでも教えたがり君がスレ違いにも関わらず意気揚々と答え出すかもしれないけどな。
721デフォルトの名無しさん:2006/02/17(金) 08:20:33
まあ「場違いな」尊大な物言いをする奴は例外なく無能だから気にしない方がいいよw
スレ違いなら例外なく排除すべき、と単細胞に思い込むほど頭悪いんだから。

スレ違いだろうとなんだろうと、スレの主題に関連した話題で
多数の人間に利益があればそれを否定する理由はない、と理性的な人間なら
考えると俺は思うけどね。

例のパーティージョークだと「こういう場合は海に飛び込む規則になっております」
ってのはドイツ人に向かっていうセリフになってるが、自分の頭で物事考えられない
鳥頭ってのはドイツ人よりむしろ日本人にこそより当てはまるんだよね悲しいかな。
722デフォルトの名無しさん:2006/02/17(金) 09:57:44
で、長文書いた割には有用な情報は無し、とw
723デフォルトの名無しさん:2006/02/17(金) 09:58:06
で、長文書いた割には有用な情報は無し、とw
724デフォルトの名無しさん:2006/02/17(金) 10:14:24
このユーザーフォームのコードを実行したとき
textbox1に101以上の数値を入れたとき
commandbutton1のフォーカスしないのはナゼ?

ttp://venus.aez.jp/uploda/index.php?dlpas_id=22513
pass:test


725デフォルトの名無しさん:2006/02/17(金) 11:00:52
>>724
しらね
バグでもあるんじゃない?
726デフォルトの名無しさん:2006/02/17(金) 11:11:30
>>724
そんなのわざわざダウンロードして試してくれる奴なんか居る訳ないでしょ。
コピペだけで一切変更なしですぐ動いて動作を試せるコードを提示しろよ。
727デフォルトの名無しさん:2006/02/17(金) 14:42:34
>>721
言いたいことは分かるが、スルーするのも大人のたしなみだと思いねえ
728デフォルトの名無しさん:2006/02/17(金) 21:59:12
>>719
VBSの正規表現は、^4で4桁になるのか?
桁数は {なんとか} あたりで指定すると思うんだが?
729デフォルトの名無しさん:2006/02/17(金) 22:07:09
質問です。

VB6(SP5)の環境で、ADO6.0(SP4)を使ってACCESS2003(SP2)のmdbファイルを
読み書きするプログラムを作っています。

普通にSELECTしてレコードセットを作って〜という部分は、
意図した通りの動きをしているのですが、SELECT文中でLIKE演算子を
使った部分でレコードが無いという結果になっています。

VB中で使っているSQL文を、ACCESSのクエリに貼って動かしてみると、
きちんとレコードが選択されるので、何が問題なのか絞り込めずにいます。

ソースは以下のようになってます。

Private Sub foge()
    Dim cn as New ADODB.Connection
    Dim rs as New ADODB.Recordset
    Dim strSQL as String
    strSQL = "select A, B from T where C like 'X*' order by A"
    rs.Open strSQL, cn, adOpenKeyset, adLockReadOnly
    Do While (rs.EOF = False)
        ' この辺にレコードの処理
    Loop
    rs.Close
    Set rs = Nothing
    cn.Close
End Sub

動きとしては、レコードが選択されない→ループの中に入らない、という状態です。
730729:2006/02/17(金) 22:33:26
書き忘れてますが、コネクションはこんな感じでrs.Openの前に入れてます。

    cnn.Open "Provider=Microsoft.Jet.OLEDB.4.0;" & _
     "Data Source=" & p_mdbPath & p_fileName & ";"
731デフォルトの名無しさん:2006/02/17(金) 22:41:57
皆様はどういったインストーラをお使いになっているのでしょうか?
VB6 に付属しているディストリビューション ウィザードで事足りるものでしょうか。
732デフォルトの名無しさん:2006/02/17(金) 23:23:50
>>729
ADOの場合、Likeのワイルドカードって*じゃなかった様な気がする。
%だっけか。ヘルプ見てみて。
733デフォルトの名無しさん:2006/02/17(金) 23:40:01
>>731
ディストリビューションウィザードは自分で改造しないと使い物にならない
というのが正直なところ。
InstallShield Expressを使ったほうが良いです。
734デフォルトの名無しさん:2006/02/17(金) 23:44:29
Windows InstallerがMSからダウンロードできるじゃん。
もちろん正規のプロダクトIDが必要だけどねw
まさかヤフオクで入手したVL(w

っていうか、どうせ同じ今から新しく覚えるならVB6ってのは
果たしてよい選択なんだろうかね
735729:2006/02/17(金) 23:45:45
>>732
うぉーありがとうございます!
一発で解決しました!
ACCESSで "%" が使えなかったので、ADOの仕様まで考慮してませんでした。

本当にありがとうございましたー
736デフォルトの名無しさん:2006/02/18(土) 00:19:31
>>735
例えMDBにアクセスしてても、ADOを使ってる訳で、
SQL文はSQLサーバの方の文法になります。
737719:2006/02/18(土) 00:45:36
>>720>>721>>728
PCにインストールされてるMSDNの検索でヒットした正規表現の項目を
使ったのがまずかったようです。微妙に異なる部分に引っかかりました。
ご指摘の通り"{}"で試したところ正常にヒットしてくれました。
この際ちゃんと学習しておくことにします。
738デフォルトの名無しさん:2006/02/18(土) 01:04:51
Dim oHttp As Object
' オブジェクト変数に参照をセットします。
Set oHttp = CreateObject("MSXML2.XMLHTTP")
If (Err.Number <> 0) Then
Set oHttp = CreateObject("MSXML.XMLHTTPRequest")
End If
If oHttp Is Nothing Then
MsgBox "XMLHTTP オブジェクトを作成できませんでした。", vbCritical
Exit Sub
End If
With oHttp
.Open "GET", strURL, False
.setRequestHeader "If-Modified-Since", "Thu, 01 Jun 1970 00:00:00 GMT"
.Send
strHTML = StrConv(oHttp.responseBody, vbUnicode)
End With

このロジックでまれにstrHTMLにCR/LFだけが帰ってくる場合がありますが、
原因・対処方はありますか?
739デフォルトの名無しさん:2006/02/18(土) 07:24:28
捨ててリトライすれば?
740デフォルトの名無しさん:2006/02/18(土) 08:16:51
>>738
ネットワークなんて水物ですよ。
741デフォルトの名無しさん:2006/02/18(土) 15:06:58
>>735
Access、DAOから入ると良く躓く部分だな、そこは。懐かしい。
742デフォルトの名無しさん:2006/02/18(土) 15:26:25
>>738
As Object:CreateObject()よりできる限り事前バインディングのが良く寝?
誰か利点ナリ反論ドゾ
743デフォルトの名無しさん:2006/02/18(土) 15:40:49
>>742
Dim oHttp As XMLHTTP26
Set oHttp = CreateObject("MSXML2.XMLHTTP")
が一番良い。
744デフォルトの名無しさん:2006/02/18(土) 15:49:29
>>743
('A`)?
745pp:2006/02/19(日) 01:02:48
文字の置換で質問があります。たとえば、 "%・%" の%が半角欧文の場合は
半角の中グロにして全角の場合は、全角の中グロにするなど前後のテキストに
応じて変換したいのですが…。
ワイルドカードに任意の複数文字を設定するやり方とかあるのでしょうか?
746デフォルトの名無しさん:2006/02/19(日) 01:35:03
>>745
変換ルールがあるなら素直にfor-nextとmid$()で逐次変換してくのが良いと思うが・・・
747pp:2006/02/19(日) 01:58:10
あいがとうございます。初心者なので便利な関数が用意されているのかと思っていましたが…。
やっぱり自分で流れを作ります。
748デフォルトの名無しさん:2006/02/19(日) 04:33:32
VBSなのですがお願いいたします。

あるフォルダの中に複数のファイルがあります。
それらのファイルのタイムスタンプを見てある時刻以前のものを
削除したいといった処理なのですが

フォルダ:TEST

AAA.txt 2006/02/17 01:30
BBB.txt 2006/02/18 12:15
CCC.txt 2006/02/18 18:45
DDDtxt 2006/02/19 03:30
EEE.txt 2006/02/19 04:27

☆ 2006/02/19 03:30 以前のファイルを削除したい

入門WEBページを見ても検討がつきません。。
正直眠りたい。
肌が。。
749デフォルトの名無しさん:2006/02/19(日) 08:17:24
>>748
FSO使え。

wshの日本語版ヘルプファイルに詳しく載ってる。
MSDNと同じ内容だけど、wsh(vbs、jsなど)使うなら落としておくが吉。

1週間それを読んでもわからなかったらまた来なさい。
750デフォルトの名無しさん:2006/02/19(日) 08:37:30
>>748
VBだとこんな感じ。

Dim objFSO As FileSystemObject
Set objFSO = CreateObject("Scripting.FileSystemObject")

Dim objDir As Folder
Set objDir = objFSO.GetSpecialFolder(SystemFolder)

Dim objFile As File
For Each objFile In objDir.Files
DoEvents

If DateDiff("d", objFile.DateLastModified, "1999/01/01") > 0 Then
Debug.Print objFile.Name, objFile.DateLastModified
End If
Next

Set objDir = Nothing
Set objFSO = Nothing

VBSに DateDiff があるのかどうかは知らない。
751デフォルトの名無しさん:2006/02/19(日) 08:43:51
偶に簡単な質問が来ると、意気揚々とコードまで書いて答える子が居るねぇ
普段は答えられないことをごまかすためになんだかんだ理由付けて叩くくせに
752デフォルトの名無しさん:2006/02/19(日) 10:30:49
まあ>>751みたいな奴もある意味微笑ましいが、確かに
>FSO使え。
みたいな口調を見るとなんだか笑っちゃうよねえ。
やっぱり人間頭の悪さとか精神の未熟さってのはどうやっても隠せないんだな、とw
753デフォルトの名無しさん:2006/02/19(日) 10:43:00
749 >>> 751 >>> 750 >>> 752
754デフォルトの名無しさん:2006/02/19(日) 11:28:14
>>751
簡単な質問にすら答えられない人はここ読まなくていいからね。
755デフォルトの名無しさん:2006/02/19(日) 12:29:32
VB6のFormなんですが、コントロールボタンを閉じると最小化だけにするにはどうしたらいいですか?
通常は[_][□][×]と最小化、最大化/元のサイズ、閉じると3つ並んでますが、
BorderStyleだと、ボタン3つか閉じるのみかしか選べず、
MaxButton=Falseだと無効になるだけで表示は残ります。
コントロールボタンを[_][×]というようにしたいのですが。
VB6の機能のみで出来ないならAPIでも構わないので具体的な回答をお願いします。
756デフォルトの名無しさん:2006/02/19(日) 12:48:19
>>755
VBでは勿論、APIでも非表示には出来ない。
もしやるなら、タイトルバーなしのウィンドの上部を擬似的にタイトルバーにして、
[_][×]とかも全部自分で描画して、其処のマウスイベントを全部拾ってごにょごにょ
しないと。
757748:2006/02/19(日) 14:38:44
>> 749、750、751、752、753、754

無事、解決できました。
日時分秒までの比較を行いたかったので

If DateDiff("d", objFile.DateLastModified, "1999/01/01") > 0 Then

で "s"を指定しました。
コードまで示して頂いて
本当にありがとうございました。
758デフォルトの名無しさん:2006/02/19(日) 14:53:45
>>757
良かったね。
今後は >>751 のせいで、二度とコードは貼られないから。
759デフォルトの名無しさん:2006/02/19(日) 16:13:57
>>724
落としてみたけど原因わかんないな
exitの解釈が違うんじゃない
760デフォルトの名無しさん:2006/02/19(日) 19:51:02
>>724
同じルーチンを2度通るからおかしくなってるんじゃないの
761デフォルトの名無しさん:2006/02/19(日) 21:16:46
みんな優しいな。
762デフォルトの名無しさん:2006/02/19(日) 22:04:04
初歩的な質問ですみません。

DataTableのSelectメソッドで、抽出条件を記述して
DataRow[]を抽出できたのですが、
抽出したDataRowを新規のDataTableに格納したいのですが、
なかなかうまくいきませんでした。

試した方法は、
新規のDataTableのインスタンスを作成してdataTable.rows.addメソッドで
抽出したrowを追加する方法は間違っているのでしょうか。
763デフォルトの名無しさん:2006/02/19(日) 22:46:07
>>762
×やってる事の文章
○コピーペーストでそのまますぐ実行出来る、現象が再現する最小限コードの提示
764デフォルトの名無しさん:2006/02/20(月) 01:34:49
>>743
動作が速くなるとかそういうことでしょうか?
765デフォルトの名無しさん:2006/02/20(月) 03:43:04
>>764
速度は殆ど変わらないんじゃないかな。
MSXMLが存在しなければ全ての機能が動かないってんなら事前バインディングでいいと思う。
プラグインみたいに、あっても無くてもどっちでも動くようにするんならCreateObject
使うしかねーけど。
仕事じゃないんなら事前バインディングで適当に楽したいね。
766デフォルトの名無しさん:2006/02/20(月) 09:01:51
>>764
ちょっと前にそれに関する議論があった様な。
New だと色々不具合が出るよ。
767デフォルトの名無しさん:2006/02/20(月) 12:25:30
なんか勘違いしてる人が多いけど、アーリーバインディング・レイトバインディングってのは
(あえて突っ込まれそうな言い方をするけど)参照変数にナニを使うかの問題であって、
インスタンスをどうやって生成するか、というのとは全く別問題だよ。
768デフォルトの名無しさん:2006/02/20(月) 12:40:37
MSXML2.XMLHTTPつーのは
つかそのProgIDだとせっかくMSXML4.0インスコしてあっても3.0のが適用されちゃうよ
769デフォルトの名無しさん:2006/02/20(月) 12:47:04
>>762
別のデータテーブルのRowのインスタンスを追加は出来ないんで無かった?
新規のデータテーブルに新規のRowを追加した後、それに抽出したRowのデータを流し込む様なコードにすると動くと思うよ
770デフォルトの名無しさん:2006/02/20(月) 12:54:34
>>767
kwsk
771デフォルトの名無しさん:2006/02/20(月) 13:01:04
いや、>>767が間違ってる。
変数の生成メカニズムが違ってくるんだが。

彼の主張が正しいとするなら、レイトバインドによる複数バージョンの互換が説明できないよ。
772デフォルトの名無しさん:2006/02/20(月) 19:48:58
間違ってないってw
つーかそんなもんちょっと調べりゃわかりそうなもんだが。
773デフォルトの名無しさん:2006/02/20(月) 20:28:58
Version:VB6.0
WindowsXP SP2

目的
 特殊なpngファイルを読込み、標準pngに変換する。

問題点
 IHDR、PLTE、IDAT、IEND等の各チャンクと呼ばれるブロック単位から構成されてるとこまでは理解できたのですが
 例えば、IHDRチャンクは実際どういう形式でデータ(色情報等)を保持しているのかといったpngの仕様を知りたいの。

質問
 pngファイルの仕様を日本語訳にしてるサイトってありませんでしょうか。
 または、pngファイルを扱ったサンプルソースを載せてるサイト、参考書でもおっけなのですが。。
 せちからい話、当方、英語がまったくできないため、W3Cのpng仕様サイトを見てもさっぱりなのです。。
 参考サイト(日本語サイト)、参考書などあれば教えてください。よろしくお願いします。
774デフォルトの名無しさん:2006/02/20(月) 20:35:25
>>773
VB関係ないじゃん。
で、Irfanview32 とか LEADTOOLS とかでやった方がいいんじゃないの?
出来るかどうかは知らないが。
775デフォルトの名無しさん:2006/02/20(月) 20:42:36
>>773
東京書籍の「NEW HORIZON」とかが良いんじゃない?
776デフォルトの名無しさん:2006/02/20(月) 20:42:57
>>774
VBで表示しないといけないんです。。
標準pngはフリーのDLLを使用してImageコントロールに表示できてるんで、
あとは標準pngへの変換だけなのです。
また、特殊pngは独自仕様なので、標準pngの仕様をまず知りたいとこなんです。
777デフォルトの名無しさん:2006/02/20(月) 20:44:17
>>775
ありがとうございます!
さっそく調べてみます!
778デフォルトの名無しさん:2006/02/20(月) 20:47:44
>>775
英語の勉強からってことですね。。
779デフォルトの名無しさん:2006/02/20(月) 20:56:20
>>776
LEADTOOLS を調べもせず書いてるでしょう?
780デフォルトの名無しさん:2006/02/20(月) 21:02:44
>>779
グレープシティーのソフトですよね。
LeadToolはバージョン12.0Jを実際に一部機能で使ってるんです。
ただ、特殊なpngファイルが独自仕様のため、外部ツールに頼ることができないのです。
781繁蔵:2006/02/20(月) 21:04:06
失礼します。すいません、初めて2CHやります。お邪魔してもいいですか?
782デフォルトの名無しさん:2006/02/20(月) 21:05:51
>>763
>>769
ご返答ありがとうございました。
Rowを抽出する前のDataTableのCloneメソッドで
テーブル構造が同じDataTableを作成して、このテーブルの
ImportRowメソッドでRowを取り込むことで解決できました。
783デフォルトの名無しさん:2006/02/20(月) 21:15:15
>>780
その特殊なPNGを勝手に作った所で、その非標準のPNGを
表示する方法とか標準に変換する方法を提供してないの?
普通はするけど。
784デフォルトの名無しさん:2006/02/20(月) 21:19:42
>>783
特殊pngを表示する方法はわかってるのですが、
標準pngに変換する方法はわからないんです。
785デフォルトの名無しさん:2006/02/20(月) 21:26:11
>>784
特殊PNGを作った会社(?)に聞けば。
または、表示出来るならクリップボードに入れてペーストすりゃいいじゃん。
786デフォルトの名無しさん:2006/02/20(月) 21:29:31
>>785
なるほど、クリップボードは思いつきませんでした。
ちょいと試してみます。
どうもありがとうです
787デフォルトの名無しさん:2006/02/20(月) 22:03:20
昨日オナ禁したから今日たった今現在ナウ、解禁しようと思うんですけど、おかずくdさい。
788デフォルトの名無しさん:2006/02/20(月) 22:13:56
>>787
つMSDN
789デフォルトの名無しさん:2006/02/21(火) 02:48:00
>788
漏れはInStrRevあたりグッとクるなぁ。
だって「後から検索」だぜ。タマラン。
790デフォルトの名無しさん:2006/02/21(火) 16:13:56
CPU温度を取得する以下のVBScriptなんですが,
実行してもいつも同じ値しか得られず正しい温度でもありません.
CPU温度をリアルタイムにモニタする方法はないでしょうか?

Function ACPI_CPUTemp()
dim r, lu
set PFU = GetObject("winmgmts:{impersonationLevel=impersonate}!root\wmi").ExecQuery _
("SELECT CurrentTemperature FROM MSAcpi_ThermalZoneTemperature")
for each U in PFU
r = r&U.CurrentTemperature
Next
ACPI_CPUTemp = (r - 2732) / 10
set PFU=Nothing
End Function
791デフォルトの名無しさん:2006/02/21(火) 17:21:54
792デフォルトの名無しさん:2006/02/21(火) 18:09:11
現在フォームなしのプログラムを作成しています。
そこで質問なのですが、自分自身のウィンドウハンドルを取得するにはどうすればよいのでしょうか?

フォームがある場合はMe.hWndで求めればよいと思うのですが、今回はフォームがありません。
下記の2通りの方法を考えましたが、もっとスマートな方法はありませんか?
・EnumWindows+GetWindowThreadProcessIdの返り値をApp.ThreadIDプロパティと比較する
・EnumWindows+GetWindowTextの第2引数とApp.Titleプロパティと比較する
793デフォルトの名無しさん:2006/02/21(火) 18:14:48
>>792
ウィンドを作成してないんだから hWnd はないけど。
Sub Main で Load Form1 とかしてその hWnd を使うとか。
794デフォルトの名無しさん:2006/02/21(火) 18:41:42
HP潰す方法教えてください
795デフォルトの名無しさん:2006/02/21(火) 18:53:44
>>794
つ田代砲
796あぼーん:あぼーん
あぼーん
797デフォルトの名無しさん:2006/02/21(火) 22:02:46
>>791
これは値を参照するだけにとどまりますか?
798デフォルトの名無しさん:2006/02/21(火) 22:09:00
>>796
こんなのがあぼーん?
単にURL貼ってあっただけだと思ったけど。

ずいぶんおかしな奴が削除人やってるんだな。
なんか2ch用語でいう「プロ市民」的な病理を感じるよ。
799デフォルトの名無しさん:2006/02/21(火) 22:57:44
>>796
何故?
800デフォルトの名無しさん:2006/02/22(水) 00:12:48
削除議論板にでも行ってこい
801デフォルトの名無しさん:2006/02/22(水) 01:08:10
とあるアプリの検索ボックスに文字をセットしたいのですが、実現する方法はありますか?
802デフォルトの名無しさん:2006/02/22(水) 01:10:14
>>801
ある
803801:2006/02/22(水) 01:13:13
>>802
えーと、具体的にお願いします。
804デフォルトの名無しさん:2006/02/22(水) 01:16:10
>>803
"アプリの検索ボックス"とやらの具体的な例を出したらな

何も分からないのなら、
SendKey()とかWinAPIのSendInput()とかkeybd_event()とか使ったり、
ウィンドウメッセージ送って(運良く)反応してくれるかもしれない。
とだけ言える
805デフォルトの名無しさん:2006/02/22(水) 01:33:07
>>804
調べてみます。ありがとうございました。
806デフォルトの名無しさん:2006/02/22(水) 09:06:50
>>791
そこのWin32_TemperatureProbeを試してみましたが,
For Eachの中が一度も実行されなくて,
何も表示されませんでした.
他のサンプルなら成功するのですが
温度が読めないのはどこに問題があるのでしょうか?
807デフォルトの名無しさん:2006/02/22(水) 13:05:00
>>806
ドライバが入ってないか、そもそも温度センサーが付いていない
808デフォルトの名無しさん:2006/02/22(水) 13:15:49
>>807
MobileMeterというソフトでは
(たぶん)正しい温度が読めているので
そういう問題ではないと思います.
逆にどのような環境では上のスクリプトで
リアルタイムに温度をモニタできるのでしょうか?
809デフォルトの名無しさん:2006/02/22(水) 13:27:17
>>808
っ [S.M.A.R.T機能(対応されているか確認しる)]

つか、製品わかってるなら参照しているDLLをDependencyWalkerなんかで調べればいいのでは?
810デフォルトの名無しさん:2006/02/22(水) 13:47:54
>>808
そのソフトはACPIとかのAPIを直接呼んでるんじゃないの?
811デフォルトの名無しさん:2006/02/22(水) 14:19:14
>>809
調べる前に確認したいのですが,
SMARTはHDDだけでなくCPU温度にも関係あるのでしょうか?

依存しているDLLは以下の通りです.
いずれも基本的なDLLばかりに見えますが
POWRPROF.dllあたりにそういう関数があるのでしょうか?

$ objdump -x mobmeter.exe | grep "DLL Name"
DLL Name: KERNEL32.DLL
DLL Name: ADVAPI32.dll
DLL Name: COMCTL32.dll
DLL Name: GDI32.dll
DLL Name: MSVCRT.dll
DLL Name: POWRPROF.dll
DLL Name: SETUPAPI.dll
DLL Name: SHELL32.dll
DLL Name: USER32.dll

>>810
MobileMeterはACPIを使っているようですが,
これは私の環境ではSMBIOSから読み取るWMIは使えなくて,
ACPIを直接呼ぶ必要があるという理解でよろしいでしょうか?
WindowsでのACPIをいじり方の解説などはないでしょうか?
812pp:2006/02/22(水) 21:37:19
Replace関数でダブルコーテーションと半角スペースの文字列の置き換えができません。
どなたか、知恵をかしてください。初歩的な質問ですいません。
813デフォルトの名無しさん:2006/02/22(水) 21:53:49
""""
814デフォルトの名無しさん:2006/02/23(木) 22:20:52
質問します。

VB6 sp5の環境で開発してるのですが、昨日まで使えてた
Right関数が今日になって 「配列がありません」 と、
未定義の配列であるかのようなエラーとともに使えなくなってしまいました。

VSの標準エディタで right と小文字で打って改行すると、
Right と変換されてるし、識別子カラーで表示されているのにです。

ちなみにLeft関数Mid関数は動きますが、
Right$関数だと、「型宣言文字と宣言されたデータ型が一致しません」と
エラーになってしまいます。

まったく謎な状態です。
どなたか対処方法を教えて下さい。
815デフォルトの名無しさん:2006/02/23(木) 22:26:02
>>814
気のせいですよ
816デフォルトの名無しさん:2006/02/23(木) 22:29:45
一言。
できない奴ほど真っ先に道具を疑う。
VBのバグを疑う前に自分のやってることを疑ってみた?
817デフォルトの名無しさん:2006/02/23(木) 22:30:59
>>814
なぁに、アフリカではよくある事。

それはそうとして、VB6にはSP6を当てましょうね。
818デフォルトの名無しさん:2006/02/23(木) 23:36:34
>>814
とりあえずStrings.Rightに改名する
819デフォルトの名無しさん:2006/02/23(木) 23:38:01
>>816
誰がVBのせいにしてるの?


>>814
標準モジュールでRightという名前の関数を定義していない?
標準関数と同じ名前の関数は作らないほうがいい。

まあ、標準モジュールでRightを定義しても、標準関数を
VBA.Strings.Rightと冗長な正式名で使用する方法もあるけどね。
ちなみに、標準モジュールのRightの正式名は、「標準モジュール名.Right」となる。

820デフォルトの名無しさん:2006/02/23(木) 23:50:59
馬鹿だな。
814の彼はVBのせいにしてるんだよ。間接的に、ではあれ。

でなきゃこんなところで質問する前にリテラルの文字列でRight$が
正しく動作することを確認するはず。

ついでに言えば、814の彼みたいなのは自分の勘違いに気づいて
問題が解決しても絶対に何もレスしないよ。
821デフォルトの名無しさん:2006/02/23(木) 23:53:42
なに必死になってんだよw
822デフォルトの名無しさん:2006/02/24(金) 11:25:16
>>814
本当に参照設定がおかしい可能性もあるが、まず100%ソースのどこかにコンパイルエラーがある
823デフォルトの名無しさん:2006/02/24(金) 12:51:17
モルスァ
824デフォルトの名無しさん:2006/02/24(金) 15:39:15
>>814
たまになったな。
Windows自体をリブートしたら直ったけど。
825814:2006/02/24(金) 21:16:33
返事遅れてすいません。

参照設定で、「使用中のコントロールまたは参照を削除することはできません」って
怒られないものを全部外してみたら動くようになりました。
(何故か同じものが複数チェックされてたり謎な状態だった、、、)
826デフォルトの名無しさん:2006/02/24(金) 21:47:59
参照設定で使用しているライブラリにRight関数が定義されていたのかもね。
そのなぜか同じ物が複数チェックされているのがVB標準ライブラリだったりとか。
827デフォルトの名無しさん:2006/02/24(金) 21:50:31
>>825
ときどき起こります
参照をはずせない場合はvbpファイルを直接エディタで書き換えたりもします

(,,゚Д゚) ガンガレ!
828デフォルトの名無しさん:2006/02/25(土) 00:48:33
Sleipnirの検索欄に検索したい文字をセットする方法はありますか?
829デフォルトの名無しさん:2006/02/25(土) 01:33:44
>>828
あります
830デフォルトの名無しさん:2006/02/25(土) 02:01:28
VB6はフォームモジュールから作られるウィンドウのほかに隠しウィンドウが
1個必ず作られて、App.Titleプロパティはこのウィンドウの
GetWindowText()を返してるんじゃなかったっけな確か。だから逆に
App.TitleでFindWindow()すれば、そのウィンドウのハンドルは取れるよ。
ウィンドウクラスはvbNullStringでも取れるけど、開発環境だと
"ThunderMain"でexeだと"ThunderRT6Main"になる。
これで開発環境とexeの区別を付けてもいいかもしれん。
831デフォルトの名無しさん:2006/02/25(土) 02:57:22
>>830
なんでそんなあやふやな方法で、しかもわざわざAPI使ってやる必要があんのかと
832デフォルトの名無しさん:2006/02/25(土) 10:00:11
>>831
開発環境と実行環境を区別するプロパティ、何だっけ・・・?
833デフォルトの名無しさん:2006/02/25(土) 11:00:28
834デフォルトの名無しさん:2006/02/25(土) 11:31:47
ちょっとわかんなくなってしまったので教えてくれませんか?

項目数、INDEXなど全く同一のTblに対し、VBからSQLを発行して検索した場合と
SqlPlusから検索した場合とで検索結果が違ってくるのですが、
どなたかこういう現象を見た、とか知っている方いらっしゃいませんか?
835デフォルトの名無しさん:2006/02/25(土) 11:35:20
どう違うのかぐらい書けよw
836デフォルトの名無しさん:2006/02/25(土) 11:40:10
>>835
件数が違うのです

件数にして5件VB側の方が少ないです。

他のPCではVBでもPlusでも検索結果が同じなのですが...
837デフォルトの名無しさん:2006/02/25(土) 11:49:02
カナからローマ字のヘボン式に変換するソースありますか?
長音oを含む場合母音を重ねないってとこが上手くいきません・・
838831:2006/02/25(土) 12:38:58
>>832
もともとそんなプロパティは用意されとらんよ
>>833 のEXE名変更は利用者にリネームされたら終わりなのでダメ
GetModuleFileName の方法もEXEをVB6.EXEにリネームされる危険があるんで、
レジストリキーからVB6のインストール先を取得するところまで考慮してなんとか使えるレベル
以下の方法が一番明快、かつ簡単だと思うぞ

Public Function IsIDE() As Boolean
  Debug.Assert IDETest(IsIDE)
End Function

Private Function IDETest(ByRef bIsIDE As Boolean) As Long
  bIsIDE = True
  IDETest = True
End Function

API が使いたくて辛抱溜まらんなら、こういうトリッキーな方法もある
Public Function IsIDE() As Boolean
  Debug.Assert lstrcpy(IsIDE, Chr(1))
End Function
839831:2006/02/25(土) 12:41:43
関数の戻り値の型打ち間違えた
まあ分かるか
840デフォルトの名無しさん:2006/02/25(土) 13:00:40
こういう尊大口調な奴って普段の生活になんか巨大な抑圧でも存在するのかなw
まあギャグのつもりかもしれないが、普通の人はそれを「痛々しい」と見るんだよ。
ひとつ大人になったね坊ちゃん。
841デフォルトの名無しさん:2006/02/25(土) 13:31:58
>>840
痛々しい
842デフォルトの名無しさん:2006/02/25(土) 13:37:17
>>838
何やってるコードかさっぱり分からん・・・
843デフォルトの名無しさん:2006/02/25(土) 14:37:33
>>836
SQLの条件が違うとか?w
844デフォルトの名無しさん:2006/02/25(土) 14:42:57
XMLHTTPとServerXMLHTTPでは処理速度に関して違いはありますか?
845デフォルトの名無しさん:2006/02/25(土) 14:43:21
>>844
ほとんどない。
846デフォルトの名無しさん:2006/02/25(土) 14:58:07
>>844
何で処理速度なんか気にするのか理解出来ない。
例え差があったって、1000億回位ループする中でやるとか以外、
何の問題もないだろうに。
そうじゃない処理を1msや2ms速くしたって何だと言うのか。
847デフォルトの名無しさん:2006/02/25(土) 15:02:17
>>836
OracleのOO4OのどっかのバージョンはFetchにバグがあって、ページまたぎのFetchを取りこぼすとか昔あったな〜

で、DBのバージョンとミドルウェアのバージョンは?
848デフォルトの名無しさん:2006/02/25(土) 15:25:02
>>834
SQL文が間違ってるんでしょう。
849デフォルトの名無しさん:2006/02/25(土) 16:35:21
>>834
ほかのPCが何を指してるのか
850844:2006/02/25(土) 17:27:19
>>845
ありがとうございます

>>846
単純に知りたかっただけです。
851デフォルトの名無しさん:2006/02/25(土) 18:52:01
ヘッドハンター西脇を公開しました
http://www.vector.co.jp/soft/winnt/net/se392514.html
852デフォルトの名無しさん:2006/02/25(土) 20:16:08
>>837
> カナからローマ字のヘボン式に変換するソースありますか?
あるよ。
先に言っておくけど、呉とか言わないでね。



>>838
超有名な手法だね。
2ch以外でも掲示板でこの手の質問が出ると、必ず誰かがコレを書き出す。
まぁ関数名や引数名はちょっと違ったりするけどね。
個人サイトのVB Tipsなんかにも載ってたこと有るし。
853デフォルトの名無しさん:2006/02/25(土) 20:56:23
>>852 
長音を含む母音のときどう書くのですか?
促音とかはできたのですが。。
854デフォルトの名無しさん:2006/02/25(土) 22:12:53
VBから呼び出したIEのサイトのテキストボックスに
文字入力したいんですが・・・テキストボックスの指定の
仕方がわからない。どうやってかいたらいいのか・・・orz
わかる方教えてくださいm(_ _)m
855デフォルトの名無しさん:2006/02/25(土) 22:30:17
>>831
ああごめん、>>792を読んだもんだからちょっと思い出してみただけです。
アンカー付け忘れ。IDEとexeうんぬんは余談で。
856デフォルトの名無しさん:2006/02/25(土) 22:41:18
>>842
Debug.Assertが実行されるかどうかをブール値で返してるの。
あと誰も「API」を「使いたくて」使ってるわけなんかないから、最後の
トリッキーとか言うのは読まなくていい。
857デフォルトの名無しさん:2006/02/25(土) 23:13:06
>>792
AllWin32.Ocx を使うとか。

>>856
自分自身の Function 名を引数で渡して ByRef bIsIDE As Boolean で受ける、
なんて、よく思い付くな・・・
確かに、関数名の変数に戻り値を設定出来るけど・・・
ったく、世の中には頭の良い人が一杯だ。
858デフォルトの名無しさん:2006/02/26(日) 05:53:39
ThunderRT6Main で思い出した

ThunderRT6Main の「Thunder(サンダー)」はVBの開発プロジェクトコード名
MSのプログラミングツール製品のイベントには雷のアイコンが使われているけど ココから来てるとの事
VB誕生当時、完全なイベント駆動は画期的だったらしく 現在も「サンダー」が名残っています

まぁ知ってても役に立たないVB豆知識でした
859デフォルトの名無しさん:2006/02/26(日) 07:59:13
>>858
一番最初にVBを開発したのはMSじゃぁないんだけど・・・
860デフォルトの名無しさん:2006/02/26(日) 14:47:40
FindFirstChangeNotificationとWaitForSingleObjectを使った
フォルダ監視のプログラムを常駐させています

FindFirstChangeNotificationがタイムアウトを返せば関数を再帰呼び出し、
ファイル変更のシグナルを検知すれば処理を行って、また監視継続させます

日中はそれでうまく動いているのですが、深夜・早朝も使うことがあるため、
パソコンをつけっぱなしで放置しています

次の日の朝確認すると、再帰呼び出しのCallのところで
「スタック領域が不足しています」とエラーが出て、止まってしまいます

スタックを増やすか再帰呼び出しごとに解放できればいいと思うのですが、
方法がわかりません・・・

VBでは無理なんでしょうか?
861デフォルトの名無しさん:2006/02/26(日) 15:02:21
>>860
そんな処理になんでリエントリを使う必要があるのよ。
根本的に考え方がおかしい。
862デフォルトの名無しさん:2006/02/26(日) 15:13:47
再起呼び出しを使ってみたい年頃なのね
863デフォルトの名無しさん:2006/02/26(日) 15:16:48
>>860
わざわざ API なんか使わなくても Dir$ でいいじゃん。
864デフォルトの名無しさん:2006/02/26(日) 15:18:39
>>863
今の問題はそこではない
865860:2006/02/26(日) 15:25:59
はじめはdo loopとdirでやっていたのですが、
CPU使用率が常に100%になってしまうので
別の方法はないかと、見つけたのが
こういうやり方だったんです…

どんな考え方をするべきなんでしょうか
866デフォルトの名無しさん:2006/02/26(日) 15:27:38
単純にFindCloseChangeNotificationを呼んでないとか。
本当にこれに「再帰呼び出し」を使ってたらただの馬鹿だが、
繰り返し呼び出すくらいの意味に勘違いしてるだけだと思うが。
867デフォルトの名無しさん:2006/02/26(日) 15:28:11
>>865
つ Timer
868デフォルトの名無しさん:2006/02/26(日) 15:31:52
>>865
つDoEvents
869デフォルトの名無しさん:2006/02/26(日) 15:35:03
>>868
DoEvents はスタックオーバーフローの温床になるので
使用は極力控えましょう
870デフォルトの名無しさん:2006/02/26(日) 15:35:18
質問者が馬鹿なら突っ込む方はもっと馬鹿かw
タイマなんか使えるわけないだろw
次のインターバルで待機関数呼び出すまでの間にイベントが起こったらどうするんだよw

正攻法にCでdll作ってスレッドでやるのがいいんじゃないの?
スレッドでフォルダを監視して、イベントを検出したらフラグを立てる。
VB側ではそのフラグをポーリングすると。
あるいはウィンドウメッセージ送出するとか。
871デフォルトの名無しさん:2006/02/26(日) 15:35:51
WaitForSingleObjectを使うならスレッドを起こさないとなー
しかしVB6では無理だしなー。
まあ、再起呼び出しはアホ過ぎるが
872デフォルトの名無しさん:2006/02/26(日) 15:37:16
ちとかぶったか
873870:2006/02/26(日) 15:41:42
ああタイマってのはDir使ってイベントの検出を自前で実装するってことか。。。
スマン、俺が馬鹿だったw
874860:2006/02/26(日) 15:44:07
>>866
単純に呼んでませんでした…
今日はこれを入れて常駐させて様子見します
ありがとうございました

>>870-871
Cはやったことないです…


馬鹿ですみませんでした
これで失礼します
875デフォルトの名無しさん:2006/02/26(日) 15:47:34
>>874
VB.NETに乗り換えればそのものずばりのコンポーネントがデフォであるぞよ。
876デフォルトの名無しさん:2006/02/26(日) 15:50:43
>>874
再起呼び出しをやめないとcloseしても
そのうちスタックオーバーフローは発生するぞ
877デフォルトの名無しさん:2006/02/26(日) 15:50:44
あれはでもWin9xでは使えんよ
878デフォルトの名無しさん:2006/02/26(日) 15:53:52
>>869
それは使い方を間違えてるだけ。
879デフォルトの名無しさん:2006/02/26(日) 15:59:18
DoEventを使ってもCPU使用率100%を下げるのには役に立たない。
単に画面が張り付くのを回避できるだけ。
880デフォルトの名無しさん:2006/02/26(日) 16:04:48
>>878
別に使うなとは言わん
Gotoだって使い方を間違えなければ、使えないことはない
俺は間違えない!って考えの人なら、もはや言う言葉は無いがな
881デフォルトの名無しさん:2006/02/26(日) 16:17:27
CPU使用率を下げるならSleep(1)だな
882デフォルトの名無しさん:2006/02/26(日) 16:21:25
DoEvents で CPU 使用率上がっても、別に他の操作に影響ないよね。
他の作業で上がった場合、他の操作に影響出るけど。

>>881
通信系とかは、Sleep 使わない方がいいと思う。
883デフォルトの名無しさん:2006/02/26(日) 17:26:31
■VBのバージョン : VB6

カナからローマ字のヘボン式に変換するソースありますか?
長音oを含む場合母音を重ねないってとこが上手くいきません・・

上記のソースないっすか?
884デフォルトの名無しさん:2006/02/26(日) 17:39:31
あるよ
885デフォルトの名無しさん:2006/02/26(日) 17:43:54
>>882
> DoEvents で CPU 使用率上がっても、別に他の操作に影響ないよね。
あるだろ。他の操作に割り当てられるCPUが減る。
他の操作に使用するCPUが少なければ実害は無いかもしれんが、
他の操作に使用するCPUが多ければ、確実にその操作に影響を与える。
886デフォルトの名無しさん:2006/02/26(日) 18:04:25
>>883
その上手くいかないコードを出せば、修正点を指摘してくれる人は居るかもしれないが
このスレに限らず、コード丸投げソースクレクレはこの板では嫌われてる。

結局それらは努力せずに利益だけ得ようっていう甘ちゃんな考え方だし。
「ものすごく努力したんですが上手くいきません」って、その努力の結果(ソースコード)も出さずに
口先だけで語られても全然説得力無いし
887pp:2006/02/26(日) 18:18:15
テキスト処理で1行ずつ取り出して文字の置き換えをするプログラムで取り出した
文字列が改行のみの場合にその文字列自体をなくすには、どうすればよいでしょうか。
Replace関数で”\n”を””にしてみましたけどだめでした。初心者の私に教えてください。
888デフォルトの名無しさん:2006/02/26(日) 18:48:07
いや、VBのReplace関数は正規表現サポートしてないんだから、
vbcrlfをvbnullstringにしないと。
RegExpやBREGEXPのReplace関数なら普通は\r\nでしょ。
まあ、\nでいい場合や\rのみの場合もあるので、
改行コードについては自分で調べて適切なもの使いな。
VBの組込定数でもvbcrとかvblfとかあるからさ。
889デフォルトの名無しさん:2006/02/26(日) 18:52:49
>>885
いや感覚としてサ。
他の作業(例えばスーパーπとか)でCPUが100%になると、
他の作業がカクカクするけど、DoEvents を入れたVBの無限ループで
CPUが100%になっても、大してカクカクしないからサ。サ。
ちょっとVB起動して検証してみてくれるカナ?カナ?

>>887
置き換えるのをやめればいいんじゃね?
一行読む→変換→変換後を書き込む、なら、「変換後を書き込む」をしない。
890デフォルトの名無しさん:2006/02/26(日) 19:07:34
>>889
DoEventで未処理のWindowメッセージを処理するわけだから
GUIについては「感覚として」重くはならんだろうけど
低プライオリティで動いてるプロセスやCPUの使用率見て動作する省電力機能などに影響は大きいよ。
外注がそんなプログラムをもってきたら即差し戻しだな。
891デフォルトの名無しさん:2006/02/26(日) 19:11:16
ユーザにとっては感覚が軽いほうがいいんだよ
892デフォルトの名無しさん:2006/02/26(日) 19:22:03
もしかしてWindows3.1とか使ってないか?
メッセージループのアイドルタイムにCPUバウンドな計算をさせるってテクニックがあったのを思い出した。
893デフォルトの名無しさん:2006/02/26(日) 19:30:06
>>887
Line Input だと LFのみは行区切りとは見なしてくれないの?
そうだとすると、vbCR ( chr(10) ) を "" にリプレースではだめかな。
VBでは¥はエスケープ文字としては使えない。
894デフォルトの名無しさん:2006/02/26(日) 19:35:56
>>889
カクカクとかそういうアバウトな感覚で答えないでくれないかな。
仮にOS上で優先順位が同じ二つのプロセスしか動いていないとする。

一つはCPU100%使用するアプリ。一つはCPU10%程度ですむアプリ。
OSはこの二つのアプリに50%ずつ割り当てるから、
当然、CPU10%程度ですむアプリは十分なCPUを割り当てられているから
カクカクならない。
これをみただけで結論だしてるでしょ?

一つはCPU100%使用するアプリ。一つはCPU70%必要なアプリ。
こういう場合には、50%しか割り当てられないから、
CPU70%必要なアプリは遅くなるんだよ。
895デフォルトの名無しさん:2006/02/26(日) 19:37:55
>>890
成る程、ポン。
896デフォルトの名無しさん:2006/02/26(日) 19:40:31
>>893
訂正 vbCR > vbLF

補足すると VBで "\n" にあたるのをCで書くと "\\n" で、つまり見た目どおりの文字列。
897pp:2006/02/26(日) 19:52:22
>>888>>889>>893 ありがとうございました。
もともとLine�Input�には改行コードが含まれてないようなので>>889さんの意見の通りに
書き込みをしない事にして解決しました。みなさん、貴重な意見ありがとうございました
898デフォルトの名無しさん:2006/02/26(日) 20:25:26
899デフォルトの名無しさん:2006/02/26(日) 20:40:02
>>891 >>898 引っ掻き回してるのはこいつかw
900デフォルトの名無しさん:2006/02/26(日) 21:13:09
VBって、確か中間コードにコンパルされるんだよね。
その言語仕様が解説されたサイトを教えて下さい。
901デフォルトの名無しさん:2006/02/26(日) 21:16:11
902デフォルトの名無しさん:2006/02/26(日) 22:02:25
>>900
P-CODE?
VB5以降は、とりあえずオブジェクトファイル作られて(そして普通は消される)けど、最終的にはネイティブ
903デフォルトの名無しさん:2006/02/26(日) 22:08:30
>>902
コンパイルでPコード選んでも?
904デフォルトの名無しさん:2006/02/26(日) 22:35:11
いやP-CODEは…あれはインタプリタだっけ?
あんまり使わないからよーわからん
905デフォルトの名無しさん:2006/02/27(月) 11:14:16
>>854
getElementByIdかgetElementsByNameで取得して代入。
906デフォルトの名無しさん:2006/02/27(月) 21:30:47
ネットワークカードが2枚刺さってる環境で、Winsockを使用してUDP通信をしています。

ネットワークカードは別セグメントで

1枚目:192.168.10.1 → VBから使用している側
2枚目:192.168.20.1 → ルーターを介して別ネットワークへ

といった感じになっています。

この場合、Winsockに「192.168.10.1」側のLANカードを使用する、といった設定は
必要になるのでしょうか?

というのも通信が不安定で頻繁に接続が切断されているんです…orz

試しにルーター側のネットワークケーブルを引っこ抜いてみると
通信は安定します。

ルーターの設定が原因かもしれませんのでスレ違いかもしれませんが、
わかる方いらっしゃいましたら教えてくださいm(_ _)m
907デフォルトの名無しさん:2006/02/27(月) 22:43:30
>>906
IPアドレスとポート番号の指定だから、それは関係ない様な気がするけど・・・
route コマンドとかは?
908デフォルトの名無しさん:2006/02/28(火) 00:26:35
テキストボックスを選択した部分だけStrConvで変換して
選択部分とキャレットの位置はそのままにしたいのですが
テキストを右の方から選択してキャレットが選択位置の
左側にある場合はSel***系のプロパティだけで実装できるでしょうか?
909デフォルトの名無しさん:2006/02/28(火) 01:29:20
>>908
出来る。
910デフォルトの名無しさん:2006/02/28(火) 01:39:44
>>909
うそつき
キャレットの位置は無理
911デフォルトの名無しさん:2006/02/28(火) 08:22:24
そうやって相手すると馬鹿が居つくよ。
まあ相手されないならされないでこういう奴はされるまで居つくだろうけどw
地縛霊みたいなもんか。
912デフォルトの名無しさん:2006/02/28(火) 11:20:45
>>908
何がやりたいのかサッパリ理解出来ない・・・
913デフォルトの名無しさん:2006/02/28(火) 13:18:40
AB[CD]lE ([]=選択範囲 l=キャレット)

AB[cd]lE
にして、選択範囲もキャレットも維持したいんだろ。
で、キャレットが選択範囲の左右どちらにあるかで、Sel****で
実現できるかどうか変わると。
914デフォルトの名無しさん:2006/02/28(火) 13:59:27
>>913
右から左へ反転選択した場合だって実現出来るんじゃないの?
SelText / Mid$ とか使えば、どっちにキャレットがあるから分かるから、
改めて左から右へ反転選択し直すとかして。
単なる文字列処理なんだし。
915デフォルトの名無しさん:2006/02/28(火) 14:11:31
>>914
キャレット位置の取得/設定プロパティはない。
916デフォルトの名無しさん:2006/02/28(火) 14:42:10
ええぇぇぇ?
917デフォルトの名無しさん:2006/02/28(火) 15:19:37
>>906
OSは何?98/Meはどうあがいても無理
NT系ならrouteコマンドでちゃんとルーチング設定しろでFA
918デフォルトの名無しさん:2006/02/28(火) 16:22:21
>>916
あったっけ?
どんな名前?
919デフォルトの名無しさん:2006/02/28(火) 16:35:06
>>918
ないよ、909と916がアホなだけ
たぶんキャレットと選択範囲の区別すらついてない
920デフォルトの名無しさん:2006/02/28(火) 17:11:53
>>919
でも、確かに、あってもいいプロパティだよね。
って、今迄に一度も必要になった事はないけど・・・
921デフォルトの名無しさん:2006/02/28(火) 17:19:50
まー、無いなら無いでいいんじゃない?
この先どうなろうと俺らの知ったことじゃないし
922デフォルトの名無しさん:2006/02/28(火) 20:14:34
GetCaretPosとかの話題をあえて避けてるような空気
923デフォルトの名無しさん:2006/02/28(火) 20:46:53
ためしにTextBox:Text1をForm:Form1に貼り付けて、次のコードぶち込んで実行し
private sub Text1_Change()
debug.print Text1.SelStart
end sub
924デフォルトの名無しさん:2006/02/28(火) 21:51:36
>>922
クライアント座標を受け取っても、何文字目かは分からない・・・
925デフォルトの名無しさん:2006/02/28(火) 22:17:54
EM_LINEINDEXとかの話題をあえて避けてるような空気
926デフォルトの名無しさん:2006/02/28(火) 22:49:06
>>925
それ、複数行のやつしか使えないんじゃなかったっけ?
927デフォルトの名無しさん:2006/02/28(火) 22:53:37
何か問題でも?
928デフォルトの名無しさん:2006/02/28(火) 23:02:00
VBの用語を調べられるサイトってある?
929デフォルトの名無しさん:2006/02/28(火) 23:11:26
>>927
複数行じゃないやつに使えない。
930デフォルトの名無しさん:2006/02/28(火) 23:12:42
>>928
つMSDN
931デフォルトの名無しさん:2006/02/28(火) 23:44:16
>>929
何か問題でも?
932デフォルトの名無しさん:2006/03/01(水) 00:25:11
>>922
まーた、試したこともないのに適当なこと抜かすやつが出てきたな
SetCaretPosで見た目上、位置を変更できたように見えるが
VBのテキストボックスが内部でキャレット位置を保持していて
現在の位置を無視するので動作がおかしくなるだけ

>>924
EM_POSFROMCHAR で分かる
933デフォルトの名無しさん:2006/03/01(水) 02:05:15
VB6.0で、テキストボックスに文字を入力できないようにするのは、
KeyPressイベントでKeyCode=0にするまでは解ったのですが、
既に入力されている文字をDELETEキーで削除できてしまいます。

DELETEキーを受け付けないようにしたいのですが、
どのようにすればいいのでしょうか??
934デフォルトの名無しさん:2006/03/01(水) 02:21:38
>>993
KeyDownイベントで KeyCode = 0
というか、テキストボックスに文字を入力できないようにするなら
Text1.Locked = True でいいんじゃない?
KeyPressやKeyDownでキーコードつぶすのは、
キーによって細かく動作を変えたいような場合にしか使わんよ
935デフォルトの名無しさん:2006/03/01(水) 02:22:43
Locked
936デフォルトの名無しさん:2006/03/01(水) 06:14:49
Dim s, l As Integer
With Text1
s = .SelStart
l = .SelLength
.SelText = UCase(.SelText)
.SetFocus
.SelStart = s
.SelLength = l
End With
937デフォルトの名無しさん:2006/03/01(水) 08:09:43
> Dim s, l As Integer
> Dim s, l As Integer
> Dim s, l As Integer
938デフォルトの名無しさん:2006/03/01(水) 14:11:43
> Dim s, l As Integer
> Dim s, l As Integer
> Dim s, l As Integer
939デフォルトの名無しさん:2006/03/01(水) 16:03:54
940デフォルトの名無しさん:2006/03/01(水) 21:22:09
たとえばテンキーの"+"を押したときにコマンドボタンをクリックさせるのって

keydownイベントに

if keycode = (107) then
commanbutton1.value = true
end if

じゃだめなんですかねー^^;
941デフォルトの名無しさん:2006/03/01(水) 21:30:40
失礼!
commanbutton1→commandbutton1
942デフォルトの名無しさん:2006/03/01(水) 21:45:11
Callしてやれば同じ事だろ
943デフォルトの名無しさん:2006/03/01(水) 21:52:51
>>940
Private Sub Command1_KeyDown(KeyCode As Integer, Shift As Integer)
If KeyCode = &H6B& Then
KeyCode = VBRUN.KeyCodeConstants.vbKeySpace
End If
End Sub
944デフォルトの名無しさん:2006/03/01(水) 21:53:18
いや ビジュアル的に
ボタン押してるアニメーションも欲しかったので
945デフォルトの名無しさん:2006/03/01(水) 21:56:03
>>943
&H6B& → vbKeyAdd
946デフォルトの名無しさん:2006/03/02(木) 03:34:33
>>934
Locked ってXPだとバグあるよね
Locked = True なのにコンテキストメニューからペーストできちゃう
947デフォルトの名無しさん:2006/03/02(木) 05:14:00
>>946
そんなバグつきのバージョン使ってるやつのことなんかしらね
アップデートできない事情があるならコンテキストメニューも潰せ
948デフォルトの名無しさん:2006/03/02(木) 05:59:45
WebBrowserで異なるドメインのためアクセスできないフレームのドキュメントにアクセスする方法を教えてください
949デフォルトの名無しさん:2006/03/02(木) 06:00:20
嫌です
950デフォルトの名無しさん:2006/03/02(木) 06:37:52
くずが
951デフォルトの名無しさん:2006/03/02(木) 09:13:44
>>946
VB6はXPで動作保証されてません。
「MSのサイトでは云々」って話は無意味だから。
952948:2006/03/02(木) 10:34:56
誰かわかる人いませんかー?
953デフォルトの名無しさん:2006/03/02(木) 10:42:45
いません
954デフォルトの名無しさん:2006/03/02(木) 10:51:08
>>952
ドメインが違うとアクセス出来ないのは何故?
URLでサイト開くんじゃないの?
955デフォルトの名無しさん:2006/03/02(木) 11:03:32
>>954
たとえば www2.2ch.net/2ch.html を開いて板一覧のDocumentにアクセスしようとしてもできないです
これを解決する方法を教えてください
956デフォルトの名無しさん:2006/03/02(木) 11:35:56
>>955
現象が再現する必要最低最小限のコードは?
957デフォルトの名無しさん:2006/03/02(木) 11:45:51
>>956
Private Sub Form_Load()
  WebBrowser1.Navigate "http://www2.2ch.net/2ch.html"
End Sub
Private Sub Form_Click()
  Dim Doc As Object
  Set Doc = WebBrowser1.Document.frames(0).Document
End Sub

958デフォルトの名無しさん:2006/03/02(木) 13:03:33
>>957
With WebBrowser1
Dim Doc As HTMLDocument
Set Doc = .Document.frames(0)
End With
959デフォルトの名無しさん:2006/03/02(木) 14:44:26
>>958
ありがとう
でも、私の目的とするところは、ちょっと違うんです
そのコードでオブジェクトそのものは取れても、Documentのプロパティにはほとんどアクセスできないんです
具体的には、そのDocumentオブジェクトを使って、板リンクのURLを取得するとか、そういうことを目的としています
「Documentにアクセス」っていう私の説明の仕方が悪かったですね、すみません
960デフォルトの名無しさん:2006/03/02(木) 15:05:03
>>959
つXMLHTTP オブジェクト
961デフォルトの名無しさん:2006/03/02(木) 16:00:16
>>960
ソースをDLして解析しろってことですよね?
それだと動的な状態が取れないんで、ちょっと困るんです
あくまでもWebBrowserなんで、ブラウザであれこれ操作したいんです
962デフォルトの名無しさん:2006/03/02(木) 17:42:40
NUMLOCKオフった時のテンキーの5キーの定数ってあるんですか?
色々調べたんですがわかんなかったんで
963デフォルトの名無しさん:2006/03/02(木) 17:46:30
>>961
ブラウザの内部状態を知るにはブラウザを作れば良い
964デフォルトの名無しさん:2006/03/02(木) 18:28:20
>>963
それは要するにWebBrowserでは不可能だということですか?
965デフォルトの名無しさん:2006/03/02(木) 19:19:06
TDBGridって動的にセルの数を増減できないのかしら。
966デフォルトの名無しさん:2006/03/02(木) 19:28:19
>>962
つKeyCodeConstants.vbKeyClear
967デフォルトの名無しさん:2006/03/02(木) 20:18:47
WebBrowserを使っているオブジェクト(つまり自作アプリ)からだと
WebBrowserオブジェクト内のほとんどにアクセスできそうだけどな。
フレーム使っているから、その親(つまり2ch.net)のセキュリティが
適用されるのかな?

まーあれだ。2chなら、直接ファイル(dat?)を見に行けと。
968デフォルトの名無しさん:2006/03/02(木) 20:38:38
>>965
つMaxRows
969デフォルトの名無しさん:2006/03/02(木) 21:21:35
>>968
ありがとう。

でも、知りたいのはカラム数の増減なの、ごめんね。
970デフォルトの名無しさん:2006/03/02(木) 21:51:37
>>969
Column の Width を 0 にしたり、Visible を False にすりゃいいじゃん。
971デフォルトの名無しさん:2006/03/03(金) 00:08:46
>>946
Lockedは2000から貼り付け可能です。
ですから、2000でもVB6アプリは動作保証されないということです。


さて、このスレッドももう次はいらないですよね。
972デフォルトの名無しさん:2006/03/03(金) 00:09:50
必要に一票
973デフォルトの名無しさん:2006/03/03(金) 00:17:31
>>946
もしかしてSP6で直ってる?割と有名な放置バグだと思っていたんだが再現しない。
974デフォルトの名無しさん:2006/03/03(金) 00:30:27
次スレイラネ
975デフォルトの名無しさん:2006/03/03(金) 00:31:00
イヤ イルネ
976デフォルトの名無しさん:2006/03/03(金) 00:31:32
つか作っちゃうよ?
977デフォルトの名無しさん:2006/03/03(金) 00:36:24
>>971
莫迦発見。2000は完璧にサポート範囲内だ、っての。
Locked が動作しないのは、お前の糞環境だけ。
978デフォルトの名無しさん:2006/03/03(金) 00:40:42
ただの煽り厨に反応するなよ
979デフォルトの名無しさん:2006/03/03(金) 02:22:19
次スレいるとか言ってるやつはただの教えたがり君だって噂。
980デフォルトの名無しさん:2006/03/03(金) 02:45:16
ん? 次スレたてたけどどうする?

VBプログラマ質問スレ(6.0以前) Part47
http://pc8.2ch.net/test/read.cgi/tech/1141320612/
981デフォルトの名無しさん:2006/03/03(金) 02:47:51
質問があれば使うし無ければ消えるからどうもしないよ?
982デフォルトの名無しさん:2006/03/03(金) 03:24:53
継続するべし・・・・・・・・・・・・・・・・・・・・・・
983デフォルトの名無しさん:2006/03/03(金) 04:27:40
初心者です。作ったものをコンパイル?圧縮?して保存する方法教えてください。
BASICソフト無しの一般PCでソフトをインストールして使えるようにです。
984948:2006/03/03(金) 08:09:40
>>967
>フレーム使っているから、その親(つまり2ch.net)のセキュリティが適用されるのかな?
そうなんですよね、その辺は承知の上でどうにかしたかったんですけど
WebBrowser 側からすれば、呼び出し元が JavaScript か VB かというような判断はできないのか
一律で JavaScript と同レベルのセキュリティーにされちゃってるんですよね

どうやら、純粋にVBだけでどうにかするのは無理っぽいのでTLBをしこしこ作って
参照設定してからこつこつインターフェースを変換していったら何とかドメインを跨いでアクセスできました
答えてくれた方々ありがとうございました

>>971
SP5 以上で直ってるはずですから、いまだにLockedがおかしいとしたら
大昔のSPしか当てていないか、SPをまったく当てていないからでしょう
下記サイトからSP6を入手してください
http://www.microsoft.com/japan/msdn/vstudio/downloads/sp/order_vs6sp6.asp

>>983
一番簡単な方法はディストリビューション ウィザードを使用することです
もっと詳細にインストールをしたい場合は、ディストリビューション ウィザードで
依存ファイル(DEP)を作成して、それを元に Visual Studio Installer を使うとよいです
もしくは、依存ファイルの記述を参考に必要なファイルを集めて
フリーのインストーラ(例えばBegin! Setup 200x)を使えば良いでしょう
985デフォルトの名無しさん:2006/03/03(金) 08:26:57
>>983
http://dobon.net/vb/installer/index.html
この中から好きなのを使いましょう。
ちなみにディストリビューションウィザードは、全角文字を使った
Windowsユーザー名でインストールするとエラーが発生する
不具合があるので注意。
986デフォルトの名無しさん:2006/03/03(金) 16:35:44
input # ステートメントでファイルを読み込んでいくと、勝手に次の行に移動してしまうんですが、
これをレコードセットのように、前の行、後の行と自分で移動させるにはどうしたらいいのでしょう?
987デフォルトの名無しさん:2006/03/03(金) 16:54:03
>>986
テキストデータソースドライバを使って、
テキストファイルをDBの様にアクセス。
988デフォルトの名無しさん:2006/03/03(金) 23:25:32
ちと、申し訳ない、EXCEL95なんだが、VBAでお尋ねしたいが・・・

VBAの中で、Asc関数(全角カナ文字列を半角カナ文字列)と同様のことをしたい。

やりたいことは、VBAの中での、列の文字検索。
全角カナ文字列を読込み、半角カナ文字列の列を検索してもうまく検索してくれない。

Set foundCell = Worksheets(OUT_S).Columns("N").Find(M_NAM, , xlValues, xlWhole)
で、うまくいかず・・・

変数の M_NAM を半角カナ文字列としたい。
または、検索を出来るようにしたい。

なにか、よいアイデアを、お願いします。
989デフォルトの名無しさん:2006/03/03(金) 23:29:57
10年前の製品のことが分かる人っているのかなw
っていうか、Excel95のマクロってVBだったっけ?
StrConvはないのかな。
990デフォルトの名無しさん:2006/03/03(金) 23:59:03
>>988
ジダイオクレ
イイカゲン アプデートシル
991デフォルトの名無しさん:2006/03/04(土) 00:14:58
>>889
その当時はVABっていってたね〜〜

>>990
まあね〜。まあ、ネットもつながってるし、お金もないしでさ〜〜〜〜

どなたか、ココロやさしいかた、パソコンちょ〜〜〜〜だい!!
秋には新しいWindowsも登場するみたいだしさ〜〜〜
992デフォルトの名無しさん:2006/03/04(土) 01:35:44
mid("アイウエオ”,instr("アイウエオ",c),1)
993デフォルトの名無しさん:2006/03/04(土) 02:55:08
>>992
あ〜、ごめん、ありがとう。
けど、おれの説明の言葉がたりなかった、ゴメン!!

やりたいことは、EXCELのシート内で列を指定しての文字検索をVBAで行いたいのです。

検索したい文字はシート内から読込みで、全角文字です。  
検索するのはシートの列で半角文字で対象はあります。

  Set foundCell = Worksheets(OUT_S).Columns("N").Find(M_NAM, , xlValues, xlWhole)

でやると、全角と半角文字を区別しちゃって、対象が存在するんですが検索されないので、
全角文字を半角文字にして検索をしたいのです。
994デフォルトの名無しさん:2006/03/04(土) 04:58:23
6.0で質問です
MSChartを使用したプログラムを作ってVBのインストールされていない環境で実行しようとしているのですが
そのOCXはofficeに標準で入っているんでしょうか
995デフォルトの名無しさん:2006/03/04(土) 09:51:45
>>994
VBに添付されてるんじゃないの?
996デフォルトの名無しさん:2006/03/04(土) 11:55:00
>>995
おまえはバカか?w
997デフォルトの名無しさん:2006/03/04(土) 15:03:05
998デフォルトの名無しさん:2006/03/04(土) 15:14:41
VBプログラマ質問スレ(6.0以前) Part47
http://pc8.2ch.net/test/read.cgi/tech/1141320612/
999デフォルトの名無しさん:2006/03/04(土) 15:15:55
さっきラーメン食ってきたんだよ
1000デフォルトの名無しさん:2006/03/04(土) 15:20:11
1000だったら処女と結婚出来る
10011001
このスレッドは1000を超えました。
もう書けないので、新しいスレッドを立ててくださいです。。。