VB.NET質問スレ (Part10)at TECH
VB.NET質問スレ (Part10) - 暇つぶし2ch29:デフォルトの名無しさん
05/02/28 10:08:52
>>28
プロパティのHideSelectionだっけかな

30:デフォルトの名無しさん
05/02/28 10:27:52
>>29
ありがトン
できました。

31:デフォルトの名無しさん
05/02/28 11:21:19
デフォルトボタンを指定したいのですが
defaultプロパティがありません。
どうしたらよいでしょうか?

32:デフォルトの名無しさん
05/02/28 11:29:09
FormのAcceptButtonプロパティかね。

33:デフォルトの名無しさん
05/02/28 11:37:40
>>32
おぉ!たんくす。
フォームのプロパティになっていたとは

34:デフォルトの名無しさん
05/02/28 11:40:09
VB.NETでActivXコントロールは作成できないのでしょうか?
VB.NETでプログラムを作ってたのに、VB6で作り直しかな・・・

35:デフォルトの名無しさん
05/02/28 11:45:04
>>34
URLリンク(www.microsoft.com)
手間はないが、exe/dllを置く場所が微妙にやっかいなのでVB6で書けるならそっちの方が楽。

36:34
05/02/28 11:51:03
>>35さん
ありがとうございます。調べてみます。

37:デフォルトの名無しさん
05/02/28 12:20:25
Visual Studio 2003 です。

VB.NET で C# みたいな /// と入力してできるコメント(XMl コメント?)
を入力する事はできないんでしょうか?

VB で作成したクラスライブラリなどの引数など、
Visual Studio のインテリセンスに表示させたい場合は、
どのようにコメントを書けばよいのでしょうか?

よろしくお願いします

38:デフォルトの名無しさん
05/02/28 12:29:16
XMLドキュメント機能はVB2005から。
それまではXMLを手書きするとかツールを使ってみるとか。
URLリンク(www.gdncom.jp)

39:デフォルトの名無しさん
05/02/28 13:36:15
VB6.0のLeftBに相当するメソッドは.netにはありませんか?

40:デフォルトの名無しさん
05/02/28 13:39:04
なにせUnicodeなもんだから、バイト数=文字数×2で固定だからなぁ。

41:デフォルトの名無しさん
05/02/28 16:08:07
質問です。
自分(Form)がshowで表示されたのかshowDialogで表示されたのか
分かるプロパティとかありませんか?

42:デフォルトの名無しさん
05/02/28 16:20:49
FormのModalプロパティ

43:デフォルトの名無しさん
05/02/28 16:29:29
frm.modal = true は show() で
frm.modal = false で showDialog() なんですね~。
ありがとうございました。

44:デフォルトの名無しさん
05/02/28 16:35:07
>>39
前スレで外出だったかと。

45:デフォルトの名無しさん
05/02/28 20:24:51
>>44
うむ、VB Commenterみたいなアドインを使うか、
VS2005を待てって感じで砂。

46:デフォルトの名無しさん
05/02/28 22:06:37
Vb.net Standard Version2003を使用しています。
プロジェクトにアイコンを追加して、ビルドアクションを「埋め込まれたリソース」としてビルドしました。
適当なショートカットのプロパティからアイコン変更をしようとしてビルドされたファイルを指定したんですが、
アイコンが表示されません。
「アプリケーションのアイコン」に指定したアイコンは表示されます。
VB6の時はできたんですが、.netではできないのでしょうか?


47:デフォルトの名無しさん
05/02/28 22:36:29
普通はフォームのタイトルバーをドラッグすると位置を動かすことが
できますが、X座標だけ変更不可とすることはできるでしょうか。
画面の左端にしか置けない(ただし、上下には動かせる)というのを
実現したいと思っています。

48:47
05/02/28 22:47:23
すいません。補足です。
単純にMoveイベントの中でMe.Left = 0でもいいのですが、
それだとドラッグ中にフォームの枠だけは移動できてしまうので
できればこれをできなくしたい、ということです。
分かりにくくて申し訳ありません。

49:デフォルトの名無しさん
05/02/28 22:57:49
ローカルで動く.NETプログラムをWEB上から呼び出すようにしたいのですが、
どうすれば良いのでしょうか?

ActiveX? APS.NET? どちらでも実現可能なのでしょうか?

50:デフォルトの名無しさん
05/02/28 23:04:22
>>46
微妙に独自言語が含まれてて読みづらいけれど、
URLリンク(dobon.net)

51:デフォルトの名無しさん
05/02/28 23:15:42
>>49
これではだめか?
URLリンク(www.atmarkit.co.jp)

52:デフォルトの名無しさん
05/03/01 00:50:32
メニューバーやステータスバー等の背景色を、独自の色や画像で描画するには
どうすればいいのでしょうか?

「オーナードロー?を使えばいいらしい」というところまではどうにかわかった
のですが、具体的にどうコードを書けばいいのかわからず困っています。

53:デフォルトの名無しさん
05/03/01 11:02:33
ソリューションエクスプローラーでプロジェクトから削除すると
一時的にプロジェクトからはずれるだけで表示自体は残るはずですよねえ・・・・
表示も消えてしまうんですが。。。
何か自分が間違っているのでしょうか?

54:デフォルトの名無しさん
05/03/01 11:04:28
なんの表示さ。

55:53
05/03/01 11:16:10
略しすぎですいません。
ソリューションエクスプローラーで表示する作成したASPです。
デバッグ作業する為、新規作成したもの以外のASPをプロジェクトから
削除したのですが表示が消えました。
昨日、PCのOSがあぼーんしてしまったのですべて入れなおしで
もちろんVB.NETも入れなおししました。
入れなおしする前の作業ではプロジェクトからASPを削除すると
表示は出ているままでASPファイル名は残ってました。
なにぶん初心者なので・・いろいろやっているので先に自己解決したらすいません。

56:デフォルトの名無しさん
05/03/01 11:25:51
この肝心なところだけを巧みにぼかす手腕には感嘆を覚えるほか無い。

57:49
05/03/01 11:37:48
>>51さん
ご返答ありがとうございます。 見てみましたが、ファイルのI/Oに制限が
ありすぎるので、使えないみたいです。 他の方法を検討してみます。

58:デフォルトの名無しさん
05/03/01 11:42:42
でたー
なにぶん初心者なので

59:デフォルトの名無しさん
05/03/01 11:46:57
>>57
「具体的に」何をどうしたいのか書けば助言できるかも知れないがね。
>49のじゃ曖昧すぎてどうにも。

60:53
05/03/01 12:05:29
自己解決しました。ご迷惑おかけしました。

>>56
貴重なご意見ありがとうございます。

>>58
初めて一ヶ月足らずなので初心者ですが。それがなにか?


61:デフォルトの名無しさん
05/03/01 13:30:09
リストビューに非表示カラムを作成することはできないでしょうか?

62:デフォルトの名無しさん
05/03/01 13:31:43
できない。

63:61
05/03/01 13:33:31
>>62
みなさんがこういったことをしたい場合、どのような代替案がありますか?


64:デフォルトの名無しさん
05/03/01 13:51:51
単純なのはWidthを0にする。ユーザにカラム幅を操作されたら見える。
.NET 2.0でColumnWidthChangingイベントが追加されるのでそれならカラム幅の調整のキャンセルも可能。

普通は見せたくないのはListViewItemのTagに突っ込む。
動的にカラムの表示非表示を上手い事操作する手段は無さげ。サブアイテムがインデックスでしか管理されてないから。
改めてカラム&アイテムの作り直し。

それが不満ならDataGridに行くとか。

65:デフォルトの名無しさん
05/03/01 13:56:25
COM オブジェクトまわりで質問です。

Me.comObject.value("ret")

のように COM オブジェクトが処理結果を返してくるのですが、これを
VB.NET で

if (Convert.ToInt32(Me.comObject.value("ret")) = 0) then

のように処理したいのですが、

型 '_ComObject' から '型 'Long' へのキャストが有効ではありません。

とエラーになってしまいます。上記ような判定を行なうには
どのように処理すべきなのでしょうか?

よろしくお願いします。

66:デフォルトの名無しさん
05/03/01 14:04:18
>>65
_ComObjectを返すって事は返値が単純型でないような気がするが、
取りあえずCTypeでキャストしてみたらどうだ。

67:61
05/03/01 14:04:51
>>64
おっ!
tagがあったんですか?
やってみます。スペシャルさんくす。

68:61
05/03/01 14:08:05
>>64
できました。マジでさんくす。


69:65
05/03/01 14:38:59
>>66
ありがとうございます。 CType でキャストしてみたところ、やはり同様に

型 '_ComObject' から '型 'Long' へのキャストが有効ではありません。

となってしまいました。他に試す事があればアドバイスください。
よろしくお願いします。

70:デフォルトの名無しさん
05/03/01 14:46:18
そのCOMのリファレンスを読むことだな。
valueメソッドの返値が何型か分からなければどうしようもなかろ。

あとLongは符号付き64bit整数だがそれでいいのか?

71:65
05/03/01 15:06:16
>>70
戻値の型は Int のはずなんですよね。
なので、CInt,CLng どちらも試したのですが、
どちらも同じようにキャストでエラーが出てしまうんです。
他に何かアドバイスがあればお願いします。



72:デフォルトの名無しさん
05/03/01 15:21:56
panelのautoscrollのscrollイベントを入手するにはどうしたらいいんでしょうか?

73:デフォルトの名無しさん
05/03/01 15:27:50
>>71
単純型ならそれに一致した型が返ってくる。
例えばADODB.StreamのtypeプロパティはSystem.Int32だ。
そうでなく_ComObjectが返ってくるって事は単純型じゃないって事になる。
何らかの構造体とかそんなんではないのか?
いずれにせよそのCOMがなんなのか分からない以上、アドバイスも出せないね。
いっそ参照設定で事前バインディングすればどうだ。

>>72
Panelの継承クラスを作って、WndProcをオーバーライドして、WM_VSCROLL/WM_HSCROLLを処理する。

74:65
05/03/01 15:33:11
>> 73
レイトバインディングじゃなきゃならない理由がありまして…。
できるものな事前バインディングにしたいのですが…。

単純型ではないのですか。そういう事ですか。COM の仕様を把握しないと
いけないって事ですね。ありがとうございます。

ちなみに、同じ COM オブジェクトを VBA から操作するコードがあって、それは

if (comObject.value("ret") = 0) then

で問題なく処理できているんですよね…。同じく CreateObject しているので
参照設定云々はやっていません。

VBA と VB.NET の動きが違うって事なのでしょうね…
COM の資料をあさってみます。ありがとうございました。

75:デフォルトの名無しさん
05/03/01 15:35:34
いやさ、取りあえず実験のためだけでも事前バインディングして何型で扱えばいいのかチェックすればいいじゃん。

76:72
05/03/01 16:02:02
>>73
記述の仕方がよくわからないんですけど・・・。

77:デフォルトの名無しさん
05/03/01 16:11:23
>>76
どれが?
・Panelの継承クラスを作って、
・WndProcをオーバーライドして、
・WM_VSCROLL/WM_HSCROLLを処理する。

ちなみに後ろ2つは纏めてキーワードをぐぐればトップにその記事が出たりするけどな。

78:72
05/03/01 16:22:36
>>77
すいません出来ました。
ただ処理のところオブジェクト参照が必要ってでるのはどうしたらいいんでしょう?

79:デフォルトの名無しさん
05/03/01 18:01:00
オブジェクト指向を一から説明する事になるので省略。
Panelの代わりに作った継承クラスを使う。

80:デフォルトの名無しさん
05/03/01 18:31:43
VB.NET Standard 2003 で(.NET Frameworkではなく)VB6ランタイムライブラリを
使うアプリは作れますか?

