VB.NET質問スレ (Part9)

このエントリーをはてなブックマークに追加
1最凶VB厨房
VB.NETの質問全般です

過去スレ
VB.NET質問スレ (Part8)
http://pc5.2ch.net/test/read.cgi/tech/1102512868/
VB.NET質問スレ (Part7)
http://pc5.2ch.net/test/read.cgi/tech/1096683017/
VB.NET質問スレ (Part6)
http://pc5.2ch.net/test/read.cgi/tech/1088812165/
VB.NET質問スレ (Part5)
http://pc5.2ch.net/test/read.cgi/tech/1078134703/
VB.NET質問スレ (Part4)
http://pc2.2ch.net/test/read.cgi/tech/1065269043/
【老若】VB.net質問スレ【男女】 (Part3)
http://pc2.2ch.net/test/read.cgi/tech/1056281084/
【老若】VB.net質問スレ【男女】 (Part2)
http://pc2.2ch.net/tech/kako/1043/10436/1043629429.html
【老若】VB.net質問スレ【男女】
http://pc2.2ch.net/tech/kako/1025/10258/1025848458.html
2最凶VB厨房:05/01/24 23:46:08
3最凶VB厨房:05/01/24 23:47:03
どぼん!のVB道のトップページとTipsページ
http://dobon.net/vb/
http://dobon.net/vb/dotnet/index.html
Microsoftクイック スタート チュートリアル
http://ja.gotdotnet.com/quickstart/default.aspx
Insider.NET
http://www.atmarkit.co.jp/fdotnet/index.html
C#プログラミングTips
http://www.atmarkit.co.jp/fdotnet/csharptips/index/csharptips_index.html
宇宙仮面の C# プログラミング
http://ukamen.hp.infoseek.co.jp/
.NET TIPS
http://www.atmarkit.co.jp/fdotnet/dotnettips/index/index.html
緑のバイク ★ 初めてのC# プログラム全般
http://homepage3.nifty.com/midori_no_bike/CS/
VB.NETとC#でデザインパターン
http://hccweb1.bai.ne.jp/tsune-1/
ConvertCSharp2VB
http://www.kamalpatel.net/ConvertCSharp2VB.aspx
WisdomSoft
http://wisdom.sakura.ne.jp/
CodeProject
http://www.codeproject.com/vb/net/
4最凶VB厨房:05/01/24 23:48:02
the GotDotNet Home Page
http://www.gotdotnet.com/
KEN's .NET
http://www5b.biglobe.ne.jp/~yone-ken/VBNET/index.html
Cetus Links: 19,498 Links on Objects and Components / .NET
http://www.cetus-links.org/oo_dotnet.html
どっとねっとふぁん - C# Tips And Samples -
http://homepage3.nifty.com/dotnetfan/index.html
HIRO's.NET
http://vbdotnet.fc2web.com/index.html
SharpLibrary Redirector
http://www.sharplibrary.com/
.NET のつぼ
http://park16.wakwak.com/~mimi/dotnet/top.html
@IT:特集 .NET開発者のためのオンライン・リソース・ガイド
http://www.atmarkit.co.jp/fdotnet/special/onlineres/onlineres_01.html
5最凶VB厨房:05/01/24 23:52:55
匣の向こう側
http://www.ne.jp/asahi/nami/mei/index.html
@IT:.NET Tools
http://www.atmarkit.co.jp/fdotnet/tools/index/index.html
これもあったか。

関連スレは省略w
6最凶VB厨房:05/01/24 23:59:48
MSDN アカデミック アライアンス 技術資料
http://www.microsoft.com/japan/msdn/academic/articles/
「300 秒でズバリ !!」&「10 行でズバリ !!」シリーズ
http://www.microsoft.com/japan/msdn/thisweek/wednesday/default.asp
Windows Api programming in C# , VB.NET, and VB6. Examples of P/Invoke and DllImport with Source code
http://custom.programming-in.net/

適当に貼ってみる。
7デフォルトの名無しさん:05/01/25 00:01:01
>>1乙。
この機会に、テンプレを新着情報を巡回してみるかな。
8最凶VB厨房:05/01/25 00:04:10
Code Page Identifiers
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/intl/unicode_81rn.asp
文字コード。