81:デフォルトの名無しさん
05/03/01 21:59:22
超初心者です
ここでこんなこと聞くのも痛いのですが

インストールは下もののさっぱり意味不明です。
こんなワタクシメにもわかる,解説書なりページを教えてください。
m(_ _)m

82:デフォルトの名無しさん
05/03/01 22:23:19
今までデバッグの時にはウォッチウィンドウを無条件に使ってきたのですが、
ローカルウィンドウ と
イミディエイトウィンドウ と
ウォッチウィンドウ
はそれぞれ何が違うのでしょうか。

よろしくおねがいいたします。

83:デフォルトの名無しさん
05/03/01 22:36:46
Visual Studio .NET Professional 2003を親戚の大学生に
アカデミーパックを買わせて、10万ほど得しようと考えてます。
何か問題がありますか?

84:デフォルトの名無しさん
05/03/01 22:55:07
>>80
作れません!

85:デフォルトの名無しさん
05/03/01 23:01:52
>>81
っ[www.amazon.jp]

>>82
ライセンス上、学生じゃないお前さんは買ってもらったソフトを使えない。

アカデミックエディションからは、VS2005にアップグレード出来ない可能性が高い。
毎度、アカデミック版を買うと結構高くつく。

安く上げたいならVS2005 Express Edition βでも使っておけ。

86:デフォルトの名無しさん
05/03/01 23:34:44
>>85
アップグレードだって4万近くかかるのに、アカデミーは2万9千。
毎度アカデミー買っても得しそうだ。
ライセンス? それって食べられるの?

87:デフォルトの名無しさん
05/03/02 11:01:41
違法とわかっていて、聞いてくるやつは無視。

88:デフォルトの名無しさん
05/03/02 11:35:55
だれか、C1PrintDocumentとか使ってるのいねーかな?
C1PrintPreviewで画面出力して印刷の手順なのだが
ボタン1個作って押すと印刷するのだが、ボタンから印刷するとA3設定のはずの
用紙がA4で出てくるのだよorz

C1PrintPreviewでのデフォルトのツールバーの使えばA3で出てくるのだが・・

VB.NET
Private Sub C1PrintPreview1_PrintQueryPageSettings(ByVal sender As Object, _
ByVal e As System.Drawing.Printing.QueryPageSettingsEventArgs) Handles _
     C1PrintPreview1.PrintQueryPageSettings

e.PageSettings = C1PrintDocument1.PageSettings
End Sub
これだと、イベント発生時にA3の用紙でA4のサイズの内容がでてきてしまう・・

よかったら、教えてください
長文スマソ

89:デフォルトの名無しさん
05/03/02 12:37:56
なんだよ、C1PrintDocumentだのC1PrintPreviewって。。。
そんなもん誰も知らねえよ。

俺様の命名した変数の型は世界中誰でも知ってるはずニダ、ってか?

90:デフォルトの名無しさん
05/03/02 12:38:54
>>87
OKOK。違法かそうでないかの違いしかなく、中身は全く同じという確認を取りたかっただけだ。

91:88
05/03/02 12:50:11
>>89
OK・・やっぱしらねーよな・・俺もしらねー・・
URLリンク(www.grapecity.com)

いきなり使ってくれといわれてな、まぁ何とかなる
レスアリガトヨ

92:デフォルトの名無しさん
05/03/02 13:05:23
すでに開いているフォームへのフォーカス移動の方法を教えてください。

frmForm1とfrmForm2がありまして、frmForm1はメニュー画面(ボタンが数個のみ)で、そこにあるボタン(cmdForm1)から
frmForm2をShow()を使ってモードレス(これは必須)に呼び出しています。しかし、モードレスであるがために何度でも
frmForm1のcmdForm1押せてしまい、複数のfrmForm2が開いてしまいます。

希望する動作としてはfrmForm2が開いていないときにcmdForm1が押された場合はfrmForm2を開き、すでに開いている場合には
その開いているfrmForm2にフォーカスを移す、というものです。frmForm2上にあるコントロールにFocus()なども試して
みたのですが効果がありませんでした。

どのように上記を実現すればよいかおわかりになりましたらアドバイスいただけないでしょうか?

93:デフォルトの名無しさん
05/03/02 15:02:54
>>92
> frmForm1のcmdForm1押せてしまい、複数のfrmForm2が開いてしまいます。

そりゃボタンを押すたびにForm2をNewしてたらそうなるだろう。
frmForm2はForm1のメンバとして宣言すればいい。
Private frmForm2 As New Form2()

あとはボタンを押したらShowとActivateだ。

94:デフォルトの名無しさん
05/03/02 15:58:44
>>93

ありがとうございます。言われてみれば当然のことでした・・・。
いくら本やネットを調べても対処方法がみつからなかったのはあまりに
当然のことだったからのようです。(´・ω・`)

すっかりはまっていたので本当に助かりました。

95:デフォルトの名無しさん
05/03/02 16:09:37
>>91
グレープに聞けばいいじゃん。たしかあそこのサポート評判良いんでしょ。
てかグレープのコンポーネントボり過ぎ。米ComponentOneとか
DataDynamicsから直接買った方が安いよね。

96:デフォルトの名無しさん
05/03/02 16:11:41
白地に黒字というのがつらいのですが
コードエディタを黒地に白地にできますか?

97:デフォルトの名無しさん
05/03/02 16:15:46
>>95
ああいうのはサポート代が寧ろ代金のメインではないか?
確かに高いと思うけどね。
まあ基本的に対象は企業なんであって大した問題じゃないんだろうな。

>>96
できる。
それぐらい探せ。

98:デフォルトの名無しさん
05/03/02 18:40:59
>>90
買ってから後悔するんだな、ウフフ......

99:デフォルトの名無しさん
05/03/02 18:42:54
Microsoft Visual Studio® .NET 2002 Service Pack 1
URLリンク(www.microsoft.com)

100:デフォルトの名無しさん
05/03/02 19:14:15
100get

101:デフォルトの名無しさん
05/03/02 19:16:41
>>96
表示のプロパティページでも見ろや。

っつーか背景黒にしたいって、、
ひょっとしてcobolerか?

102:デフォルトの名無しさん
05/03/02 19:26:12
>>99
VS.NET2002って「最新版の有無のチェック」でエラーが出てたから
とうに見捨てられてたと思ってたよ。これも直ってました(笑)。

103:デフォルトの名無しさん
05/03/02 20:04:38
>>85
放送大学とかに入学してお前自身が学生になればライセンス上は問題ない。


104:デフォルトの名無しさん
05/03/02 20:42:12
>>85
おまえニートだろう、買ってみろ、買って後悔しろ
アカデミックエディションはおまえのようなやつの為に
有るのだ。 フフフ...............

105:デフォルトの名無しさん
05/03/02 20:55:13
参照渡しについて教えてください。

   Dim s As Integer
   s = 5
   XP(s)
   MessageBox.show(s)

   Public sub xp(ByRef Date As Integer)
   Date = Date * 100
   End sub

そもそも上記のコードは何がしたいんだ(汗

あとはFunctionプロシージャとか・・・・・。
どこで呼び出されたり呼び出したり、値を返したり返さなかったり・・・・・。

詳しく教えてください、マジ困ってます・・・・・。

106:デフォルトの名無しさん
05/03/02 20:59:39
>>105
で、何を聞きたいの?

107:デフォルトの名無しさん
05/03/02 21:23:49
>>105
俺は普通のやり方って知らないんだが
   Public sub xp(ByRef Date As Integer)
   Date = Date * 100
   End sub
上のやり方じゃなく
   Function xp(ByRef Date As Integer) as Integer
    Return Date * 100
   End Function
とかじゃねーのかと思うんだが、気のせいか。

108:デフォルトの名無しさん
05/03/02 21:28:08
>>107
それではByRefで渡す意味が無い。
まあこんなメソッドはByValで渡してIntegerをRerutnするのが自然だけどさ。

109:デフォルトの名無しさん
05/03/02 21:48:51
うぉ。ByValの間違いたっだ、_| ̄|○

110:ニート
05/03/02 22:37:03
アンカーを正しく書けない池沼が多いスレだなw
土曜にアカデミーを受け取ることになった。流石に小学生には売れないみたいなので大学生に頼んだ。
その夜にでも後悔の弁を書き連ねるからな。

111:デフォルトの名無しさん
05/03/02 22:49:49
>>110
余所行ってやれよ

112:デフォルトの名無しさん
05/03/02 23:36:48
VB.NETでサービスアプリケーションを作って動かしてみたところ、
実行時のカレントディレクトリがwinnt\system32になっているようなのですが、
元々exeが置いてあった場所を取得することは可能でしょうか。

分かりにくいですが、
InstallUtil ~.exe
で指定するパスのことです。

113:デフォルトの名無しさん
05/03/02 23:41:42
GetType(起動アセンブリが含んでいる型).Assembly.Location
が一番シンプルかな。

114:デフォルトの名無しさん
05/03/02 23:56:52
>>113
ありがとうございました。試してみます。

115:81
05/03/03 00:03:18
こんな物が作りたいのですが,どうやったらいいのでしょ

スペースキー(キーは何でもよし)を押すとキーの押された時刻と,押している経過時間を記録してExcelに読み込ませるか,テキストでファイルに出力する。

当方,初心者につき,さーっぱりわかりません。

参考書でもいいです。何か教えてください。

116:デフォルトの名無しさん
05/03/03 00:08:33
FormのKeyDownイベントと
Streamクラスあたりを調べてみては

117:81
05/03/03 00:22:04
>116
㌧クス
すまん,Stream

118:81
05/03/03 00:22:39
streamクラスの説明がほすぃ


119:デフォルトの名無しさん
05/03/03 00:31:52
URLリンク(www.microsoft.com)

120:81
05/03/03 00:44:13
>119
ありがとん
ガンガって見るッス


121:デフォルトの名無しさん
05/03/03 10:37:58
日付を選択するDateTimePickerというのがありますが
月を選択するのに適したコントロールはありませんか?

122:デフォルトの名無しさん
05/03/03 11:37:42
コンボボックスに1から12まで数字振ってみれば?

123:デフォルトの名無しさん
05/03/03 16:03:47
Call System.Configuration.ConfigurationSettings.AppSettings.Set("hoge", hoge)
とすると、読み取り専用という例外エラーが発生してしまいます。
書き込み可能にするにはどうしたらよいでしょうか?

124:デフォルトの名無しさん
05/03/03 16:18:23
手書き。
というかユーザデータは自前の設定ファイルに書くのが普通。。

125:デフォルトの名無しさん
05/03/03 16:20:42
>>124
すみません。よく意味がわからないのですが
そーすると設定値を保存したい場合はINIファイルを使ったほうが
よいということでしょうか?
しかし、そーするとSetメソッドってなんのためにあるのかと疑問です。

126:デフォルトの名無しさん
05/03/03 16:27:39
>>125
AppSettingsプロパティはNameValueCollection型。
NameValueCollectionクラスは一般的な文字列(非対称)ペアのコレクションであって、
ConfigurationSettings.AppSettingsにだけ使われるものじゃないから。

.NETでは一般的に設定ファイルはXmlSerializer辺りを使う。慣れない間は使いにくいが。

127:デフォルトの名無しさん
05/03/03 16:31:02
>>126
さんくす。理解できました。XMLファイルに保存するわけですね。
.NETぽくて(・∀・)イイ!!

128:デフォルトの名無しさん
05/03/03 18:49:45
文字列が全てカナ以外の文字が混ざっていないか
チェックできるメソッドはありますでしょうか?

129:デフォルトの名無しさん
05/03/04 08:17:26
Regex.IsMatch

130:デフォルトの名無しさん
05/03/04 09:36:49
>>129
たんくす

131:デフォルトの名無しさん
05/03/04 17:18:11
BorderStyle.FixedSingleの実線の色とサイズを変更する方法を教えてください。

今は、
BorderStyle.Noneにして、Graphicsを使用してBitmapをClear(Color.Transparent)
その後、Penを使って、そのBitmapをDrawRectangleを使用して、ラインを描画
その後、BitmapをImageにぶち込んでやってるのですが、あまりにもスマートじゃない気がするので

132:デフォルトの名無しさん
05/03/04 19:15:18
VB.NETと直接関係ないんだけどさ・・・
Microsoft ASP.NET Web Matrix
これ使っている人っている?


133:デフォルトの名無しさん
05/03/04 23:29:47
VB6のLeftBみたいなことがしたいのですが、VB.NETでは
どうやればよいでしょうか。

134:デフォルトの名無しさん
05/03/04 23:31:26
どいつもこいつもLeftBLeftBばっかだな。
だいたい「みたいな」って何だっての。

135:NAME IS NULL
05/03/04 23:33:52
グリッドを貼り付けて、ある一つのセルの文字だけを変えたり、
背景色を変えるということは出来るのでしょうか。
ご教授よろしくお願いいたします。

136:デフォルトの名無しさん
05/03/04 23:34:06
>>134
分かってないのはお前だけ。

137:デフォルトの名無しさん
05/03/04 23:35:10
>>133
このスレでLeftBを検索するとか、ぐぐるとかしてみそ。
URLリンク(www.atmarkit.co.jp)

138:デフォルトの名無しさん
05/03/04 23:43:54
>>137
アホか

139:デフォルトの名無しさん
05/03/04 23:47:34
最近は逆切れするやつが多くてこまるね。(´・ω・`)

140:デフォルトの名無しさん
05/03/04 23:49:52
>>135
WinFormなのかASP.NETなのか、
DataGridの話で良いのか、
そうならデータはどういう形式なのか、
辺りを聞こうか。

141:デフォルトの名無しさん
05/03/04 23:51:20
>>140
アホか。

142:デフォルトの名無しさん
05/03/05 00:07:26
>>139
多分君は「逆切れ」を正しく使えていないと思うが
どれのこと言ってるの?

143:デフォルトの名無しさん
05/03/05 00:19:38
>>135
URLリンク(dobon.net)

144:デフォルトの名無しさん
05/03/05 16:19:16
「このオブジェクトは現在ほかの場所で使用されています」
このエラーの対処法を教えてください

145:デフォルトの名無しさん
05/03/05 16:42:33
データグリッドで、行のサイズ変更を不可にするにはどうすればいいのでしょうか?
行のサイズとは、行の縦の長さのことです。

他の質問サイトでも聞いてみましたが返信はありませんでした。
意外と複雑な処理をしないといけないんでしょうか?

146:デフォルトの名無しさん
05/03/05 18:59:47
>>144
もっと詳細を。

>>145
URLリンク(hpcgi1.nifty.com)

147:デフォルトの名無しさん
05/03/05 21:14:08
今日たまたまコーディング中に発見したんだが
何も選択されていない状態でCtrl+Cを押すと一行選択になるのな。
今まで知らんかった。


148:デフォルトの名無しさん
05/03/05 21:20:15
Ctrl+Xなら一行切り取りだな。
削除代わりによく使う。

149:デフォルトの名無しさん
05/03/06 05:27:54
なにもオペレーションが無い状態の時間
(スクリーンセーバーの起動条件となる状態)
を取得するのってどうするんでしょう?

150:デフォルトの名無しさん
05/03/06 10:43:15
テキストファイルを拡張子に関連付けられたアプリケーションで
開くにはどうすればいいでしょうか。

メモ帳で開くのならば、

Shell("notepad.exe " & ~)

みたいに開けることまでは分かったのですが・・・


よろしくお願いします。

151:デフォルトの名無しさん
05/03/06 10:49:43
System.Diagnostics名前空間のProcessクラスのStart静的メソッド

152:デフォルトの名無しさん
05/03/06 10:53:23
>>151
できました。

どうもありがとうございました。

153:デフォルトの名無しさん
05/03/07 09:26:15
同じフィールド ( ID ) を持った、二つのDataTable ( dt1, dt2 ) があります。
dt1、dt2共に同じIDのレコードが存在する場合、
dt1からそのレコードを削除する方法はありますでしょうか。

DataSetのRelations.Add では思ったような結果が得られませんでした。
具体的には、DataTable間で、SQL文 ( OUTER JOIN句 ) を実行し、
別のDataTableを作成したいのですが、どうも出来ない?ようなので。

よろしくお願いします。

154:デフォルトの名無しさん
05/03/07 10:33:09
>>147
>>148
シランカッター。
使わせてもらいまふ。

155:デフォルトの名無しさん
05/03/07 10:50:57
>>153
ExecuteNonQueryで直接SQLを実行してみたら?

156:デフォルトの名無しさん
05/03/07 10:53:09
tet

157:デフォルトの名無しさん
05/03/07 10:55:42
ウィンドウハンドルからコントロールを取得する方法を教えてください。
そのコントロールかテキストボックスかどうか判定したいのですが
そのコントロールを識別するものがウィンドウハンドルしかわかりません。
If TypeOf Me.ActiveControl Is System.Windows.Forms.TextBox Then
Me.ActiveControlのところをウィンドウハンドルから取得したいです。
よろしくお願いします。

158:デフォルトの名無しさん
05/03/07 11:05:58
>>157
別プロセスのは無理だよ?

159:デフォルトの名無しさん
05/03/07 11:09:10
>>158
マジっすか?

160:デフォルトの名無しさん
05/03/07 15:27:03
カードゲームを作ってるんですが、描画のタイミングがうまく調整
できません。

カードクリック→FromFileでjpg画像表示→役の判定→カードの破棄

こういう流れをひとつのプロシージャでやってると、その処理が終了
するまで画面更新がかからないんですね。カード表示されずに破棄ま
で進んでしまうので、いったい何のカードを引いたのかプレイヤーが
わからないんです。

中にウエイトを置いても同じことなので、今はTimerで100msごとに
役判定するという乱暴な手段を使ってますが、これもクリックするタ
イミングによって妙な挙動になります。

何かいい方法はありませんでしょうか?

161:デフォルトの名無しさん
05/03/07 15:29:37
Refreshを挟めば?

162:160
05/03/07 17:27:32
>>161
さんくす。
Me.Refreshであっさりできました。ウエイト前に置いても無問題。
Picturebox使ってて気がつかなかったのはお恥ずかしい限りです。

163:デフォルトの名無しさん
05/03/07 18:33:37
超初心者の質問で申しわけありませんが、
textboxで入力後、カーソルが自動的に次のtextboxへ移動するにはどうしたらいいですか?
VBAではautotabの機能があったのですが、VB.NETには無いようなので
どなたか教えていただけないでしょうか?

164:デフォルトの名無しさん
05/03/07 19:12:20
>>163
無いので、TextChangedイベント辺りで自分で処理。SelectNextControlメソッドとか。

165:デフォルトの名無しさん
05/03/07 20:28:42
作ったプログラムを他の人のPCで動かすときには
何をインストールすれば良いの?
Win2000です・・・

166:デフォルトの名無しさん
05/03/07 20:33:19
binフォルダの中にあるexeファイルと.Net Frameworks。

167:デフォルトの名無しさん
05/03/07 20:45:17
ツールバーのアイコンって、自分で作らないといけないんでしょうか?
VBや C++Builderには、アイコン集があった気がするのですが、.net には
見当たりません。
何か良いアイコン集があったら、教えてください。


168:デフォルトの名無しさん
05/03/07 21:01:39
>>167
VBやC++BuilderのインストールされてるPCから
ビットマップだけコピーすればいいじゃないか。

169:デフォルトの名無しさん
05/03/07 21:19:01
っていうか\Common7\Graphicsにあるでしょ
VS5の時代から進歩がないけど。。

170:デフォルトの名無しさん
05/03/07 21:59:35
>>168
ラ、ライセンスの問題が…。

>>169
スタンダード版には、入ってないようです。


171:デフォルトの名無しさん
05/03/07 22:24:23
CDの中も探した?

172:デフォルトの名無しさん
05/03/08 01:00:43
>167
VB.NET Power Packに結構いいの入ってたよ。
ライセンスはどうかわからんけど・・・

173:デフォルトの名無しさん
05/03/08 02:46:00
適当にフリーアイコン素材サイトからもってくる。
or
デザイナーの友達を作る。

174:デフォルトの名無しさん
05/03/08 08:19:47
VB.NETで作成したアプリケーションがメモリリークしていないか
調べたいのですがどのような方法がありますか?

175:デフォルトの名無しさん
05/03/08 08:46:21
>>174
パフォーマンスモニタ


176:デフォルトの名無しさん
05/03/08 10:56:14
vb.net compact frameworkにて
以下で定義してテーブルより、特定のレコードを削除する方法を教えてください。

'テーブル宣言
Public dataSet1 As New DataSet("テスト一覧")
Public dataTable1 As DataTable = dataSet1.Tables.Add("テストテーブル")
Public dataClumn1 As DataColumn = dataTable1.Columns.Add("番号")
Public dataClumn2 As DataColumn = dataTable1.Columns.Add("項目")
Public dataClumn3 As DataColumn = dataTable1.Columns.Add("得点")

'レコード追加
dataTable1.Rows.Add(New [Object]() {"0001", "国語", "100"})
dataTable1.Rows.Add(New [Object]() {"0002", "国語", "90"})
dataTable1.Rows.Add(New [Object]() {"0003", "国語", "80"})
dataTable1.Rows.Add(New [Object]() {"0004", "国語", "70"})
dataTable1.Rows.Add(New [Object]() {"0005", "国語", "60"})


177:デフォルトの名無しさん
05/03/08 11:36:20
>>176
dataviewで条件抽出してDeleteするもよし、datatableで行決め打ち
削除するもよし。

178:デフォルトの名無しさん
05/03/08 12:08:30
>>177
回答ありがとうです。

datatableで行決め打ち削除ってどうやればいいんですか?

179:デフォルトの名無しさん
05/03/08 13:25:59
>>178
DataTable.Rows(削除したい行Index).Delete()

180:デフォルトの名無しさん
05/03/08 14:30:10
Accessのグラフ画像をクリップボード経由で、FormにあるPictureBox
に貼り付けたいんですが、EnhancedMetafileから変換できないんです。

Dim iData As IDataObject = Clipboard.GetDataObject()
If iData.GetDataPresent(System.Windows.Forms.DataFormats.EnhancedMetafile) Then _
PictureBox1.Image = _
CType(iData.GetData(System.Windows.Forms.DataFormats.EnhancedMetafile), Image)
End If

ネットで探したこういうコードで実行すると、CTypeでNothingしか帰
ってきません。そのままワードパッドに貼り付けるとMicrosoft Graph
という形式だとプロパティで確認できました。

一度ファイルに落として、直接FromFileで表示しようとも思いましたが
CTypeが通らないのでSaveもできない状態です。

MemoryStreamを使った方法が下記にありましたが、同じくNothingが
帰ってきてどうにもこうにも。_| ̄|○

URLリンク(backno.mag2.com)

181:デフォルトの名無しさん
05/03/08 14:47:08
>>179
ありがとうございましたー。
多謝 m(_ _)v

182:デフォルトの名無しさん
05/03/08 15:45:14
>>180
まずiData.GetFormatsと、それで取得できたそれぞれの形式に対してGetType(iData.GetData(形式名))をやってみては?

183:デフォルトの名無しさん
05/03/08 17:21:53
>>182
GetFormatsの結果、下記の3つが取得できました。

Embedded Object
Object Descriptor
MetaFilePict

こんなのImageやBitmapにできないよね。orz
調べてたらなんかヤバそうなネタも見つかったし。
URLリンク(support.microsoft.com)