いらんか。
9最凶VB厨房:05/01/25 00:09:09
>>7
なんか参考になるぜーっていうサイトがあれば貼ってくれぇw
.NET以外でも結構。
こんなんとかw
http://ist.ksc.kwansei.ac.jp/~ishiura/cpl/note/n2.pdf
10デフォルトの名無しさん:05/01/25 00:09:33
西京味噌乙
11最凶VB厨房:05/01/25 00:20:28
http://www.microsoft.com/japan/technet/scriptcenter/scripts/default.mspx
たまにゃスクリプトで遊んでみたいときはこれ。
.net関係なしw
12デフォルトの名無しさん:05/01/25 00:26:35
>>11
うお、これおもしろそう。(w
残業禁止っつーのに帰らないやつの本体に、タイマーシャットダウン
を仕込んでおこうかな。
13デフォルトの名無しさん:05/01/25 00:29:33
とりあえずテンプレにないので知ってる奴を挙げてみる。
半年ぐらいドトネト関係触ってないんで情報古いですが。

―― .NETでいきましょ
http://santamartadotnet.hp.infoseek.co.jp/

―― .NETフォーラムサイト
http://db-appli.com/xoops/modules/newbb/

―― これがほしかった!厳選サンプルツール集
http://anetm.com/dev/tools/vbdotnet.htm

―― ぬーやんのdotNET講座
http://www.geocities.jp/nuu_yan/dotNET/index.html

―― vbvbvb.net
http://www.vbvbvb.net/jp/index.xml

―― WinAPI Database for VB Programmer
http://www.geocities.co.jp/SiliconValley-Cupertino/5872/

―― Visual C# .NETプログラミング入門 - 追加情報
http://www.ascii.co.jp/books/support/4-7561-4091-2/supplement

―― ?
http://groups.google.co.jp/groups?hl=ja&lr=&group=microsoft.public.jp.dotnet.vsnet
14最凶VB厨房:05/01/25 00:37:56
>>12
悪用厳禁です。うそです。
>>13
どもども。新サイト全然探してないから
新鮮だわさ。ありがたや
15デフォルトの名無しさん:05/01/25 00:39:08
http://pc5.2ch.net/test/read.cgi/tech/1106216291/
めっきり流行ってなくて不憫なのでこれも。
16デフォルトの名無しさん:05/01/25 00:56:00
あとこれ忘れてた

―― PINVOKE.NET
http://www.pinvoke.net/
半年ぐらい前に試したときはまだcontributionが少なくてあんまり使えない
感じだったけど今はどうだろう?
17最凶VB厨房:05/01/25 01:02:38
ちびりながら書き換えてみた記憶が・・・。戻したけど。
18デフォルトの名無しさん:05/01/25 09:01:36
グローバル変数はどこに定義すればよいですか?
19デフォルトの名無しさん:05/01/25 11:28:45
OOPを勉強してね。
20デフォルトの名無しさん:05/01/25 11:37:51
「初心者です」とか書く奴はスルー方向で。
2118:05/01/25 11:47:32
なんとかパターンを使えばいいのか。
ところでリストビューのレポートタイプで
1行に2行表示する方法ないですか?
22デフォルトの名無しさん:05/01/25 11:57:36
>>21
お前面白いな
23デフォルトの名無しさん:05/01/25 12:32:44
釣りは釣堀でやってくれい。
24デフォルトの名無しさん:05/01/25 13:09:20
datagridコントロールのセル内に画像(picturebox?)を埋め込むことは可能でしょうか?
可能でしたらその方法をご教授ください
25デフォルトの名無しさん:05/01/25 13:14:27
>>21-
Alt+Enterのことか?
26デフォルトの名無しさん:05/01/25 13:19:22
質問です。VB.NETは飽きたのでC++にしようと思います。
BuilderとVisualどっちがいいですか?
27デフォルトの名無しさん:05/01/25 13:23:04
テキストボックスに何も入力しないで
ボタンをクリックしたら、メッセージボックスを
表示させて、OKのクリックで、再びそれ以下の処理は
せずに入力画面に戻りたいのですが、そのようにIfから抜け出すには
どうすればよいですか?
28デフォルトの名無しさん:05/01/25 14:17:24
>>27
If テキストボックス = vbnullstring Then
 msgbox メッセージ,,メッセージ
 exit sub
End if
これじゃ駄目なわけ?
29デフォルトの名無しさん:05/01/25 14:36:46
Validate関係のイベントで処理だな。
30デフォルトの名無しさん:05/01/25 14:48:49
>>28
ありがとう
31デフォルトの名無しさん:05/01/25 14:53:01
マイドキュメントに、テキストファイルが作成されたら
イベント発生したいのですが、ファイル名指定なしで
なにかテキストファイルができたら、発生させたいです。
If System.IO.File.Exists("Z:\MyDocuments\*.txt")
とやってみたのですが、うまくできず、
なにかファイル名指定なしの方法はないですか?
System.Watcher以外で。
32デフォルトの名無しさん:05/01/25 15:08:24
マイドキュメント内のテキストファイル数を監視すればいいんじゃねーの。
33デフォルトの名無しさん:05/01/25 15:11:05
>>32
そうですね、それやりたいんですが調べてもなかなか
なくて・・・・
34デフォルトの名無しさん:05/01/25 15:13:15
>>33
プログラム開始時にスレッドを立ててループで回し、
マイドキュメント内の拡張子数を
カウントして拡張子数に変動があったらイベント発生するような
プログラムを書けばいいんじゃないかね?
35デフォルトの名無しさん:05/01/25 15:57:06
入力できるグリッドで
http://www.grapecity.com/japan/support/database/P7_164.htm
よりいいものってありますか?
36デフォルトの名無しさん:05/01/25 15:59:55
何を基準に「よりいいもの」なのさ。
37デフォルトの名無しさん:05/01/25 16:02:55
フィーリングでお願いします。
38デフォルトの名無しさん:05/01/25 16:04:25
>>34
「カウントして拡張子数に変動があったらイベント発生」
ん〜んこのやり方わかりませんでした、教えてくれませんか?
39デフォルトの名無しさん:05/01/25 16:33:32
>>35
Excelとかどうよ
40デフォルトの名無しさん:05/01/25 16:36:34
>>39
細かい制御がしたいのでExcelはちょっと
41デフォルトの名無しさん:05/01/25 16:41:54
姑息な手だけど
VB6のコンポーネント突っ込む方法もある
タダで( ゚Д゚)ウマー
42デフォルトの名無しさん:05/01/25 16:54:19
金ならあるので
43デフォルトの名無しさん:05/01/25 17:06:19
>>38
34じゃないが、もしかしてマイドキュメント内のテキストファイルの数を調べる方法がわからないのか?
わかっていれば、34の説明で十分わかるぞ。
44デフォルトの名無しさん:05/01/25 17:26:06
Windows2000,VB.NETで入力フォームを開発しています。
ボタンを押したらその横にMainMenuコントロールのようなものを表示させて、
マウスで選択できるようにしたいのですが、うまくいきません。
それ専用のコントロールもしくは実現する方法はないでしょうか?

Windowsのタスクバーにあるスタートボタンがそのものズバリなのですが…
コンボボックスやツリービューで作成したところ、却下されました。
お教えください、宜しくお願いします。
45デフォルトの名無しさん:05/01/25 17:27:33
ContextMenu
46デフォルトの名無しさん:05/01/25 17:48:16
>>45
即レスありがとうございます。
つまりContextMenuをボタンクリックで表示して、
かつFormか何かに固定してふらふらしないようにする
とかなんかそういうことでしょうか。
とりあえずやってみます。
47デフォルトの名無しさん:05/01/25 18:11:41
>>43
わからないですorz
48デフォルトの名無しさん:05/01/25 18:20:12
何が分からないのか分からない。
49デフォルトの名無しさん:05/01/25 18:42:12
マイドキュメント内のテキストファイルの数を調べる方法です
50デフォルトの名無しさん:05/01/25 18:44:20
System.IO名前空間をじっくり眺めろと。
51デフォルトの名無しさん:05/01/25 19:02:54
マイドキュメント内のテキストファイルの指定がわからないと・・・
"Z:\MyDocuments\*.txt"じゃいかないので
どう書けばよいのかと??
52デフォルトの名無しさん:05/01/25 19:08:25
53デフォルトの名無しさん:05/01/25 19:28:26
読みましたが、わからなかったです・・・
54デフォルトの名無しさん:05/01/25 20:02:29
メンドクサイならDIR使え。DIR関数で検索すればすぐわかる。
55デフォルトの名無しさん:05/01/25 20:25:33
常駐プログラムでフォームをロード時に非表示にし、タイマーイベントをスタート。
10秒毎にフォルダを監視して、フォルダ内にファイルがあれば処理をする、というプログラムを作りました。
土曜日に起動しっぱなしで帰って、月曜の朝にテストとしてフォルダ内にファイルを入れて見ましたが処理してくれません。
一度プロセスを切って、再び立ち上げたところ処理してくれました。タイマーが止まったのでは?と考えています。
タイマー処理自体は非常に単純なロジックなので、これが止まるとは思えなかったのですが、、、
Windowsフォームのtimerコントロールが止まってしまう条件って知っている方いますでしょうか?
ちなみに現象は一度きり、再現しません。
対象OSはWin2003Server、処理としてはファイル内のデータを別のPC(OS:Win2003Server)のSQLServerに登録して
ファイルを別のフォルダに移す、というものです。
次(>>55?)にタイマー周りのソースを書きます。
56デフォルトの名無しさん:05/01/25 20:27:41
Private Sub DummyForm_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
〜略〜
'タイマー起動。
Me.UpdTimer.Interval = 10000
Me.UpdTimer.Enabled = True
End Sub

Private Sub UpdTimer_Tick(ByVal sender As Object, ByVal e As System.EventArgs) Handles UpdTimer.Tick
Me.UPDData()
End Sub

Private Sub UPDData()
Dim fs As String()
Try
〜処理〜
Catch ex As Exception
Exit Sub
Finally
End Try
End Sub
57デフォルトの名無しさん:05/01/25 20:35:17
ある時点から毎回例外を投げるようになっただけじゃないの?
58デフォルトの名無しさん:05/01/25 20:35:23
>>55
なんかやることの順番というか、目の付け所が全てにおいて狂ってる気がする。

俺なら〜処理〜の部分、とくにそこで例外が発生した場合の
処理を真っ先に疑うけど。

ていうか、本当にタイマーが怪しいと思うなら
(まったくナンセンスでありえないと思うが。。)まずタイマの動作が
目に見える簡単なコードで確認するでしょ?

そんなこと人に尋ねてどうすんの?
59デフォルトの名無しさん:05/01/25 20:57:27
>>49
ファイルシステムオブジェクトを使った場合、
Filesコレクションでフォルダ内のファイルを取得できます。
それからif文を使ってGetExtensionNameコレクション(拡張子を調べる)で
判定。
同じ拡張子(txt)だったらあらかじめ作っておいた変数に
ファイル数をインクリメント。

これでファイル数のカウントが出来ます。
60デフォルトの名無しさん:05/01/25 21:10:24
VBSでもあるまいに、なんで.NETでFileSystemObjectなのかと。

ああこれが過去の遺物という奴か。
61デフォルトの名無しさん:05/01/25 22:40:43
>>20
却下します。
62デフォルトの名無しさん:05/01/26 00:09:34
Test1(アセンブリ名).Form1 型を System.Windows.Forms.Form 型に
変換するにはどうすればいいのでしょうか。(引数に渡す)

Option Strict OffにすればOKなんですが、これだけの為に
on にしたくないんです・・・。
63デフォルトの名無しさん:05/01/26 00:20:16
質問があるんですが、
ミリ秒単位である処理をくりかえしループするというような
物を作るとき、時間制御に使うのはやっぱりタイマーコントロールですか?
それともスレッドをスリープさせた方が精度は高いのでしょうか?
一番いいのはAPIかと思うのですが、よく分からないので・・・
どれが一番いいのでしょうか?
64デフォルトの名無しさん:05/01/26 00:22:52
System.Timers.Timer使え。

と前スレで何回言った事やら。
6563:05/01/26 00:26:58
>>64
もしよろしければ、簡単なソースを教えてください。
初心者なんで良く分からないです。図々しいお願いして
ホント申し訳ないです。
66デフォルトの名無しさん:05/01/26 00:29:06
ヘルプなりMSDNなり見ろよ……。
67デフォルトの名無しさん:05/01/26 00:32:25
>>63
前スレでも同じこと聞いてたでしょ?
だからミリ秒単位で処理する必要があるってのは君の思い込み違うの?
どんなことしたいか知らないが、バッファリングしといてまとめて処理で
普通は必要十分でしょ。

ていうかWinのタイムスライスってデフォで20mSec位だったはずだから
mSec単位でイベント処理ってのは普通には出来んよ。

少なくとここんなとこで質問してるレベルの人には無理だわさ。
68デフォルトの名無しさん:05/01/26 00:42:40
>>65
System.Timers.Timerなんて
コントロールなんだから、プロパティ画面が出ますよ。
親切にメソッドの説明まで書いてあるんだし、分かると思いますよ。

それを見てもわからなければMSDNで調べたほうが良いかと。

まずはソースを見るよりも自分で調べてみるべきではないでしょうか?
自分の自分で調べることをしないとスキルアップになりませんよ。
6963:05/01/26 00:44:35
>>67
そうですね。。ちょっと僕には難しいかもしれないですね。
まぁこれから努力して学んでいきたいと思います。
とりあえず、>>67さん、>>64さん、有難うございました。
頑張ってみます。
7063:05/01/26 00:52:42
>>68さんの言うとおりMSDNで今調べてきました。これからも頑張っていきたいと
思います。有難うございました。
71デフォルトの名無しさん:05/01/26 01:04:32
今の今まで調べなかったその腐りきった根性はもはや賞賛にすら値する
72デフォルトの名無しさん:05/01/26 01:28:34
>>70
まぁ、がんばりたまえ
7361:05/01/26 01:35:18
わたしにも、どなたかご教授を・・・。 orz...
74デフォルトの名無しさん:05/01/26 01:38:16
却下します。
7562:05/01/26 01:43:12
>>62でした。ごめんなさい。
76デフォルトの名無しさん:05/01/26 01:49:20
CType
77デフォルトの名無しさん:05/01/26 02:08:26
>>76
うをー。神様ありがとうございました。
こんなに簡単だったとは・・・。
7878:05/01/26 02:29:31
Buttonを押したらContextMenuをその下に表示したいのですが、どうすればいいのでしょうか?
79デフォルトの名無しさん:05/01/26 02:35:13
Showメソッド
別に特定のコントロールのContextMenuプロパティに入れとく必要もなかったり
8078:05/01/26 02:58:47
ContextMenu.Show(Me, New Point(ボタン名.Location.X, ボタン名.Location.Y + 移動する間隔))
でするとちょうど良く出来ました。

>>79さんありがとうございました。
81デフォルトの名無しさん:05/01/26 03:56:27
MDIブラウザで子ウィンドウから新しいページを開く場合(例:右クリック→開く)、
別の子ウィンドウに移すにはどうすればよいでしょうか?

e.〜ってのは覚えているのですが、ソースをなくしてしまって分からなくなりました。
8281:05/01/26 04:11:09
追記:VB.NET質問スレ (Part6) に書いてあったような気がします。
83デフォルトの名無しさん:05/01/26 07:20:26
>>68
いい加減なことを言わないように。
84デフォルトの名無しさん:05/01/26 08:39:35
.Net Managed Provider for Oracle を使ってアプリケーションを作った場合
このアプリケーションを配布するときはこれをインストールする
必要がありますか?
85デフォルトの名無しさん:05/01/26 11:55:12
>>84
これって.Net Managed Provider for Oracleのことか?
86デフォルトの名無しさん:05/01/26 13:30:11
Compact Framework でPDA用アプリを作成しています。
Form上のボタンクリックで指定サーバの指定フォルダ以下にある
画像ファイルをFTPでダウンロードすることは可能ですか?
方法をご存知の方いらっしゃいましたらご教授ください。
8755:05/01/26 13:33:25
お返事ありがとうございます。

>>57
サブクラスなどの例外は全てcatchしてアプリが止まらないことを前提に処理をしているので、
毎回例外を投げているのならば、せめてプロセスのCPUが動いていてもいいのですが、まったく処理していないんです。。。
一応全クラス全メソッドのcatchをロギングしてみたのですが、これといって以上もなく、正常処理後、タイマーが止まったとしかいえない状況でして。。。

>>58
他のクラスの例外は処理していますが、万が一UPDData()まで上がってきたとしてもcatchしてExit sub してあります。
つまり、10秒後には同じロジックが通らないとおかしいわけです。
もしそれでも例外の処理がおかしいのならば、Winフォームなのでシステムエラーメッセージなりなんなり出ても良いと思うのですが。
ていうか、ナンセンスでありえないことだからこそ聞いてるんですが。
簡単なコードで再現するのなら「現象は一度きり、再現しません」なんて書かないです。
88デフォルトの名無しさん:05/01/26 13:37:44
またDB操作でトラブりました。orz

主にDataGridで編集してるんですが、CommandBuilderで生成した
SQLを使って、DataAdapter.Updateを使いファイルに書き戻しを
しています。

このとき、「追加だけ」や「削除だけ」だと問題ないんですが、同
時に複数の操作をしてからVBアプリを再起動すると、追加した行が
DataGridに表示されません。DataViewで絞り込んだら出てくるん
ですが、なぜかテーブル全体表示だと見えないんです。

ファイルをAccessで開いてもきちんと書き込まれてます。Access
で最適化を実行すると、それ以降はVBアプリでもきちんと見えるよ
うになるんですが、VBでいちいちJRO経由の最適化をさせないとい
けないのでしょうか?

6.0のADOでは、こんなことでトラブったりしなかったんだけどなぁ。
89デフォルトの名無しさん:05/01/26 13:42:35
>>87
まあ確かに例外の処理が原因なら
>一度プロセスを切って、再び立ち上げたところ処理してくれました。
ということはない罠。
>>58はただの知ったか厨だと思うが質問する側がキレちゃ駄目だ。もちつけ。
90デフォルトの名無しさん:05/01/26 13:44:20
>>88
もっかいバインドしたらいんじゃねの?
91デフォルトの名無しさん:05/01/26 13:45:29
92デフォルトの名無しさん:05/01/26 13:55:45
>>91
サンキューです。
今からお勉強してみます。
9384:05/01/26 15:16:54
>>85
はい。そうです。
どうでしょう?
94デフォルトの名無しさん:05/01/26 15:39:49
>>90
アドバイスありがとうございます。
DataGridへのバインドを初期化するってことでしょうか?

DataSetを切ったり貼ったりしてみましたが、特に変化ありません
でした。アプリやVisualStudio自体を再起動しても再現するので、
どうにも納得いかないんですよ。(´・ω・`)

プログラムの起動終了時にに力技を使って、JROからmdbファイル
の最適化をやったら、一応動くようにはなりました。美しくないし
パフォーマンスも落ちるんで、この方法はできれば避けたいですが。

ttp://support.microsoft.com/default.aspx?scid=kb;ja;306287

ぐぐってもこの手の情報は少なくて苦労してます。
95デフォルトの名無しさん:05/01/26 15:52:22
>>84
入れれば確実ですね。
使用しているファイル名が確定しているんならば、そのファイル
(.lib)等を入れれば動きます。
9684:05/01/26 16:08:51
>>95
ありが豚
97デフォルトの名無しさん:05/01/26 16:33:22
delegateを呼び出す場合Invokeを使う場合と、使わない場合が
あるけど、どう違うの?
98デフォルトの名無しさん:05/01/26 16:36:54
>>97
使わない場合って例えば?
BeginInvokeのこと?
99デフォルトの名無しさん:05/01/26 16:37:22
間接オブジェクト参照だな、日本語だと「委譲してその先に頼る」
10097:05/01/26 16:58:24
『Delegate ステートメント』のMSDNのサンプルなんだけど
If IsGreaterThan.Invoke(IntArray(j), MaxVal) Then

If IsGreaterThan(IntArray(j), MaxVal) Then
とやっても同じ動作のようにに見える
違いがあるのかしら。
101デフォルトの名無しさん:05/01/26 17:08:42
一応、コーディーネーターぽい、
つうか、仮想化だよ、つうか先は未定だよよく言うと
102デフォルトの名無しさん:05/01/26 17:14:32
>>100
ILを見ればすぐ分かるけど、全く同じ。
Delegate宣言されたデリゲートには自動的にInvokeメソッドが追加されて、呼ばれる時はこのメソッドが実行される。
Invokeを明示的に呼び出さなくてもコンパイラが勝手に補う。
103100:05/01/26 17:23:01
>>102
省略可なんだ。
よくわかった。 サンキュー!
ところで恥をしのんで聞くけど、ILてなに?
どうやって見るの、ど素人ですまん。orz
104103:05/01/26 17:31:36
判った、言うな、アッセンブラだな。
ttp://www.atmarkit.co.jp/fdotnet/tools/dotfuscator/dotfuscator_02.html
ここにあった、アッセンブラミヨーと。
105デフォルトの名無しさん:05/01/26 17:46:25
CallBackメソッドってSharedにしなきゃいけないの?
なんかMSDNのサンプル見てるとみんなそうなってるんだけど
106デフォルトの名無しさん:05/01/26 17:49:16
そんなことはない。
引数と返値さえ合ってればPrivateでも問題ない。
107デフォルトの名無しさん:05/01/26 17:50:18
>>106
だよねー
なんであんなまぎらわしい
108デフォルトの名無しさん:05/01/26 17:51:54
VBに限らずコールバック関数は他では使わないほうが良い
109デフォルトの名無しさん:05/01/26 17:53:10
てか、Sharedって何?
110デフォルトの名無しさん:05/01/26 17:55:27
うん、ネットだから良いな、すれーッドだよ。
うちは、日本語、うちは英語ってあるじゃん、そこの切り替え大事だな
ソフトは
111デフォルトの名無しさん:05/01/26 18:03:11
>>105
Sharedにしとけばインスタンスを作らなくてもいいからな。
112デフォルトの名無しさん:05/01/26 18:09:51
オブジェクト指向なんだからインスタンス作ったほうがいいよな
113デフォルトの名無しさん:05/01/26 18:15:01
そうでもないよ
114デフォルトの名無しさん:05/01/26 18:15:30
そうでもあるよ
115デフォルトの名無しさん:05/01/26 18:22:03
まあ単純なデリゲートのサンプルなら一々インスタンスを作る必要もないとは思う。
しかし同時に例えばPrivateなインスタンスメソッドでもコールバックメソッドに使えるというサンプルも必要だろうな。
116デフォルトの名無しさん:05/01/26 18:28:54
>>115
そうそう、それは必要だよな。
117デフォルトの名無しさん:05/01/26 18:31:50
MSDNのサンプルはインスタンスを作るとコードが判りにくくなるから
Sharedにしてる鴨。余計わかりにくかったりして。
11858:05/01/26 19:44:40
>>87
全部言わないと分らないかな。
なんか例外をトラップしさえすればいいとか思ってない?

私の書いた「例外が発生した場合の処理を真っ先に疑うけど」の意味は
例外をちゃんとトラップしてるかどうかを疑えって意味じゃなくて
トラップ後の処理に問題はないかって意味だけど。

ありていに言えば、何らかの理由で一度例外が発生すると、
  〜処理〜
この部分その後ずっと例外が発生する、あるいは処理がスキップされるような
コードになってるんじゃないの?って意味だよ。
猿でも分る例をあげればこんなのね

  Private Sub Timer1_Tick(ByVal sender As Object, ByVal e As System.EventArgs) Handles Timer1.Tick
    Static PrevVal As Integer = 1
    Static Rnd As New Random
    Dim ThisVal As Integer = Rnd.Next(101)
    Dim Result As Integer

    Try
      Result = ThisVal / PrevVal
      '〜なんか処理する〜
      PrevVal = ThisVal
    Catch ex As Exception

    End Try
  End Sub

>>89
センスないな。
119最凶VB厨房:05/01/26 22:05:58
Tickの最初にConsole.WriteLineか
WriteEntryかなんか入れとけばいいんでねぇか。
120デフォルトの名無しさん:05/01/27 00:34:57
ノータッチデプロイメントでWebサービスと通信するアプリを作ってるんですが、
Web参照をダイナミックにして更に起動引数を渡す事って可能でしょうか?

http://www.atmarkit.co.jp/bbs/phpBB/viewtopic.php?topic=6860&forum=7

ここに一応解決方法らしきものが載っているのですが、どうもサーバーがIISの場合のようです。
サーバーがIISでない場合、どのような設定を行えばよいのでしょうか?
121デフォルトの名無しさん:05/01/27 09:34:42
C1FlexGridで1行の高さを変更したいのですが
どうしたらいいですか?
12289:05/01/27 13:11:50
>>118
自分の頭が悪いくせに何他人をけなしてんだよボケ。
>>57がたった1行でおまえと同じことを言っていて、さらに55は>>87でそれに答えてんだろうが。
流れも読めず、国語すら分からない馬鹿人間が偉そうなことのたまってんじゃないよ。
何が「全部言わないと分からないかな」だよ。分かってないのはお前。市ね。
123デフォルトの名無しさん:05/01/27 13:14:44
>121
Heightを変えな
124デフォルトの名無しさん:05/01/27 13:26:36
>>123
Grid1.Row.Heightというようなプロパティが無いのですが
どのように指定すればよいでしょうか?
すいません。
125デフォルトの名無しさん:05/01/27 13:28:31
>>118
その猿でも分かる例が少なくとも2回以上通ることが前提条件になるな。
そこら辺の仕様が分からんことにはなんとも言えんわけで。
常駐プログラムにStaticなんて使う奴いるんだろうか?
126デフォルトの名無しさん:05/01/27 13:29:10
マニュアルで探せ
127デフォルトの名無しさん:05/01/27 13:29:37
>>124
Styleとかが代わりにあるんじゃないの?
128デフォルトの名無しさん:05/01/27 13:35:39
>>127
うむむ。ありませんでした。
129デフォルトの名無しさん:05/01/27 13:39:04
SetCellStyleかなぁ
13055:05/01/27 13:41:46
>>118
お返事ありがとうございます。

>この部分その後ずっと例外が発生する、あるいは処理がスキップされるような
>コードになってるんじゃないの?って意味だよ。

結論から言うと、なってません。
例外が発生する際の処理はエラー内容をDBに書き込む程度のもので、
例外が発生した対象のファイルは問答無用で監視フォルダから移動させるようなロジックになっています。
もしそこでDBエラーが起きたとしてもcatch中のエラーなので、上に上がるだけです。

一応>>57さん、>>58さんのアドバイスを受け、再び例外処理を中心にコードの見直しをしてみましたが、特に例外がループしたり、処理がスキップするようなロジックはありませんでした。

どうやら>>58さんはタイマーが止まるような条件を知らないようなので、他の場所で聞いてみます。
みなさんどうもありがとうございました。

131デフォルトの名無しさん:05/01/27 13:46:11
132デフォルトの名無しさん:05/01/27 13:56:53
>>131
神キタ━━━━━━(゚∀゚)━━━━━━!!!!
ありがと。助かりました。3日悩んだよ。
133デフォルトの名無しさん:05/01/27 14:08:15
これからはまずFAQを見に行けと言う事だな。
134デフォルトの名無しさん:05/01/27 14:12:52
>>133
はい。そうします。
とりあえずFAQのページは読破します。
135デフォルトの名無しさん:05/01/27 15:59:58
AsyncCallbackってなんですか?
ヘルプを読んでも意味がわからないのですが
136デフォルトの名無しさん:05/01/27 16:10:11
文脈がないと説明しづらいよ。
非同期メソッドの実行に使うデリゲート。
呼出元と実行先メソッドをIAsyncResultで架け橋する。
呼出元はIAsyncResultのWaitHandleで非同期メソッドの完了を待機したりできる。
137デフォルトの名無しさん:05/01/27 16:24:33
>>136
難しいですねー。そもそもデリゲートって何ですか?
138デフォルトの名無しさん:05/01/27 16:34:25
139デフォルトの名無しさん:05/01/27 17:05:12
デリゲートの質問が出てるんでついでに質問しちゃいますが、
ttp://www.microsoft.com/japan/msdn/library/default.asp?url=/japan/msdn/library/ja/vbls7/html/vblrfvbspec6_9.asp
このサンプルどうやったら実現できるのでしょうか。
このまま下の様にモジュールに置いて実行すると、
Delegate Sub SimpleDelegate()
Module Test
Sub F()
System.Console.WriteLine("Test.F")
End Sub

Sub Main()
Dim d As New SimpleDelegate(F) 'ここでエラーが出る
d()
End Sub

Sub MultiCall(ByVal d As SimpleDelegate, ByVal count As Integer)
Dim i As Integer
For i = 0 To count - 1
d()
Next i
End Sub
End Module

エラーが出ます。
有識者の方よろしく。orz
140デフォルトの名無しさん:05/01/27 17:08:01
サンプルと良く見比べてみれば足りないのがあるだろう?
141139:05/01/27 17:15:29
インデントが上手くいかなくて、見にくくて申し訳ない。
>>140
え!足りないものは無いと思うんだけど、
Sub MultiCall(ByVal d As SimpleDelegate, ByVal count As Integer)

Module Test の中に入れたのがいけないのかな?
142141:05/01/27 17:27:39
ちなみにエラーは
'SimpleDelegate' はデリゲート型です。
デリゲート構築には引数一覧として 1 つの AddressOf 式のみ使うことができます。
多くの場合、デリゲート構築の代わりに AddressOf 式が使われます。
と出ます。
143デフォルトの名無しさん:05/01/27 17:28:55
だから足りないのがあるだろう?
144142:05/01/27 17:49:19
判った!
Dim d As New SimpleDelegate(AddressOf F)
AddressOf だ!

なんとおいらの開発環境のmsdn『6.9 デリゲート』は
Dim d As New SimpleDelegate(F)
となってる。 KUSO-

ところで、VB.NETってモジュールのMain()から
スタートするにはどうしたらいいの?
145144:05/01/27 18:41:02
開発環境は.NET 2002でした。
.NET 2003を見ましたら『6.9 デリゲート』の項は直っていました。
明日.NET 2003にアップグレードします。
モジュールのMain()から の起動はまだ上手く
いっていません。
146デフォルトの名無しさん:05/01/27 19:11:23
>>145
ソリューションエクスプローラでプロジェクト右クリックでプロパティ開いてスタートアップを設定。
そういうことじゃないのならMSDNでMainを検索すりゃずばり出てくるだろ。
147145:05/01/27 21:05:14
>>146
そういうことでした。orz
出来ました。
これで全て解決です。
それにしてもまさかMSDNのサンプルが違っているとは。
C#の場合 AddressOf 使わないんで、VB.NETも使わない書式が
有るかと思っちゃた。ほんと紛らわしい。帰って寝よ。
148デフォルトの名無しさん:05/01/28 09:12:39
Dim content As [String] = [String].Empty

ってどういう意味ですか?
[String]というのがよくわかりません。
149デフォルトの名無しさん:05/01/28 11:25:03
>>148

Dim content() As String = String.Empty

こういうこと
150デフォルトの名無しさん:05/01/28 11:27:12
>>149
それに変えたらコンパイルできなくなってしまいました。
151148:05/01/28 11:31:29
ヘルプの非同期サーバーソケットの例で使われてます。
152デフォルトの名無しさん:05/01/28 11:34:06
System.String
153148:05/01/28 11:42:20
うーむ。ハイレベル過ぎたか
困ったな
154デフォルトの名無しさん:05/01/28 11:46:16
それが型の名前である事を明示する。
155148:05/01/28 11:49:55
>>154
なるほど!ではエラーがでなければStringでいいわけですね!
156デフォルトの名無しさん:05/01/28 12:02:09
ここ最近の低レベル過ぎる質問は同一人物による釣なので、皆さんスルーしましょう。
157148:05/01/28 12:21:21
知ってるか知らないかだけの差だと思いますよ
158デフォルトの名無しさん:05/01/28 15:28:00
C言語でいう
void PlusPlus(int *pValue, int count) // 第二引数は配列数
{
int iii;
for (iii = 0; iii < count; iii++) pValue[iii]++;
}
void main(void)
{
int value[5] = {2, 3, 4, 5, 6};
PlusPlus(value, 5);
PlusPlus(value, 5);
}
(つまりは結果は value[0]=4,value[1]=5,value[2]=6,value[3]=7,value[4]=8)
のような処理をVB.NETで行ないたいのですが、どのようにすればいいのでしょうか?

配列が1つだけという仕様のプログラムならば
Private Sub PlusPlus(ByRef value As Integer, ByVal count As Integer)
value = value + 1
End Sub
を使って
Dim Value As Integer
Value = 2
PlusPlus(Value, 1) ' 配列が1つなので第二引数は1
PlusPlus(Value, 1) ' 配列が1つなので第二引数は1
のように呼べばいい程度のことはわかります。
よろしこです。
159デフォルトの名無しさん:05/01/28 15:43:20
Private Sub PlusPlus(ByVal values() As Integer)  '配列もクラスなので参照型
   Dim i As Integer
   For i = 0 To values.Length - 1
      values(i) += 1
   Next
End Sub

.NETで配列数を渡すようなアレなコードはいかんぜ。
//まあ特定の部分だけを操作って言うオーバーロードはあってもいいけど。
160デフォルトの名無しさん:05/01/28 18:59:26
配列を参照渡しするコードがアレでいかんってセンスが理解不能。。
161デフォルトの名無しさん:05/01/28 19:10:28
参照渡しじゃなくて(というかクラスなら自動的に参照を渡す事になる)、
第2引数、配列の数を渡す所だろ。
162デフォルトの名無しさん:05/01/28 19:56:31
>>157
レベルが高い人は知らない事を調べることができる。
訊かなきゃ何もできないうちは自分も初学者であるという自覚を忘れるな。
その方が自力で解決できるようになった時に素直に感動できる。
早く答える側になれるようにガンガレ
163デフォルトの名無しさん:05/01/28 20:32:40
>>160
もともとCは配列と言う概念が希薄なのよね、
配列、呼んでるのはデーターの並び方の方法なの
だから引数で配列を渡す時は先頭のポインターと
大きさを渡す訳、ところが.NET FrameWorksは
違うぞ、配列はクラスだから、引数で配列の
インスタンスを渡すと、その中には大きさを
表すメンバーも含まれているわけ。
それなのに、又わざわざ大きさを引数につける
てのは、郵便番号を書いた上に都道府県名を
書くようもんで、あれなわけ、そお言うこと
だよな、きっと。漏れも暇だな。
164デフォルトの名無しさん:05/01/28 20:37:57
>>163
配列もオブジェクトだし、今は区別無いだろう?
165デフォルトの名無しさん:05/01/28 20:53:46
>>164
今って?
166デフォルトの名無しさん:05/01/28 21:02:00
神様すみません!
私はいまだにC++ではなくましてやC#でもない
単なるCをカーニハン&リッチの参考書片手に
使っていることを、ここに告白します。
167デフォルトの名無しさん:05/01/28 21:02:27
いや、値渡しも、アドレス渡しも意味無いのでは?
168デフォルトの名無しさん:05/01/28 21:05:41
何がどう意味がないのかね。
169デフォルトの名無しさん:05/01/28 21:07:16
下位互換のためにあるだけかと。
170デフォルトの名無しさん:05/01/28 21:16:10
>>166
すまんな。俺は K&R の初版持ってる。
それよりもスレ違いどころか板違いな事を深く反省しる。
171デフォルトの名無しさん:05/01/28 21:16:45
ByRefが下位互換のためだけにあると言いたいのなら出直してこいと。
値型と参照型の区別が付かないのも出直してこいと。
172デフォルトの名無しさん:05/01/28 21:26:38
あー、スレ間違えた、javaじゃ無かったんだ
173158:05/01/28 21:37:01
>>159や皆さん、どうもありがとうございました。
>>159については表面的には理解できました。

ところで、>>159の関数はVB.NETという前提にしてましたが、実は
CでDLLにした関数にして呼び出しをすることが目先の目標でした。
そのCのプログラムは.NET FrameWorksではありません。
もちろん、クラスも何も無いので大きさが得られません。
その場合は、.NET FrameWorksのやりかたで作り直せ!!
というのが筋ということになるんですよね?

やっとVB6とVB.NETが違うものだという意識を感じ始めました。
# 遅いって?(w
174デフォルトの名無しさん:05/01/28 21:57:31
だからさっきから言っているでしょう。
.NET FrameWorksは2つの型があるので、先ず値型か参照型かの
区別をつける、参照型は全てクラスなので、どのようなメンバー
があるかしっかり確認して使う。
クラスとオブジェクトの区別がつかないものと、参照型と
参照渡しの区別のつかないものは、パソコン教室でExcelを
勉強しなさい。
175デフォルトの名無しさん:05/01/28 22:00:01
VBって6の頃から日本語で識別子書けますよね?
んで、.NETでWebアプリ書く時にWebControlのIDを日本語にする事も出来る
みたいなんですが、なんか悪影響はあるんでしょうか?
たとえばValidationの時にjavascriptがちゃんと動かなくなるとか。
176デフォルトの名無しさん:05/01/28 22:02:32
クラスは定義で実体化させたものがオブジェクトだろ
177デフォルトの名無しさん:05/01/28 22:06:17
オブジェクトとインスタンスの区別のつかないものは
アビバで英語を習おう。
178デフォルトの名無しさん:05/01/28 22:09:58
>>175
何はともかく日本語だけはやめとけ、
予測のつかない不幸が次々と襲うぞ。
179デフォルトの名無しさん:05/01/28 22:11:20
アーグメントとパラメータの関係も分からんやつがいっぱいいるので
仕方ないよね
180デフォルトの名無しさん:05/01/28 22:13:24
>>177
すまん、アビバじゃなくてノバだった
アビバじゃ英語は習えんわな。
181デフォルトの名無しさん:05/01/28 22:26:12
System.Threading.Threadを使ってマルチスレッドプログラムを
書いているのですが、ThreadをStart()した瞬間HandleCountの値
(Process.GetCurrentProcess().HandleCount)が4つ増え、
スレッドが終了しても減ることはありません。
Threadを生成する際にAddressOfで指定した関数が終われば
スレッドは勝手に終了すると思い込んでいたのですが、
終了処理を何かしなくてはならないでしょうか。
182デフォルトの名無しさん:05/01/28 22:35:28
>>178
そうします。
VB6の時でもActiveXコンポーネントのインターフェイスに日本語使ったら
バイナリ互換モードでコンパイルしてるのに毎回GUIDが変わったりして
苦労したので同じ過ちは繰り返したく無いです。
ただ、今やってるシステムは長ったらしい業務用語がやたら多いので、
I/Fに現れない内部のロジックには日本語を使う事になるかもしれません。
(VSのインテリセンスが効くようにobjとかintのようなプリフィックスぐらい
は付けるつもりですが。)
183デフォルトの名無しさん:05/01/28 23:47:23
>>181
気にしなくて良い。
184デフォルトの名無しさん:05/01/29 00:01:35
>>183
ラジャ。そんな気がしてました。
185デフォルトの名無しさん:05/01/29 01:40:26
それで良いのか?、
こうしてバグが世の中に広がっていく
186デフォルトの名無しさん:05/01/29 01:42:47
VB.Net2003のマニュアル第4章のメニューとダイアログボックスの勉強で
126Pの「文字の色」コマンドのイベントプロシージャを
以下のようにマニュアル通りに編集(ルーチンを記述)すると・・

ColorDialog1.ShowDialog()
Label1.ForeColor = colorDialog1.Color

上記の2行で(2行しかない)

ColorDialog1は宣言されてません。と出てしまうのですが・・
マニュアル通りに記述してるだけなんですけど、
何度見直しても原因が分かりません。
何方かお分かりになる方アドバイスをお願いします。
187デフォルトの名無しさん:05/01/29 03:00:45
>>186
フォームにColorDialogコンポーネントを貼った?
188デフォルトの名無しさん:05/01/29 03:18:41
VB6時代のコードで、コンボボックスのリストを
自動的に表示させるために

Call SendMessage(target.hWnd, CB_SHOWDROPDOWN, 1, 0)

とやっているコードがあります。
これ、.Netではどう置き換えればいいのでしょうか・・・

OnDrawItemだと、DrawItemEventArgsに
何をセットすればいいのか分からないし・・・

アドバイスお願いします。
189188:05/01/29 05:38:44
事故解決しますた
190デフォルトの名無しさん:05/01/29 08:29:12
>>187
貼ってませんでした。^^;
まだ試してませんが、多分そのせいでしょう。
ありがとう御座います。後ほど報告にきますね。
191デフォルトの名無しさん:05/01/29 08:40:21
>>187
報告っ
ColorDialogを貼ったら出来ました。
コーディングの記述ミスの事ばかり考えていて
肝心なコンポーネントを貼るのを忘れてました。
まだまだ日々精進です。
ありがとう御座いました。
192デフォルトの名無しさん:05/01/29 09:23:26
>肝心なコンポーネントを貼るのを忘れてました。
先ずクラスの概念を理解するんだな。
全てはそれからだ。
193デフォルトの名無しさん:05/01/29 10:25:19
えらそうに
194デフォルトの名無しさん:05/01/29 10:55:28
>185
どれのこと?
195デフォルトの名無しさん:05/01/29 10:56:00
フォームにステータスバーを付けて、1つのペイン内に
複数のアイコンを並べて表示させたいのですが、
どのようにすれば実現可能でしょうか。
196デフォルトの名無しさん:05/01/29 11:20:31
>>192
肝に銘じました。修行します。m(__)m
197デフォルトの名無しさん:05/01/29 13:12:35
.NETで作ったアプリケーションを.NET Frameworkのインストール
されていないPCで動かすにはどうすればよいのでしょうか。
198デフォルトの名無しさん:05/01/29 13:32:35
.NET Frameworkをインストールする。
ttp://www.microsoft.com/japan/msdn/netframework/downloads/sdk.asp
ttp://www.microsoft.com/downloads/details.aspx?FamilyID=262d25e3-f589-4842-8157-034d1e7cf3a3&DisplayLang=ja

//なんで1.0は再頒布パッケージがSDKのページに入ってるんだか。
199デフォルトの名無しさん:05/01/29 13:33:34
>>198
それ以外にはないですか?
200デフォルトの名無しさん:05/01/29 13:34:41
VB.NETでメモリマップドファイルみたいなことを実現するには
どうすればいいですか?
201デフォルトの名無しさん:05/01/29 13:45:49
>>199
あきらめろ、それ以外内は無い。
.NET FrameworkはVBのランタイムのようなものだ。
202デフォルトの名無しさん:05/01/29 13:46:08
みたいな事ってのはつまりプロセス間通信をしたいと言う事?
203デフォルトの名無しさん:05/01/29 14:33:26
>>202
そうです。メモリマップドファイルなら使ったことがあるので
似たようなクラスとかがあれば一番いいのですが、やりたい
ことは、プロセス間通信です。
204デフォルトの名無しさん:05/01/29 14:40:47
>>203
.NETアセンブリ間の通信なら、.NETでクラス化されているリモート処理を行う。
ttp://ja.gotdotnet.com/quickstart/howto/doc/Remoting/mainfeatures.aspx
tcp/httpをベースにしたオブジェクトのやりとりだな。
205デフォルトの名無しさん:05/01/29 15:36:36
MsgBoxっていうメソッドはどのクラスのメソッドなんですか?
206デフォルトの名無しさん:05/01/29 15:49:46
207デフォルトの名無しさん:05/01/29 21:29:52
ラベルコントロールの背景を透明にしたいのですが、
どうすればよいでしょうか。
208デフォルトの名無しさん:05/01/29 21:36:13
まあ多分こういう事を聞きたいんだろう。
ttp://dobon.net/vb/dotnet/control/labelonpicturebox.html
209デフォルトの名無しさん:05/01/29 22:03:47
いやたぶんFormのOpactyのようなことを聞いてると
思うけど、Labelには無い。
自分でプロパティを作る事になるが結構大変だぞ。
210デフォルトの名無しさん:05/01/29 22:15:22
前スレの



30 デフォルトの名無しさん sage 04/12/10 13:52:06
VB6から.NETへの移行したばかりの初心者です。

移行後、いきなり壁にぶち当たってしまったのでお知恵を貸してください。

フォームの上に配置した二つのPictureBoxに、透過情報をもった画像をセットします。
背景色をTransparentで透過指定します。
PictureBoxを重ねると、背面の画像が、透過されている所も含めて隠れてしまいます。

調べたところ、親コントロールの情報を描画しているので、
前面にあるPictureBoxをControls.Addを使い、
背面にあるPictureBoxの子ににしてしまえば良い所までわかりました。

しかしコントロールは常に重なっているわけではないので、この方法だと使えません。
Regionを使ったやり方だと、単純な図形や文字は何とかできても、画像となるとあまり現実的とは思えません。

VB6のimageコントロールのように、背面にある画像を表示させる方法はないものでしょうか?

↑のことでは?
211デフォルトの名無しさん:05/01/30 03:05:59
子ウィンドウから新たに親ウィンドウ内に子ウィンドウを開きたいのですが、
子ウィンドウが独立して開いてしまうので困っています。

いろいろと試してみましたが、うまくいきません

どうすればいいのでしょうか?
212デフォルトの名無しさん:05/01/30 06:06:23
213デフォルトの名無しさん:05/01/30 08:16:58
いや、普通にMDIの環境です。

単に
変数名.MdiParent = parent
だけでは駄目なんですね・・・
214デフォルトの名無しさん:05/01/30 09:51:12
それで問題ないはずなので、周辺のコードを示してみれば助言できるかも知れない。
215デフォルトの名無しさん:05/01/30 12:33:30
>>204
すいません。まったく自分がやりたいことの説明ができてなくて
申し訳ないのですが、VC++で作ったアプリケーションAと
VC++で作ったアプリケーションBがあり、これらはメモリマップドファイルを
使ってメモリを共有しています。

ここに.NETで作ったアプリケーションCを登場させ、AとBが使用している
メモリを参照したいのです。
216211,213:05/01/30 12:52:52
>>214
    Dim 親変数 As Form1
    Dim 子変数 As New Form2()
    子変数.MdiParent = 親変数
    子変数.Show()

としているんですけど、どこが違うんでしょうか。
217デフォルトの名無しさん:05/01/30 13:00:32
親変数がNothingになってるじゃん。何も割り当ててないんだから。
.MdiParent = NothingならそりゃMdi子フォームにはならない。

えーと、これを書いてるのはMdi子フォームの所だよな。
新しく作るフォーム.MdiParent = 自分自身.MdiParentとすればMdiParentが同じになるぞ。
218216:05/01/30 13:41:34
>>217
出来ました!!
指摘どおり子フォームの部分に書いてました。
子変数.MdiParent = Me.MdiParent
で希望通りの動作しました。
ありがとうございました。m(_ _)m

ほかの方もありがとうございました。
219デフォルトの名無しさん:05/01/30 14:02:47
>>215
メモリマップドファイルを使うのなら、Win32APIを使うしかない。
APIや定数の宣言さえすれば、あとはそう変わらずに使える。
CreateFileMapping/OpenFileMappingで開いて、
MapViewOfFileでアドレス空間にマッピングして、
System.Runtime.InteropServices.Marshalクラスの各メソッドで読み書きやコピーをして、
UnmapViewOfFileでアドレス空間からアンマッピングして、
最終的にCloseHandleでメモリマップドファイルのハンドルをクローズする。

ちなみにVB6までではポインタ/ハンドルもLong型辺りで処理してたらしいけど、
VB.NETではポインタ/ハンドル用の型としてIntPtr型があるのでこれを使う。
220デフォルトの名無しさん:05/01/30 14:24:13
>>219
ありがとうございます。チャレンジしてみます。
221デフォルトの名無しさん:05/01/30 18:01:03
フォームのタイトルバーを消しつつもマウスでの移動は
したいのですが、どうすればできるでしょうか。
222デフォルトの名無しさん:05/01/30 18:14:12
>>221
http://dobon.net/vb/dotnet/form/moveform.html

穴があくほどじっくり見ろ。
223デフォルトの名無しさん:05/01/30 18:16:16
フォームじゃなく、普通のクラスの Public Shared Sub Main()
から開始して いろいろ初期化を行ったあと、
Dim maFm As Form1
maFm = New Form1
maFm.Visible = True
としてフォームを表示して、あとはプログラムの制御をそちらで
任せようとしても勝手に終了してしまいます。
どうすればいいのでしょうか?
224デフォルトの名無しさん:05/01/30 18:19:51
フォームAからフォームBをモードレスで開いた後、
フォームAからフォームCをモーダルで開くと、
フォームBに触れなくなってしまいます。
この動作は当たり前なのかもしれませんが、フォームCを
開いている間もフォームBに触れるようにすることは
できるでしょうか。
225221:05/01/30 18:20:22
>>222
ありがとうございます。解決できそうです。
226デフォルトの名無しさん:05/01/30 18:40:15
>>223
Application.Run(maFm)
227デフォルトの名無しさん:05/01/30 21:31:35
助けてください。
デバック中って、ローカル変数やウォッチで、
現在の変数の中味などを見れるじゃないですか、

それの+(プラス記号)で、ディレクトリを展開できるはずが、
突如、+をクリックしても展開されず、+記号が消えてしまう現象が
起こっております。
解決方法はないでしょうか?
228デフォルトの名無しさん:05/01/30 22:18:54
>>227
ディレクトリ?
229デフォルトの名無しさん:05/01/30 22:24:55
ツリーだろ。
他のソリューションは?
VS/VB.NETを再起動してみたら?
230デフォルトの名無しさん:05/01/30 22:35:35
ブレークポイントが不味いだけの気もするけどなぁ。
231227:05/01/30 22:38:06
すみません、ツリーでした
他のソリューションもダメです
再起動してももちろんダメです
ブレークポイントも・・特に今までと変わらないと思います
232デフォルトの名無しさん:05/01/30 23:16:29
実際VB.NETで作ったものを、VBが
入ってない環境で、実行するにはどうすれば?
233デフォルトの名無しさん:05/01/30 23:20:39
VBが入った環境って何?
234デフォルトの名無しさん:05/01/30 23:24:05
なんていえばいいんだろ、VBがインストールされてない
パソコンです。
235デフォルトの名無しさん:05/01/30 23:24:35
ところでさ。
.netフレムワク1.1 SDK で作ったものって
2.0ランタイムで動く保障ないの?
236デフォルトの名無しさん:05/01/30 23:26:07
>>232
日本語で書いてくれないと読めません。
237デフォルトの名無しさん:05/01/30 23:26:23
>>234
ワロタ。
VBがインストールされてないパソコンじゃなきゃうごかん とか
あまりにも絶望的すぎじゃん。
238デフォルトの名無しさん:05/01/30 23:26:51
保証はできないが基本的に動く。
確実を期すなら.NET 1.1を入れさせるか.NET 2.0で再コンパイルする。
239デフォルトの名無しさん:05/01/30 23:41:45
>>235
2.0でサポート外になったのを使ってたらやばいかもな。
MSDN読んでて、たまにそういう記載が出てくるし。
240ちょん:05/01/30 23:44:08
MYSQLにVB.NET(ADO)で繋ごうと思っているんですが
繋げません・・コネクションすら張れません・・
どなかたお力添えお願いします
ADOバージョン  .2.8
MYSQLバージョン 4.1
ODBCドライバ   3.5
VB.NET(STD) 2003
MYSQLサーバー
WINDOWS XP OR WINDOWS 2000
charset SJIS
他は特にいじってません。
開発環境
WINDOWS XP Pro SP2
VB.NET(STD)
COMのインポート
MSDASC
ADODB
Dim adoCo As New ADODB.Connection
adoCo.ConnectionString = "DRIVER={MySQL ODBC 3.51 Driver};" & _
"SERVER=127.0.0.1;" & _
" DATABASE=test;" & _
"UID=root;PWD=****;OPTION=3"
adoCo.Open() オープンでエラー(致命的なエラー)
              System.Runtime.InteropServices.COMException' のハンドルされていない例外が あるらしい
adoCo.Close()
もちろんDNSは登録してあります。ODBCマネージャーでからのドライバーテストは成功しています。VBのサーバーエクスプローラーからも致命的なエラーで登録不可です。
VB.NETってCOMコンポーネントって使えないんでしょうか? ドライバーのトレースしたんですが見方がよくわかりません。自分なりの解釈ですと
接続ハンドルがアプリケーション側に渡って来ないようなんですが・・・ODBCドライバーも入れ替えたりしたんですが接続できませんでした。
241232:05/01/31 00:00:18
とりあえず、VB.NETで作ったものがあるんですが
先ほど言った環境で、どやって実行できるんですか?
今まで、VB.NETからファイル開いて実行してたんで・・
242デフォルトの名無しさん:05/01/31 00:12:36
243デフォルトの名無しさん:05/01/31 05:13:08
>>241
プロジェクト名/binフォルダの下にexeがあるからダブルクリック
244デフォルトの名無しさん:05/01/31 10:54:26
文字列の左から8バイト分を取得したいのですが、どうしたらいいでしょうか?
LeftBが使えないようなので・・・
245デフォルトの名無しさん:05/01/31 11:03:56
左から4文字で8バイト分になりますが何か。
246デフォルトの名無しさん:05/01/31 11:12:48
>>245
半角の場合はどうですか?
247デフォルトの名無しさん:05/01/31 11:21:32
Encoding.GetBytes して Encoding.GetString
248デフォルトの名無しさん:05/01/31 11:27:35
249244:05/01/31 11:30:21
>>245
>>247
>>248
ありがとうございました。やってみます。
250244:05/01/31 12:08:39
やっぱりわかりませんでした・・・

Public Function pAsciiLeftB(ByVal strValue As String, ByVal intLength As Integer) As String
pAsciiLeftB = StrConv(LeftB(StrConv(strValue, vbFromUnicode), intLength), vbUnicode)
End Function

をvb.netでやりたいんですが・・・
251デフォルトの名無しさん:05/01/31 12:17:32
252デフォルトの名無しさん:05/01/31 12:41:38
1.GetBytesで文字列から8バイト分取り出す。
2.GetStringで、引数にその8バイトの配列を指定して文字列を取り出す。
万一これで分からなければ根本的に理解できていないのでMSDNなどで
勉強すればいい。
253デフォルトの名無しさん:05/01/31 12:53:43
Function LeftFixB(ByVal strString As String, ByVal nLength As Integer) As String
    Dim strResult As String

    If (strString = "") Then
        strResult = Space(nLength)

    Else
        Dim nCode  As Integer
        Dim nBytes As Integer = 0
        Dim nIndex As Integer = 0
        Dim bLoop  As Boolean = True

        Do While (bLoop = True)
            nCode  = AscW(strString.Chars(nIndex))
            nBytes = nBytes + IIf(((nCode < &H0100) Or ((nCode >= &HFF61) And (nCode <= &HFF9F))), 1, 2)

            If (nBytes = nLength) Then
                strResult = Left(strString, (nIndex + 1))
                  bLoop   = False

        ElseIf (nBytes > nLength) Then
254デフォルトの名無しさん:05/01/31 12:54:37
                strResult = Left(strString,  nIndex     ) & Space(1)
                  bLoop   = False

            Else
                nIndex = nIndex + 1

                If (nIndex >= strString.Length) Then
                    strResult = strString & Space(nLength - nBytes)
                      bLoop   = False

                End If

            End If

        Loop

    End If

    LeftFixB = strResult

End Function
255デフォルトの名無しさん:05/01/31 13:09:33
Encoding.Unicode.GetString(Encoding.Unicode.GetBytes("UNICODEの1文字は2バイトですが、何か?"),0,8)
256デフォルトの名無しさん:05/01/31 13:33:29
>>252
よく考えたらこれ全く意味の無いことだった。
257デフォルトの名無しさん:05/01/31 13:42:47
どなたかご存知であれば教えてください。
VB.NETで赤外線/IrDAにデータ送信するやり方(コード)を恵んでください。
258デフォルトの名無しさん:05/01/31 16:52:45
FTPでファイルをアップロードしたいのですが
WinInetAPIでやろうかなと思っていますが.NETですと
もっと簡単にできる方法がありますか?
259デフォルトの名無しさん:05/01/31 16:58:47
GotDotNet辺りに転がってるDLLを使うとか。
260144:05/01/31 17:13:26
261デフォルトの名無しさん:05/01/31 17:18:43
>>259,260
ありがとうございました。やってみます。
262デフォルトの名無しさん:05/01/31 23:04:39
今度、ソケット接続のプログラムを作るハメになってしまったのですが、
VB初心者の上にネットワークプログラムなんて知識の欠片もないので
一体どういうものなのか良く分かりません。とりあえず文字を送信とか
ファイル読み込んで送信とかそういうのでいいかと思うんですが・・・

どなたか何か参考になりそうなサンプルプログラムが置いてある
サイトとかご存知でしたら紹介してください。
お願いします。
263デフォルトの名無しさん:05/01/31 23:12:17
>>262
そういうとらえどころの無い質問には、こう答えておこう。
ttp://support.microsoft.com/default.aspx?scid=kb;ja;821768
264デフォルトの名無しさん:05/01/31 23:49:49
1スレッドで動かすと0.5sec程度で終了する処理があるのですが、
これを2スレッドにするとそれぞれ1.5sec程度かかって
しまうことがあります。

スレッド内で行っている処理は、ハッシュテーブルに対する
検索処理なのですが、このように時間がかかるのは
自然なことでしょうか。
265デフォルトの名無しさん:05/02/01 00:00:11
スレッドの作成や切り替えはそれなりに重い処理だぞ。
266デフォルトの名無しさん:05/02/01 00:08:59
>>265
1スレッドで0.5sec程度のものを2スレッドにした場合、
0.5secで完了するというのはムシがよすぎるとは
思うのですが、せめて0.6〜0.7secぐらいにはならないかなー
とか思ったのですが、1.5secじゃ直列に実行した方が
速いんですよね(ry

ちなみにスレッド内部でループしている個所にSleep(0)とか
入れたらさらに遅くなってしまいました。
267デフォルトの名無しさん:05/02/01 00:34:33
>>265
スレッドの切り替えにかかる時間や切り替え回数(?)を
評価するような方法はあるでしょうか?
268最凶VB厨房:05/02/01 01:01:57
そんなにかかるか?
軽量プロセスっていうぐらいなのに。
いろいろと不正確かもしれんがテストしてみた。
Imports System
Imports System.Diagnostics
Imports System.Threading

Public Class ThreadCost
 Shared Sub Main(ByVal args() As String)
  Dim p As Process = Process.GetCurrentProcess
  p.PriorityClass = ProcessPriorityClass.High
  Const THREADCOUNT As Integer = 1  '適当に変えて
  Dim t(THREADCOUNT) As Thread
  CL()
  Dim ts As TimeSpan
  Dim dt As DateTime = DateTime.Now
  Dim i As Integer
  For i = 1 To THREADCOUNT
   t(i) = New Thread(New ThreadStart(AddressOf CL))
  Next
  For i = 1 To THREADCOUNT
   t(i).Start()
  Next
  For i = 1 To THREADCOUNT
   t(i).Join()
  Next
  ts = DateTime.Now.Subtract(dt)
  Console.WriteLine("Totalミリ秒{0}", ts.TotalMilliseconds.ToString())
  Console.WriteLine("1Thread平均ミリ秒{0}", ts.TotalMilliseconds / THREADCOUNT)
  Console.ReadLine()
 End Sub
269最凶VB厨房:05/02/01 01:03:01
 Shared Sub CL()  '適当
  Dim i As Long
  Dim sum As Long
  For i = 0 To 100000  '500000000
   sum += i
   Thread.Sleep(0)
  Next
 End Sub
End Class
270最凶VB厨房:05/02/01 01:15:01
すまん。Thread.Sleep(0)は抜いてやってくれ
1Thread平均ミリ秒はほとんどかわらんかった。
1Thread ->1350
10 Thread ->1330
30 Thread ->1320
タスクマネージャも起動してやったので正確なもんじゃぁないですが。
271最凶VB厨房:05/02/01 01:37:03
>>267
パフォーマンスカウンタの
Processer-% Privileged Time
System-Context Switches/sec
かな。
272デフォルトの名無しさん:05/02/01 02:02:04
>>270
1Thread平均ミリ秒が変わらないということは、パラレルにしても
シーケンシャルにしても全体の時間は同じくらいって感じなんですかね。
273デフォルトの名無しさん:05/02/01 02:07:32
スレッド化しても1CPUじゃ速くはならんだろ
274最凶VB厨房:05/02/01 02:14:13
少なくともスレッドの生成&切り替えが原因ではないといえると思う。
考えられることは
ハッシュテーブルを同期化して使っていると思うが、
そのことでのパフォーマンス劣化。(どれだけ落ちるかは知らん)
例外なげまくってることでのパフォーマンス劣化。(もちろん知らん。)
JITコンパイルの時間。これもそこまで変わるとは思えんが。。(普通に知らん)
あとは計測ミス。
まっわからんwいろいろ試せ。
275デフォルトの名無しさん:05/02/01 02:23:56
>>274
ハッシュテーブルは各スレッドで共有しているわけじゃないので
同期で遅くなっていることはなさそうです。

>>273
すいません。そうですよね。
276デフォルトの名無しさん:05/02/01 09:23:06
>>273
HT対応のプロセッサだと、ちっとは効くのかな?
277デフォルトの名無しさん:05/02/01 09:58:14
HTって何?
278デフォルトの名無しさん:05/02/01 10:24:39
キャッシュに限りがある以上
HTでも遅くなる可能性はある
マルチCPUならともかく
279デフォルトの名無しさん:05/02/01 10:56:16
ソケット通信でプログラミングしています。
BeginAcceptをキャンセルしたい場合はどのようにすればよいでしょうか?
280デフォルトの名無しさん:05/02/01 10:59:58
Closeしちまえ。
281デフォルトの名無しさん:05/02/01 11:10:51
Closeしてみました。ReceiveCallbackは呼ばれるけど
EndReceiveで例外が発生するのでキャッチすればいいみたいです。
しかしReceiveCallbackされないのが最善かなと思うのですが
そこまでは無理ですか?
282デフォルトの名無しさん:05/02/01 11:12:29
間違えました。Receive->Accept

Closeしてみました。AcceptCallbackは呼ばれるけど
EndAcceptで例外が発生するのでキャッチすればいいみたいです。
しかしAcceptCallbackされないのが最善かなと思うのですが
そこまでは無理ですか?


283デフォルトの名無しさん:05/02/01 11:15:02
無理だね。
返答待ち中に閉じられるってのは例外事項だろうから、
例外が投げられてそれをキャッチするという流れは極めて自然。
284デフォルトの名無しさん:05/02/01 11:16:15
>>283
了解しました。ありがとうございました。
285デフォルトの名無しさん:05/02/01 14:00:02
VB.NETだと、テキストボックスの縦のサイズが
19に固定されていて、変わりません。
大きくするにはどうしたらいいですか?
286デフォルトの名無しさん:05/02/01 14:06:39
>>285
1.フォントのサイズ変更
2.MultlineをTrueに変更
287デフォルトの名無しさん:05/02/01 14:13:41
>>286
トンクス
288デフォルトの名無しさん:05/02/01 14:13:56
VBでMCPを取るにはどうすればよろしいでしょうか。
289デフォルトの名無しさん:05/02/01 15:24:11
フォーム1のテキストボックスに書いた内容を
フォーム2のテキストボックスに表示するにどうすれば
いいですか?
290デフォルトの名無しさん:05/02/01 15:43:03
>>289
フォーム1のテキストボックスのTextChangedで
フォーム2のテキストボックスのTextに、フォーム1のテキストの内容を入れてやれば?
291デフォルトの名無しさん:05/02/01 16:11:17
フォーム2のテキストボックスのTextに、フォーム1のテキストの
内容を入れるのができないんです。
フォーム1のTextBox1の内容は
フォーム2ではForm1.Text1.Textで得られるんですか?
これだと、エラーが出てしまいます
292デフォルトの名無しさん:05/02/01 16:22:50
別のフォームで使える変数ってありますか?
Dim,Public しかしらないもんで
293デフォルトの名無しさん:05/02/01 16:29:47
>>フォーム2ではForm1.Text1.Textで得られるんですか?
そことなく罠の匂いがします。
292も含め釣りか・・・・。
294デフォルトの名無しさん:05/02/01 16:32:01
295デフォルトの名無しさん:05/02/01 16:51:42
いや、マジで、わかんないです。
別のフォームで使える変数がしりたいです
296デフォルトの名無しさん:05/02/01 17:05:37
294のリンク先も理解できないようならプログラマを即刻辞めるべきだ。
297デフォルトの名無しさん:05/02/01 17:53:01
>295
プロパティ処理が面倒なら、
メインフォーム以外のフォームデザインを一通り済まし、
サブフォームのすべてのコードを、名前空間内のメインフォームのクラスの下へ貼る。
そうすると、
サブフォームのデザイン画面が見れないが、サブフォームのアクセスが容易になる。
この方法は、プロパティ処理の不要や、メンバ情報漏洩防止が可能。
もし、サブフォームのデザインを修正したいなら、そのサブフォームのコードを、元の場所に移せばいい。
298デフォルトの名無しさん:05/02/01 18:11:18
>297 の修正

プロパティ処理が面倒なら、
サブフォームのすべてのコードを、名前空間内のメインフォームのクラスの下へコピー。
コメントで、サブフォームのコードだと分かりやすく明示しておく。
サブフォームのデザインを修正したら、メインへコピーしたものを最新にしておく。

そうすると、
サブフォームのアクセスが容易になる。
この方法は、プロパティ処理の不要や、メンバ情報漏洩防止が可能。
299デフォルトの名無しさん:05/02/01 18:52:17
テキストファイル(ある文章が書いてある)の内容を
一文字ずつ読み込たいんですが、どうすらばいいですか?
300デフォルトの名無しさん:05/02/01 19:07:54
StreamReaderのReadLine
エンコーディングに気をつけろよ。
301デフォルトの名無しさん:05/02/01 20:02:55
>>300
1文字ずつ
302!300:05/02/01 20:05:54
>>301
1文字=1バイト とは限らないからな。気をつけろよ。
303デフォルトの名無しさん:05/02/01 20:07:58
>>302
1文字ずつ
304デフォルトの名無しさん:05/02/01 20:16:21
>300
1文字ずつ
305デフォルトの名無しさん:05/02/01 20:20:13
Readメソッドだな。
306デフォルトの名無しさん:05/02/01 20:23:41
>300はバカ
307デフォルトの名無しさん:05/02/01 20:37:33
datagridについてなんですが、
列数と行数をあらかじめ指定する事って出来るんです?

vbのMsFlexGridだとcolsとrowsに値を入れる事が出来るんですが・・・。
308307:05/02/01 20:50:21
すいません。速攻で解決してしまいました。

For i = 0 To CountA - 1
  Table1.Columns.Add(NoA, Type.GetType("System.String"))
  NoA = NoA + 1
Next

dim StringBox(CountA-1) as new String

Table1.Rows.Add(StringBox)

で解決しました。
これだとString型しか入らないですが、表示するだけなのでこれでいけそうです。


どうもdatagrid使いにくい・・・自分があれなだけなんですが。
309262:05/02/01 22:35:52
>>263
MSDN見ながら何とかソケット通信出来ました〜。
サーバー側プログラムが受信待機状態になると止まっちゃって
他からのアクセスを受け付けなくなってしまうのを何とか解決
しようとしてスレッドを色んなサイト見ながら試しました。
正直、正しいスレッドの使い方できてるのか不安でしたが
一応動いてるっぽいです。クライアント用を三つ起動して
サーバー側にアクセスしてもちゃんと処理してくれたので・・・

でも、同時アクセスとかの場合はどうなんでしょうか?
何か効率のいいテスト方法あったら教えてください。
ヨロシクお願いしますです。
310デフォルトの名無しさん:05/02/02 00:00:33
>>309
配列使ったら?
311262:05/02/02 00:10:31
>>310
配列を使うとは・・?
よく分からないのでもう少し詳しくお願いします。
お手数かけて申し訳ないです。
312デフォルトの名無しさん:05/02/02 01:43:19
>>311
それ以上でもそれ以下でもない。
そもそも質問の仕方と意図も漠然すぎるので、説明しようがない。

>>クライアント用を三つ起動してサーバー側にアクセスしてもちゃんと処理してくれた
>>同時アクセスとかの場合はどうなんでしょうか
この段階で、クライアントが3つ同時アクセスして成功しているんじゃないのか?
313デフォルトの名無しさん:05/02/02 03:00:49
セットアッププログラム実行時に、関連するファイルも一緒にコピーしたいのですが、
複数のインストール先があり、それぞれに関連するファイルが違います。

固定の場合はファイルシステムエディタで追加出来るようですが、違う場合のコピーは
どこで設定してやればよいのでしょうか?
314デフォルトの名無しさん:05/02/02 04:02:56
既出ならすみません
ACCESSのデータベースを読み込む時検索結果が安定しません
全検索のときでも
検索がちゃんと出るときと出ないときがあります
ウィザードを使って作ったのでSQLに間違いは無いと思います
対処法教えて下さい
環境は
WinXP home
VB.NETスタンダード
ACCESS2002です
長々とすみません
315デフォルトの名無しさん:05/02/02 05:25:21
>>314
情報少なすぎ
316デフォルトの名無しさん:05/02/02 07:44:10
何も事情を知らない人がその文章を読んで、何を聞きたいかが
理解できるか?ということをまずは十分に検討した方がいい。
317314:05/02/02 08:22:52
情報不足申し訳ありません
いわゆる会員一覧のようなものをデータグリッドで表示させたいのです
メインフォームから別フォーム(データ表示用)を呼び出し
開いたときに一覧を表示するようにしたいのです
そこで別フォームのロードイベントでfillを行っています
そこでデータが10件あったとします
何回かのうちに全一覧がでずに
7,8件しか表示されない場合があります
その原因がわからないので困っています
SQLはウィザードで作られたものから変更はしていません
これでも情報不足でしたら指摘お願いします
318デフォルトの名無しさん:05/02/02 09:21:05
>>317
ためしにAccessファイルの最適化をやってみそ。
うちではVB側で追加した行がどうしても表示できなくて、最適化
をしてみたら全部出るようになった。
319デフォルトの名無しさん:05/02/02 09:40:32
ソケット通信で非同期ソケットを使っている場合の
タイムアウトの処理は、やはりタイマーを使うのでしょうか?
320デフォルトの名無しさん:05/02/02 09:46:30
普通はそうだね。
321デフォルトの名無しさん:05/02/02 10:19:30
タブコントロールにてタブページを5つぐらい作って順番変えた時、
タブページの順が指定した順にならずに困ってます。
何か考えられる原因はありますか?
・タブページコレクションエディタで順を変更

・保存して終了

・再び起動すると勝手に順番変更

・もう一度やってみる

・同じく勝手に変更

エンドレス・・・
322デフォルトの名無しさん:05/02/02 10:19:51
>>320
了解しました。やっぱり普通っていいよね。
323デフォルトの名無しさん:05/02/02 10:38:34
VB.NET2002しかもっていないのですが
VB.NET2003ならSystem.Data.OracleClientはデフォルトで使用できるのでしょうか?
324デフォルトの名無しさん:05/02/02 10:41:23
OracleならODP.NETを使うのがモアベター。
325デフォルトの名無しさん:05/02/02 10:42:35
>>324
ダウンロードしようとすると登録を迫られるのですが
どうしましょう?
326デフォルトの名無しさん:05/02/02 10:48:12
.Net Managed Provider for OracleとODP.NETって違うものですか?
327デフォルトの名無しさん:05/02/02 11:08:55
Listviewコントロールについて質問です。

Checkboxes が True
Multiselect が True
View が Details または List

この状態で複数のアイテムを選択するとチェックボックスが勝手にチェックされてしまいます。
これを回避する設定か技はありますでしょうか?
328デフォルトの名無しさん:05/02/02 11:13:58
TextBoxなどを継承して新しいクラスを作った時コードエディターで継承した、
プロパティーやイベントのインテリセンスが出ないんですが、
何か方法はありますか。現在は"GetType"がインテリセンスで出るだけです。
よろしく。
329デフォルトの名無しさん:05/02/02 12:39:53
すいません、ASP.NETについて教えてください。
Serverに保持している値をClientに渡し、ClientでJavaScriptを
用いて演算したいのですが、何か方法はあるでしょうか?
330314&317:05/02/02 13:47:19
最適化してみました
全件表示させるだけなら出来ましたが
検索に条件を付けて一覧を表示させるときに同じような現象が起きます

検索条件のフォーム(以下検索画面)と結果表示のフォーム(結果画面)を別にしていて
検索画面に入力された値を結果画面で受け取るようにして
その値をパラメータに当てはめてクエリを実行させるようにしました
値の受け渡し方法は
結果画面に検索メソッドをつくりその引数に検索画面の各テキストボックスの値を割り振るようにしています
そして結果画面のロードイベントで検索メソッドを実行しています
この方法が悪いのでしょうか
他になにか方法があれば教えて下さい
説明不足でしたら指摘お願いします
331デフォルトの名無しさん:05/02/02 17:16:16
テキストボックスに、簡単な文章入力して
その文に、あらかじめ用意していた単語が出てきたら
イベントを起こしたいです。
例えば「さむい」を用意していて、入力文が「今日はさむい」
だったらイベント発生という感じですが
どうゆうやりかたありますか?
ちょっと思い浮かばないです・・・
332デフォルトの名無しさん:05/02/02 18:40:30
TextChanged イベントは?
333デフォルトの名無しさん:05/02/02 18:56:28
追加です。
ボタンクリックで、読み取って
キーワードが含まれていたら、イベントって感じです。
>>332
レスどうもです
334デフォルトの名無しさん:05/02/02 19:16:14
ボタンクリックというイベントを自分で言ってるじゃん。
335デフォルトの名無しさん:05/02/02 19:29:36
あっイベントを勘違いしてました。

テキストボックスに、簡単な文章入力して
その文に、あらかじめ用意していた単語が出てきたら
イベントを起こしたいです。
例えば「さむい」を用意していて、入力文が「今日はさむい」
だったらという、if文をつくりたいんです
336デフォルトの名無しさん:05/02/02 19:44:47
おまいさんの言う「イベント」が、何を差しているのか不明なのと、
文字入力中に内容の評価をしたいのか、入力終了後にボタンを押し
て評価をしたいのかどっちなんだ?
337デフォルトの名無しさん:05/02/02 19:52:24
>>331>>335で、どう説明が代わったのかすらわからん。
IndexOf使って、登録文字列があるか探せ。
338デフォルトの名無しさん:05/02/02 20:53:43
Form1にPanelを用意しておいて、MDIParentとします。
そしてForm2をMDIChildとし、そのForm2を開くとForm1のPanelにボタンを表示させたいのですが
どうすれば良いのでしょうか?

そのPanelにはButtonを表示して子ウィンドウを制御したいです。
339デフォルトの名無しさん:05/02/02 21:04:15
>>338
インスタンスを作成してイベントハンドラに関連付けして、Panelにコントロールを追加する。
340デフォルトの名無しさん:05/02/02 21:22:06
>>338
どこまで出来ているの?
341338:05/02/02 21:43:51
PanelとForm2などは作っており、
作っていないのはボタンとその処理をするプログラムです。
342デフォルトの名無しさん:05/02/02 22:15:41
>>341
先ず標準モジュールを追加してその中で
Module Module1
   Public F1 As Form1     'F1をグローバルに宣言。
End Module
とおまじないをする
次に
Private Sub Form1_Load(ByVal sender As System.Object, _
 ByVal e As System.EventArgs) Handles MyBase.Load
 F1 = Me   
とする
これで
Form2の中で
F1.Button1.Show()
等とやり放題になるよ。
          
343デフォルトの名無しさん:05/02/02 22:19:11
……。
344デフォルトの名無しさん:05/02/02 22:29:49
学校のVB.NET作ったの
家のパソで動かないんですが
なんでですか????
345デフォルトの名無しさん:05/02/02 22:30:31
>338=>81=>211か?
タブブラウザを作るつもりなら諦めろ。
346338:05/02/02 22:33:52
F1ボタンは表示されてたんですが、別の子ウィンドウを開いたところ、ボタンが追加されませんでした・・・。
347デフォルトの名無しさん:05/02/02 22:36:36
学校のパソのVB.NETで作ったのですが
学校ではexeファイル開けるのですが
家のパソでは起動しません
なんでですか????
家にはVBははいってないです
348デフォルトの名無しさん:05/02/02 22:39:15
こんなバカでもプログラムが書ける.NETってスバラシイ!


>>198見れ。
349C ◆S8GEyHDFII :05/02/02 22:45:26
public class Form2 : Form{

    private ToolBar toolBar1;
    〜〜中略〜〜

    private void menuItem28_Click(object sender, System.EventArgs e){
        Form2 f = new Form2();
        ToolBarButton b = new ToolBarButton();
        toolBar1.Buttons.Add(b);
        b.Tag = f;
        f.MdiParent = this;
        f.Show();
    }

    private void toolBar1_ButtonClick(object sender, System.Windows.Forms.ToolBarButtonClickEventArgs e){
        ((Form2)e.Button.Tag).Select();
    }

}
350デフォルトの名無しさん:05/02/02 22:53:38
>>346
ちょっといいかげんに説明しすぎたかな。
先ずForm1のPanelの上にボタンを置いて、VisiblプロパティをFales
にして置く、ここまではいいな。
次に『Form2を開く』どのようにして開くかは、書いてないので俺は知らん。
このフォームの中で、Form1.Button1.Visible=True等としたいが、
我慢しろ、Form1はインスタンスではなくクラスなのでForm2からは、
参照が出来ないのだよ。
そこで仕方ないので、標準モジュールを追加して、
Public F1 As Form1
とForm1のクラスのF1を宣言するのだ、こうするとモジュールは
全てのフォームから参照が出来るから、このF1はForm2から参照が
出来るのだよ。
ただしあわててはいかん、F1は宣言しただけなので実態は無いわけだ、
そこで、Form1のLoadイベントの中で、F1=Meとするのだ、
Meは唯一Form1が自分を参照するキーワードだ、ここで初めて
F1にForm1のインスタンスが代入されるのだよ。
これでForm1のインスタンスはどこからでもF1で参照が出来る。
そこで、Form2の中で
F1.Button1.Visible=TrueとするとForm1の中のButton1が現れる、
まあそお言うことだ、分ったよな。
    
351デフォルトの名無しさん:05/02/02 22:55:56
>>349
おいおい、VB.NETとC#の区別のつかないやつは
Javaのスレにでも池。
352デフォルトの名無しさん:05/02/02 22:56:00
>>346
>>339の意味がわからないのなら諦めろ。まずは意味を理解する所から始めな。
あと、どういうコードを書いているかチャートで見せてみ。
353338:05/02/03 00:45:00
'Form1で子ウィンドウ作成するボタン
Private Sub NewWindowBtn_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles NewWindowBtn.Click
Dim MDIChild As New Form2()
MDIChild.MdiParent = Me
MDIChild.Show()
End Sub
'Form1の中身
Public Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
F1 = Me
End Sub
'Form2の中身
Public Sub Form2_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
'F1.ControlButton.Show()
F1.ControlButton.Visible = True
Me.Tag = F1.ControlButton.Tag()
End Sub

とりあえず、関係ありそうな部分のソースのみです。
例のボタンは Visible = False 参照レベルは一応 Public に設定してあります。
354デフォルトの名無しさん:05/02/03 00:50:08
System.GC.Collect()で強制的にガベージコレクションを行うことが
できますが、自動的に行われるガベージコレクションと競合して
おかしくなったりすることはあるでしょうか。
355デフォルトの名無しさん:05/02/03 01:30:12
動詞を指定してファイルを開く方法は
こちらttp://dobon.net/vb/dotnet/process/processverb.htmlの方法で出来たんですが

複数のファイルを同じように開くことって出来ませんか?
たとえばhoge.txtとfoo.txtをprintで開くなど
356デフォルトの名無しさん:05/02/03 08:25:23
>>355
基本的な点で勘違いしている気がする。
ファイルを「開く」のはドトネトのアプリじゃなくて
ファイルに関連付けられたアプリだよ。
357デフォルトの名無しさん:05/02/03 08:34:56
>>354
ないよ。
っていうかどういう状況を競合と言うんだろう?
358350:05/02/03 08:34:57
>>353
出来てるジャン、それで何がわからないの?
359352:05/02/03 09:07:07
>>353
MDIChild.MdiParent = Me
Me.ControlButton.Visible = True
MDIChild.Tag = Me.ControlButton.Tag
MDIChild.Show

俺ならこうしてフォーム2のLoadイベントは使わないが、、、
どこでエラーが起こってるんだ?
360355:05/02/03 09:31:35
>>356
えっと、すいません
要はエクスプローラでhoge.txtとfoo.txtの両方を選択し
それを右クリックで動詞を選んで開く
というのと同じ効力を得れる命令を知りたいのですが
361デフォルトの名無しさん:05/02/03 10:16:51
フォームを継承したいのですが、どのような手順で
行えばよいでしょうか?
362361:05/02/03 10:20:47
できました。
363デフォルトの名無しさん:05/02/03 10:44:33
VB6では
form1で

form2.show
unload me

とするとform2を表示したあとform1を消せますが
VB.NETでは
dim f as new form2()
f.show
close()

とするとform2も閉じられて終了してしまいます。
VB6と同様の動作にするにはどうすればよいでしょうか?
364デフォルトの名無しさん:05/02/03 11:08:09
>>363
親のコンテナを消すと呼び出した子供は全て消される。
せいぜいMe.Visible=falseとするくらい。
ただし子供から親を表示出来るようにしておかないと
親を表示して、終了するすべが無くなるから木おつけろ。
365デフォルトの名無しさん:05/02/03 11:18:19
>>364
了解!.NETは本格的にオブジェクト指向なんですねー
366デフォルトの名無しさん:05/02/03 11:42:54
ヘルプがいきなり白紙になった(泣)
設定を 内部/外部にしてもダメ
コレクションの選択をしても全部ダメ

ヘルプの実体がどこにあるか良く分からんし
それっぽいのみつけても、どこで設定すればいいのか分からん。

たすけてください。
367デフォルトの名無しさん:05/02/03 12:36:16
松下の陰謀ですよ
368デフォルトの名無しさん:05/02/03 13:55:52
>>366
ヘルプだけ再インストールしたらいいんでは。
369デフォルトの名無しさん:05/02/03 14:02:00
VB.NETで作成したアプリケーションはWindowsNT4.0で動作しますか?
370デフォルトの名無しさん:05/02/03 14:04:44
テキストボックスのフォントサイズを変更したく
txtText.Font.Size = 12
とするとコンパイルエラーになってしまいます。
どこが間違っているのでしょうか?
371デフォルトの名無しさん:05/02/03 14:12:56
Fontクラスは変更不可のクラスなので、Newし直すべし。
372デフォルトの名無しさん:05/02/03 14:41:17
>>371
さんくす。できました。
373デフォルトの名無しさん:05/02/03 15:07:58
教えてください。

VB.NETってサーバーインスコしてネットワーク共有でつかえるのですか?
自分はクライアントベースと聞いているのですが。
374デフォルトの名無しさん:05/02/03 16:22:26
フォームのサイズを固定にするにはどうしたらよいでしょうか?
375じゃんぬねっと:05/02/03 17:00:48
>>374
FormBorderStyle を Fixed〜 にしましょう。
376デフォルトの名無しさん:05/02/03 17:12:11
VB.NETから勉強をはじめたら、以前のバージョンで開発されたシステムには対応できませんか?
まったくの初学とした場合。
377デフォルトの名無しさん:05/02/03 17:22:50
>>375
こんな質問にも答えてくれて、ありがとう。
378デフォルトの名無しさん:05/02/03 17:24:16
プロパティって配列に出来ます?

Public Property Mode() As Integer
  Get
    Return Me.Mode
  End Get
  Set(ByVal Value As Integer)
    FormMode = Value
  End Set
End Property

だと、Modeというプロパティになりますが、
このModeを配列にしたいのです。
379デフォルトの名無しさん:05/02/03 17:25:55
>>376
勉強する順番はどうでもいいが、最終的に知ってないといけないものは勉強するだろ?
380378:05/02/03 17:32:52
ん?msdn見ると、プロパティを使う場合は
privateなフィールドを別に作っておけと書いてあるな・・・。

>>378の例文はやばいですね。
  Private PropVal As String
  Public Property Hoge() As String
    Get
      Return PropVal
    End Get
    Set(ByVal Value As String)
      PropVal = Value
    End Set
  End Property

こっちが正解ですねすみません。
381378:05/02/03 17:38:36
すみません・・・インデックス付きプロパティでぐぐったら
速攻で答えが出てきました・・・こんなんばっかり。
382デフォルトの名無しさん:05/02/03 18:03:02
.Net Managed Provider for OracleとはADO.NETのことなのでしょうか?
いまいちわかりません。
やはりODP.NETの方がOracleへのアクセスは標準的なのでしょうか
うーん。どなたかお助けを
383デフォルトの名無しさん:05/02/03 18:40:24
ADO.NETは.NETにおけるデータベースとの標準インターフェイス。
System.Data名前空間下の各クラスがその実装。
.NET Managed Provider for OracleはADO.NETのOracle用のMS製の実装。
ODP.NETはオラクル自身が作った.NET用の実装。

当然パフォーマンスはODP.NETが一番良いし相性も良い。
ただ、Oracleが9よりも前のバージョンだと、.NET Managed Provider for Oracleの方が良いとも聞く。
384デフォルトの名無しさん:05/02/03 18:44:59
ADOで、Accessのファイル.mdb にかかっているパスワードを変更するプログラムを作りたいんですが、
どうしたらいいでしょうか?
うっかり、パスワードに「\」の文字を含めてしまい、Accessからは開けなくなっちゃったんです。
ADOでは、開けるので、パスワードを変更したいんです。
よろしくお願いします。
385デフォルトの名無しさん:05/02/03 19:46:18
>>383
ありがと!よく理解できました。
386384:05/02/03 21:12:07
自己レスですが解決しました。
http://www.kawachi.zaq.ne.jp/ta-kun/devlabo/vb_s.htm
で解決できました。
387デフォルトの名無しさん:05/02/03 21:14:51
Frameworkインストールしたんですが、
ファイル実行できません。
実行しようとすると↓こんなんでてきます。

C:WINDOWS\Microsoft.NET\Framework\
v.1.1.4322\micorwks.dll could not be
loaded
388デフォルトの名無しさん:05/02/03 21:17:58
>C:WINDOWS\Microsoft.NET\Framework\
>v.1.1.4322\micorwks.dll could not be
>loaded

これを意訳すると

  ファイル実行って意味わかんねえよ氏ね
389デフォルトの名無しさん:05/02/03 21:21:36
390デフォルトの名無しさん:05/02/03 21:57:02
このサイトについての質問なんですが
http://www.atmarkit.co.jp/fdotnet/dotnettips/115dgselcell/dgselcell.html

// テーブルのスタイルを作成
DataGridTableStyle dgTableStyle = new DataGridTableStyle();
dgTableStyle.MappingName = dataTable1.TableName;

// *** 選択セルの背景色と前景色を設定する ***
dgTableStyle.SelectionBackColor = Color.Yellow;
dgTableStyle.SelectionForeColor = Color.Black;
dataGrid1.TableStyles.Add(dgTableStyle);

とあるのですが、この時、
 dataGrid1.SelectionBackColorには、Color.Yellowが入っているのですか?

というのも、VB.NETでWindowsアプリケーションを作っていて、
どうもTableStyleで設定した項目がdataGrid1に反映されていないようなのです。

ためしに、

 dgTableStyle.ReadOnly = False
 dgTableStyle.AllowSorting = False
 DataGrid1.TableStyles.Add(dgTableStyle)

というサンプルを作って、DataGrid1.ReadOnlyとDataGrid1.AllowSortingをテキスト表示すると
FalseとTrueが入っています・・・。こういうもんなんですか?
391デフォルトの名無しさん:05/02/03 22:15:57
そのサイトの著者に訊いてみたら?
392デフォルトの名無しさん:05/02/03 22:22:15
画像のキャプチャーソフトのようなものを作りたいのですが、
利用できるクラスはあるでしょうか。
393デフォルトの名無しさん:05/02/03 22:46:02
キャプチャにはWin32APIが必須だね。
ちょっと調べれば色々出てくるし、それで理解できなければ挑戦はまだ早い。
394デフォルトの名無しさん:05/02/03 22:48:07
ソケット通信のプログラムの動作について
ちょっと疑問に思ったことがあるので教えてください。

ソケット通信のクライアントプログラムとサーバープログラムを
同じPCで起動して、文字とか送るのですが、私はこれは一度ネット上に出て
指定してあるIPアドレスとかポートとかを頼りにして、同じPCのサーバー
プログラムにデータを送っているのだと思っていました。
しかし、LANケーブルを抜いてネットに接続できない状態でも通信できたのです。
これって指定アドレスが自PCのアドレスだから外には出なかったということでしょうか?
よく分かりませんのでご存知の方教えてください。
・・・・なんか訳の分からない文章になってしまいすいませんです。
395デフォルトの名無しさん:05/02/03 22:52:33
>>393
はいはい
396デフォルトの名無しさん:05/02/03 23:09:55
>>392-393
JMF
397デフォルトの名無しさん:05/02/03 23:15:16
>>394
TCPとUDPで微妙に挙動が違うんだけれど、サブネットマスクと
デフォルトゲートワイが何のためにあるのかを調べてみるとイロイロ解るよ。
興味があったらUDPのマルチキャストとかも調べてみるといい。
398デフォルトの名無しさん:05/02/03 23:21:16
>396
死ねば?
399デフォルトの名無しさん:05/02/04 01:02:57
>>394
IPアドレス直指定じゃなくて
コンピュータ名とかで送ってたら
ループバックアドレスに自動変換されて
送られてたとかかしら?

んで本題の質問なんですが
VBでフォームがアクティブじゃない時に
入力されたキーを取得したいのです
具体的にはキー送信するマクロ作ったのですが
キーを送信しているのウィンドーがアクティブになってます
これを何らかのキーを押すことでVBで送信してる
マクロを停止したいのですが・・・
そのようなことはできるのでしょうか?
可能だとしたらヒントでもいいのでご教授くださいませ
400デフォルトの名無しさん:05/02/04 01:18:38
.NETじゃ無理。
グローバルフックという手法を使うんだが、それが.NETでは不可能だから。

そう言う用途なら代わりにホットキーを使うのはどうだろう?
Win32APIになるけど、RegisterHotKeyとUnregisterHotKey関数を使って。
登録したキーの組み合わせが他のアプリで一切使えなくなる(Ctrl+Cをホットキーにしたら、他のあらゆるアプリがCtrl+Cを使えなくなる)が、
代わりにWindowsキーも修飾キーに使える。
401396:05/02/04 01:21:05
>>398
すまん。Javaスレと間違えて誤爆した。吊ってくる。
402338:05/02/04 01:49:43
>>352 = >>359 さん
子ウィンドウを開くとボタンは開くのですが、
もう一個呼び出してもボタンは追加されず、しかも両方の情報を持っているらしいみたいです。
しかも片方を閉じたらボタンは見えなくなってしまうのです。

こういう動作の方法はやったこと無いのでいまいち理解できずにいます。
403デフォルトの名無しさん:05/02/04 09:01:40
>>402
>>もう一個呼び出してもボタンは追加されず、しかも両方の情報を持っているらしいみたいです。
当たり前。
子フォームそれぞれに対応したボタンを作成して、イベントもそれぞれに対応したものを作りたいなら、配列使えと最初に戻る。。
404デフォルトの名無しさん:05/02/04 09:12:39
g_frmMain

dim g_frmMain as new frmMain()
g_frmMain = new frmMain()

とした場合最初にNewしたフォームのオブジェクトは
メモリ上から消えてくれますか?

405デフォルトの名無しさん:05/02/04 12:48:09
うん。
すぐに、ではないけれど。
406デフォルトの名無しさん:05/02/04 12:51:28
>>405
ありがとん。よかった。
なんかタスクマネージャみたらメモリがどんどん増えていくから
心配でした。
407デフォルトの名無しさん:05/02/04 13:38:22
vb.netプログラムから、twainドライバ対応スキャナを操作するにはどうすればいいですか?
なにか参考になるサンプルあります?
リードツールみたいなOCX使わないと無理ですか?
408デフォルトの名無しさん:05/02/04 13:50:40
>>407
いま繋がらないけど、.NET TWAIN image scannerってのがあるみ
たいだ。

ttp://216.239.63.104/search?q=cache:mvb3cS2UvRwJ:www.codeproject.com/dotnet/twaindotnet.asp+twain+API&hl=ja
409デフォルトの名無しさん:05/02/04 13:53:03
onKeyDownイベントでTabキーが拾えないのですが
拾う方法はないでしょうか?
410デフォルトの名無しさん:05/02/04 14:09:07
onKeyDownイベントなど無い!

てのはおいとくとして、この辺だ。
ttp://www.atmarkit.co.jp/fdotnet/dotnettips/241windlgkey/windlgkey.html
411デフォルトの名無しさん:05/02/04 14:18:07
>>410
うひょ。できた。さんくす
412デフォルトの名無しさん:05/02/04 14:20:39
誰かオレの宿題手伝ってくれない?

VB.netのコンソールアプリケーション(コマンドプロント)で
loopをつかって下にあるひし形作るんだけど
どうやるの?
教科書の問題にはConsole.WriteLine("*"), Console.WriteLine(""), Console.write("")とか
使えって書いてあるんだけど、なんでループでこんな形になるのかわからん・・・(´・ω・`)

*
***
*****
*******
*********
*******
*****
***
*

誰か助けて・・・orz
413デフォルトの名無しさん:05/02/04 14:21:12
>>408
ありがと。
ちょっくらみてみます。
414デフォルトの名無しさん:05/02/04 14:22:22
>>412
ひし形じゃなくって3角形になってる・・・orz



*
***
*****
*******
*********
*******
*****
***
*
415デフォルトの名無しさん:05/02/04 14:24:05
何で3角形になるんだろう・・・orz
ひし形なのに・・・
416デフォルトの名無しさん:05/02/04 14:34:30
>>412
>>誰かオレの宿題手伝ってくれない?
>>どうやるの?

手伝えじゃ無くて答えを教えろといってるわけだが?
1行中のスペースと*の合計値は等しい。
後は足し算と引き算の問題だ。
417デフォルトの名無しさん:05/02/04 14:36:23
>>415
"*"の増減ループと" "の増減ループの合わせ技。
正三角形ができたら、その逆で逆三角形ができる。
418デフォルトの名無しさん:05/02/04 14:40:47
>>416
だね、手伝ってじゃなくってやってくれだね。
悪かった。。
>>417
↑の△と↓の△に分けて考えればいいのか。
なんとなくヒントもらってやる気が出ました。

>>416, 417
ありがとう
419デフォルトの名無しさん:05/02/04 14:53:51
For i = 1 To 6
Console.WriteLine(i * 2 + 1, "*")
Next
ってやってみたんだけどi+2+1, "*"のところに青い線ひかれる・・・
へるぷみー
420デフォルトの名無しさん:05/02/04 15:47:08
質問です。

テキストボックスとボタンが10個ほどあります。
テキストボックスにはあらかじめ、abcdefgといった文字列がいれてあります。
ボタンにはa,b,c,dといったnameをふってあります。
テキストボックスからTextBox1.Text.Chars(i)として1文字を取り出した時に、
その文字に応じたボタンのいろをかえたいのですが、何か方法はありますか?
説明下手ですがお願いします。
421デフォルトの名無しさん:05/02/04 15:57:55
>>419
青い線にマウスを持っていって、エラー内容を読め。
Console.WriteLineにカーソルを置いてF1キーを押せば、MSDNが
詳しい使い方を教えてくれる。

>>420
ボタンを配列に読み込んで、取り出した文字とボタン.textをループ
で比較しろ。合致したらボタン.backcolorを変えればいい。
422デフォルトの名無しさん:05/02/04 15:58:25
で、何が分からないんだ?
423デフォルトの名無しさん:05/02/04 15:58:54
If Me.ActiveControl = TextBox1 Then
MsgBox("hoge")
End If

がコンパイルエラーになります。
なぜでしょうか?
424デフォルトの名無しさん:05/02/04 16:01:58
エラーメッセージは読まないのか?
425デフォルトの名無しさん:05/02/04 16:03:14
>>424
あいたた。ごめんなさい。
適切なアドバイスありがとうございました。
426デフォルトの名無しさん:05/02/04 16:03:29
>>419
Dim Count As Integer = -1
Dim i As Integer
Do While Count <> 9
Count += 2
For i = 1 To (9 - Count) / 2
Console.Write(" ")
Next
For i = 1 To Count
Console.Write("*")
Next
Console.WriteLine("")
Loop
Do While Count <> 1
Count -= 2
For i = 1 To (9 - Count) / 2
Console.Write(" ")
Next
For i = 1 To Count
Console.Write("*")
Next
Console.WriteLine("")
Loop
System.Threading.Thread.Sleep(10000)

怪しまれないように、へぼっぽく加工しといた。

>>420
文字に応じた色ってのが意味不明
#FF6688
とかそゆのか?
説明がさっぱりだがあるか無いかを問われればあると答えておく。後は自分でがんばれ。
427デフォルトの名無しさん:05/02/04 16:10:23
>>426
DoLoopも+=演算子もわかってないと思う。(w
428デフォルトの名無しさん:05/02/04 16:11:38
>>412にLoopを使うってあるし、使っとかないと不味いんじゃ?w
429デフォルトの名無しさん:05/02/04 16:17:59
If Keys.Tab Then

でタブキーは拾えたのですが
Shift+Tabキーはどのように拾えばいいでしょうか?
430デフォルトの名無しさん:05/02/04 16:28:54
それは、組み合わせ可能な列挙型の、組み合わせの表記が分からないという事か?
Orで組み合わせ、Andで特定フィールドの抽出。

//微妙にヘルプの解説もこの辺薄目……分かって当然だからか?
431デフォルトの名無しさん:05/02/04 16:33:27
>>421
ありがとうございます。
ボタンを配列にできるのは知りませんでした。
調べたらあったので、できました。感謝です。

>>426
テキストから取り出した文字と、ボタンにつけたnameに対応したという意味でした。
わかりにくくてすみません。
結局nameは関係なく、textを使いましたが。
432デフォルトの名無しさん:05/02/04 16:35:00
あー、さんを付け忘れました。

>>421さん、>>426さん。
ありがとうございました。
433デフォルトの名無しさん:05/02/04 16:35:29
>>429
If Keys.Tab And e.Modifiers = Keys.Shift Then
じゃねーかなーと思うわけだ。たぶん。
434デフォルトの名無しさん:05/02/04 16:42:35
>>433
ところがどっこい、Shift+TABはKeyDownイベントでは取れないので、ProcessDialogKey辺りをオーバーライドするしかないわけだ。
そうするとKeyEventArgsは手に入らず、手に入るのは修飾キーとキーコードが組み合わされたKeys列挙体。
435399:05/02/04 16:48:56
>>400殿
ありがとうございました
VB単体では無理なのですね
教えていただいたのを勉強して
挑戦してみたいと思います
丁寧なレス感謝です
436デフォルトの名無しさん:05/02/04 16:56:41
すみません。Keys列挙体というのはどういったものでしょうか?
if Keys.Tab And Keys.Shift Then
では拾えませんでした。

はぁ。オレってアホだな
437436:05/02/04 17:01:51
そうだ。フラグに持てば
438433:05/02/04 17:04:42
>>434
フォームのKeyPreviewをtrueにして、フォームのKeyDownでやればいけるだろ。
439436:05/02/04 17:12:35
発見しました。
Shift+Tabは65545みたいです。
440デフォルトの名無しさん:05/02/04 17:18:29
>>438
やってみれば?
441デフォルトの名無しさん:05/02/04 17:24:54
>>440
やってみた上で言ってんだが。
442デフォルトの名無しさん:05/02/04 17:26:29
連続してレベルコントロールのバックカラーを
高速に変えています。
一方のPCではちゃんと変えた色がアニメーションのように
変化してくれるのですが、他方のPCでは
最後に変えた色に一発で変わってしまいます。
ためしにApplication.DoEvents()を入れてみましたが
だめでした。このような場合どうすればようでしょうか?
443デフォルトの名無しさん:05/02/04 17:28:40
>>442
マシンの処理速度にどの程度の差があるのかはチェック済みだよな?
444デフォルトの名無しさん:05/02/04 17:30:50
>>441
ああひょっとして空のフォームでやっちゃった?
コントロールを一つ入れるととたんに検出できなくなるよ。
445デフォルトの名無しさん:05/02/04 17:34:55
>>443
速度は遅くなっていいのですがアニメーションして欲しいと思ってます。
勝手にはしょられたらつらいです。
446デフォルトの名無しさん:05/02/04 17:37:44
>>444
タブ1 テキスト6、ラベル2 チェックリスト1 コンボ1 ボタン3
が配置されてるフォームでやっていけたわけだが。
447デフォルトの名無しさん:05/02/04 17:38:59
>>445
途中でSystem.Threading.Thread.Sleep(1000)を入れるとか、タイマーで回すとか。
448デフォルトの名無しさん:05/02/04 17:39:15
Me.Refreshでできました。どうもすみません。
449デフォルトの名無しさん:05/02/04 17:50:21
>>446
私もやってみたけどやっぱり取得できない。
で、気になったのが>433の
If Keys.Tab And
の部分だ。
これがほんとにこのままなら、Strict Onならコンパイルで撥ねられるし、Strict Offなら必ずTrueを返すわけだ。
Shift押しただけでこのIf節が成立してないか?
450デフォルトの名無しさん:05/02/04 17:56:33
>>449
正解。すまん、嘘ついてた。
451デフォルトの名無しさん:05/02/04 18:04:51
返答ありがと。
実は取れるのかとかなりビックリした。
452デフォルトの名無しさん:05/02/04 21:54:29
.NETのクラスでlog4jみたいな便利なログ出力クラスってある?
453デフォルトの名無しさん:05/02/04 22:02:45
log4netってのがあるのか。失礼。
454デフォルトの名無しさん:05/02/04 22:28:17
>>453
.NETのクラスでお願いします。
455デフォルトの名無しさん:05/02/04 22:56:33
たのも。だれかRS-232C制御のクラスつくってくれ。なんでいまさら・・・
456デフォルトの名無しさん:05/02/04 23:05:51
MSCommを流用するか、市販品を買えってこった。
ttp://www.techknowledge.co.jp/vbmcom500.html
ttp://franson.biz/serialtools/index.asp
457デフォルトの名無しさん:05/02/04 23:23:55
そんな子と言わずに
http://www.microsoft.com/japan/msdn/library/default.asp?url=/japan/msdn/library/ja/jpfileio/html/Toppage_Communication.asp
このへんの使ってシコシコ書いて作ってくれよ・・・

MSCommってOCXとか配布するときに付きまとうんだろ?ちとこまるんだよ。
458デフォルトの名無しさん:05/02/04 23:36:32
>>426
ありがとう
Whileのあとにある<>はどういう意味?
<か>だけじゃダメなの?
459デフォルトの名無しさん:05/02/04 23:46:32
1よりも大きく1よりも小さい。。。。1じゃねーってことだろ。
460デフォルトの名無しさん:05/02/04 23:57:18
.NETで低レベルキーボードフックってできないの?
例えば、左右のどちらのCtrlキーが押されたかを
チェックするにはどうしたらいいんでしょう?

VC++で作った別プログラムでフックした情報を
プロセス間通信で取得しないといけないんかなぁ。。
もっさすぎ。
461デフォルトの名無しさん:05/02/05 00:08:58
>>460
今日のレスに答えがあるよ
462デフォルトの名無しさん:05/02/05 00:12:42
byteデータを16進2桁で出力したいのですが、どのように
すればできるでしょうか。

printfみたいなことができると楽でいいのですが・・・
463デフォルトの名無しさん:05/02/05 00:13:16
>>461
君は理解してないんでしょ?
464デフォルトの名無しさん:05/02/05 00:14:27
>>463
うん。ばれた?
465デフォルトの名無しさん:05/02/05 00:17:31
>>462
わかりません。諦めてください。
466デフォルトの名無しさん:05/02/05 00:32:40
>>462
hoge.toString("X2")
467デフォルトの名無しさん:05/02/05 00:36:41
>462
String.Format("{0:X2}",hoge)
でないの?
468デフォルトの名無しさん:05/02/05 01:03:51
16進自体が演算かがオブジェクト
469デフォルトの名無しさん:05/02/05 07:10:22
>>468
日本語でお願いします。
470デフォルトの名無しさん:05/02/05 10:03:33
タイムスタンプ(例:2005/02/05 10:01:26.640)を正確に
出力したいのですが、DateTime.Now.ToString(〜) では
かなり大雑把になってしまうようです。


より正確に出力する方法はあるでしょうか。
471デフォルトの名無しさん:05/02/05 10:09:00
【問題】

簡単な野球ゲームを作れ

(条件)

・打者は5回打席に立つ
・1打席ごとにW(敬遠)、H(ヒット)、O(アウト)を判定
・W,O,HはArrayから呼び込む
・ヒットの場合は1ポイント、アウトは0ポイント、敬遠はノーカウント
・打者のアベレージをだす
(例:5打席で2ヒット、2アウト、1敬遠の場合、2ヒット÷(5打席-敬遠の数)

ヒント:LoopとIf
472デフォルトの名無しさん:05/02/05 10:12:32
>>471
自分で作れば?
473デフォルトの名無しさん:05/02/05 10:14:29
って問題があるんですけど
Hはcount +=1, Outは count+=0でいいんでしょうか?
474デフォルトの名無しさん:05/02/05 10:20:38
>>473
野球のルール分かってるか?
475470:05/02/05 10:25:53
ごめん。もう分かったからいいです。
476デフォルトの名無しさん:05/02/05 10:31:04
HとOがcount+=1でWがcount+=0ですか?
477デフォルトの名無しさん:05/02/05 10:33:05
アウトォ、セーフゥ、よよいのヨイィ!
478デフォルトの名無しさん:05/02/05 10:35:33
>>476
野球のルール分かってるか?助けてやろうとしてるんだから、
質問には答えてくれよ。
479デフォルトの名無しさん:05/02/05 10:47:23

>>478
一応、わかってるつもりです・・・

480デフォルトの名無しさん:05/02/05 10:49:26
>>479
じゃあなんで>476みたいな質問が出てくるの?
481デフォルトの名無しさん:05/02/05 10:52:26
打席数をカウントしていくのに
ヒットとアウトはカウントされて
敬遠はカウントされないって考えて
>>476みたいな質問をしました。
482デフォルトの名無しさん:05/02/05 11:00:35
>>481
それで不安な点はどこ?
483デフォルトの名無しさん:05/02/05 11:09:24

打席数をCountするのが
If h Then
count += 1
ElseIf o Then
count += 1
ElseIf w Then
count += 0
End If
でいいのかっていう点と
もし、いいのであればArrayをどうやって組み込むかって言う点が
全然わかってません。
484デフォルトの名無しさん:05/02/05 11:31:23
>>483
打席数をカウントしたいのなら間違ってる。
てゆーか、打席数=5と条件に書いてある。
打率の計算式も条件に書いてある。

Arrayから「呼び込む」は日本語の意味が分からないので
回答しようがない。
485デフォルトの名無しさん:05/02/05 12:02:38
>>484
親切に有難うございました。
自分でもう少しやってみます
486デフォルトの名無しさん:05/02/05 12:04:59
>>471の問題でこうやったほうがいいんじゃない?
ってのがありましたらヒントでいいんでおしえてください。
487デフォルトの名無しさん:05/02/05 13:31:05
>>485-486
自分でやると言って2分後にこれか。
488デフォルトの名無しさん:05/02/05 14:34:24
>>487
あ、もしもヒントとか教えていただけるならって意味です。
気に障ったらなすみません
489デフォルトの名無しさん:05/02/05 14:39:42
490デフォルトの名無しさん:05/02/05 14:40:56
なんじゃい、もう解決済みだったか、失礼しまんこ。
491デフォルトの名無しさん:05/02/05 14:56:49
>>490
しかもお前のリンク見当違いじゃない?
492デフォルトの名無しさん:05/02/05 15:17:55
>>491
全然見当違いには思えないが。
書式指定文字列を使ってより詳細に出力できるだろ。
(秒以下の部分ね)
493デフォルトの名無しさん:05/02/05 15:22:49
>>492
伝統的にVBスレはレベルが低い(種種の原因があろう)。
カスタム書式指定のドキュメント解説を紹介されても情報の
価値が分からない奴の書き込みにいちいち反応する必要なし。
494デフォルトの名無しさん:05/02/05 15:33:39
レベルが低い原因はあれだろ?DQN学生が多いからでしょ。
いかにも宿題っていう質問が目立つじゃん。
質問したら答えが返ってくるのが当たり前と思ってるからねぇ。
そもそもVBなんて教えるぐらいならC#とか教えろと小1時間・・・
495デフォルトの名無しさん:05/02/05 15:46:32
>>492
>>470を読めば、それをもう試してることは分かるでしょ。
近似解像力が10msecなんだから、"f"をいくら増やしても
大雑把にしか出力できない。どうしたらいいですか?
ってのが>>470の言いたいことでしょ。
496デフォルトの名無しさん:05/02/05 15:50:17
>495
そういうことか。TickCount系使うとかそういう感じの話?
497デフォルトの名無しさん:05/02/05 15:59:05
>>495
それってヘルプに書いてあるんですか?たしかに秒以下を
見ていると、しばらく同じ値が続いて一気に10増えてまた
しばらく同じ値、みたいな動きしてます。
498デフォルトの名無しさん:05/02/05 19:21:07
>>497
聞く前に調べろと。
499デフォルトの名無しさん:05/02/05 19:50:47
>>498
聞く前に調べてないかどうか判断付きますか?
500デフォルトの名無しさん:05/02/05 20:03:58
>>499
MSDNのDateTime.Nowプロパティにはっきり明記してあることを、
わざわざ質問するあたりに、おまいさんの努力不足が現れてるね。
501499:05/02/05 20:19:51
オレは質問者じゃないけど?
502デフォルトの名無しさん:05/02/05 20:20:28
>>492がパッタリ黙ったってことは、見当違いだって
気付いてくれたってことだよね?
503デフォルトの名無しさん:05/02/05 23:07:56
ステータスバー上でアイコンを点滅させるには
どうすればよいでしょうか。
504デフォルトの名無しさん:05/02/05 23:13:44
二つのアイコンを定期的に切り替える。
505デフォルトの名無しさん:05/02/05 23:28:19
>>504
解雇
506デフォルトの名無しさん:05/02/05 23:42:33
>>505
されたのか? かわいそうにな。
そのうちきっといいことあるさ。
507503:05/02/05 23:53:32
そんなやり方してたら解雇されちゃうよ、って君へのアドバイスだよ。
ちなみに503は最初から解決してたんで悪しからず。
もちろん>504みたいなやり方じゃないですが。
508デフォルトの名無しさん:05/02/06 00:06:09
>>503
ステータスバーって
タスクバーのことかや?
それならFlashWindowExAPIで出来る気配
VB単体でできるのかはしらん
509デフォルトの名無しさん:05/02/06 00:07:33
http://uper.on.pc1.jp/upload/so/up0370.jpg
このコントロールを使いたいのですが、
どうすれば使えるようになるのでしょうか?
510デフォルトの名無しさん:05/02/06 00:14:01
>>509
言ってる意味が解らんのだが・・・・・
データグリッドコントロールくっつけれ?
511デフォルトの名無しさん:05/02/06 00:17:08
データグリッドコントロールというか、
リストボックスを区切ったようなものみたいなんです。
わかりづらくてすいませんtt
512508:05/02/06 00:17:16
あーレスよく見ないで発言してしまった・・・・orz
すまん・・・・・;;
513デフォルトの名無しさん:05/02/06 00:17:30
>>508
StatusBarコントロールだしょ?

>>509
ListViewかな?
ViewプロパティをDetailsにすればエクスプローラの詳細表示のアレになるが。
514デフォルトの名無しさん:05/02/06 00:18:36
>>511
見た目で言われてもわからんよ。
具体的にどんなことをしたいのか説明しる。
515デフォルトの名無しさん:05/02/06 00:20:56
>>513さん それでした。本当にありがとうございます。
>>510,514さんもどうもありがとうございました。
516デフォルトの名無しさん:05/02/06 00:38:52
フォームにビットマップを貼り付けて、マウスカーソルが上に来たときに
ツールチップを表示するのですが、マウスカーソルの座標によって
ツールチップの表示内容を変更したいと思っています。
どのようなテクニックを使えば実現可能でしょうか。
517デフォルトの名無しさん:05/02/06 01:07:25
質問させていただきます。

現在、ローカルで完結するプロセス間通信を行うプログラムを作成しようと考えています。
どの手段を使って実現しようかと色々と探し回ってみたのですが、どうも使えそうなものが
見つかりませんでした。

それなりの速度で、メソッドやイベントなどのオブジェクト メンバを操作できるものと
いうと、.NET Remoting 位しか見つかりませんでしたが、どうも技術が大掛かりすぎて、
ローカル内での通信にはちょっと向かないかな、と感じました。

もし他の、オブジェクトメンバを操作できるような手段をご存知の方がいらっしゃいましたら、
どうかご教授のほどお願いいたします。
518デフォルトの名無しさん:05/02/06 01:12:10
技術が大がかりだろうが、コードにしたら数行だけど?
リモーティング以外のやり方はコーディング的によっぽど大がかりになるよ。

メモリマップドファイルをクラス化してみたけど面倒くさいったらありゃしない。
519デフォルトの名無しさん:05/02/06 02:06:11
>>516
MouseMoveイベントで座標とってSetToolTipで
変えればいいんじゃないの?
範囲でほしいんだろうから座標指定で
IF文いっぱい出来ちゃいそうね
貼り付けるビットマップ切って分けたほうが
楽っぽいけど・・・・・・・・
もっと便利な機能知ってる人
むしろ俺にも教えてくださいw
520471:05/02/06 02:34:57
昨日の471ですが、自力では無理なようです・・・
ウェブマネー3千円あげるので誰かコード書いてください・・・
やってもいいよという方がいたら[email protected]まで
メールください。
521471:05/02/06 02:35:30
522デフォルトの名無しさん:05/02/06 02:39:34
>>520
いくらなんでも安過ぎ。
潔く先生に怒られなさい。
523デフォルトの名無しさん:05/02/06 02:42:04
何が分からないのかが心の底から分からん。
5回ループさせてそれぞれヒットならh += 1 敬遠なら w += 1
あとは式通り計算するだけだろ?
524デフォルトの名無しさん:05/02/06 03:11:07
>>523
ランダムにh,o,wにするのがわからないんです。
そもそも、vb.netがわかってないのですが・・・
h +=1のさわりの辺だけでもいいのでこうやって書くんだよ
っての教えていただけたらありがたいです。
525デフォルトの名無しさん:05/02/06 03:17:34
526デフォルトの名無しさん:05/02/06 03:19:05
どうやって乱数からh,o,wを作るんですかとか聞いてくるに違いないッ
527デフォルトの名無しさん:05/02/06 03:51:17
>522
ウェブマネー5千円でも安いですか?
528デフォルトの名無しさん:05/02/06 09:19:24
先生にウェブマネー提示して単位を買え。
つか、普通は同級生に相談するもんだろうが。
529デフォルトの名無しさん:05/02/06 12:24:19
そうする
530デフォルトの名無しさん:05/02/06 12:52:07
>>529
ごめんな。役に立たない奴ばっかで。
531デフォルトの名無しさん:05/02/06 19:21:48
>>530
お前は役に立たない奴の代表だしな。しかも、口先だけというおまけ付き。
532デフォルトの名無しさん:05/02/06 19:31:51
>>531
口先って具体的にどの部分が?
533デフォルトの名無しさん:05/02/07 09:10:56
自覚が無いってのも凄いな。
534デフォルトの名無しさん:05/02/07 14:48:22
最近会社でVB.NETやる事になったので
本屋でいろいろあさってVB.STUDIO2002(期間限定試用版)を購入。
起動したのはいいのですが、

ファイル→新規作成→VisualBasicプロジェクト→ASP.NET webアプリケーション

で、新規作成するとUNC共有ERRと言ったメッセージが出ます。
存在しないかアクセス許可が無いというメッセージです。
これは最初にローカルに共有ファイルを作成しておけ、と言う事でしょうか?
なにぶんド素人なので、、すいませんがご教授願います。
535デフォルトの名無しさん:05/02/07 15:21:53
VB.NETの設定について質問させてください。
日本語OSのWINXPに英語版Visual Stadio.NET2003
を入れてVBを使ってるのですが
Format(Me.TotalPriceLabel.Text, "currency")
でCurrencyを使うと通貨単位が日本円で表記されます。
currencyのフォーマットを変えてUSドル表記にする事は
出来るのでしょうか? ヘルプなどを見て国別のコードがあることは
判ってるのですがどこで変えたらいいのか分からなくて困ってます。
どなたか教えていただけますでしょうか?
よろしくお願いいたします。
536デフォルトの名無しさん:05/02/07 15:24:24
537534:05/02/07 16:21:23
自己解決しました。お騒がせしました。
538デフォルトの名無しさん:05/02/07 16:33:14
>>537
System.Threading.Thread.CurrentThread.CurrentCulture = New System.Globalization.CultureInfo("en-US")
539538:05/02/07 16:35:10
ま、間違った
>>535
System.Threading.Thread.CurrentThread.CurrentCulture = New System.Globalization.CultureInfo("en-US")
540デフォルトの名無しさん:05/02/07 17:10:05
数値.ToString("c", New System.Globalization.CultureInfo("en-US"))
541539:05/02/07 17:59:54
>>535
ところで、ロケールを変えたいの?
通貨の表示だけでいいの?
542デフォルトの名無しさん:05/02/07 18:00:55
通貨の表示だけでいいの
543デフォルトの名無しさん:05/02/07 20:42:27
初心者ですが教えてください。
VBでデータベースソフトを作ろうとおもい、
DataGridをフォームにいれてみたのですが、
フォームのサイズを広げたときにDataGridのサイズも一緒に広がるようにするには
どうしたらいいですか?
544デフォルトの名無しさん:05/02/07 20:43:59
主にDockプロパティ。時々Anchorプロパティ。
545デフォルトの名無しさん:05/02/07 20:46:17
DataGridのAnchorプロパティ使え
546デフォルトの名無しさん:05/02/07 20:54:21
そのプロパティを知らなかった俺は、Form_Layoutイベントで
リアルタイムにDataGridのSizeを微調整してたよ。orz
547デフォルトの名無しさん:05/02/07 22:38:35
>>533
で、どこが?
548デフォルトの名無しさん:05/02/07 23:55:33
粘着が過ぎるってのも痛いな。
549デフォルトの名無しさん:05/02/08 00:07:56
>>548
いつ答えてくれるのかな?
550デフォルトの名無しさん:05/02/08 03:29:03
>>544、545
ありがとうございました!

551デフォルトの名無しさん:05/02/08 07:55:33
>>549
うぜぇなぁ、てめぇ。
>>役に立たない奴ばっかで。
役にたたてねぇって人を見下すなら、てめぇが代わりにコード書けばいいだろうが。
それもやらずに文句だけ言ってるから、口先だけって言われるんだよ。
いちいち指摘されなきゃわからねぇとは知害だな。
552デフォルトの名無しさん:05/02/08 08:39:40
VB6.0のLeft(str, 5)
というのはVB.NETではどのようにすればよいでしょうか?
553デフォルトの名無しさん:05/02/08 08:45:22
str.Substring(0, 5)
554デフォルトの名無しさん:05/02/08 08:55:37
>>552
さんくす
555デフォルトの名無しさん:05/02/08 09:34:56
ODP.NETが勉強できるサイトありませんか?
556デフォルトの名無しさん:05/02/08 09:55:51
現在
dim i as integer
For i = 0 To 15
If Me.ActiveControl Is txtName(i) Then
Call hoge()
exitfor
End If
Next
という処理をしてるのですが
できればこのようにループで回してコントロールを
特定しているのですが
If Me.ActiveControl Is txtName Then
のように1発で判定する方法はないでしょうか?
557デフォルトの名無しさん:05/02/08 09:57:24
あらかじめHashtableに入れておいて、Contains
558デフォルトの名無しさん:05/02/08 10:15:28
559デフォルトの名無しさん:05/02/08 10:54:16
VB.NETで作ったアプリってVB6.0で作ったものより
少し重い気がするのですがなぜでしょう?
560デフォルトの名無しさん:05/02/08 11:10:59
.net FrameWorkの動作スペックが高いからでないかと。
561デフォルトの名無しさん:05/02/08 13:16:13
VB.NET+ODP.NETでアプリケーションを作成する場合
Oracle Fail Safeに対応するために何か特別な
コーディングが必要でしょうか?
562デフォルトの名無しさん:05/02/08 13:32:21
>>561
DBスレで聞いたほうが早いかもよ
563デフォルトの名無しさん:05/02/08 13:40:01
>>562
了解です
564デフォルトの名無しさん:05/02/08 14:31:00
Me.Color = RGB(255,255,255)
がコンパイルできません。なぜでしょう?
565デフォルトの名無しさん:05/02/08 14:33:33
ColorTranslater.FromWin32でできました。
566デフォルトの名無しさん:05/02/08 16:39:32
コンボボックスの高さって変更出来ます?

テキストボックスとかだと、AutoSizeプロパティをFalseにして
その後サイズ変更出来るんですが、
コンボボックスだとどうもそれに該当するプロパティが見当たらない・・・。
567デフォルトの名無しさん:05/02/08 16:44:55
OnKeyDownイベントで
その押されたキーをキャンセルするにはどうしたらよいでしょうか?
テキストボックスでカーソルの↑↓を押されたときに
押されなかったことにしたいのですが
568デフォルトの名無しさん:05/02/08 17:24:22
>>566
どの高さなのかね。
MaxDropDownItemsがドロップダウンするリストの項目数。
Fontのサイズによって自動的に高さ調節。
DropDownStyleをComboBoxStyle.Simpleにしてやればドロップダウンリストの代わりにちと特殊なリストが出て、Heightプロパティでリストの大きさを調節。

オーナードローする場合、
DrawModeをDrawMode.OwnerDrawFixedにしてやれば、ItemHeightで項目の高さを設定。
DrawMode.OwnerDrawVariableにしてやればItemHeightははじめの項目の高さを表す。

>>567
e.Handled = True
569デフォルトの名無しさん:05/02/08 18:17:45
よくわからない現象が発生したので質問します。

Form1、Form2と作成し、それぞれにボタンを一つづつ貼り付けます。
それぞれのイベントに

フォーム1

  Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click

    Dim frm As Form2 = New Form2

    Try
      frm.ShowDialog()
    Catch ex As Exception

    End Try

  End Sub

フォーム2

   Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
    Me.Close()
    Throw New Exception
   End Sub

 とすると、Debug、Releaseともに意図したように動作するのですが、exeから実行するとExceptionがCatchされません
 なぜでしょう?
 
570デフォルトの名無しさん:05/02/08 18:47:39
強制的にGCを作動させる方法ありませんか?
参照のなくなったオブジェクトがちゃんと破棄されるか
確認したいのですが
571デフォルトの名無しさん:05/02/08 18:50:29
GC.Collect()
572デフォルトの名無しさん:05/02/08 21:04:03
「破棄されるか確認したい」のならWeakReference
573デフォルトの名無しさん:05/02/08 23:06:52
>>551
あらら。逃げちゃったよ。まあそろそろ許してやるか。
574デフォルトの名無しさん:05/02/09 00:08:28
池乃めだか?
575デフォルトの名無しさん:05/02/09 00:13:10
>>573
あらあら、指摘に反論できなかったので勝利宣言ですか。
お疲れ様でした。
あ、負け犬の遠吼はいくらでもどうぞ。
576デフォルトの名無しさん:05/02/09 00:41:12
>>575
さらに遠くに逃げるとは・・・指摘ってどれ?
577デフォルトの名無しさん:05/02/09 05:20:39
>>573
>>575
>>576
誰もできなかったってことでいいじゃないか、な
578576:05/02/09 07:09:56
私はどうでもいいのですが、何かしつこいので。
579デフォルトの名無しさん:05/02/09 07:53:46
>>576
妄想持ちは大変ですね。
日本語も不十分のようなので、小学生からやり直す事を薦めますよ(プ
580デフォルトの名無しさん:05/02/09 08:38:07
GC.Collect()してもタスクマネージャで見ると
メモリが減らないんですけどそんなもんですか?
581デフォルトの名無しさん:05/02/09 09:20:30
>>指摘ってどれ?
指摘された事が理解できない真性の知能障害者はもういいからここにくんな。
自分が役に立ってる口先だけじゃないっつーなら、証明して見せてみろ。
このスレだけでも、未回答の質問が沢山あるから全部答えろや。
582デフォルトの名無しさん:05/02/09 11:26:44
Type AAA
BBB(4) As Integer
End Type

ってのがVB6で使えましたが

VB.Netでこうやると

Structure AAA
Dim BBB(4) As Integer
End Structure

「構造体メンバとして宣言された配列を初期サイズで宣言することはできません。」

どうすれば?


583デフォルトの名無しさん:05/02/09 11:31:58
構造体だと、引数付きコンストラクタを作ってそこで初期化するしか無いね。
584デフォルトの名無しさん:05/02/09 11:33:25
Structure AAA
Dim BBB() As Integer
End Structure
585デフォルトの名無しさん:05/02/09 11:40:06
>>584
それだとサイズがまだ未定義ですよね?

そこで
引数付きコンストラクタ内で
ReDimすればいいんですね

>>583
感謝です。
586デフォルトの名無しさん:05/02/09 15:23:02
色を指定する際、Color.Whiteなどで指定しますが、
フォームのデザイン時のようにシステムカラーを
指定したい場合はどうすればよいでしょうか?
例えば
Color.Window
などがあるとよいのですが
587デフォルトの名無しさん:05/02/09 15:25:41
System.Drawing.SystemColors
588デフォルトの名無しさん:05/02/09 15:45:25
>>587
dクス
589582:05/02/09 16:07:42
Public Structure T1
Dim v() As Short
Public Sub New(ByVal Size As Integer)
ReDim v(Size - 1)
End Sub
End Structure

Public Structure T2
Dim v1 As Short
Dim v2 As Short
Dim v3 As Short
Dim v4 As Short
End Structure

Dim a As New T1(4)
Dim b As New T2

    Debug.WriteLine("T1 Size =" & System.Runtime.InteropServices.Marshal.SizeOf(a))
Debug.WriteLine("T2 Size =" & System.Runtime.InteropServices.Marshal.SizeOf(b))
でサイズを調べると
T1 Size =4
T2 Size =8
590582:05/02/09 16:10:36
API に渡す構造体なんですけど
T1の方法では無理でした。
T2のほうならうまく動くのですが
なんかスマートじゃないです…
591デフォルトの名無しさん:05/02/09 16:19:08
>>590
T1の方は、なんてエラーが出たの?
592デフォルトの名無しさん:05/02/09 16:20:20
LayoutKind.Sequentialに指定したStructLayoutAttribute属性を構造体につけて、
UnmanagedType.ByValArrayとSizeConstを指定したMarshalAsAttribute属性を配列メンバに。

というのをコードで書くと、
<System.Runtime.InteropServices.StructLayout(System.Runtime.InteropServices.LayoutKind.Sequential)> _
Public Structure T
   <System.Runtime.InteropServices.MarshalAs(System.Runtime.InteropServices.UnmanagedType.ByValArray, SizeConst:=4)> _
   Public v As Short()
End Structure
593582:05/02/09 16:22:23
>>591
「この操作を完了するのに十分な記憶域がありません」
594582:05/02/09 16:53:27
<StructLayout(LayoutKind.Sequential)> Public Structure T3
<MarshalAs(UnmanagedType.ByValArray, SizeConst:=8)> Dim v() As Short
End Structure

やっとできました…

>>592
心底感謝。
595582:05/02/09 17:07:08
SizeConst:=8 ではなく
SizeConst:=4 でした。
SizeConstは要素数ってことですね
596デフォルトの名無しさん:05/02/09 17:11:30
ADO.netのCommandBuilderで生成したSQLって、単一テーブルで
しか使えないんだね。(´・ω・`)

ttp://www.microsoft.com/japan/msdn/library/default.asp?url=/japan/msdn/library/ja/cpguide/html/cpconautomaticallygeneratedcommands.asp

複数のテーブルから必要な列をひっぱってきたのを、DataSetに読み
込んでいろいろと編集したあと、それぞれの参照先テーブルに書き戻
すには、なんかテーブルごとにパラメータ設定しないといかんとか。

ttp://www.microsoft.com/japan/msdn/library/default.asp?url=/japan/msdn/library/ja/cpguide/html/cpconupdatingdatabasewithdataadapterdataset.asp


面倒だからOleDbCommand.ExecuteNonQueryメソッドで直に書き
戻してるけど、これじゃなんのためにDataSetを使ってるのやら。
みんなはきちんとDataAdapter.Updateメソッドでやってるの?
597デフォルトの名無しさん:05/02/09 17:34:53
ADO.NETってADO2.7のラッパーだから
ADO2.7に出来ないことはADO.NETにも出来ないってのを聞いたことがある

2.7のときにあった「SQLコマンドからパラメータ生成する」が出来なくなったのは痛い

Updateメソッドって結局
1レコードごとにUPDATE文発行してるだけだから
やってることは大して変わらないのよね
598デフォルトの名無しさん:05/02/09 18:08:46
バカ。
599デフォルトの名無しさん:05/02/09 18:53:16
VB.netで円の描画関数を使っているんですが、
円が細くなったときが汚いのでいい方法はないでしょうか?
600デフォルトの名無しさん:05/02/09 19:21:35
>>599
GraphicsインスタンスのSmoothingModeプロパティ
601599:05/02/09 19:49:37
>>600
汚いというのが、FillEllipseを使って円を描画すると円が細いときも違和感がないのですが、
DrawEllipseを使って円をペンサイズを大きくして描いて細くすると両端が極端にとがるんです。
それってどうしようもないんでしょうか?
602デフォルトの名無しさん:05/02/09 19:54:13
>>601
円弧だな? ブラシを自分で定義するとか?
603デフォルトの名無しさん:05/02/09 19:56:07
円が細いって言い回しを聞いたのは初めてだ。。
極端にとがる、って、そりゃ極端にとがった楕円を指定してるんでしょ。
604デフォルトの名無しさん:05/02/09 19:58:20
PenインスタンスのLineJoinプロパティ
605599:05/02/09 20:09:00
楕円なので両端には丸みがほしいんです。
こんな感じで端が変わるんですけど。
http://ranobe.sakuratan.com/up/updata/up23444.jpg
606デフォルトの名無しさん:05/02/09 20:18:41
どういう結果が欲しいのか良くわからん。
ペンの太さより扁平してる楕円を書けってどだい無理でしょ?

外接する長方形の高さがペンの直径以下だったら楕円じゃなくて
直線を描画したら?
607デフォルトの名無しさん:05/02/09 20:22:50
608デフォルトの名無しさん:05/02/09 20:33:25
(ノ∀`)タハー
609599:05/02/09 20:35:54
やっぱり無理ですかねぇ。

まぁ、いろいろ試してみます。
ありがとうございました。
610デフォルトの名無しさん:05/02/09 20:43:55
>>607
( ´、_ゝ`) ブ!!
611デフォルトの名無しさん:05/02/09 20:49:39
>>581
自演ご苦労様。自分が口先だけじゃないなんて私が言いましたか?
あなたが勝手に脳内で作り上げた事実に対してキレられても
どうにもできないのですが。
612デフォルトの名無しさん:05/02/09 20:53:30
ここんとこ書き込まれていたウザい発言は、例の厨房だったわけだな。
613デフォルトの名無しさん:05/02/09 20:55:54
>>611
もう、どちらか放置しようぜ。
相手にした方が負けだってば。

>>612
しかも、女のフリしてるわけだ。
最悪だよな。粘着電波厨房逝って良し!!
614デフォルトの名無しさん:05/02/09 21:08:28
女のフリ?
615デフォルトの名無しさん:05/02/09 21:08:58
>>613
分かりにくいのでちゃんと敗北宣言をしてください。
616デフォルトの名無しさん:05/02/09 21:10:33
なにもできやしないんだから、みんなほっとけって。
以後、大人のスルーでよろしく。
617デフォルトの名無しさん:05/02/09 21:13:01
>>616
子供だから相手をする能力がないということです。
あなたは大人などではありません。
618デフォルトの名無しさん:05/02/09 21:19:12
>>615
おまいは、バカ丸出しですね。
619デフォルトの名無しさん:05/02/09 21:22:13
> 分かりにくいのでちゃんと敗北宣言をしてください。
> 分かりにくいのでちゃんと敗北宣言をしてください。
> 分かりにくいのでちゃんと敗北宣言をしてください。
> 分かりにくいのでちゃんと敗北宣言をしてください。
> 分かりにくいのでちゃんと敗北宣言をしてください。
620デフォルトの名無しさん:05/02/09 21:27:26
自分がテストで敗北したのを人のせいにしたいんだろ。(w
621デフォルトの名無しさん:05/02/09 21:35:30
必死ですね (プ
622デフォルトの名無しさん:05/02/09 21:41:18
>>621>>620に対するコメント?
623デフォルトの名無しさん:05/02/09 21:42:16
>>613
女のフリってのは何だったんだ?
624デフォルトの名無しさん:05/02/09 21:42:50
>>620
うわー、敗北宣言もできないんだ。
悲惨なほど脳が少ない方なんですね。
同情しますよ、本気で。
625デフォルトの名無しさん:05/02/09 21:42:53
分かりにくいので、ちゃんと「かおり」って名乗ってください。(w
626デフォルトの名無しさん:05/02/09 21:58:15
>>607
>>一応、作ってみたのですがもっといい方法があるなら教えてください。
おいおい。書いたのは俺だぞ(汗)

>>611
おまえさん、矛盾しすぎ。
ダブルスタンダードってやつなんだろうな。
627デフォルトの名無しさん:05/02/09 22:00:41
>>626
どれとどれが矛盾しているのか指摘してみてください。
当然できますよね。
628627:05/02/09 22:01:40
しかしここの住人はいつになったらスルーを覚えることやら。
以前から練習の機会を与えてやってるのだが全然
覚えないねぇ。
629デフォルトの名無しさん:05/02/09 22:04:45
あ、ここの住人って言い方は失礼か。
いつも特定の一人なんだろうから。
630デフォルトの名無しさん:05/02/09 22:05:12
ひとに書いてもらったコードを、あたかも自分が書いたかのように
よそで披露する慎ましやかな性格のかおりちゃんに萌え。ヽ( ´∀`)ノ
631デフォルトの名無しさん:05/02/09 22:06:43
>>630
誰に壱店の?
632デフォルトの名無しさん:05/02/09 22:17:39
可哀想な627は以後スルーの方向で。
なにを言っても無駄でしょう。
以後彼を示す形容は「かおり」で
633デフォルトの名無しさん:05/02/09 22:38:53
>>632
はい。そういう書き込みをする時点であなたはダメです。
「かおり」が何のことだか知りませんが、見当違いも甚だしいですね。
>>627はさらっと流してるし。オツムついてますか?
634デフォルトの名無しさん:05/02/09 22:42:13
まあ、ある意味かおりも気の毒だな。
テストは落とすし掲示板で晒されるし。
厨房ならいきり立って書きなぐるところを、ぐっと堪えて丁寧な
口調を維持してるのは、まあえらいんでないの。
635デフォルトの名無しさん:05/02/09 23:11:42
-人-
636デフォルトの名無しさん:05/02/10 00:54:20
初歩的な質問でスマソ
VS,NETはSSE命令をサポートしてるのか?
教えてエロい人
637デフォルトの名無しさん:05/02/10 01:39:00
シテイマセヌ
638デフォルトの名無しさん:05/02/10 01:44:22
>>636
intelのコンパイラー買うか、ハンドアッセンブルするかです。
MASMでマクロ定義して作っても、あんまり変わんない。
639デフォルトの名無しさん:05/02/10 03:08:37
CLRのJITがSSEのコードを生成してるって可能性は無いのでしょうか?
GDI+は奥の方でネイティブのコード呼んでるからその辺では使ってそうですけどね。
>>636 VB.NETスレだがらあれだけど「VS,NETは」ってことならネイティブのvc++で
cl /arch:sseとかxmmintrin.hとかインラインアセンブラなどいろいろサポートしてますよ。
640デフォルトの名無しさん:05/02/10 07:12:28
>>634
はい、またしても反応してる時点であなたはダメです。
学習能力ゼロなんですねぇ。本当にあわれだ。
他の人たちもあわれだと思ってくれてるはずですよ。
気を落とさないでくださいね。
641デフォルトの名無しさん:05/02/10 08:14:54
>>639
>  CLRのJITがSSEのコードを生成してるって可能性は無いのでしょうか?

現状、そこまでインテリなJITコンパイラではない。
将来的にはできるだろうけど。

>  GDI+は奥の方でネイティブのコード呼んでるからその辺では使ってそうですけどね。

や、そんな事言い出したら.NET Frameworkクラスライブラリは大抵突き詰めればWin32APIを呼んでるわけで。
余談だが、GDI+は全部CPUで演算してるから遅いんだという話を聞いた事がある。
642535:05/02/10 08:21:07
539様
遅くなって申し訳ありません。
通貨表示だけ変えたかったのです。
Winの設定で変えられるのは判ってたんですが
パソコン自体じゃなくて.netの設定で
変更できないものかと思って質問させていただきました。
おかげで出来ました。
ありがとうございました。
643デフォルトの名無しさん:05/02/10 09:24:39
正規表現についての質問です。
ある文字列内からダブルコーテーションで囲まれた文字を探したいのですが、
前後のコーテーションまで取り出されてしまいます。

現在は、Regex(""".*""")とやって取り出した文字列の前後のコーテーションを
取り除いて対応していますが、1発で取り出すのはどのような記述になるのでしょうか?
644デフォルトの名無しさん:05/02/10 09:30:05
Dim reg As New Regex("""(.*?)""")
Dim m As Match = reg.Match("as""asdf""fe")
Console.WriteLine(m.Groups(1).Value)
645デフォルトの名無しさん:05/02/10 09:36:17
すみません。アプリケーションのアイコンは
どうやって変更すればよいでしょうか?
646デフォルトの名無しさん:05/02/10 09:39:19
エクスプローラのアイコン表示ならプロジェクトのプロパティの、ビルドの項目のアプリケーションアイコン。
フォーム左上のアイコンなら当該フォームのIconプロパティ。
647デフォルトの名無しさん:05/02/10 09:43:30
>>646
トンクス
できました。
648デフォルトの名無しさん:05/02/10 10:50:10
> 女のフリってのは何だったんだ?
口調かわってるやん。
ちゃんと、>>607 のリンク先を全部 (4つ) 見てみ。
649デフォルトの名無しさん:05/02/10 11:14:48
System.Net.SocketsのTcpListenerクラスについて質問です

AcceptTcpClientを使ってしまうとそこで処理が止まってしまうので困っています。

Threadクラスを使って別スレッドにしてAbortすればいいかなと思ったんですが、
Abortを呼び出しても終わってくれません。

どなたかAcceptTcpClientを用いて接続要求待ちのスレッドの
適切な落とし方を知っている方いらっしゃいませんか?
650デフォルトの名無しさん:05/02/10 11:20:04
Suspend じゃいかんのか?
651デフォルトの名無しさん:05/02/10 11:31:17
別スレッドからStopしてやればいい。
当然SocketExcpetionが投げられるので捕まえて妥当な処理をする。
652デフォルトの名無しさん:05/02/10 13:01:34
どんな質問でもいいのかわかりませんが、

フォームをVB6.0のようにSDIで画面全体に表示させたいのですが、
>>2-6を調べても、載っていません。(探し方が悪い可能性もありますが。)
.NETの統合環境では、フォームの全体を表示させてコントロールを
貼り付けていくことは出来ないのでしょうか?
653デフォルトの名無しさん:05/02/10 13:21:02
>>652
SDI の定義を勉強してこい。
654デフォルトの名無しさん:05/02/10 13:52:26
>>653
VB6.0でオプション>詳細設定>SDI開発環境にチェックを
入れたような環境で.NETを使うことは出来ませんか?

655デフォルトの名無しさん:05/02/10 14:02:22
>>652
タブ表示かMDI表示の選択はできるけど、VB6までのようなSDI環境モードはなくなりました。
画面いっぱい使ったダイアログベースのアプリはもう作るなっておたっしなのかも。
656デフォルトの名無しさん:05/02/10 14:08:12
>>655
そうですか、どうもありがとうございました。
全体の構成・バランスを見ながら、コントロールの配置が
出来ないのは不便ですが、我慢するしかないのですね。
657デフォルトの名無しさん:05/02/10 14:35:36
配列を宣言し、値を入れた後に、配列の指定したindex番号を削除してデータを詰めるにはどうすればよいでしょうか?

Dim a As int16() = {0,1,2,3,4,5}
で、5番目の配列に格納されているa(2)を削除し、
a(0) = 0
a(1) = 1
a(2) = 3
a(3) = 4
a(4) = 5
という感じにしたいのですが。

for i = 2 to 4
 a(i) = a(i+1)
next
redim a(4)

というやり方は、どうも違うような気がするので、、、。
どうかよろしくお願いします。
658デフォルトの名無しさん:05/02/10 14:40:59
redim Preserve でいいのでわ?
659デフォルトの名無しさん:05/02/10 14:46:34
初心者くんは ArrayList 使った方が安全だったりもするなぁ
660デフォルトの名無しさん:05/02/10 14:47:53
>>657
System.Collections.ArrayListなどのコレクションを使う。
661デフォルトの名無しさん:05/02/10 15:02:43
CollectionやArrayListを使う事も考えたのですが、、、
コントロールや構造体で657のような事をしたいと考えた時、どのようにコードを書けばいいのかわからなくて。
662デフォルトの名無しさん:05/02/10 15:09:13
いや、redimで良いよ、内部では結局コレクションだし。
redim preservとすれば基の配列の値が保存されるよ
663デフォルトの名無しさん:05/02/10 17:25:35
バカは応用力ないんですね。(プ
664デフォルトの名無しさん:05/02/10 17:44:18
>>662
上のままで良いってことでしょうか?

>>663
そうなんですよ。
手順書やフローチャートを書いたりしてるんですけど、ぜんぜん応用力が身につかなくて。
すいませんが、正しいやり方を教えてください。
構造体でコントロールを宣言して、それを配列宣言した奴を657で説明した感じで削除する方法をお願いします。
665デフォルトの名無しさん:05/02/10 17:47:08
>>664
redim a(4) -> ReDim Presrve a(4)
666デフォルトの名無しさん:05/02/10 18:22:29
>>665
RedimとReDim Presrveは分かっています。
RemoveAtのように、指定したインデックスにある要素を削除し、削除してデータを詰める方法です。
for i = 2 to 4
 a(i) = a(i+1)
next
というやり方以外の方法という意味です。
dim b(4)
j=0
for i=0 to 4
if i<>2 then
b(j)=a(i)
j+=1
end if
next
a=b

じゃダメ?
668デフォルトの名無しさん:05/02/10 18:51:52
>>666
それでいいよ それ以外無いよ
669デフォルトの名無しさん:05/02/10 19:45:12
>>657
おいおい、話がずれてるぞ。
だいたいこれどういう意味
> Dim a As int16() = {0,1,2,3,4,5}
>で、5番目の配列に格納されているa(2)を削除し、
a(2)は3番目だろ。
答える方もおかしいだろ
> redim a(4) -> ReDim Presrve a(4)
これじゃ何も変わらんだろ。(*_*)
配列を一つ減らしたいんだから、
ReDim Presrve a(3)
でしょ。
670デフォルトの名無しさん:05/02/10 19:49:27
>>650-651
別スレッドからStopで止まりました。ありがとうございます。
Stopを勘違いして使っていました(OpenとCloseの関係のような感じ・・・)
671デフォルトの名無しさん:05/02/10 19:53:42
>>669
>で、5番目の配列に格納されているa(2)を削除し、
すいません。これは
「で、3番目の配列に格納されているa(2)を削除し、」
です。申し訳ないです。
672669:05/02/10 19:56:54
>>671
それで最後の配列を減らす方法は
ReDim Presrve a(3)
です、これで4番目までの配列の中身を変えずに
5番目の配列を消しています。
673デフォルトの名無しさん:05/02/10 20:38:00
>>669
>>配列を一つ減らしたいんだから、
>>ReDim Presrve a(3)
その解答もおかしくないか?それだと、2つ減ってるよーにみえる。
674672:05/02/10 21:09:55
>2つ減ってるよーにみえる。
ほんとだ!!2つ減らした、「5番目」に惑わされた。
スマン。orz
675デフォルトの名無しさん:05/02/10 21:40:02
ていうか>>660がせっかくArrayList使えって教えてくれてるのにアホかもう。
そんなPC-8001とかMZ-80の頃のBASICのプログラムみたいな
泥臭いコードかいてどうすんの。。

あえて配列に固執するとしても、せめてCopyメソッド使ってくれよ。
676667:05/02/10 22:03:02
カンペキにスルーですか。そうですか。
677デフォルトの名無しさん:05/02/10 22:08:59
>>676
バカは相手にしてもらえないってこと。
678デフォルトの名無しさん:05/02/10 22:09:39
結局>>634一人が池沼だったんだなぁ・・・と、しみじみ。
679デフォルトの名無しさん:05/02/10 22:26:28
>>675
そおじゃなくて、まず配列の大きさを、中身を変えずに
行う方法が違っているので、直さないといけないのでは。
その後でArrayListっていう方法もありますよ、ってのが
順番では。
680デフォルトの名無しさん:05/02/10 22:28:06
>>678
うぜえ、いいかげんに白
681デフォルトの名無しさん:05/02/10 22:32:42
>>675
>>661
ってことでしょ?

>>676
サンプルより長いコード書いてりゃなぁ・・・。


ところで上便質問で悪いんだが

ReDim Presrve a(4)

上のコードの前に
a.Clear(a, 5, 1)
って付け加えると、何かいいことあんの?
682デフォルトの名無しさん:05/02/10 22:36:28
>>681
>>661がArrayListを避ける理由になると思ってるのか……
こんな人ばっかだからVBやってるとVB厨なんて馬鹿にされるんだよな。。
683デフォルトの名無しさん:05/02/10 22:39:29
>>681
>  a.Clear(a, 5, 1)
>  ReDim Presrve a(4)

Clearの意味は無いな。
それはそれとして静的メソッドをインスタンス.メソッドと書くのは是非ともやめていただきたい。
Array.Clear(a, 5, 1)
と書けと。
684デフォルトの名無しさん:05/02/10 22:43:05
>>683
thx
やっぱり意味ないのね。
685デフォルトの名無しさん:05/02/10 22:43:21
>>683
本質的でない、どうでもいい些細なことに固執する人はたいていたいしたことない。
そんなの単に好き嫌いの問題でしょ。
686デフォルトの名無しさん:05/02/10 22:49:53
>>680
お前ってなんでスルーできないわけ?説明してみ?
ハタから見ててお前はマジうざい。
687デフォルトの名無しさん:05/02/10 22:50:49
>>682
すまん。おれ、構造体を配列で宣言するなんてこたぁ、やった事がないのでわからん。
是非とも正しいやり方を教えてくれ。
688デフォルトの名無しさん:05/02/10 22:54:48
>>687
なんか話が噛み合わない人だな。
配列じゃなくてArrayList使えっていってるのに、

>すまん。おれ、構造体を配列で宣言するなんてこたぁ、やった事がないのでわからん。
>是非とも正しいやり方を教えてくれ。

全然意味がわかりません。
689デフォルトの名無しさん:05/02/10 23:15:37
>>688
下のようなのを、ArrayListを使うとどういうコードを書けばいいんだって事、、、なんだと思うんだが。

Structure a
 Dim b As PictureBox
End Structure

Private c(5) As a
690687:05/02/10 23:45:56
>>688
>>689のような事だったんだが、ヘルプ見て一発で自己解決した。使う事があるか微妙だが、参考にはなったよ。
691デフォルトの名無しさん:05/02/11 00:03:12
だからどうして「>>689のような」話が唐突に出てくるの?
意味わからん。

最近こういう話の文脈の理解できない人が多いよな。
統合失調って病気の軽症のやつかな?
692デフォルトの名無しさん:05/02/11 00:27:49
>>691
理解できてないのはお前さんだけのようだが。
693デフォルトの名無しさん:05/02/11 08:28:41
    〃〃∩  _, ,_
     ⊂⌒( `Д´) < ArrayList使ってくれなくちゃヤダヤダ
       `ヽ_つ ⊂ノ
              ジタバタ
694デフォルトの名無しさん:05/02/11 09:31:26
>>691
他の奴は冷たいけどオレはちゃんと相談に乗るよ。
仕切りなおしてオレだけ宛てにもう1回質問内容書いて。
他の奴は一切答えないように。
695デフォルトの名無しさん:05/02/11 09:43:48
サービスとして動くアプリケーションって、普通に作って
後でサービスに登録すればそれでいいんでしょうか。
696デフォルトの名無しさん:05/02/11 09:54:16
697デフォルトの名無しさん:05/02/11 10:05:54
>>696
どうもです。
698デフォルトの名無しさん:05/02/11 15:26:35
ちょっと難しい問題にぶちあたりました。
テキストボックスがあるとして
そこにabcdefg
と入力されているとして
abcとdefgの間にカーソルがあるとして
そこでdelキーを押したらdefgが消えないといけないらしいのです。
どうやって実現しましょうか?
699デフォルトの名無しさん:05/02/11 15:40:54
SelectionStart、SelectionLength、TextLength
700デフォルトの名無しさん:05/02/11 16:15:57
肝心のSelectedTextを忘れてるぜ。
701デフォルトの名無しさん:05/02/11 17:04:37
どう組み合わせればいいんですか?
IQ75のオレにもわかるように教えて
702デフォルトの名無しさん:05/02/11 17:14:11
プロパチにあるから、EditBox.xxxx のxxxxに上記を代入
703デフォルトの名無しさん:05/02/12 18:16:12
vb.net2003を勉強中のプログラマ1年生です。
Aというプロジェクトの中にBというクラスがあるとして
B内よりAのプロジェクト名を取得するにはどういった参照記述をすればよいのでしょう?
EnvDTE.Projectなどそれらしいものを調べているんですがどうも求めているものと違うような・・
(これに関する記事はプロジェクトコレクションの列挙、というかサンプルが動かせません…)
調べきれないだけで Me.Name
のように簡単に参照できる方法があるのでしょうか?
704デフォルトの名無しさん:05/02/12 18:24:41
GetType(B).Assembly.GetName().Name
ってとこかな。
厳密にはプロジェクト名なんて開発環境の管理の便宜上のものではなく、アセンブリ名なんだが。
705デフォルトの名無しさん:05/02/12 20:17:01
>>704さん
できました!!ありがとうございます!!!
この方法で取得しているのはプロジェクトのルート名前空間ではなくてアセンブリ名ということでしょうか。

706デフォルトの名無しさん:05/02/14 08:33:39
フォームのkeypreviewをtrueにして
onkeydownイベントを処理しています。
onkeydownイベントでkeys.downを拾っているのですが
このとき処理した後、このキーが押されたことをキャンセルしたいのですが
うまくいきません。
e.keycode = 0
でできるかと思ったのですがだめでした。
ほかにどのような方法がありますか?
707デフォルトの名無しさん:05/02/14 09:44:56
e.KeyHandled
708デフォルトの名無しさん:05/02/14 09:52:32
あ、e.Handledの間違いだった。
709デフォルトの名無しさん:05/02/14 09:53:38
>>707
サンクス。マジで感謝
710デフォルトの名無しさん:05/02/14 10:47:29
dim str as string
str = "あ"
if str = 全角? then
msgbox "OK"
end if

のようにある文字が全角かどうか判定する方法は
ありますでしょうか?
711デフォルトの名無しさん:05/02/14 12:56:29
>>710
文字コードを勉強しましょう。
712デフォルトの名無しさん:05/02/14 13:39:48
>>711
ShiftJISに変換してから上位バイトを見ろということですか?
713デフォルトの名無しさん:05/02/14 13:48:05
できました。とんくす。
714デフォルトの名無しさん:05/02/14 22:17:42
はじめまして。
VB.netでPostgreSQLと接続して、データのやりとりをしたいのですが
どうすればいいのでしょうか?接続段階から詰まってしまってよく分かりません。
参考サイト、プログラム等あれば教えてください。
ヨロシクお願いします。
715デフォルトの名無しさん:05/02/14 22:39:40
はじめて質問させていただきます。
現在CのソースをVB.NETへ移植しているのですが、以下のコードをVBではどう表現したら良いか悩んでおります。

typedef unsigned long ORG_UINT32

これはunsigned long型を、ORG_UINT32と別名定義し使用するためのコードなのですが、このような型の定義をVBで行う場合どのようにすれば良いのでしょうか。

お知恵を拝借いただければと思います。
宜しくお願いしますm(_ _)m
716デフォルトの名無しさん:05/02/14 22:49:35
別名定義は無理。
既存の各種基本型を使う事。
32ビット符号無し正数ならVB.NETではUInt32だな。
717デフォルトの名無しさん:05/02/14 22:51:54
はっきりいって馬鹿質問。
機械的にCのソースをVB.NETに「逐語訳」できるとでも思っているのか。
黙ってCとVB.NETの入門書から勉強しろとしかいいようがない。
718715:05/02/14 22:56:30
>>716
ご回答いただきありがとうございます。
別名定義が無理なのであれば、UInt32を使っていくほかありませんね。
どうもありがとうございましたm(_ _)m
719デフォルトの名無しさん:05/02/14 23:22:06
質問です。
ウインドウの外枠(タイトルバー含む)を除いた中身の部分を
希望のサイズに指定するにはどうすればよいのでしょうか?
と言うのも、デザイナからFormのサイズで指定すると、外枠も含んでしまい
環境によってタイトルバーのサイズが違うから困ってるのです。
720デフォルトの名無しさん:05/02/14 23:23:19
ClientSize
721デフォルトの名無しさん:05/02/14 23:31:42
ありがとうゴザイマシタ。
722715:05/02/14 23:38:51
>>717
機械的に移植出来るなんてハナから思っていませんよ(;´д`)

現在移植中の物についてはVB.NETに移植するにあたり、ほぼ作り直しになってます。
そのうえで、なるべく既存のものを流用したいという気持ちがありました。

型の名称を別名定義する事により、その型の変数の意味合いなんかがハッキリしてきますし、なるべく移植したかったわけです。
また、別名定義について独自で調査はいたのですが、解らずじまいで質問させていただきました。

と少し言い訳をしてみる…(;´_ゝ`)
723デフォルトの名無しさん:05/02/14 23:59:33
714なのですが、どなたか助けてください。
お願いします。(必死)
724デフォルトの名無しさん:05/02/15 00:10:15
>>723
ぐぐったらいくつか見つかるんだが、その必死さを向ける矛先を
間違ってないか?

ttp://www.vector.co.jp/soft/winnt/prog/se316570.html
ttp://www.interwiz.koganei.tokyo.jp/software/PsqlODBC/index.html
725デフォルトの名無しさん:05/02/15 00:28:20
ある変数を ボン! ってそのままファイルにしたいのですが、
その変数はバイナリかもしれないし、テキストかもしれません。
また、その逆で、ファイルを ボン! ってそのまま文字列型変数に
入れることもしたいのですが、どうすればよいのでしょうか?

開く方は、あらかじめ文字列型変数に空白を10000個ぐらい入れて
バイナリで開いてFileGet()でぶち込むという方法でなんとかなりました。
保存がどうもうまくいきません。
726デフォルトの名無しさん:05/02/15 00:34:45
なんとなくワロタ
727デフォルトの名無しさん:05/02/15 00:41:45
ボン!ってケンシロウかw
どうでもいいけどテンプレにある有名どころぐらい一通り目を通せばいいのに。
http://dobon.net/vb/dotnet/file/binaryformatter.html
728デフォルトの名無しさん:05/02/15 01:03:40
うおー。そのサイトすごいですね。
むずかしーけど頑張りマス。
729デフォルトの名無しさん:05/02/15 01:14:07
プログラムランチャみたく実行している間(アクティブかどうかは問わず)にあるキーが押されたかどうか検出するにはどのようにしたらいいんでしょうか
730デフォルトの名無しさん:05/02/15 01:19:32
731デフォルトの名無しさん:05/02/15 10:07:20
全角と半角の入り混じった文字列を受け取り
半角にできるところは半角にして返すような
便利な関数はありませんでしょうか?
732デフォルトの名無しさん:05/02/15 10:12:20
StrConv...こんなのそんなに使うもんなのかね。
733デフォルトの名無しさん:05/02/15 10:18:02
>>732
たんくす。
さすが.net、すごいですね。
APIでやろうとしてました。
734デフォルトの名無しさん:05/02/15 10:27:13
こんなのVBのレガシ関数だし。
結局内部でAPI呼んでるだけだし。
735デフォルトの名無しさん:05/02/15 11:57:48
VB6.0にあったSendKeysはVB.NETにはありますでしょうか?
736デフォルトの名無しさん:05/02/15 12:30:48
うーん。Keys.RControlKeyで右のコントロールキーが
拾えないのですがなぜでしょうか?
他のKeys.EnterやKeys.Deleteは拾えてます。
737デフォルトの名無しさん:05/02/15 14:20:38
RControlKeyが拾えてしまったらControlKeyが拾えなくなるから。
Win32APIのGetKeyState/GetKeyboardStateを使うべし。
738デフォルトの名無しさん:05/02/15 14:46:25
>>737
さんくす。やってみます。
739デフォルトの名無しさん:05/02/15 15:11:25
すごくださいけどできました。
case 131089
if getkeystate(163) < 0 then
msgbox("ヽ(´ー`)ノ")
end if
740デフォルトの名無しさん:05/02/15 15:48:46
マジックナンバーはだせーな。
741デフォルトの名無しさん:05/02/15 16:05:29
それより困りました。

case 131089
if getkeystate(163) < 0 then
 System.Windows.Forms.SendKeys.SendWait("+({TAB})")
end if

とやっているのですが、なぜか最初の一回がShift+Tabが送られません。
どうしたものでしょう?
keybd_eventに置き換えたほうがよいでしょうか?
742デフォルトの名無しさん:05/02/15 16:34:28
keybd_eventにしたらできました。
うーん。微妙
743デフォルトの名無しさん:05/02/15 18:35:09
http://support.microsoft.com/default.aspx?scid=kb;ja;832679
ここのソースって使っていいですか?
744デフォルトの名無しさん:05/02/15 19:56:55
>>741
そもそも、何故Tabを送信してるんだ?
フォーカス遷移したいのか?

http://jeanne.wankuma.com/tips/form/27-cobolerform.html
745デフォルトの名無しさん:05/02/15 20:59:55
そういうことはVBSで十分だろ
746714:05/02/15 23:56:18
>>724
有難うございました。教えてもらったサイトを見ながら何とかかんとか
SQLを実行できるようになりました。
なりました・・・が、ODBCドライバーでPostgreSQLに接続して
Select文を使って抽出したデータをデータグリッドの中に入れて
表示したいのですが、やり方が分かりません。

rs = cn.Execute("select * from testtable")

これでrsの中にはデータが来てることは来てるのですが、
どうやってデータグリッドに入れて表示するのでしょうか?
PHPやサーブレットならHTMLの組み合わせですぐできるんですが
VBはいかんせん勝手が違うように感じるためうまくいきませんです。
どうかご指導よろしくお願いします。
747デフォルトの名無しさん:05/02/16 00:56:22
ひょっとするとcnはADODB.Recordset型か?
748714:05/02/16 01:04:55
>>747
その通りです。
749デフォルトの名無しさん:05/02/16 08:38:45
VB.NETでシングルトンパターンのクラスを作成したいのですが
簡単な例を教えてください。
750デフォルトの名無しさん:05/02/16 08:40:35
それくらいGoogleに聞きなさい。
751デフォルトの名無しさん:05/02/16 08:42:30
聞いてみたらわかりました。とんくす。
752デフォルトの名無しさん:05/02/16 08:43:28
これでいいですか?
Imports Oracle.DataAccess.Client

Public Class clsOracle

'コネクションオブジェクト
Private Shared con As OracleConnection

'コネクションを取得する
Public Shared Function getOracleConnection() As OracleConnection

If IsNothing(con) Then

con = New OracleConnection()
con.ConnectionString = "User ID=scott;Password=tiger;Data Source=V920"
con.Open()

End If

Return con

End Function

End Class
753デフォルトの名無しさん:05/02/16 08:55:23
VB.NETにsprintfのような関数はありますか?
754デフォルトの名無しさん:05/02/16 09:00:31
String.Format
755デフォルトの名無しさん:05/02/16 09:02:09
>>754 とんくす
756デフォルトの名無しさん:05/02/16 09:44:57
javaにはtry catch構文でthrowがあったと思うのですが
VB.NETにはありませんか?
757デフォルトの名無しさん:05/02/16 09:52:57
TryもCatchもThrowもあるけどそれがなにか?
758デフォルトの名無しさん:05/02/16 10:34:22
Perlには、Foreach や nextがありましたが、
VB.NETにはそれに該当するのはありませんか?
あるのであれば、どれか教えてください。
759デフォルトの名無しさん:05/02/16 10:43:13
VB6時代のあるモジュールで宣言されていた
APIを.netでも使いたいと思います。

調べたところ
as any型の引数をとる場合
同名のAPI宣言を2つし、
as anyの部分を それぞれ as long と as string
にしろとなっています。

しかし宣言部に as any 型が二つ含まれている場合
4つ宣言しなければならない?

VB6.0 :
Declare Sub foo Lib "ex.DLL" (ByRef A As Any, ByRef B As Any)
VB.net
Declare Sub foo Lib "ex.DLL" (ByRef A As Long, ByRef B As Long)
Declare Sub foo Lib "ex.DLL" (ByRef A As Long, ByRef B As String)
Declare Sub foo Lib "ex.DLL" (ByRef A As String, ByRef B As Long)
Declare Sub foo Lib "ex.DLL" (ByRef A As String, ByRef B As String)
760デフォルトの名無しさん:05/02/16 10:49:16
761デフォルトの名無しさん:05/02/16 10:52:38
Dim i As Integer
For i = 0 To Me.Controls.Count - 1
If Me.Controls(i).Name.Substring(0, 3) = "txt" Then
Me.Controls(i).Text = ""
Me.Controls(i).BackColor = SystemColors.Window
End If
Next

というような処理をしているのですが、
全体的にダサいのですが、特に
If Me.Controls(i).Name.Substring(0, 3) = "txt" Then
がダサいです。
コントロールの型を取得して比較するよい方法はないでしょうか?
762デフォルトの名無しさん:05/02/16 11:01:01
>>761
Is 演算子か、GetType を使いましょう。
リフレクションが絡むのでお勧めしません。
763デフォルトの名無しさん:05/02/16 11:06:31
>>759
別にAs AnyをAs LongとAs Stringの二つにしなきゃいけない理由はない。
//As Longってほんとか? LongはInt64、つまり64ビット整数だぞ?
//ポインタを指してるんだろうからIntPtrで宣言すべき所だと思う。

実際に関数を使用する時にどう使うかが問題だ。
引数にStringしか使わないのならAs Stringだけでいい。
ポインタも文字列も引数になるというのなら両方書いた方が楽だが。
764デフォルトの名無しさん:05/02/16 11:15:13
>>762
If Me.Controls(i).Name.Substring(0, 3) = "txt" Then
これでもいいということでしょうか?

試しに
If Me.Controls(i).GetType = System.Windows.Forms.TextBox Then
とやってみましたが、コンパイルできませんでした。
うーん。

765759:05/02/16 11:19:39
766デフォルトの名無しさん:05/02/16 11:30:00
>>764
TypeOf...Is
767デフォルトの名無しさん:05/02/16 11:34:52
>>766
キターーーーーーーーーーーーーーーーーー
768デフォルトの名無しさん:05/02/16 11:46:40
Formから別のThreadを作って、その2つのThread間で情報をやり取りする手段は無いでしょうか?
詳しくは以下のようなことで困っています


***困っていること***

TCP/IPで受信した結果を基にTabControlにTabPageを追加するプログラムを作成しています

FormからThreadを作ってそこに受信部分を作ったのですが、
TabControlにTabPageを追加しようとするとフリーズします。

調べてみると、「別スレッドのコントロールに新たにコントロールを追加できない」ということがわかりました。
769デフォルトの名無しさん:05/02/16 11:55:55
>>768
(1)「コントロールを操作するメソッド」を作る
(2)そのメソッドの引数に一致するDelegateを宣言する
(3)UIスレッドとは違うスレッドからコントロールを操作する時は、FormのInvokeメソッドまたはBeginInvokeメソッドを使う

と言う流れ。
770デフォルトの名無しさん:05/02/16 11:58:42
VB6.0ではプロジェクト内のすべてのファイルから文字列が検索できましたが
VB.NETではどうやって検索すればいいでしょうか?
ファイル単位で検索は非常に面倒です。
771デフォルトの名無しさん:05/02/16 12:01:09
>>760
どうもです。Foreachに関してはわかったのですが、nextに関しては載ってないような、、、
ここで言うnextはループ制御の事です。
残りのコードをスキップして判断文に制御をするやり方なのですが(lastで言う所のexit for)
772デフォルトの名無しさん:05/02/16 12:18:30
>>769
ありがとうございます!
ちょっと知らない単語が出てきたので調べながら進めてみます。ありがとうございました。
773デフォルトの名無しさん:05/02/16 12:21:35
>>771
C言語系で言うcontinueかね。
ContinueキーワードはVB.NET2005からの追加なので、それまでは
ループ終了部直前にラベルを作ってそこにGoToする、
Continueを使わないコーディングを行う、
該当部分をヘルパメソッド化する、
辺りで対処する。
774デフォルトの名無しさん:05/02/16 12:27:57
s/VB.NET2005/VB2005

だね。

「.NET」という単語は死滅。
775デフォルトの名無しさん:05/02/16 12:39:28
>>774
そういやそうだった。
しかしVB6までと違う言語という意味で.NET付きなのも意義があったと思うんだけどな。

WinFXを見越してVBFXとか……訳わからんか。先取りしすぎてるし。
776デフォルトの名無しさん:05/02/16 12:43:35
>>724ですが、なんとか助けて頂けないでしょうか。
よろしくお願いします。
777デフォルトの名無しさん:05/02/16 12:44:44
>>746の間違いでした。すいません。
778デフォルトの名無しさん:05/02/16 12:45:30
>>773
やはりその方法しかありませんか。
了解しました。答えてくださった方、ありがとうございました。
779デフォルトの名無しさん:05/02/16 13:18:31
>>777
.netなのになんでDataSetじゃなくRecordSetを使ってるのかな?
RecordSetから仲介役にDataSetをはさんで、DataGridに表示する
ならこんな感じかと。

DataAdapter.Fill(DataSet, RecordSet, "適当な名称")
dataGrid1.SetDataBinding(DataSet, "適当な名称")
780デフォルトの名無しさん:05/02/16 14:30:20
とても初歩的な質問ですが、お願いします。

Aのファイル読み、必要項目を修正してBファイルを作りたいと思います。
その際、Aファイルを
 SELECT * FROM ファイルA   で読み、
 While Rs.Read で全件回したいのですが、
 このWhile Rs.Read メソッド中にBファイルを開いて、
 生成されたレコードを書き込む方法はありますでしょうか?
 (レコードセットが既に開いていると言われてしまいます)

一度、Arryエリアに保存してから、Aファイルを閉じた後だと
Bファイルを書き込むこともできるのですが、これは馬鹿げた方法ですよね。。。 
781デフォルトの名無しさん:05/02/16 14:41:31
OracleStringからStringへ変換するにはどうしたらよいでしょうか?
ODP.NETです。
782デフォルトの名無しさん:05/02/16 15:06:22
System.net.WebClientオブジェクトを使用してサーバーのaspを介してファイルの転送をしようとしています。
転送は実現しているのですがファイル名を送る方法で悩んでいます。
送信と同時にQueryStringプロパティで送信したら文字化けしてしまい上手くいきませんでした。
なにかいい方法はないでしょうか?
783デフォルトの名無しさん:05/02/16 18:42:29
VB.NET関連のおすすめの書籍を教えてください。
必読書スレや書籍案内WEBにもVBの本はほとんど話題に出ないもので。。
784デフォルトの名無しさん:05/02/16 18:50:46
>>783
テンプレ付近のサイトにいろいろ紹介されてると思う。
おまいさんの力量がわからないのに、お薦めはなに?って言われても
なぁ。
785デフォルトの名無しさん:05/02/16 20:49:16
>>784
お前よりは上だと思ってくれ。
786781:05/02/16 20:49:56
どなたかプリーズ
787デフォルトの名無しさん:05/02/16 20:52:11
.ToString()してやりゃいいんじゃね。
788781:05/02/16 20:57:05
>>787
それが、hoge.Valueの次のインテリセンスは.GetTypeしか
出てこなくてToStringはエラーになってしまいます。
789デフォルトの名無しさん:05/02/16 20:58:12
>>785
10日でおぼえるシリーズは?
790デフォルトの名無しさん:05/02/16 21:03:43
>>783
推薦図書・必読書スレなんてのがある
791デフォルトの名無しさん:05/02/16 21:09:17
>>788
ttp://otndnld.oracle.co.jp/document/products/oracle10g/101/doc_v6/win.101/B15519-01/OracleStringStructure.htm#i1013375
Valueプロパティとやらが見つからないんだが。
CTypeでもいいようだが、それはそれとしてToStringできないって事は決してない。インテリセンスにはでないようにしてるかもしれんがそんなこともなかろうしなぁ。
792781:05/02/16 21:15:15
Dim hoge As OracleParameter = _
cmd.Parameters.Add("hoge", _
OracleDbType.Varchar2, ParameterDirection.Output)

cnn.Open()
cmd.ExecuteNonQuery()

MsgBox(hoge.Value)

でhoge.valueがOracleStringはStringにできないとかなんとかの
エラーが出ました。
793デフォルトの名無しさん:05/02/16 21:18:46
いいからhoge.Value.ToString()だ。
794デフォルトの名無しさん:05/02/16 22:17:15
>>746の者なんですが、どうしてもよく分からないので
もう一回教えてください。

rs = cn.Execute("select * from testtable")

で、rsの中にはDBからデータが来てるとコマでは分かっているのですが
それをどうやればデータグリッドで表示できるのかさっぱりです。
rsはADODB.RecordSet型です。レコードセットとは1行1レコードとして
それがまとまっている物なんだと認識してきましたけど、これをデータグリッド
で表示するにはどうすればいいんでしょうか?
>>779さんの言うとおりにDataSetとかDataAdapterとかも調べたのですが
どうもピンときません。もしかしてレコードセットに格納されている内容を
データグリッドに表示するのは結構めんどくさい事なのでしょうか?
何度も同じ事聞いて非常に申し訳ありませんが、どうかよろしくお願いします。
795デフォルトの名無しさん:05/02/16 22:26:51
>>724の.NET用のカスタムプロバイダを使えと。

ていうか779でいいじゃん。何が分からないのさ。
796779:05/02/16 22:37:03
>>794
RecordSet(ADO)にしろDataSet(ADO.NET)にしろ、DataGridに
バインドすれば丸ごと表示されるよ。書式が異なるだけ。

MSDNで検索したらサンプル付きの資料が出てくるけど、そのへん
をよく読んでみたらどうだろう。読み込んだRecordSetをVB.NET
でDataGridに入れたいなら、>>779が楽だと思うだけど。

RecordSetの説明については、古いけどこのへんが参考になる。
ttp://www.int21.co.jp/pcdn/vb/noriolib/vbmag/9812/vb6da/
797デフォルトの名無しさん:05/02/16 22:54:42
>>779,>>795,>>796
色々とありがとうございます。正直きついな〜と思ってましたが
もう少し頑張ってみようと思いました。
今の段階では管理ツールのODBCデータソースのシステムDSNに
PostgreSQLのODBCドライバーを設定して、接続しています。
データを受け取る以外のSQL(insertとかdeleteなど)は普通に動くのが
確認済みなので、後はデータグリッドで表示ってとこだけなのですが
頑張ってみようと思います。

初歩的な質問なのかも知れませんが、VBってDBへの接続方法が
OLEDBとかODBCやADODBなど、概念というか考え方が、ごちゃごちゃしてて
初心者の私には分かりづらかったんですが、どんな接続方法を取ったにしても
データグリッドへデータ連結ってのは可能なんですよね?
書式が違うとか、そんなレベルの問題だと思って頑張りたいと思います。
798デフォルトの名無しさん:05/02/16 23:38:01
TransparencyKeyを黒に指定した場合、
フォームが黒になっていたらその部分が透過になりますが
これを見た目は黒の半透明で透過という状態には出来ないのでしょうか?
799デフォルトの名無しさん:05/02/17 08:55:24
無理。
800デフォルトの名無しさん:05/02/17 10:26:28
むりかぁ
801デフォルトの名無しさん:05/02/17 10:27:15
ageチャタ
802デフォルトの名無しさん:05/02/17 10:33:55
コントロールキーが押されるとひとつ前のコントロールに移動するために
下のコードを書いているのですが
テキストボックス間は移動してくれるのですが
ボタンは移動してくれませんでした。

'Shift+Tabを押す
keybd_event(Keys.ShiftKey, 0, 0, 0)
keybd_event(Keys.Tab, 0, 0, 0)
keybd_event(Keys.Tab, 0, KEYEVENTF_KEYUP, 0)
keybd_event(Keys.ShiftKey, 0, KEYEVENTF_KEYUP, 0)

試行錯誤してると
keybd_event(Keys.ShiftKey, 0, 0, 0)
Sleep(100)
keybd_event(Keys.Tab, 0, 0, 0)
keybd_event(Keys.Tab, 0, KEYEVENTF_KEYUP, 0)
keybd_event(Keys.ShiftKey, 0, KEYEVENTF_KEYUP, 0)

とSleepを入れると一応移動してくれました。
しかし、これではいまいちです。最適な方法はないでしょうか?
803デフォルトの名無しさん:05/02/17 11:20:55
SelectNextControlメソッド。
ただしこのメソッドは検索起点となるコントロールが必要なので、
現在フォーカスが当たっているコントロールを見つけ出すメソッドを自前で実装する必要がある。
804デフォルトの名無しさん:05/02/17 11:26:48
>>803
SelectNextControlメソッドで一つ前のコントロールへ
移動するにはどうしたらよいでしょうか?
すみません。応用が利かなくて
805デフォルトの名無しさん:05/02/17 11:30:01
>>803
すみません。わかりました。
引数にありますね。_| ̄|○
806デフォルトの名無しさん:05/02/17 13:03:38
VB6.0のright(hoge, 5)
ってどうやればいいでしょうか?
807デフォルトの名無しさん:05/02/17 13:15:40
Stringの、SubstringメソッドとLengthメソッド組み合わせ。
808デフォルトの名無しさん:05/02/17 13:17:49
Microsoft.VisualBasic.Right
809デフォルトの名無しさん:05/02/17 14:23:56
>>803
現在フォーカスが当たっているコントロールを見つけ出すメソッドを自前で実装する必要がある。

Me.ActiveControl
810デフォルトの名無しさん:05/02/17 14:53:01
>>807,808
ありがとうございます。
簡単そうなので>>808さんのやりかたでやっておきます。
811デフォルトの名無しさん:05/02/17 15:21:09
>>810
アンマネージドって知ってるか?
812デフォルトの名無しさん:05/02/17 15:43:18
>>811
アンマネージドって良くわかりませんがやばそうですね
>>807さんのやり方にします。
813デフォルトの名無しさん:05/02/17 16:59:48
EnterキーとテンキーのところにあるEnterキーを区別したいのですが
GetKeyState()では区別できませんでした。
他に方法がありますでしょうか?
814デフォルトの名無しさん:05/02/17 17:05:37
VK_RETURN(0D)
VK_SEPARATOR(6C)
815デフォルトの名無しさん:05/02/17 17:10:28
>>814
ありがとうございます。試してみましたがだめでした。
PCがDellだからでしょうか・・・
816デフォルトの名無しさん:05/02/17 17:26:27
ttp://66.102.7.104/search?q=cache:8uaFSQ7nG4QJ:hidebbs.net/bbs/umiumi%3Fsw%3D7+getkeystate+enter+%E3%83%86%E3%83%B3%E3%82%AD%E3%83%BC&hl=ja&lr=lang_ja
WM_KEYDOWNなどのLPARAMに入ってるスキャンコードを見ろということだそうだ。
OEM依存だから具体的にこの数値とは言えないが。
817デフォルトの名無しさん:05/02/17 18:07:05
OEMって?
818デフォルトの名無しさん:05/02/17 22:17:42
RichTextBoxでさApendText & VbCrLfで行単位でテキストを数行つくったんだだよ。
んで、行単位でSelectして消そうとしたら、消すってのがないんだね。
何行目って選ぶにしたってLinesってのもつかえないし・・・
まぁえらぶにゃ〜選んだが、どうやってけすんだい?
RichTextBox.Select(StartPosition,Length)
RichTextBox.SelectText = "" <- これでなんで消えないんだい?

だれか教えてエロ人
819797:05/02/17 22:38:09
おかげさまで、何とかSelect文で取得した結果を
データグリッドに表示することが出来ました。ありがとうございます。

そこで、また問題が出てきたのですが、
データグリッドに表示してある物を編集したいのです。
よくDB操作にあるInsert,Delete,Updateみたいなかんじで
グリッドの値を編集後、何かのボタンを押したらその値を
DBに保存するということは可能でしょうか?
現在、DBのテーブルを選べるようになっていて、テーブルごとに
フィールド数、型などが違うため、SQLのInsert,Delete,Update文は
使えないんじゃないかと思うんです。

質問ばかりで申し訳ありませんがヨロシクお願いします。
820デフォルトの名無しさん:05/02/17 23:09:18
>>819
結局どうやって処理したのか不明だから何ともいえない。
ADO.NETでの更新はCommandBuilderで自動生成が普通。

ttp://www.microsoft.com/japan/msdn/library/default.asp?url=/japan/msdn/library/ja/cpguide/html/cpconautomaticallygeneratedcommands.asp

もうちょっと解説書やサイトなんかで、しっかり勉強してからのほう
がいいんでない? 質問が漠然としすぎてて説明しにくいし。
821819:05/02/18 00:07:27
管理ツールのODBCソースでOdbcドライバーを使って
PostgreSQLと接続しています。
OleDBを使いたかったのですが、どうもPostgreSQLだと
うまくいかなかったので・・・

Dim dataadapter As Data.Odbc.OdbcDataAdapter
Dim command As Data.Odbc.OdbcDataCommand
Dim connection As Data.Odbc.OdbcConnection
Dim dataset As Dataset

connection.ConnectionString = "PostgreSQLへの接続文字列"
connection.Open()
command.Connection = connection
command.CommandText = "select * from testtable"

dataset.Table.Add("テーブル名")
dataadapter.Fill(dataset,"テーブル名")
datagrid.SetDataBinding(dataset,"テーブル名")
connection.Close()

うろ覚えでホント申し訳ないのですが、確かこんなカンジで
データグリッドにデータを表示することが出来まして
これを編集できるようにしたいのです。
どうかヨロシクお願いします。

822デフォルトの名無しさん:05/02/18 11:33:22
>>811
アンマネージドだと何か問題あるんですか?
823デフォルトの名無しさん:05/02/18 12:33:56
っていうかそもそも.NETのVBランタイムってアンマネージドなのか?
824デフォルトの名無しさん:05/02/18 12:38:26
ハイッ!
ジャンガジャンガジャンガジャンガジャンガジャンガジャンガジャンガ
ジャンガジャンガジャンガジャジャ〜〜〜ン
825デフォルトの名無しさん:05/02/18 13:07:56
>>821
いや、だからCommandBuilder使えって言ってるじゃん。
826デフォルトの名無しさん:05/02/18 17:45:22
,net 2003でカレンダーコントロールをフォームに貼り付けて使っていると
環境の違いかどうか定かではないのですが
カレンダーのサイズと位置が勝手に変わってしまいます

カレンダーのサイズと位置を変えるような処理はしていないのですが
何か考えられる対策はありますか?
827デフォルトの名無しさん:05/02/18 18:59:00
構造体内の構造体配列のマーシャリングがわかりません。
どなたかヒントだけでも
828デフォルトの名無しさん:05/02/18 19:07:50
マーシャリングって何?
829デフォルトの名無しさん:05/02/18 19:47:32
>>827
それが固定長の配列ならMarshalAs属性でUnmanagedType.ByValArrayとSizeConse:=(要素数)を指定する。
可変長ならC#のサンプルだが
ttp://www2u.biglobe.ne.jp/~kaduhiko/csharp_05.html
830デフォルトの名無しさん:05/02/18 19:48:06
× SizeConse
○ SizeConst
831デフォルトの名無しさん:05/02/19 10:27:50
テキストボックスにはIMEコントロールプロパティがありますが
たまに期待する状態になってくれない場合があります。
ImmGetContextなどのAPI群を使ったほうが確実なのでしょうか?
832デフォルトの名無しさん:05/02/19 10:41:59
form1からボタンクリックイベントでform2を表示し、
Dim form2 As New Form2
form2.ShowDialog();
form2で[両方閉じる]ボタンをクリックするとform1とform2を閉じる処理をしたい。
どうやったらできるん?
833デフォルトの名無しさん:05/02/19 10:53:14
>>831
内部ではWin32APIを呼んでるわけで、多分症状は変わらないと思うがね。
まあ意外な落とし穴が分かりやすくなるかも知れない。
//一般論として、ね。

>>832
form2にForm型のプロパティを作って、form1がform2を作った時に自分自身の参照をform2に渡す。
834デフォルトの名無しさん:05/02/19 14:08:14
835デフォルトの名無しさん:05/02/19 14:46:51
プログラムを書いているとき、
複数行まとめて、コメントにしたい('を付けて緑色にしたい)ときに、
何かいい方法ないでしょうか?
1行ずつ”シフト+7”をしていかなくてもいい方法があれば
教えてください。
836デフォルトの名無しさん:05/02/19 14:53:44
>>835
つまらない釣りだ。
でもこういう「釣り」にも得意げに答える奴が確実にVBerには存在するのだな。
837デフォルトの名無しさん:05/02/19 14:55:05
>>836
質問と釣りの見分け方を教えてください。
838835:05/02/19 15:07:47
すみません。釣りではないので、教えてください。
いくら調べても見つからないです。
839デフォルトの名無しさん:05/02/19 15:07:52
840デフォルトの名無しさん:05/02/19 15:10:51
>>837
ツールバーに用意されてる単機能を、わざわざ質問することかな?
841835:05/02/19 15:17:00
くだらない質問して、申し訳ありませんでした。
助かりました。ありがとうございました。
ほんとにまる1日探してました。
842デフォルトの名無しさん:05/02/19 15:25:14
俺は結構コメントアウト使ってるから、呼び出しボタンをファンク
ションキーに割り当ててる。フリーのマクロソフトなんかでできる
から試してみそ。
843デフォルトの名無しさん:05/02/19 17:37:49
>>840
気付かなければ質問しても全然おかしくないと思いますが、
あなたが釣りと断定した理由が知りたいです。
844デフォルトの名無しさん:05/02/19 17:38:43
単に>>836の視野が狭いだけでしょ
845デフォルトの名無しさん:05/02/19 17:50:28
俺は836じゃねえけど、
「vb6 複数行 コメントアウト」でググれば
一発で出てくる物を1日もかけて探せないのじゃ
プログラマ止めた方が将来の為だな、疑いたくもなるよ。
846デフォルトの名無しさん:05/02/19 18:12:14
簡単なテキストエディタをRichTextBoxを使用して作成しています。

RichTextBox1.Font = new Font("Arial", 12)

などとして、選択文字列の一部のフォントを変更するように試みているん
ですが、選択文字列に複数のフォントネームが混じっていると、エラーと
なってしまいます。たとえば、

あああああああいいいいいいいいい

のうち、「あ」がMSゴシック、「い」がMS明朝であった場合、「あ」と「い」
を同時に選択た状態でフォントを変更しようとすると、エラーとなってしまう
というわけです。これの回避方法をご教授ください! m(_ _)m
847デフォルトの名無しさん:05/02/19 18:18:53
>>846
すいません、訂正です。

(誤)
RichTextBox1.Font = new Font("Arial", 12)

(正)
RichTextBox1.SelectionFont = new Font("Arial", 12)
848デフォルトの名無しさん:05/02/19 18:20:11
>>845
あなたは他人の心配をできるような人間なのですか?
849デフォルトの名無しさん:05/02/19 18:22:21
>>846
エラーの内容を一言一句間違いなく教えてください。
850845:05/02/19 18:30:51
>848
一日だぜ、こんなのに金払うやついるか?
848さんどう思う。
851デフォルトの名無しさん:05/02/19 18:39:08
>>850
まあまあ、放置した方が大人だって。
意見には激しく同意するけど。
852デフォルトの名無しさん:05/02/19 18:40:45
「プログラマ辞めた方がいい」って言うより、社会人やめた方がいいな。
こいつ、Excel とかの機能も使えないんじゃないか? ( ´,_ゝ`) プッ
853850:05/02/19 18:47:05
>851
すまん、次から放置する。
854デフォルトの名無しさん:05/02/19 18:59:13
>>853 は結構いいやつ。

それにしても、もうちょっと自分で調べてから質問できないものかねぇ。
855853:05/02/19 19:14:41
俺が悪かった、この辺で止めよう。
はじめから人をけなす気は無かったのだが、
VB.NETやC#をやってるとわからないことだらけで、
MSDNやGooglを駆使しなければとてもコードなんて書けない、
つまり、プログラムを書くという行為の中で、検索する
と言うことは、かなり重要になってる気がして、その辺を
真剣に考えた方がいいかなと思ったのだが、いかんせん
書き方が悪かった、俺も書き方の勉強しなければな。
856デフォルトの名無しさん:05/02/19 20:11:23
>>850
あのー、話がどんどんそれてますけど。
元々の問題が何であったか思い出してください。
あなた、設計中にもそうやってどんどん発散していくのでしょうね。
857デフォルトの名無しさん:05/02/19 20:24:53
放置、報知、法治、ホウチ、
ほうち、鵬値、邦地................

858デフォルトの名無しさん:05/02/19 20:25:07
ここは「VB.NETの質問全般」を話題にするスレであって、質問者
の資質を問うところじゃないから、そういうスレ違いな話題を引っ
張るのはかんべんしてくれ。

ところで>>849の返答はマダー?
859デフォルトの名無しさん:05/02/19 20:41:01
>846
おいらの環境ではエラーにはならないな。
860デフォルトの名無しさん:05/02/19 20:45:41
>>857
そういう書き込みをすること自体、放置できてないってこと
なんだけど。バカなんじゃないの、お前。
861デフォルトの名無しさん:05/02/19 21:18:16
放置
862デフォルトの名無しさん:05/02/20 00:33:07
こんばんは、Declareについて質問させてください。

与えられたファイル拡張子の文字列(たとえば".zip"など)から
エクスプローラで表示されるファイルのアイコン(16*16)を得るにはどのDeclareを使えばよいでしょうか。
サンプルなどがありましたら助かります。
アイコンが表示できる簡単なファイルブラウザを作ろうと思います。

よろしくおねがいいたします。
863デフォルトの名無しさん:05/02/20 00:48:42
>>862
ExtractIconEx
864デフォルトの名無しさん:05/02/20 01:16:37
>>863
即答感謝です!まさにこれでした。ありがとうございます。
865デフォルトの名無しさん:05/02/20 01:48:09
Odbc.Connectionを使ってDBと接続してるのですが、
DBのテーブル名一覧を取得するいい方法はないでしょうか?
Oledbなら使えそうなメソッドがあったんですが
Odbcはないっぽいです。
DBはPostgreSQLです。
何かいい方法があれば教えてください。よろしくお願いします。
866デフォルトの名無しさん:05/02/20 02:31:10
>>864
たぶん>>863は君の求めているものと違うと思う。
どっちかっていうとExtractAssociatedIconの方じゃないの?
msdnでapi調べてからググったらサンプルコードが出てきた。
867デフォルトの名無しさん:05/02/20 02:32:09
失礼、見つかったサンプルコードってのはこれね。
http://santamartadotnet.hp.infoseek.co.jp/documents/dotnettips/tips021.html
868デフォルトの名無しさん:05/02/20 06:21:09
869デフォルトの名無しさん:05/02/20 06:38:52
>>865
Dim rs As ADODB.Recordset
Set rs = conn.Execute("select * from pg_tables")
Do While Not rs.EOF
Debug.Print rs.Fields("tablename") & "," & rs.Fields("tableowner")
rs.MoveNext
Loop
870846:05/02/20 16:12:39
あれから、コードをいったん破棄し、再度ほとんど同じものを組んで
みたんですが、なぜかエラーが出なくなりました・・・。おさわがせ
しました。m(_ _)m

恥かきついでといっては何ですが、もう一つ質問させてください。
複数のフォントが混在した文字列を選択し、その部分のフォントや
フォントサイズ、太字や斜体といった文字の属性を変えたいんですが、
その際、次のコードを使用すると、いっぺんにフォントの種類・大きさ
属性などが変わってしまいます。

RichTextBox1.SelectionFont = new Font("Arial", 12, bold)

フォントの種類だけ、あるいは大きさだけ、太字や斜体にするだけ、
といった処理をするには、どのようにしたらよいでしょうか。 例えば、

あああああいいいいい

のうち、のうち、「あ」がMSゴシック、「い」がMS明朝であった場合、
「あ」と「い」を同時に選択た状態で、「あ」がMSゴシック、「い」が
MS明朝というのを保ったまま、サイズのみ変える、という処理です。

871デフォルトの名無しさん:05/02/20 16:23:27
できないよ
872870:05/02/20 16:46:40
>>871
レスありがとうございます! できないんですが・・・・ショック orz
参考になりました。ありがとうございました m(_ _)m
873デフォルトの名無しさん:05/02/20 20:36:23
>>870
なんで自分の頭で物を考えようとしないの?
RichTextBoxなんて使ったことないが、MSDNでメンバ見る限り、
自分でコード書けば普通にできるでしょ?
874デフォルトの名無しさん:05/02/20 20:41:24
>873
出来るけどかなりめんどう、文字一つ一つクラスを設定
する必要がある鴨
875デフォルトの名無しさん:05/02/20 22:16:46
LDAPでADSに接続するのを初めて作ってみたのですが・・・
ボタンを押すとgetObjectするようにしたのですけど
接続しようとする瞬間に「ActiveXコンポーネントが作成できませんと・・」
OSパッチいれたりしたけど何故かうまくいきません。
短いプログラムなのですがさっぱりです

OS 2003  .netインストール済みです
文法もチェック済みです

プロの方よろしくお願いします
876デフォルトの名無しさん:05/02/20 23:56:36
>>875
プロはただでは動かない
877デフォルトの名無しさん:05/02/21 00:40:02
>>876
シクシク・・・・
878デフォルトの名無しさん:05/02/21 02:53:20
>>875
基本からやり直せ
879デフォルトの名無しさん:05/02/21 08:39:51
>>877
泣いてもだめ
ただで動くのはもはやプロではないからね
880デフォルトの名無しさん:05/02/21 11:32:17
ポインタの加算ってどうやりますか?
Dim p as IntPtr
......
p.ToInt32 + 2
という式はOK?
881デフォルトの名無しさん:05/02/21 11:34:32
okだよ。
882デフォルトの名無しさん:05/02/21 14:07:49
本日はじめて、VB.NETでプログラムを作成しています。
プログラムの開始後に、デザイン画面で配置したコントロールが
すべて表示されないのですが、何か設定が必要なのでしょうか?
(名前もついていない小さいフォームが1つ出るだけです。)

VB6でこのような現象になったことがないので良くわからないのですが・・
883デフォルトの名無しさん:05/02/21 14:13:12
変な事やってるだけだろ。
それ以上答えようもないな。
884デフォルトの名無しさん:05/02/21 16:49:04
>>882
この行を消してない?
' この呼び出しは Windows フォーム デザイナで必要です。
InitializeComponent()
885デフォルトの名無しさん:05/02/21 16:54:27
>>882
次はきっと「新しいプロジェクトでやり直したら、出来ました。」だ。
886813:05/02/21 17:16:07
スキャンコードというヒントをいただきましたが
いまだ、解決できていません。
どなたかわかる方、お願いいたします。
887デフォルトの名無しさん:05/02/21 17:18:19
>>882
いや、きっと知らない間に2枚目のFormを作ってて、そこにコント
ロールを貼り付けてただけだろ。スタートアップがForm1のままだ
から、実行しても空のフォームが表示されるだけ。

ソリューションエクスプローラにFormが複数登録されてないか?
888デフォルトの名無しさん:05/02/21 17:22:00
>>886
>>816を読んだ?
889デフォルトの名無しさん:05/02/21 17:24:43
コーディング中、ツールチップに
メソッドの説明など表示されますが
あれを自分で書くにはどうしたら?
890デフォルトの名無しさん:05/02/21 17:29:20
>>889
自分で XML を書きましょう。
または VB Commenter をアドインで使いましょう。
891813:05/02/21 17:55:32
>>888
読んだのですがスキャンコードというので区別することくらいしか
理解できていません。あー、オレってアホ。。。。
ProcessDialogKeyをオーバーライドしているのですが
ここで判定したいのですがどうしていいかわからないでいます。

892デフォルトの名無しさん:05/02/21 18:42:22
ツリ―ビューで質問があります。

親 ┳ 子
┃ ┣ 子
┃ ┣ 子
┃ ┗ 子

親 ┳ 子
  ┣ 子
  ┣ 子
  ┗ 子

同じ名称の親、同じ名称の子があるで、子のNodesを選択した時の親のIndexを取得したいのですが、どうすればよいでしょうか?
893892:05/02/21 18:49:03
×同じ名称の親、同じ名称の子があるで
○同じ名称の親、同じ名称の子がある場合で

追記です
tagに親のIndexを格納しておく事も考えましたが、親のIndex番号が変化した場合、それにあわせて子のtagの情報も変化させなければなりません。
そのやり方はどうも違う気が、、、、

素人質問で申し訳有りません。
894デフォルトの名無しさん:05/02/21 19:02:14
sender
895デフォルトの名無しさん:05/02/21 19:10:09
>>891
ProcessDialogKeyで扱えるKeys列挙体では、Enterキーの区別が
つけられないんでそ。

ここに載ってるAPIを使った方法が参考になるんでないの?
ttp://www.bcap.co.jp/hanafusa/dotnet/txtbox03.htm

つか、そもそもEnterキーの区別ってそんなに必須な仕様なのか?
896デフォルトの名無しさん:05/02/21 19:29:23
ProcessCmdKeyなんてメソッドもあるがな。
897デフォルトの名無しさん:05/02/21 19:57:50
ボタンのFlatStyleをSystemに変更すると、Imageが反映されなくなるのは何故ですか?
898デフォルトの名無しさん:05/02/21 20:16:08
>>894
899デフォルトの名無しさん:05/02/21 20:24:41
>>897
リファレンスぐらい読め。
ttp://www.microsoft.com/japan/msdn/library/default.asp?url=/japan/msdn/library/ja/cpref/html/frlrfSystemWindowsFormsFlatStyleClassTopic.asp

>>892
ParentプロパティやIndexプロパティ使えばよかろ。
900YOSHI:05/02/21 20:35:07
プログラム初心者です。
VB.NET+ORACLE10gで勉強を開始しました。
VB.NETに関しては基本的なことは分かるようになったのですが
Oracleとのつなぎ方がよく分かりません。
ODP.NETを利用して接続したいのですが、どのように
プログラムを書けばよいのかを記してある入門者用サイトや
書籍等ご存知であれば教えていただけませんでしょうか?
(当方本当に初心者で、OTNのサイトにあった解説だと
理解できませんでした・・・)
901デフォルトの名無しさん:05/02/21 20:49:25
902デフォルトの名無しさん:05/02/21 20:51:39
>>899
thx
If e.Node.Parent Is Nothing Then
で識別してから、e.Node.Parent.Index で取得すればいいのね。
903813:05/02/22 08:45:04
ProcessKeyEventArgsというメソッドをオーバーライドして
m.LParamを見るとEnterキーとテンキーのEnterキーで
値が違うことがわかりました。一歩前進したような気がします。
904813:05/02/22 08:49:57
>>896
見逃してた。_| ̄|○
こっちのほうがよさそうです。
905813:05/02/22 09:29:36
If msg.LParam.ToString = "1835009" Then
'通常のEnterキー
Else
'10キーのEnterキー
End If
としました。ダサいですか?
906デフォルトの名無しさん:05/02/22 09:33:25
>>905
君の環境で動けば良いだけならそれで良いだろうね。
907813:05/02/22 09:47:37
>>906
不特定多数というわけではないですが
なるべく環境依存にはしたくありません。
どうしましょう。
908813:05/02/22 09:53:33
設定画面を作ってそこでEnterキーと10キーのEnterキーを
押してもらってその値を保存しておくようにすればいいかなー
909デフォルトの名無しさん:05/02/22 10:38:29
>>908
最終的にはそうなると思う。
キーリピートが発生してもLParamは変わったりするから気をつけてな。
判別に必要な部分だけを取り出してやらないといけない。
910813:05/02/22 10:47:57
>>909
ほんとだ。キーを押し続けると値も変わっちゃう。
ありがd!
911デフォルトの名無しさん:05/02/22 13:14:52
Console.WritelineとDebug.Writelineの違いってなんでしょうか?
912デフォルトの名無しさん:05/02/22 13:24:54
標準出力(普通はコマンドプロンプト)に書き出すか、
Debug.Listenersプロパティで指定されたリスナ(普通はデバッグウィンドウ)に書き出すか。
DebugクラスによるものはReleaseビルドだとILコードから削除されたり。
913デフォルトの名無しさん:05/02/22 14:02:13
ペイントソフトでよくあるバケツツールを再現したいんですけど、
再帰でやるとスッタクオーバーフローになります。
他にいい方法はないでしょうか?
914デフォルトの名無しさん:05/02/22 15:30:56
>>913
バグがあるからで、再帰のせいじゃない。
915913:05/02/22 15:43:07
>>914
塗りつぶす範囲が小さければうまくいくので
バグではないと思うんですけどねぇ・・・
916デフォルトの名無しさん:05/02/22 17:12:32
何回再起呼び出ししてる?
917デフォルトの名無しさん:05/02/22 17:30:26
ここはコードを見ないでバグの話をする板ですか。
918デフォルトの名無しさん:05/02/22 17:35:18
参照の追加で自作DLLを参照すると
プロジェクトフォルダのbinにコピーされてきて
うざいのです。
参照元のDLLを修正したときとかも
再度参照し直さなければなりませんか?
919デフォルトの名無しさん:05/02/22 17:46:42
参照のプロパティのローカルコピー
920デフォルトの名無しさん:05/02/22 19:59:55
ど初心者です。初めてから数日なんですが・・・・

複数のaspxを展開して編集しているのですが
デバッグ時、思ったデータがデバッグできません。
スタートページに設定してデバッグしたのですが、自分の意とした
ものがデバッグできないのです。
切り替える方法を教えてください。
921デフォルトの名無しさん:05/02/22 20:55:46
スレッドが終了しているかどうかを判断するには
どうしたらよいでしょうか。
922デフォルトの名無しさん:05/02/22 21:04:58
ThreadStateプロパティ見れ。
923865:05/02/22 21:40:44
>>869
遅くなりましたが、教えてもらった方法で実現できました。
どうも有難うございます。お世話になりました〜。
924YOSHI:05/02/23 11:44:07
VB.NET初心者です。(っていうかプログラム初心者)
教則本にしたがってオラクルとの接続をADO.NETを通じて
行おうとしているのですが、本にはASP.NETのやり方は
書いてあるのですが、VB.NETでの作り方は載ってません
でした。(「オラクルプログラミング教習所」という本。
正確に言うとVB6とASP.NETのやり方は載っているのだが
肝心のVB.NETが載ってなかった)
下記はそこに出てくるASP.NETでのコーディングなのですが
これをVB.NETにコピーペーストすると、最後のGRID1のところで
エラーになります。

どなたかアドバイスいただけませんでしょうか?

Private Sub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
'Put user code to initialize the page here

Dim myConnString As String = "Data Source=ORCL;user ID=system;Password=plusit;"
Dim cn As New OracleConnection(myConnString)
cn.Open()

Dim cmd As New OracleCommand("Select * from movie2", cn)
Dim dr As OracleDataReader = cmd.ExecuteReader()
DataGrid1.DataSource = dr
DataGrid1.DataBind()
925デフォルトの名無しさん:05/02/23 12:14:05
フォームにデータグリッドが張ってないって言うオチじゃないことを願う
切に願う
926デフォルトの名無しさん:05/02/23 12:37:56
ていうかさー、System.Windows.Forms.DataGridにDataBindメソッドなんて無いんだよね。
別に要らないし。
927デフォルトの名無しさん:05/02/23 13:34:10
VB.NETを使用してIEのお気に入りをインポートし
それを動的にコンテキストメニューに追加したいと考えています。

そこで質問があるのですが

IEのお気に入りをインポートする時は
フォルダを直接みてurlを開く方法以外にありますか?

また、動的にコンテキストメニューに追加した際に
イベントの発生はどのようにしたら出来るのでしょうか?

よろしくお願い致します。
長文失礼しました。
928デフォルトの名無しさん:05/02/23 15:16:14
>>927
> また、動的にコンテキストメニューに追加した際に
> イベントの発生はどのようにしたら出来るのでしょうか?

MenuItemのコンストラクタで
New MenuItem("名前", AddressOf 実行メソッド名)
とするか、New済みのitem As MenuItemに対して
AddHandler item.Click, AddressOf 実行メソッド名
とするか。
実行メソッドの引数はわかるよね。動的に追加するのに対してHandles句は要らない。
929デフォルトの名無しさん:05/02/23 15:37:52
>>928
ありがとうございます

やってみます
930デフォルトの名無しさん:05/02/23 15:59:29
.net Remotingでサーバーとクライアントを作成しました。
サーバーのプロパティをクライアントから設定します。

クライアントから設定したプロパティは
しばらくの間、有効なのですが
ある時間経つと初期化されてしまいます。
サーバーのプロパティを保持し続けるにはどうしたらよいでしょうか?

内容的にはここと同じなのですが…
ttp://www.atmarkit.co.jp/bbs/phpBB/viewtopic.php?topic=8379&forum=7

「頻繁にリモートオブジェクトをクライアントでインスタンス化」
ってのがしっくりきません。




931デフォルトの名無しさん:05/02/23 16:40:23
Detailsタイプのリストビューで非表示のカラムを作成することはできますか?
932デフォルトの名無しさん:05/02/23 17:19:17
VB6.0のvariant型は.NETにはないでしょうか?
nullも保存できるString型が欲しいのですが・・・
933デフォルトの名無しさん:05/02/23 17:27:20
>>932
Object型に変わった。
934デフォルトの名無しさん:05/02/23 17:27:33
935デフォルトの名無しさん:05/02/23 17:35:04
>>933
ありがd
>>934
DBNullはNothingに変換して保存するということでしょうか?
936デフォルトの名無しさん:05/02/23 18:31:39
>>930
ここで紹介されているハイブリッドアプローチが使える気がしますが、
何時間も放置した場合はどうなるかは試していません。
ttp://www.microsoft.com/japan/msdn/library/default.asp?url=/japan/msdn/library/ja/dnpatterns/htm/ImpBrokerClient.asp
COM+もそうだけどMSのリモートオブジェクトはステートレス推奨のようです。
状態を持たせたいならWEBのようにセッション番号をクライアントに発行するのがおすすめだと思います。
937デフォルトの名無しさん:05/02/23 19:39:05
VB.NETのWindowsアプリで、
Datagrid内の指定された行までスクロールさせたいんだけど、

ttp://dobon.net/vb/dotnet/datagrid/gridvscrolled.html

この方法ってどうやるの?
Form上にすでにDataGrid配置してるんだが。


例えば、色変更の場合
http://dobon.net/vb/dotnet/datagrid/coloredcell.html
って感じで、MyDataGridTextBoxColumnって派生クラスを使うんだが、
この場合、MyDataGridTextBoxColumを特定の関数内でインスタンス化させるだけだけ
だから普通に出来たんだが、

上の指定行までスクロールさせる場合って、
DataGridを派生させたMyDataGrid自体をForm内に配置する事から
始めないといけなくない?
938デフォルトの名無しさん:05/02/23 19:49:01
vb.netでcab32.dll(ver0.98)を用いてcabファイルを解凍したいのですがうまくいきません。
CabCheckArchiveまではよいのですが、Cabコマンド時に正常終了の「0」ではなく
「8599934591」が返ってきてしまいます。どこに問題があるのかご指摘願えないでしょうか?
(他の解凍ツールでは問題なく解凍できるのでPGが間違っていると思うのですが・・)

'Module側
Public Declare Function CabGetVersion Lib "cab32.dll" () As Short
Public Declare Function CabGetRunning Lib "cab32.dll" () As Boolean
Public Declare Function CabCheckArchive Lib "cab32.dll" (ByVal szFileName As String, ByVal imode As Integer) As Boolean
Public Declare Function Cab Lib "cab32.dll" (ByVal hWnd As Long, ByVal szCmdLine As String, ByVal szOutput As String, ByVal dwSize As Long) As Long
'Form側
Dim archiveFile As String = "E:\a\testdata1.cab"
Dim extractDir As String = "E:\a\"

If Not System.IO.File.Exists(archiveFile) Then
Throw New ApplicationException("ファイルが見つかりません")
End If
Try
CabGetVersion()
Catch
Throw New ApplicationException("Versionが不正です")
End Try
If CabGetRunning Then
Throw New ApplicationException("現在Cab32.dllが使われています")
End If
If CabCheckArchive(archiveFile, 0) = False Then
Throw New ApplicationException(archiveFile & "は展開できないファイルです")
End If
Dim ret As Long = Cab(Me.Handle.ToInt64, String.Format("-x {0} {1} *.*", archiveFile, extractDir), Nothing, 30000)
939デフォルトの名無しさん:05/02/23 20:11:17
cab32.dllの問題
940デフォルトの名無しさん:05/02/23 20:31:21
すみません、>>937は、

http://dobon.net/vb/dotnet/programing/invokenonpublicmember.html

という感じで、"隠蔽されている非パブリックメンバを呼び出す"で解決しました。
これを水平(列)スクロールバーに応用するにはどうすればよいのでしょう?
941デフォルトの名無しさん:05/02/23 20:45:29
>>938
とりあえずCabメソッドは32ビット整数を返すんだからLongはおかしいだろ。
こんなすごく便利なサイトもあるようだぞ。
ttp://www.geocities.co.jp/SiliconValley-SanJose/1892/pc/vb-net/cab32api_vb.html

>>940
Protectedメソッドもドキュメント化されてるんだから、リファレンスを確かめれば?
942デフォルトの名無しさん:05/02/23 21:07:56
>>941
まあそこまで知るかって感じですよね・・・。

調べて出た結果がこれなんで、今呆然としてたところです。

DataGrid.GridVScrolled メソッド
http://www.microsoft.com/japan/msdn/library/default.asp?url=/japan/msdn/library/ja/cpref/html/frlrfsystemwindowsformsdatagridclassgridvscrolledtopic.asp
DataGrid.GridHScrolled メソッド
http://www.microsoft.com/japan/msdn/library/default.asp?url=/japan/msdn/library/ja/cpref/html/frlrfsystemwindowsformsdatagridclassgridhscrolledtopic.asp

さて、もうちょい考えるか。
943デフォルトの名無しさん:05/02/23 21:12:22
え?
なんか考える余地があるの?
VかHかの違いしか見あたらないんだけど。
944デフォルトの名無しさん:05/02/23 21:23:10
>>943
いや、VScrolledメソッドに習って、HScrolledメソッド動かそうとしても
どうも上手くいかんのです。

'パラメータで渡すScrollEventArgsオブジェクトを作成
Dim args As New ScrollEventArgs(ScrollEventType.LargeIncrement, 10)
'GridVScrolledメソッドを呼び出す
t.InvokeMember("GridVScrolled", _
System.Reflection.BindingFlags.NonPublic Or _
System.Reflection.BindingFlags.Instance Or _
System.Reflection.BindingFlags.InvokeMethod, _
Nothing, _
DataGrid1, _
New Object() {DataGrid1, args})

これのGridVScrolledをGridHScrolledに変えるだけじゃダメみたいなんで
GridHScrolledのメソッド調べてみたら、>>942みたいな感じでVかHかの
違いしか見当たらないんで、さてどうするかって感じです。

ScrollEventArgsが、横スクロールの場合特別な何かが必要なのか、
それともHScrolledメソッドに何かあるのか悩んでる感じです。
945デフォルトの名無しさん:05/02/23 23:12:04
タスクマネージャに出てくるアプリケーションの名前の一覧を取得する方法はありませんか?
ググってみたんですが、プロセス名一覧は出せることはわかったのですが…
946デフォルトの名無しさん:05/02/23 23:19:21
>>945
それはトップレベルウィンドウのタイトルと言う意味?
ならProcessのMainWindowTitleプロパティを見ればいいが。
MainWindowHandleプロパティでメインウィンドウがあるかどうか確かめるのがポイント。
947デフォルトの名無しさん:05/02/24 08:58:21
Date型の変数に入っている日付をYYYYMMDDの形で取り出したいのですが
どのようにすればよいでしょうか?
948デフォルトの名無しさん:05/02/24 09:29:15
949デフォルトの名無しさん:05/02/24 11:06:15
ボタンを窪ませたままにするには?
950デフォルトの名無しさん:05/02/24 11:23:33
>>949
左端と上端に灰色の線を引き、
右端と下端に白色の線を引く
951デフォルトの名無しさん:05/02/24 11:45:44
ReDimで確保した動的配列はEraseしたほうがよいですか?
まあ、したほうがよいとは思いますが、GCが開放してくれるなら
まかせようと思うのですけど。
クライアントアプリなのでたまに開放されないぐらい問題ないので。
952デフォルトの名無しさん:05/02/24 11:51:50
>>951
気にせず放置。
これマネージドリソースの基本。
953デフォルトの名無しさん:05/02/24 11:59:46
>>952
了解です。放置でいきます。さんくす。
954デフォルトの名無しさん:05/02/24 12:06:08
winAPI ExtFloodFill を.NETで使うにはどうしたらいいんでしょうか?
955デフォルトの名無しさん:05/02/24 12:12:10
956デフォルトの名無しさん:05/02/24 12:18:30
>>955
dクス
957デフォルトの名無しさん:05/02/24 14:06:46
>>949
ラジオボタンを使う
958デフォルトの名無しさん:05/02/24 16:45:10
メソッドを再入不可にしたい場合はどうしたらよいでしょうか?
959デフォルトの名無しさん:05/02/24 17:49:21
テキストボックスを継承して、数値のみしか受け付けないテキストボックスを以下のように
作成しました。これですと ctrl+c、ctrl+x、ctrl+v も使用できないのです。
コピペを可能にするにはどのようにすればよいのでしょうか??

Public Class NumTextBox
Inherits System.Windows.Forms.TextBox

#Region " コンポーネント デザイナで生成されたコード "

Protected Overrides Sub OnKeyPress(ByVal e As System.Windows.Forms.KeyPressEventArgs)
Dim c As String = e.KeyChar

If Not IsNumeric(c) And c <> vbBack Then
e.Handled = True '処理を止める
Else
MyBase.OnKeyPress(e)
End If

End Sub
End Class
960デフォルトの名無しさん:05/02/24 17:53:05
>>959
OnTextChangedで制御したら?
961デフォルトの名無しさん:05/02/24 19:09:04
>>959
そういう問題ぐらいは自分でいろいろ試行錯誤して解決できることが
PGに必要な最低限の資質だと思う。
Private Sub TextBox1_KeyDown(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyEventArgs) Handles TextBox1.KeyDown
Console.WriteLine(e.KeyData.ToString)
End Sub
962デフォルトの名無しさん:05/02/24 19:27:42
LinkLabelコントロールに、クリップボードからテキストを貼り付けたとき、
URLやメールアドレスを抽出して、それをハイパーリンクとしてLinkLabel
のLinks.Addで加えたいと思っているんですが。。。テキストのどこから
どこまでがURLあるいはメアドかを判定する方法で困っています。なにか
いい方法ないでしょうか。

URLの始まりは、「http:」「ftp:」などで、Instr関数で検索すればいいと
思うんですが、どこまでがURLかを判定できないでいます。また、メアドに
関しては、完全にお手上げ状態でして。。。
963デフォルトの名無しさん:05/02/24 19:32:49
>>962
正規表現Regexクラスを使えば良い。
URLの実装は割と簡単。
メールアドレスはまともに実装しようとすると死ねるので適度に手を抜いて。
正規表現って何とかどう書けばいいのとかはググれ。
964デフォルトの名無しさん:05/02/24 20:04:02
>>963
うおーー素早いレスありがとうございます! 助かりましたーこれから
勉強します! がんばります〜〜〜
965デフォルトの名無しさん:05/02/25 01:17:01
function conv_hex( param )
{
var hex="";

for(var i=0; i<param.length; i++){
hex = hex + param.charCodeAt(i).toString(16);
}
return hex;
}

javascriptで文字列から無理矢理16進数に変換した文字列を
vbsで10進数の文字列に戻したいんですがどう記述すればいいでしょうか?

他のスレですれ違いだと言われたのでこちらに書き込みさせて頂きます(´・ω・`)
966デフォルトの名無しさん:05/02/25 02:00:44
文字列が欲しいだけなら10進数にする必要ないと思う
967デフォルトの名無しさん:05/02/25 02:03:06
Val("&h"+hex)
968デフォルトの名無しさん:05/02/25 12:00:02
VBAとVBA.NETではどちらが習得しやすい言語でしょうか?
969デフォルトの名無しさん:05/02/25 12:07:50
VBA.NETという言語が存在しない現状、VBAと答えざるを得ない。
970デフォルトの名無しさん:05/02/25 12:45:36
フォーム上にWord、もしくはExcelの文書を表示、編集することは可能だろうか?
971970:05/02/25 13:28:53
WebBrowserってコンポーネントで開けるには開けるんだが、
ファイルを開いた時ダウンロードの確認が出てしまう・・・
「開く」を選択すればいいんだが・・・
972デフォルトの名無しさん:05/02/25 13:29:34
今から学習するならVBかVB.NETどっちがいいの?
973デフォルトの名無しさん:05/02/25 14:23:53
>>972
足を踏み入れないという選択肢もある
974デフォルトの名無しさん:05/02/25 15:21:26
言語         将来性    難易度    
VB6         ×      ◎
C++         △       ×
VB.NET      ○      ○
C#          ◎      ○
Java        ○      △
ANSI C      ○      △
975デフォルトの名無しさん:05/02/25 15:23:10

ASP.NETのモバイルコントロールでIMODE用サイトを作成しています。

機種によってはcookieを使用できないようなのでweb.configの
cookielessを"true"に設定しています。

また機種によってはリダイレクトのURLがフルパスでないと動かない場合があるので
web.configに以下の設定を追加しています。

  <httpRuntime useFullyQualifiedRedirectUrl="true" />

上記設定でSSLなし(http://〜でアクセス)では正常に稼動するのですが
SSL有り(https://〜でアクセス)の時にリダイレクトのURLが
http://〜になってしまいタイムアウトしてしまいます。

(携帯)               (APサーバー)
https://〜でアクセス         → 
                   ← http://〜でリダイレクトURLを返信
受信したURL(http://〜)で再アクセス →  
タイムアウトエラーが表示       ← タイムアウト

リダイレクトのURLがhttps://〜で帰ってきてくれたら解決できそうなのですが
方法が見つからなくて困っています。

<httpRuntime useFullyQualifiedRedirectUrl="true" />
はSSL(HTTPS)に対応していないのでしょうか?

どなたか知っている方、教えてください。

よろしくお願いします。
976 :05/02/25 15:26:00
 
977デフォルトの名無しさん:05/02/25 15:34:18
978デフォルトの名無しさん:05/02/25 16:05:04
>>977
・・・だめ?
979デフォルトの名無しさん:05/02/25 17:00:38
>>978
だめでしょう。
2ch だって、コミュニティなんだからね。
980デフォルトの名無しさん:05/02/25 17:42:58
>>972
俺には流石に発売中止になっている製品を勧めることは出来ないよorz
その2択ならVB.NETにしとけ。
981デフォルトの名無しさん:05/02/25 17:55:17
>>980
俺も賛成。
VB厨にならないためにも、VB.NETからやるべきだ。
JavaかC++やってれば楽勝。
982デフォルトの名無しさん:05/02/25 18:21:06
>>979
ごめんなさい
めちゃくちゃ悩んでるもんで
httpsでアクセスしてリダイレクトもhttpsで
返ってくることさえできれば・・・
983デフォルトの名無しさん:05/02/25 19:02:08
すみませんが教えていただけないでしょうか?

vbでデータベースを作成してるのですが、

フォームが2つあって1つは[取引先住所録]、もう1つは[社員の住所録]です。

[社員の住所録]のとき登録した社員名を[取引先住所録]で担当ヘルパーとして選択できるようにしたいのです。

それで[社員の住所録]で作成したxsdファイルを[取引先住所録]フォームで読み込みたいのですがどうしたらよいのでしょうか?

よろしくおねがいします。
984デフォルトの名無しさん:05/02/25 19:12:30
スレが終わり際なのに質問するのは心苦しいんだけど。

VB.NET 2005 Express Edition betaでプログラム中。

Dim outputBitmap As New System.Drawing.Bitmap(100, 100)
Dim g As Graphics = Graphics.FromImage(outputBitmap)
'出力用のBitmapと、それに絵を描くためのGraphicsを用意

g.FillEllipse(Brushes.Black, 50, 50, 20, 20)
'絵を描く

この後、gの中身を保存するにはどうしたらいい?
outputBitmap.Save("hoge.bmp")
だと100*100の白い絵が保存される・・・orz
985最凶VB厨房:05/02/25 19:27:10
>984
hoge.bmpを消してからもう一度やってみて。
986最凶VB厨房:05/02/25 19:33:27
すまん。Clearメソッドを入れてやってみて

g.Clear(Color.White)
g.FillEllipse(Brushes.Black, 50, 50, 20, 20)
987デフォルトの名無しさん:05/02/25 19:48:21
>>985
できますた。thx
988最凶VB厨房:05/02/25 19:50:29
bmpを表示したアプリケーションが透明に対応してないだけで
コード自体に問題があったわけじゃぁない。
989デフォルトの名無しさん:05/02/25 20:42:38
Tab区切りテキストを出力したいのですが
.NETならではの書き方はありますか?
普通にfopenしてprintfしていけばいいですか?
990最凶VB厨房:05/02/25 22:05:20
printfじゃだめだなw
それは置いといて。

StreamWriterクラスでも使えば.netしてるぜーって
感じになるんでねーの?ならんか。
991最凶VB厨房:05/02/26 00:11:19
新スレ
VB.NET質問スレ (Part10)
http://pc5.2ch.net/test/read.cgi/tech/1109343613/
992デフォルトの名無しさん:05/02/26 00:41:35
フォームの幅をかなり小さい値にすると、勝手に広げられて
しまいます。(タイトルの文字が見えるようにされるのでしょうか?)

この、自動的に幅を広くしてしまう機能を避けて、指定した
小さい幅にするにはどうすればよいでしょうか。
993最凶VB厨房:05/02/26 01:01:47
FormBorderStyleを変えると可能ではある。
994デフォルトの名無しさん:05/02/26 01:16:09
FormBorderStyleは普通にSizableにしているのですが、
何に設定すればよいでしょうか。
995最凶VB厨房:05/02/26 01:18:42
SizableToolWindowとか
試行錯誤してくれ。それ以上のことは胃炎
996デフォルトの名無しさん
>>995
どうも。できました。