184:デフォルトの名無しさん
05/03/08 19:13:45
すいません、おしえていただきたいのですが。

時間計算なのですが 10:30~13:00 を下記のようにしたのですが、

textbox1=10 (開始 時)
textbox2=30 (開始 分)

textbox3=13 (終了 時)
textbox4=00 (終了 分)

これを 働いた時間 2:30としてLabel1に表示したのですが

どういった計算方法ですればいいですか?

よろしくおねがいします。


185:デフォルトの名無しさん
05/03/08 19:28:22
>>184
URLリンク(www.atmarkit.co.jp)

186:デフォルトの名無しさん
05/03/08 20:49:27
VB.NETを勉強したいのですが、ACCESSしか知らない人に分かりやすい参考書ありませんか?

187:デフォルトの名無しさん
05/03/08 23:25:20
サービスアプリケーションってソケット通信可能ですか?

188:デフォルトの名無しさん
05/03/09 01:04:58
自分で試せよ。

189:デフォルトの名無しさん
05/03/09 02:22:31
>>187
当たり前だ

190:デフォルトの名無しさん
05/03/09 02:43:55
>>186
谷尻かおりさんのとか、イメージをつかむにはいいかも
Access本に比べてるとが悪いけど

191:デフォルトの名無しさん
05/03/09 02:45:19
×Access本に比べてるとが悪いけど
○Access本に比べると出来が悪いけど

192:デフォルトの名無しさん
05/03/09 07:07:24
>>191
そんな打ち間違えあるか。
脳みそ少なすぎ。

193:デフォルトの名無しさん
05/03/09 09:07:22
リストビューの各サブアイテムごとに文字の色を変更したいのですが
可能でしょうか?
もし、可能であればやり方を教えてください。よろしくお願いします。

194:デフォルトの名無しさん
05/03/09 09:32:02
ListViewSubItemのプロパティ一覧とその解説を良く読め。

195:デフォルトの名無しさん
05/03/09 10:25:21
Dim subItem As System.Windows.Forms.ListViewItem.ListViewSubItem
subItem = item.SubItems.Add("hoge")
subItem.ForeColor = Color.Red

とやってみたのですが色が変わってくれません。
なぜでしょうか?

196:デフォルトの名無しさん
05/03/09 10:27:13
解説を良く読めと。

197:デフォルトの名無しさん
05/03/09 10:28:56
item.UseItemStyleForSubItems = False
でできました。ご迷惑お掛けしました。


198:デフォルトの名無しさん
05/03/09 10:57:10
>>186
これで取り敢えず動くものを作ってみる。
URLリンク(www.amazon.co.jp)
これでVB.NETの概要を掴む。
URLリンク(www.amazon.co.jp)
辞書代わりにこれを使う。
URLリンク(www.amazon.co.jp)

DB連携のシステムを勉強したいならこんな感じだと思う。

199:デフォルトの名無しさん
05/03/09 13:27:20
最近はじめたんだけど、VB.NETで作ったプログラムってMACでも動くの?
.NETフレームワークってMAC版も出てるのかな?

200:デフォルトの名無しさん
05/03/09 13:29:05
Mac OS Xならmonoが動くんじゃないか?

201:デフォルトの名無しさん
05/03/09 13:31:46
>>199
無理。
REALBASICで開発すれば、Windowsでも動く実行ファイルを生成
できるらしいけどね。

202:201
05/03/09 13:34:54
おお、monoってのがあったんだね。知らなかったーよ。

URLリンク(www.macinbasic.info)

203:199
05/03/09 14:05:19
なるほど、基本的には無理なんですね。
フリーソフト作ってるんだけど「MAC対応」って銘打つにはmonoではまだ厳しいのかな。

っていうか中間コード生成する最大の理由は「OSに依存しないで動く」っていうことじゃないの?
Windowsでしか動かないなら中間コードでコンパイルする価値があまりない気が・・・。
なぜなんでしょう?

204:デフォルトの名無しさん
05/03/09 14:18:43
ぶっちゃけ、Windowsにおける32bit環境から64bit環境へのスムーズな移行が
最大の目的じゃないかな。

205:デフォルトの名無しさん
05/03/09 14:22:38
>>203
>っていうか中間コード生成する最大の理由は「OSに依存しないで動く」っていうことじゃないの?
>Windowsでしか動かないなら中間コードでコンパイルする価値があまりない気が・・・。
>なぜなんでしょう?

1つは、やっぱり異なるOSで動かす事には無理があるんじゃない?
というのはWin32APIに相当する機能も.NetFrameworkには存在するわけだが、
こういった部分はOSに依存する訳だし。

ただ、中間コードのメリットがOSに依存しない事だけかと言われれば、
そんな事無いと思うんだが?

実際、C#だろうがVB.NETだろうが同じ処理するプログラムを書けば、
生成される中間コードは同じになる。
そして、C#からVB.NETのクラスを呼んだり逆にVB.NETからの呼び出しも出来る。

一般的に大規模アプリになれば複数人で開発する訳だが、
それぞれが得意な言語で開発しても問題無くお互いのクラスを呼び出せる。

これだけでも十分メリットになると思うんだが?

206:デフォルトの名無しさん
05/03/09 15:06:00
VB.NETでアプリケーションを作っているのですが
起動しただけで35メガもメモリを食います。
ひょっとしてすべてのウィンドウのインスタンス化を起動時に
やってしまうのでしょうか?
確かdelphiもそうだったと思うのですが、delphiは
その辺のコードもいじれたのですがVB.NETはそのあたりの
コードはどこにあるのでしょうか?



207:デフォルトの名無しさん
05/03/09 15:13:41
そんなことはない。
ネイティブのコードへのコンパイルすら「初めてそのメソッドが出てきた時」に行われるのに。
起動時にメモリを食われるのは.NET Frameworkを通して起動させるためのコスト。
起動した後は不要になるので、気になるならウィンドウを一旦最小化させれば仮想メモリにしまい込まれる。
根本的にネイティブのアプリより消費メモリが大きめなのはしょうがないがね。

208:デフォルトの名無しさん
05/03/09 15:18:44
>>207
了解です。
ちょっと起動に時間が掛かるなと思いタスクマネージャを見たら
30メガも使ってるのでびっくりしたしだいです。
それが普通ならまったく問題ありません。

209:デフォルトの名無しさん
05/03/09 16:11:19
リストビューのカラムごとにTextAlignを指定したいのですが
指定するメソッドが見つかりません。
これは不可能でしょうか?

210:デフォルトの名無しさん
05/03/09 16:18:27
ColumnHeader.TextAlign
ただし先頭列だけは必ず左寄せ。

211:デフォルトの名無しさん
05/03/09 16:22:26
listview.Columns(2).TextAlign = HorizontalAlignment.Right
listview.Columns(3).TextAlign = HorizontalAlignment.Right
でできました。さんくす。


212:デフォルトの名無しさん
05/03/09 16:58:55
>>203
「開発環境(言語)の差を吸収出来る」ことと
「安全なコードを書ける可能性が高い」こと、これらから
「開発生産性が高い」ことがメリットだと思うよ。

例えばJAVAのWORAというのは嘘とは言い切れないけど
未だに盲信してる人は少ないよね。
MSは良くも悪くもリアリストだから、「どこでも動く」ことより
「どこからでも繋がる」ことを .NET の宣伝材料にしてる。

213:デフォルトの名無しさん
05/03/09 19:52:20
compact frameworkにて、設定ファイルを使用したい場合、
どのようにファイルを作って、どのように読み込めばいいのでしょうか?

質問が大雑把ですみません。とっかかりすらわかっていない状態ですので。

214:デフォルトの名無しさん
05/03/09 22:28:54
設定ファイルとやらを使って何をしたいのかによるけど。
App.configなら
URLリンク(dobon.net)

215:デフォルトの名無しさん
05/03/09 22:43:04
VB.NETでWSDLがない状態でSoap通信したいんですけど
Soap ToolkitにあったSoapConnectorにあたるクラスってないんでしょうか?

216:デフォルトの名無しさん
05/03/10 08:31:10
デストラクタってどうやって定義すればよいでしょうか?
コンストラクタは
public sub new()
end sub
でよいみたいですが

217:デフォルトの名無しさん
05/03/10 08:38:44
Overrides Protected Sub Finalize()

218:デフォルトの名無しさん
05/03/10 08:49:38
>>217
ありがとん

219:デフォルトの名無しさん
05/03/10 11:01:20
EXCELを操作しているのですが
アプリケーションを終了するまでEXCEL.EXEがタスクマネージャの
プロセス一覧から消えてくれません。
消すにはどうしたらよいでしょうか?

Dim exl As New Excel.Application()
exl.Visible = True
exl.Workbooks.Add()

exl.Cells(1, 1) = "hoge"


220:デフォルトの名無しさん
05/03/10 11:15:10
Quitも呼んでない辺りアレっぽいが。
URLリンク(support.microsoft.com)

221:デフォルトの名無しさん
05/03/10 11:23:19
>>220
さんくす。熟読します。

222:デフォルトの名無しさん
05/03/10 11:33:57
消えました。ありがとん。

223:デフォルトの名無しさん
05/03/10 14:19:06
Private m_Pos() As Point
Private m_Pos As Point()
の違いはなんでしょうか?

224:デフォルトの名無しさん
05/03/10 16:03:14
GCってちゃんと仕事してくれますか?
なんか不安。メモリ使用量がどんどん増えるよー

225:デフォルトの名無しさん
05/03/10 16:10:34
>>224
メモリは特に気にする必要ない。

226:デフォルトの名無しさん
05/03/10 16:18:13
>>225
そうなんですかー
なんかC房だから気になって仕方ないよー

227:デフォルトの名無しさん
05/03/10 16:38:58
Form1からForm2をShowDialogで表示し、Form2からForm3をShowDialogでまたまた表示する。
タイマーイベントで規定時間後に、自動でForm2とForm3を閉じてForm1を表示するようにしたい場合、どのようにすればいいですか?
今、Form1のタイマーイベントで
Form3.close()
Form2.close()
ってやるとForm3は閉じるけどForm2は閉じてくれません。
だれかわかりますか?

228:デフォルトの名無しさん
05/03/10 17:33:27
ピクチャーボックス上の
線などを消去するには?

229:デフォルトの名無しさん
05/03/10 19:47:14
>>223
基本的に無い。好み。
個人的には配列型を宣言してると分かりやすい後者の方が良い。

>>227
私の所では閉じる。

>>228
何らかで上書きする。

230:デフォルトの名無しさん
05/03/10 21:02:53
簡単なテキストエディタを作っています。カレットが移動するたびに、その位置を
ステータスバーに表示したいと考えています。で、一番最初に思いついたのが、
KeyDown/Upイベントを利用することです。しかしながら、IMEがオンになって
いると、KeyDown/Upイベントが発生するたびに変換が解かれてしまい、実用に
なりません。なにかいい方法はないでしょうか。

231:デフォルトの名無しさん
05/03/11 00:13:11
MDI子フォームのKeyDownイベントでファンクションキーが
押された場合の処理を書いているのですが、このイベントが
親フォームにも送られているらしく、F1キーを押すと
ヘルプが起動してしまいます。
ファンクションキーイベントは子フォームだけで受け取り
(子フォームがアクティブの場合)
親フォームには送られないようにするにはどうしたらよいでしょうか。
e.Handle=True
は試してみたのですが、ダメでした。

232:デフォルトの名無しさん
05/03/11 00:28:57
メニューのイベントでヘルプ表示してるんでしょ?

だったら自分がアクティブじゃなかったら
ヘルプ表示しないようにするだけだと思うんだけど。。
何か間違ってるか?

233:デフォルトの名無しさん
05/03/11 00:33:11
ウケる。要求仕様と違うとはまさにこのことか。

234:デフォルトの名無しさん
05/03/11 00:34:05
>>232 「自分」って誰?(バク

235:デフォルトの名無しさん
05/03/11 00:38:42
>>232
それって親フォームにキーイベント飛んでるじゃん。
e.Handle = True
じゃムリなの?

236:デフォルトの名無しさん
05/03/11 00:42:25
馬鹿な上に幼稚なVB厨どもはしょうがないですな。

別にウィンドウメッセージそのものをキャンセルする必要なんて全然ない。
要はそれを処理するべき場合かどうかを判断できれば必要十分だろといってるの。

237:デフォルトの名無しさん
05/03/11 00:48:27
>>236
必要かどうかの問題ではなく、231がやりたいのはメッセージを
キャンセルしたいのだろう。別に君がその方法を知らないなら
ムリに書き込む必要ないんじゃないの?何がしたいの?

238:234
05/03/11 00:49:18
どうでもいいけど「自分」って誰?(ププッ

239:デフォルトの名無しさん
05/03/11 00:52:02
>>237
そういうSEは最近多いよ。勝手に要求仕様を捻じ曲げて
得意げな大馬鹿

240:デフォルトの名無しさん
05/03/11 00:54:28
>>231ですが、メイン画面(親フォーム)は別の外注の会社が
作っていて、私が作っているフォームでファンクションキーを
処理する都合でメイン画面に修正が入るのはあまり
好ましくないのでメッセージをキャンセルする方法があるのならば
それがやりたいです。分かりにくくてすいません。

241:デフォルトの名無しさん
05/03/11 01:28:29
VBで、ある業務システムつくろうと思ったけど。
スタックが心配で見合わせてる。


242:デフォルトの名無しさん
05/03/11 01:29:27
で?

243:デフォルトの名無しさん
05/03/11 01:34:56
どうしたものかな。
VB6では、スタック領域を設定することできないんだよ。
NETは、どうなの。


244:デフォルトの名無しさん
05/03/11 01:40:41
質問です。
IEで表示した内容を印刷ダイアログを表示せずに
プログラムから印刷する方法を教えてください。

245:最凶VB厨房
05/03/11 01:42:20
>>231
もしかして親フォームのKeyPreviewプロパティはTrue??

246:デフォルトの名無しさん
05/03/11 01:45:52
アホか。
要求仕様は、「子フォームがアクティブの時には親フォームのヘルプを表示しないようにしたい」
メッセージをキャンセルするってのはその一手段に過ぎない。

>>240
やっぱり無理なんじゃないか。
というのは、別に子が親にメッセージ送ってるわけじゃないのだから。
いま実際WndProcでメッセージ拾うコード書いて確認したので間違いないと思う。

247:デフォルトの名無しさん
05/03/11 02:01:28
WndProcをオーバーライド。
該当するキーの場合、基底クラスのWndProcを呼ばない。
あるいはProcessCmdKeyをオーバーライド。
該当するキーの場合、trueを返す。

248:デフォルトの名無しさん
05/03/11 07:13:39
>>246
>>240

アホ

249:デフォルトの名無しさん
05/03/11 07:15:36
>>246
>いま実際WndProcでメッセージ拾うコード書いて確認したので間違いないと思う。
間違ってるじゃんw

お前、マジでもういいよ

250:デフォルトの名無しさん
05/03/11 08:35:18
タスクバーを除いたデスクトップのサイズを取得したいのですが
どのようにすればよいでしょうか?

251:250
05/03/11 10:40:54
すみません。わかりました。

252:デフォルトの名無しさん
05/03/11 12:26:42
>>249
幼稚な奴。
実際に自分でやってみてから言ってるか?
っていうか、「本当はWndProcなんてわかんない」に五万両。

253:デフォルトの名無しさん
05/03/11 19:48:58
このスレの大半はアホなのはわかっている。

254:最凶VB厨房
05/03/11 22:50:51
ドアホがスレ立ててんだからしょうがねぇってこった。

255:デフォルトの名無しさん
05/03/11 23:07:27
アホは自分がアホだと認識した時点でアホではなくなる。

256:デフォルトの名無しさん
05/03/12 00:35:42
>>252
>>246が間違っていることを確認し、問題を解決できました。
回答くださった方(>>246の人は除き)、どうもありがとうございました。

257:デフォルトの名無しさん
05/03/12 23:09:18
どなたか教えてください。

datagridのDataGridTableStyleでFormatを設定する部分があると思うのですが、
番号を01,02,03・・・という感じでしたいので 00 と入れたのですがちゃんと表示されず、
1,2、・・とでてしまいます。
どの部分がおかしいのでしょうか?

258:デフォルトの名無しさん
05/03/12 23:13:34
Dim str As String : Dim time As Integer : Dim ch As ListView.CheckedListViewItemCollection
ListView1.View = View.Details : ListView1.CheckBoxes = True : ListView1.Columns.Add("test", 100, HorizontalAlignment.Left)
''' テストデータセット 偶数にチェック
For ii As Integer = 0 To 5000
ListView1.Items.Add(CStr(ii)) : If (ii Mod 2) = 0 Then ListView1.Items(ii).Checked = True
Next ii
''' チェックデータ取得 ①~③ のどれが一番早い??
time = Environment.TickCount() ''''①
Dim txt1 As New System.Text.StringBuilder
For ii As Integer = 0 To ListView1.Items.Count - 1
If ListView1.Items(ii).Checked Then str = ListView1.Items(ii).Text
Next ii
Console.WriteLine(Environment.TickCount() - time)
time = Environment.TickCount() ''''②
ch = ListView1.CheckedItems
For ii As Integer = 0 To ch.Count - 1
str = ch.Item(ii).Text
Next ii
Console.WriteLine(Environment.TickCount() - time)
time = Environment.TickCount() ''''③
ch = ListView1.CheckedItems
For Each item As ListViewItem In ch
str = item.Text
Next
Console.WriteLine(Environment.TickCount() - time)


259:258
05/03/12 23:14:09
上記サンプルの、ListViewコントロールについて質問です。
Details モードで、チェックボックスを付けた状態で、チェックされた行を
取得する方法なのですが、以前より何故こんなに遅いのかと疑問に感じていました。
が、どうやらコーディング次第でものすごく差があるようです。
私は、②<③<①となると思っていたのですが、現実は、①<③<<<<②になりました。
何故このような結果が出るかどうしても説明出来ません。
誰か偉い人教えてください。

260:デフォルトの名無しさん
05/03/12 23:20:00
>>257
DataGirdTextBoxColumnのFormatプロパティだな。
該当するDataColumnのDataTypeがString型になってるんだろう。

261:デフォルトの名無しさん
05/03/13 00:40:04
>>259
面白そうなのでちょっとILDASMで見てみた。

(2)の最大のボトルネックはCountプロパティの取得部分であるのは動作を見れば一目瞭然。
では内部でどんな作業をしてるのかというと、
1.オーナーであるListViewのCheckedIndicesを取得して、そのCountプロパティを返す。
2.CheckedIndices.Countは、内部ではオーナーであるListViewのItemsプロパティを取得し、
 それをFor Eachで回して一つ一つCheckedプロパティを確認し、インクリメントして計測する。
という遠大な事をやっている。
For ... To で毎回Countプロパティを取得してればそりゃ死ねる。
Forの前に一度Countを別変数に取り出すだけで劇的に改善され、(3)にほぼ並ぶ。

さて、(2)と(3)の違いだが。
(2)は毎回Item(Integer)を呼んでいる。この動作の遷移は、
1.ListViewのCheckedIndicesを取得、CheckedIndices.Itemを呼ぶ
2.CheckedIndices.Itemは内部でListView.ItemsをForで回し、Index回目で見つかったCheckedのインデックスを返す
3.返されたインデックスのアイテムをListView.Itemsから取得し、それを返す
という流れだ。分かりにくいなんて意見はスルー。

(3)、For Eachは内部でGetEnumeratorが呼ばれ、それで返されるIEnumeratorのCurrentプロパティ・MoveNextメソッドで列挙動作が行われる。
ではGetEnumeratorはどうなってるかというと、
1.CheckedListViewItemCollection.Countを取得し、その数でListViewItem配列を作成する
2.ListViewのItemsをForで回し、Checkedかどうか確かめてCheckedなアイテムを順に配列に格納する
3.配列のGetEnumeratorを返す
って流れになる。
配列のGetEnumeratorは、MoveNextが呼ばれるごとにインデックスをインクリメントして、Currentで現在のインデックスのアイテムを返すってだけの簡単な処理。

(3)はCheckedListViewItemCollection.Countを取得してる以外にコストがかかる処理はなさそうだ。それが大きいけど。
(2)は2.の所だな。指すインデックスが後ろになればなるほどコストがかかるようになる。
その上ch.Item(ii)がループ回数呼ばれてる訳で、その回数分のListView.Itemsのループが発生してしまうと。

こんな動作を知ってしまった後では、でかいビューでCheckedItemsを使うのは躊躇しちゃうね。

262:258
05/03/13 12:06:00
>>261
ホントにありがとうございます。
非常に分かり易い神な回答が返って来るとは思いませんでした。

ヘッポコ同僚が(1)でコーディングを行っていて、カコ悪いなーと思っていましたが
それが一番コストが掛からないなんて・・・orz


263:デフォルトの名無しさん
05/03/13 13:17:14
配列の概念がよくわかりません

264:デフォルトの名無しさん
05/03/13 13:18:37
そうか頑張れ。

265:デフォルトの名無しさん
05/03/13 14:43:45
>>264
なんだそれ

266:デフォルトの名無しさん
05/03/14 12:24:47
LinkLabelをクリックした時に左右どちらのボタンでクリックしたか調べるには
どうすればいいですか?
LinkClickedのイベントプロシージャ内で判定させたいのですが。

267:デフォルトの名無しさん
05/03/14 12:40:47
>>266
MouseDownで保存しとくとか。

268:デフォルトの名無しさん
05/03/14 12:59:19
Excelでレポートを出力するアプリケーションを作っています。
一旦Excelに書き込んで保存して終了して
その書き込んだExcelファイルを開くという処理をしているのですが
System.Diagnostics.Process.Startをしたときに前のExcelの
プロセスが残っているためかExcelのメニューだけ表示された状態で
とまってしまいます。
GC.WaitForPendingFinalizers()
がないと100%そうなるのですが、これがあると
うまくいくときもあります。何か回避方法がありますでしょうか?

oBook.Close(False)
NAR(oBook)
NAR(oBooks)
oApp.Quit()
NAR(oApp)

GC.Collect()
GC.WaitForPendingFinalizers()

System.Diagnostics.Process.Start("hoge.xls")



269:デフォルトの名無しさん
05/03/14 13:08:04
FlexGridの新しい奴がExcel直接操作できる

270:268
05/03/14 13:38:21
すみません。お騒がせしました。
データを書き込んでいるところを関数にしたら直りました。
データを持っているオブジェクトが解放されなかったためのようです。


271:デフォルトの名無しさん
05/03/14 14:33:51
リストビューでカラムヘッダーをクリックしたら
そのカラムでソートしたいのですがどのようにしたらよいでしょうか?

272:デフォルトの名無しさん
05/03/14 15:55:47
>>271
URLリンク(dobon.net)

273:デフォルトの名無しさん
05/03/14 16:03:41
>>272
ありがとん。
できました。

274:デフォルトの名無しさん
05/03/14 18:42:38
--------------------------------------------------
Java
--------------------------------------------------
public class Foo {
public static void main(String[] args) {
new Foo();
}

public Foo() {
}
}


と同等なコードをVB.NETで書きたいのですが、
New Foo()と書くと構文が違うと怒られるんですが、
こういう書き方はできないのでしょうか?


275:デフォルトの名無しさん
05/03/14 18:48:24
>>274
VB.NETの構文を勉強してください。

276:デフォルトの名無しさん
05/03/14 18:49:32
Java'erならC#使った方が良くね?

277:デフォルトの名無しさん
05/03/14 18:50:00
>>275
嫌なんで、教えてください。

278:デフォルトの名無しさん
05/03/14 18:51:22
わかった、ちょっと待ってな・・・

279:274
05/03/14 18:52:33
できればそうしたいんですが、
それができないんで○| ̄|_
VB冗長すぎる…。

280:デフォルトの名無しさん
05/03/15 15:55:17
TextBox1をクリックしたりしてフォーカスがTextBox1に移動したときにLabel1.Textが
TextBox1の説明文に変更されて、また別のTextBoxが選ばれたらLabel1.TextがそのTextBoxの
説明文に変更されるというようなプログラムを書く場合、
Private Sub TextBox1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TextBox1.Click
  Label1.Text = "(TextBox1の説明文)"
End Sub
てな感じのを各TextBoxすべてについて書かなければいけないのでしょうか?
何か他にエレガントな方法はありませんか?

281:名前は開発中のものです。
05/03/15 16:00:45
まぁ藻前ら、それほどの技術と経験と根性があるなら、今まさに危機に瀕している↓のMMORPGを救ってくれ。
軽く問題に触れておくと、要は開発者が逃げ出しましたよと。
そしてそれに痺れを切らした3Dモデリング担当の人もプロジェクト脱退しましたよと。
そこで藻前らの力が必要になったわけで。。
この企画に参加、若しくは引継ぎすれば少なくとも藻前らのスキルアップにも繋がるだろうし。。
頼むよ。絶望に満ち溢れた世界に新たな風を吹き込んでくれ。藻前らの力で・・・・・・

         頼       ん      だ       ぞ

                 URLリンク(rob2.jp)

282:デフォルトの名無しさん
05/03/15 16:24:34
>>280
TextBoxのTagに説明文を入れて、
Label1.Text = CType(sender, TextBox).Tag.ToString()
を全てのTextBoxのEnterイベント共通メソッドにする、とかどうよ。

283:デフォルトの名無しさん
05/03/15 17:29:04
>>282
それは全てのTextBoxのEnterイベントを共通メソッドとして一括で書く方法があるということですか?
それとも全てのTextBoxのイベントをひとつひとつ書かないといけないということでしょうか?

284:デフォルトの名無しさん
05/03/15 17:43:04
なんでWebBrowserコントロールのドキュメント、MSDNに無いんだよ!!!!

285:デフォルトの名無しさん
05/03/15 17:44:58
>>283
URLリンク(www.microsoft.com)

>>284
英語が読めない人は大変ですね。

286:デフォルトの名無しさん
05/03/15 17:50:07
>>282>>285
おお、百万の感謝を。

287:デフォルトの名無しさん
05/03/15 22:54:31
RichTextBoxで100行目に書かれている1行をすばやく消す方法を教えてください。


288:デフォルトの名無しさん
05/03/15 23:24:18
SendKeys "^({HOME})"
For intCnt = 1 To 99 Step 1
SendKeys "{DOWN}"
Next intCnt
SendKeys "+({END}){DEL}"

289:デフォルトの名無しさん
05/03/15 23:51:37
↑こういうのって一般的なんですか?


290:デフォルトの名無しさん
05/03/16 07:20:34
>>289
No

291:デフォルトの名無しさん
05/03/16 12:55:13
>>287
WordWrapは考慮しなくてもいいの?


292:デフォルトの名無しさん
05/03/16 17:06:23
Ctrl+Xで削除する行って、削除と同時に複写もするんですか?

293:デフォルトの名無しさん
05/03/16 17:15:48
すみません。教えていただきたいのですが、

DatagridにListBoxを使用しています。
たとえば

あああ
いいい
うううう
えええ
おおお

のリスト中の「あああ」と「えええ」 を複数選択してそれを
A列とB列に入れたい場合はどういうふうにすればいいでしょうか?

リストボックスプロパティのselectionmode=MultiSimpleで複数選択はできました。

よろしくおねがいします。



294:デフォルトの名無しさん
05/03/16 17:22:24
>>293
A列とB列はどこから出てきたんだ?

295:デフォルトの名無しさん
05/03/16 17:41:04
>>294

SQLサーバーで従業員のデータを作成してdatagridで使用してます。
従業員の担当業務が複数あってそれを入れたいと思っています。
複数あるので担当業務の列を5つ設けています。
2つであればA列、B列。3つあればC列までって感じです。




296:289
05/03/16 22:04:52
>290
んじゃ~正しいの教えてください。御願いします。
Select~で選んで消さなきゃいけないのはわかるんですが、目的の場所にたどり着くのに
えらいこと時間がかかるから、、、
せっかくLinesみたいなのがあるのに、その行を消せないし。

297:デフォルトの名無しさん
05/03/16 22:15:29
APIのSendMessageでEM_GETLINEを送れば特定行の先頭インデックスを取得できる。

298:デフォルトの名無しさん
05/03/16 22:49:10
Windows2000/XP でログオフ/終了/再起動ををするのをフックにして
動作するプログラムを書きたいのですが、どうやって判断すれば
いいでしょうか?



299:デフォルトの名無しさん
05/03/16 22:50:11
VB.NETでCABファイルを扱いたいのですが、専用のクラスとかは
あるでしょうか。

300:デフォルトの名無しさん
05/03/16 22:54:46
>>299
ない。

301:デフォルトの名無しさん
05/03/16 23:20:05
>299
URLリンク(www.elguille.info)

302:デフォルトの名無しさん
05/03/16 23:36:02
そろそろ、テンプレのリンクに色んなサイト追加しない?
漏れ自身は、結構良いサイト増えてきてると思ってる。
掲示板が設置してあるサイトをまとめてみたりすると良いかも。

303:デフォルトの名無しさん
05/03/17 00:38:38
>>302
頼む

304:デフォルトの名無しさん
05/03/17 11:48:34
>>292
Ctrl-X は切り取り

305:デフォルトの名無しさん
05/03/17 16:51:33
VB.NETのソースはJavaのようにフォルダを階層構造にして
管理できますか?

306:デフォルトの名無しさん
05/03/17 18:37:27
シリアルキー解析集「ALTEA」
大好評発売中!

URLリンク(openuser10.auctions.yahoo.co.jp)


市販SOFTやオンラインSOFTのパスワード集です。
オークション関係から画像・OS・表計算・CAD・・・・etc
国内・国外のあらゆる分野のSoftを解析済です。


これを初めて手にされた時には、驚愕される事でしょう。
そして・・・手当たり次第にインストールを始める筈ですw
パソコンをご使用の方なら、必ず!満足されると思います。

解析結果のデータベースには15,000点を越えるパスワードが入ってます。
このパスワード集から検索するだけで、登録や制限解除が出来てしまいます。
シェアウェアを購入して、正規登録したのと同じ状態になります。
余りにもデータが多すぎる為、辞書引のようなパスワード検索SOFTで提供します。

シェアウェア以外にもパッケージ版をVectorなどでオンライン販売してるSOFTにも
多数対応しています。これらをダウンロードして無期限に試用する事も可能です(^^;

WindowsXPやOfficeなどのCDキー(プロダクトキー)ジェネレーターを使えば複数のパソコンに
インストールする事も可能です。デスクトップとノートPCなど2台以上持ってる場合は特に有効ですね。

オンラインSOFTを購入した経験は有りますか?
ありとあらゆる分野の優れたSOFTが、数多くありますよね。
しかし、ほとんどが試用期間や機能制限をして、「気に入ったら購入してください」です。

もう少し使いたいが使用期限切れで、削除・・・再インストールを繰り返していませんか?


307:デフォルトの名無しさん
05/03/17 21:10:23
だれかおしえて!

datagrid使ってデータベース作ってるんだけど、
別のフォームで作成したデータベースのデータをComboboxを使って
よびだしたとき、ほかのTextboxにComboboxを使って呼び出したデータと
同じ行の違う列のデータを表示させたいんです。
どうしたらいいですか?


308:デフォルトの名無しさん
05/03/17 21:12:22
>>307
わけがわからんのでもうちょっと整理して。

309:デフォルトの名無しさん
05/03/17 21:20:19
>>307
まさかプロじゃないだろうな?

310:デフォルトの名無しさん
05/03/17 21:31:23
「データベース作る」って何やってんだ?

311:デフォルトの名無しさん
05/03/17 23:21:44
>>307
ComboBoxのSelectedIndexを使う
選択された行を認識して任意の列を取り出せばいいんでないの
ValueMemberに抽出のキーとなるデータをほりこんでおいてそれで探してもいいけど

しかしもう少し聞き方何とかならねぇのか?

312:デフォルトの名無しさん
05/03/17 23:37:21
VB.NETにはRebarってありますか?
あのツールバーの場所を移動したりするやつです。

313:デフォルトの名無しさん
05/03/17 23:40:55
.NET Frameworkのライブラリにはない。.NET 2.0で追加される。
それまではサードパーティのを。どぼんとかに紹介もされてたはず。

314:デフォルトの名無しさん
05/03/17 23:48:00
>>313
そうだったんですか。今年後半まで我慢ですね。
Twintailというソフト確認したら、それも外部のものを使ってました。
探してみます。ありがとうございました。

315:デフォルトの名無しさん
05/03/18 00:15:56
フォームの左上に表示されるアイコンを条件によって
切り替えたいのですが、どうすればできますか?

316:デフォルトの名無しさん
05/03/18 00:17:08
Iconプロパティを操作する

317:デフォルトの名無しさん
05/03/18 00:25:59
>>316
それはそうなのですが、デザイナでIconプロパティを設定すると
Me.Icon = CType(resources.GetObject("$this.Icon"), System.Drawing.Icon)
みたいなコードが生成されますよね。この右辺部分を動的に変える
方法がよく分からないのです。リソースファイルみたいなものを
使うのでしょうか。

318:デフォルトの名無しさん
05/03/18 00:42:11
>>317
ま、普通はリソースを埋め込むね。
URLリンク(dobon.net)

319:デフォルトの名無しさん
05/03/18 01:02:43
>>318
サンクス

320:302
05/03/18 04:24:31
>>303
頼むって・・・そんな・・・。
最凶VB厨房先生に頼まないとダメなのかしらねん。
まあ、いいや、ほどほどにあげとこ。

VB.NET初心者の館(初心者専用ですな)
URLリンク(vbnet-iku2.hp.infoseek.co.jp)

PAPA'n VB (API 系のサンプルが結構ある)
URLリンク(www.mitene.or.jp)

じゃんぬねっと(VB.NET だけでなく、C#, J# も、なんと VB6 も)
URLリンク(jeanne.wankuma.com)

VB レスキュー花ちゃん(.NET 専用のコーナーがある)
URLリンク(www.bcap.co.jp)

掲示板も紹介しようかと思ったけど、ここの人がいなくなるからやめた(w

321:302
05/03/18 04:26:35
あ、一応全部リンクフリーみたい。
てんぷらに合わせて書くとこんな感じ?

VB.NET初心者の館
URLリンク(vbnet-iku2.hp.infoseek.co.jp)
PAPA'n VB
URLリンク(www.mitene.or.jp)
じゃんぬねっと
URLリンク(jeanne.wankuma.com)
VB レスキュー花ちゃん
URLリンク(www.bcap.co.jp)

322:デフォルトの名無しさん
05/03/18 09:36:17
MDBファイルにアクセスするプログラムを組んでいるのですが
「この接続に関連付けられている DataReader が既に開いています。この DataReader を最初に閉じる必要があります。」
というエラーメッセージが出ます。
Oracleへアクセスするプログラムの時は問題なかったのですが
MDBファイルへアクセスするときはDataReaderが一つしか開けない
ということでしょうか?
これを簡単に回避する方法はないでしょうか?

323:デフォルトの名無しさん
05/03/18 09:42:56
開いた接続はさっさとClose。

324:デフォルトの名無しさん
05/03/18 09:45:40
>>323
ネストしたい場合はどうしますか?

325:デフォルトの名無しさん
05/03/18 10:05:19
新たにコネクションを張る、Readerから取得したデータを変数に格納する、DataAdapterとDataSetを使った手法に変える。

326:デフォルトの名無しさん
05/03/18 10:10:16
>>325
さんくす。うーん。どれにしようかな。
DataSetにするかなー

327:デフォルトの名無しさん
05/03/18 11:24:45
>>320-321
Good Job!

328:デフォルトの名無しさん
05/03/18 16:09:36
>321
3つとも知ってましたがなにか?

329:328
05/03/18 16:09:57
間違えた、4つともだった。OTZ

330:デフォルトの名無しさん
05/03/18 23:35:01
InstallShieldのスレってある?

331:デフォルトの名無しさん
05/03/19 10:14:51
以前はあったんだけどな。

インストーラー相談室
スレリンク(tech板)

過疎ってるけどageで質問すれば誰か来るでしょ。

332:デフォルトの名無しさん
05/03/20 01:05:38
Dim a As String = "4+2*15/3"
と 4+2*15/3 をStringで宣言し
これを計算させて14という答えを導いて
それを他の変数に代入するには
どうしたらいいのでしょうか?

333:最凶VB厨房
05/03/20 02:12:03
参照の追加
Microsoft.JScript
Microsoft.Vsa
''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
Imports System
Imports Microsoft.JScript.Vsa
Imports Microsoft.JScript
Public Class calc
  Public Shared Sub Main()
    Dim exp As String = "4+2*15/3"
    Dim ve As VsaEngine = VsaEngine.CreateEngine()
    Dim result As Double = CDbl(Eval.JScriptEvaluate(exp, ve))
    '結果を表示
    Console.WriteLine(result)
    Console.ReadLine()
  End Sub
End Class

実行時の動的な式の評価 - Insider.NET
URLリンク(www.atmarkit.co.jp)
どぼん!のプログラミング道のメルマガ
URLリンク(dobon.net)


334:デフォルトの名無しさん
05/03/20 14:32:30
>>333
遅くなってすいません。
ありがとうございました。

335:デフォルトの名無しさん
05/03/20 14:57:20
For文で繰り返し処理しているときでもユーザーの入力を
受け付けるようウェイトをかけたいんですが?

336:デフォルトの名無しさん
05/03/20 15:00:32
そう言う処理は別スレッドでやって下さい。

337:デフォルトの名無しさん
05/03/20 15:23:34
そして別スレッドのコントロールを触ってあぼーん

338:デフォルトの名無しさん
05/03/20 16:37:32
え、waitとかsleepとかないんですか

339:デフォルトの名無しさん
05/03/20 16:38:05
基本だな。

340:デフォルトの名無しさん
05/03/20 16:41:32
>>338
あるけどね。お薦めしない。
UIスレッドはユーザとの対話だけやって、重い処理は別スレッドでやるべき。
VB6までの常識は捨て去れ。
.NETでマルチスレッディングは簡単になったし。
コントロールを別スレッドから扱うのは工夫が必要だが。

341:デフォルトの名無しさん
05/03/20 16:47:13
>あるけどね。お薦めしない。
一応教えてください。

342:デフォルトの名無しさん
05/03/20 17:36:07
>>340
>>コントロールを別スレッドから扱うのは工夫が必要だが。
コントロールを貼り付けたりする方法を教えてけれ。

343:デフォルトの名無しさん
05/03/20 17:45:10
>>342
端的に言えばFormのInvoke/BeginInvokeメソッドを使え、と言う事。
URLリンク(www.atmarkit.co.jp)

その辺をキーワードにぐぐればいろいろ情報も出てくるだろう。

344:341
05/03/20 17:51:08
342とは別人なんですが

>あるけどね。お薦めしない。
一応教えてください。


345:デフォルトの名無しさん
05/03/20 19:38:13
なんだ、バカばかりだな。

346:デフォルトの名無しさん
05/03/20 19:47:09
そうだな。

347:デフォルトの名無しさん
05/03/20 19:50:15
バカで悪いか?

348:デフォルトの名無しさん
05/03/20 21:08:59
>>347
悪いのでは?

349:デフォルトの名無しさん
05/03/20 21:51:06
質問です。VBには先人の開発したモジュール郡を無料で配布管理してる
サイトが存在しますか?
perlではCPANというボランティア団体が大量のモジュールを提供していました。
(ALL英語なので敷居が高く挫折気味ですが..)
MSDNを彷徨って探してみてのですが、膨大なコンテンツ群に圧倒され
お目当ての物はみつけられませんでした。


350:デフォルトの名無しさん
05/03/20 21:53:46
GotDotNetとかthe Code Projectとか。
ん? .NETの話だよな?

351:デフォルトの名無しさん
05/03/20 22:18:06
ええと...単体で買うとNETでは無くなるのかな?
新しいの買ってこようと考えていますが...
the Code Projectは英語表記ですね><
GotDotNetはあまり20-30くらいしかモジュールないのかな...

...英語面倒だとか贅沢いうな ハゲとか言わないでください..><
簡易にオブジェクト組めるVBに興味が湧き出しているのですが
できれば、モジュールを組み立ててコーディングしたいのですので

352:デフォルトの名無しさん
05/03/20 23:06:31
.NET Frameworks自体が、でかいモジュールの集まりだと言えなくも
ない罠。

353:デフォルトの名無しさん
05/03/21 02:11:58
.NETでは6.0で書かれたVBソースって見れないんでしょうか?

今日電気店にて聞いたところ
「6.0で書かれたソースを.NETで開くと
.NETの形式に変換されて表示されちゃう。」
と言われました。

当方ソースを閲覧できさえすればよいのですが
エディタを使うしかないのでしょうか?
.NETを使用して見れるとよいのですが…。
6.0は販売してないし…。

354:デフォルトの名無しさん
05/03/21 02:18:20
閲覧だけならテキストエディタで良いじゃんと思うんだが。
VSは一々重いし。
VBの色つけならそれなりのエディタが対応してるんじゃない?

355:デフォルトの名無しさん
05/03/21 06:52:08
>>354
それなりとは?

356:デフォルトの名無しさん
05/03/21 08:18:33
>>354
重いってどこが?

357:デフォルトの名無しさん
05/03/21 08:51:59
おまいら>>353の電気店ってほうが突っ込むべきところだと思うが。

358:デフォルトの名無しさん
05/03/21 11:00:25
>>357
思いません。

359:デフォルトの名無しさん
05/03/21 14:47:34
すいません、質問させてください。
IEのフォームにVB.NETで文字を自動入力させることは可能でしょうか?
注文ページに住所氏名電話番号など、自動入力できる常駐ソフトなど、
よろしければ教えてください。

360:デフォルトの名無しさん
05/03/21 18:24:38
'Yahooにログイン.vbs

'-------------------
Set ie = CreateObject("InternetExplorer.Application")
ie.visible = True
ie.navigate "URLリンク(www.yahoo.co.jp)"
Do
   WScript.Sleep 100
Loop While ie.Busy
With ie.document.forms(0)
   .item("login").value = "なまえ"
   .item("passwd").value = "ぱすわーど"
   .submit
End With

361:デフォルトの名無しさん
05/03/21 19:13:14
AddHandlerで、イベントをデリゲートした場合、
明示的に、RemoveHandlerを呼び出さないと、ガベージコレクトされませんか?

362:デフォルトの名無しさん
05/03/21 19:26:52
361ですが、
イベントハンドラ(イベントを関連付けたメソッド)
を持つクラスのインスタンスをNothingしても、RemoveHandlerを呼び出していなかった場合、
ガベージコレクトされずに、メモリに残ることはないのだろうかということです。

363:デフォルトの名無しさん
05/03/21 19:34:14
ないよ。普通にGCされる。

364:デフォルトの名無しさん
05/03/21 19:44:02
>>362
VB.NETではリソースの解放は一切必要ないよ。
ベストは1秒間隔くらいで動くタイマ仕掛けておいて、
その中でSystem.gc.Collect()しとけば絶対リークなしだよ。

365:デフォルトの名無しさん
05/03/21 19:47:21
ReDimも解放されますか?

366:デフォルトの名無しさん
05/03/21 19:47:43
無茶言うな。

367:デフォルトの名無しさん
05/03/21 19:48:45
>>365
されるよ。GCは最強。

368:デフォルトの名無しさん
05/03/21 19:57:32
そうですか。レスありがとう
一応、REmoveやっとけばいい話だけども。
ヘルプによると、
Event ステートメントで型が定義されて、
AddHandlerで、その型にインスタンスされるそうです。(デリゲートが?)
>>364
そりゃないよ。

369:デフォルトの名無しさん
05/03/21 20:34:25
一応技術的な解説をしとこう。

イベントは、対応する引数・返値を持ったデリゲートの一種のプロパティだ。
デリゲートというのは、メソッドへの参照リストを保持する特殊なクラス。
Event Hogeを宣言すると、VB.NETコンパイラは以下の操作を行う。

・MulticastDelegateを継承するHogeEventHandlerクラスを作成する
・HogeEventHandler型のフィールドHogeを追加する
・メソッドadd_Hogeとメソッドremove_Hogeを追加する

イベントの実体は結局の所デリゲートの派生クラスであるHogeEventHandler型のフィールドHogeである。

AddHandlerステートメントは、まずメソッドの参照をラップするHogeEventHandlerインスタンスを作成する。
その後add_Hogeを呼び出して、フィールドHogeと作成したインスタンスを合成し、新しくHogeとする。
これでHogeにはメソッドの参照であるHogeEventHadlerインスタンスのリストがあることになる。
//このリストは飽くまでインスタンスの参照のリストである、という点を忘れてはいけない。クラスインスタンスは全て参照でやりとりを行う。

RaiseEventステートメントを使うと、このメソッドリストを最初から順に実行していくわけだ。

さて、Hogeが持ってるのはHogeEventHandlerインスタンスのリストである。
それぞれのHogeEventHandlerインスタンスはこのHogeからしか参照されていないわけで、
Hogeが他から参照されなくなると、自動的に各HogeEventHandlerインスタンスも他からの参照はなくなる。つまりGCの対象となる。
ではHogeの参照を持っているのは、というと(SharedのEventでない限りでない限り)、
Eventを持ってるクラスのインスタンスが
・明示的にHogeにNothingを代入する(ただしVB.NETでは不可能)
・クラスのインスタンス自身が他から参照されなくなった
といった状況だ。
つまり、クラスのインスタンスがGCされる状況では必ずHogeとHogeが持っているHogeEventHandlerインスタンス達もGCの対象になっているというわけだ。

あと、RemoveHandlerすればHogeからHogeEventHandlerインスタンス(の参照)が一つはずれる。
はずされたHogeEventHandlerは当然他からの参照されていないためGCの対象になる。

370:デフォルトの名無しさん
05/03/21 21:13:16
>>368
>そりゃないよ。
理由言ってみ。

371:368
05/03/21 21:13:47
>>369
ダラダラ分かりにくい解説ありがとう

372:デフォルトの名無しさん
05/03/21 21:33:35
>>371
俺は369じゃないが君人間として終わっとるな。

373:デフォルトの名無しさん
05/03/21 22:17:23
>>372
理由言ってみ

374:デフォルトの名無しさん
05/03/21 22:34:07
言われないと分からないようなやつがいるこんな世の中じゃ(ry

375:デフォルトの名無しさん
05/03/21 22:35:28
Python

376:デフォルトの名無しさん
05/03/21 22:37:24
うまいな。(w

377:デフォルトの名無しさん
05/03/21 22:48:36
>>374
つまり説明はできないということだね。

378:デフォルトの名無しさん
05/03/21 22:49:01
>>374-376
自演乙

379:デフォルトの名無しさん
05/03/21 22:54:45
分かりやすい自演をするのが最近の2ちゃんのトレンドだと思うが。

380:デフォルトの名無しさん
05/03/22 17:07:50
ListViewのアイテムをカラムの値を使ってソートしたいのですがやり方がサッパリわかりません。
教えていただけないでしょうか?


381:デフォルトの名無しさん
05/03/22 17:13:16
>>380
どぼん

382:デフォルトの名無しさん
05/03/23 01:01:41
ブラウザコントロール(?)を利用してデータをPOSTで送信しているのですが、
特定のコード(Chr(81)~Chr(9F))が00に化けてしまいます。

コードはこのような感じです。

Dim sendPOST As Object
Dim i As Integer

sendPOST = "test="

For i = 0 To 255
sendPOST += Chr(i)
Next i

sendPOST = Encoding.GetEncoding("Shift-JIS").GetBytes(sendPOST)

AxWebBrowser1.Navigate2("URLリンク(xxxxxxxxxxx)", "", "", sendPOST, "")

化けない方法はありますか?

383:382
05/03/23 01:03:51
>特定のコード(Chr(129)~Chr(159))が00に化けてしまいます。

384:sage
05/03/23 01:48:09
算術演算子はオーバーロードできないのですか?

385:デフォルトの名無しさん
05/03/23 03:26:18
>>382
アスキー未定義コードだし、相手がLinux鯖じゃないのかな?

386:デフォルトの名無しさん
05/03/23 05:12:48
>>384
できない。
VB2005では、できるようになるらしい。

387:デフォルトの名無しさん
05/03/23 11:53:42
最初の画面のコンボボックスで、”AAA”という値を選択したとして
次の画面のコンボボックスで、”AAA”という同じ値が存在したら
選択状態にしたいのですが、どーすればいいのでしょうか?


388:368
05/03/23 12:08:50
371は俺じゃないぞ。

389:デフォルトの名無しさん
05/03/23 13:29:56
>>387
そう言う風に書け、としか言いようがないな。

390:デフォルトの名無しさん
05/03/23 14:01:51
>>389
すみません、具体的なコマンドが知りたいのですが。。。

391:デフォルトの名無しさん
05/03/23 14:27:55
グローバルで値を渡してselectedItemに投げろ。

392:デフォルトの名無しさん
05/03/23 14:40:59
サンクス子!

393:デフォルトの名無しさん
05/03/24 08:27:18
VB.NETからボタンなどのコントロールの配列ができなくなって
結構めんどくさいのですが、
ボタンがcmdBtn00からcmdBtn99まであって、
String="33"の場合、cmdBtn33のボタンオブジェクトが欲しいのですが、
どうすれば可能でしょうか?
Select Caseでだらだらと書くのでなく、
2,3行以内で書きたいのですが。

394:デフォルトの名無しさん
05/03/24 08:28:03
VB.NETでアプリケーションを作りました。
配布のためにインストーラを作成したいのですが
定番はどのような方法でしょうか?

395:デフォルトの名無しさん
05/03/24 08:44:44
>>393
コントロールの配列はできますよ

396:デフォルトの名無しさん
05/03/24 08:47:18
>>393
ほら
URLリンク(dobon.net)

397:デフォルトの名無しさん
05/03/24 08:50:04
>>393
6.0の頃みたいに添字で配列化はできないけれど、普通に1次元配列
を宣言して、そこにオブジェクトを代入すればそれっぽく使える。

398:デフォルトの名無しさん
05/03/24 09:04:22
配列いらないよ。
Formにボタンおいてるなら、そのフォームのControlsコレクションに入ってるから、
TypeOfで、取り出せる。

399:デフォルトの名無しさん
05/03/24 10:40:07
ShowDialogで表示したページに
明示的にDislogResultを設定すると
勝手にページが閉じるんだが
これは仕様?

400:デフォルトの名無しさん
05/03/24 10:50:52
仕様。

401:デフォルトの名無しさん
05/03/24 11:41:14
>>400
トンクス

402:デフォルトの名無しさん
05/03/24 12:30:08
>>393です。
みなさんありがとうございます。
結果、下記のようになりました。
Private Function GetButton(ByVal a_str As String) As Button
Dim objControl As Control
Dim btn As Button
Dim strWork As String
For Each objControl In Me.Controls
If objControl.GetType Is GetType(Button) Then
btn = CType(objControl, Button)
strWork = btn.Name
If strWork = a_str Then
GetButton = objControl
Exit For
End If
End If
Next
End Function


403:デフォルトの名無しさん
05/03/24 16:59:07
俺のやり方が正しいかわかんないけど、
ボタンコントロールがたくさんあるなら、デザイナからも設定できるけど、プロパティにTagってのがあるでしょ。
そこに、1とか、2とか番号振っといて、
For Each C as Control In Me.Controls
   If TypeOf C Is Button Then
      If C.Tag.ToString = "1" Then
        Btn=DirectCast(C,Button)
      End If
   End If
Next
試してはいないです。

404:デフォルトの名無しさん
05/03/24 18:25:27
>>403
あーTagですか。
他社製品のコンポーネントでtagを使用してたのに
Windows標準のコンポーネントでのTagの存在、
全く気づきませんでした。
軽く見ると、もしかしてコントロールには
すべてTagがついてそうで、
そのやり方の方が短くていいかも。
やってみたら、5行も短くなりました。
さんくす。
Private Function GetButton(ByVal a_str As String) As Button
Dim objControl As Control
Dim btn As Button
For Each objControl In Me.Controls
If objControl.Tag = a_str Then
GetButton = objControl
Exit For
End If
Next
End Function


405:デフォルトの名無しさん
05/03/24 19:11:53
ここはバカが結構いるインターネッツですよね?

406:デフォルトの名無しさん
05/03/24 19:12:29
そんなに自分を責めるなよ。

407:デフォルトの名無しさん
05/03/24 21:00:36
いや、実際バカばかりだよな。
全員がそうではないけど。

408:デフォルトの名無しさん
05/03/24 21:43:22
obj=controls.contains(Button1)とか。

409:デフォルトの名無しさん
05/03/24 21:44:08
これじゃ意味内科。

410:デフォルトの名無しさん
05/03/25 16:17:50
質問です。
Windowsアプリケーションなのですが、
ShowDialogで表示したページを閉じて親ページにもどる時に親ページをリフレッシュ
する一般的な方法ってありますか?
Webアプリケーションの時はフレームを使ってJavaScriptを埋め込みました。

411:デフォルトの名無しさん
05/03/25 16:19:36
>>410のつづき
しかし、Windowsアプリケーションでは方法が見つかりません。
回答よろしくお願いします。

412:デフォルトの名無しさん
05/03/25 16:21:09
リフレッシュの意味がわからん。

413:デフォルトの名無しさん
05/03/25 16:24:44
>>410
FormLoadを明示的に呼ぶ

414:デフォルトの名無しさん
05/03/25 16:26:53
>>412
すいません。分かりにくかったですね。
>>413
やってみます。サンクス子

415:デフォルトの名無しさん
05/03/25 16:42:27
↓もしかしてこれだけとかゆう落ちだったかも・・
Dim f2 As New Form2
f2.ShowDialog()
Me.Form1_Load(sender, e)

Webアプリケーションももっと楽な方法がありそうですね。


416:デフォルトの名無しさん
05/03/25 20:13:07
閉じる時に、クローズドイベントとかあるのでは?

417:デフォルトの名無しさん
05/03/25 23:18:14
VB.NETから簡単に使えるHTMLパーサはないでしょうか。

418:デフォルトの名無しさん
05/03/26 20:42:12
>>413
おバカ!!
イベントの概念勉強してこい。ぼけ。

419:デフォルトの名無しさん
05/03/26 20:50:06
Form1_Loadメソッドを
呼びだすという意味じゃないの?

420:デフォルトの名無しさん
05/03/26 20:54:20
ひとをバカ呼ばわりするなら、解決策も併記してほしいもんだな。

421:デフォルトの名無しさん
05/03/26 22:13:40
>>420
Form1_Load()を呼び出しても何の問題もないよ。
でも>>418さんの説明を待ってみましょうか?w

422:デフォルトの名無しさん
05/03/26 22:15:52
すいません。どなたか>>417のヒントかアイディアだけでも
いいのでお願いします。

423:デフォルトの名無しさん
05/03/26 22:15:53
>>418は説明できなくて逃亡に65535バイト。

424:デフォルトの名無しさん
05/03/26 22:26:17
>>422
URLリンク(www.microsoft.com)

425:デフォルトの名無しさん
05/03/26 23:25:30
>>423
つまんね

426:デフォルトの名無しさん
05/03/26 23:26:38
>>424
どうもありがとうございました。

427:デフォルトの名無しさん
05/03/27 06:44:06
ListBoxで一つの項目だけフォントを太字にすることはできないのでしょうか?


428:デフォルトの名無しさん
05/03/27 06:55:38
listViewだとできますがいかがでしょう。

429:デフォルトの名無しさん
05/03/27 08:16:40
>>427
できないのでしょうか?はご法度ですが?

430:デフォルトの名無しさん
05/03/27 13:08:12
>>427
オーナードロー

431:デフォルトの名無しさん
05/03/28 00:30:20
コントロールのフォントを太字にしたいとき
Control.FontBold = True [VB]
Control.Font = New Font (Control.Font, FontStyle.Bold) [VB.NET]
同時に斜体や下線も指定するときはVB.NETの方が一括で指定できて便利だが、
現在のフォントを指定することなくもう少し簡略に書く方法はないだろうか。

432:デフォルトの名無しさん
05/03/28 00:38:50
ない。

433:デフォルトの名無しさん
05/03/28 00:42:22
というか、>>431は何が不満でどうしたいのかよくわからない。
旧VBライクに現在のフォントからスタイルだけを変更したいということ?

434:デフォルトの名無しさん
05/03/28 02:18:50
>>433 それしかないだろ

435:デフォルトの名無しさん
05/03/28 07:06:53
>>433
なんでそれが理解できないの?

436:デフォルトの名無しさん
05/03/28 08:18:06
>なんでそれが理解できないの?
>>431の文章が意味不明で一義的に解釈できないから。
だから言わんとしていることを忖度はできるが、理解はできない。
忖度は所詮忖度にすぎない。
そんなこともわからない奴にエンジニアの資格はないと思う。

437:デフォルトの名無しさん
05/03/28 08:58:07
「もう少し簡略に書く方法はないか」と聞かれたら、
単純にその方法があるかないかを答えればすぐに済む話ではないのか?
そもそも>>432で答えが出てるんだから、その後に何が不満で
どうしたいのかなんてわざわざ聞く必要すらないだろう。

438:デフォルトの名無しさん
05/03/28 13:17:12
品名A メーカー1
品名B メーカー1
品名C メーカー2
品名D メーカー2
品名E メーカー3

というデーターを、メーカー名で検索できるような画面を作っているのですが、
単純にメーカー名でSQLで抽出すると

メーカー1
メーカー1
メーカー2
メーカー2
メーカー3

と抽出されてしまいます。

メーカー1
メーカー2
メーカー3

とデーターグリッドに出力したい場合は、何を使えばよいのでしょうか?


次ページ
最新レス表示
レスジャンプ
類似スレ一覧
スレッドの検索
話題のニュース
おまかせリスト
オプション
しおりを挟む
スレッドに書込
スレッドの一覧
暇つぶし2ch