VB.NET質問スレ (Part7)

このエントリーをはてなブックマークに追加
1デフォルトの名無しさん
VB.NETの質問全般です

過去スレ
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デフォルトの名無しさん:04/10/02 11:10:39
どぼん!のVB道のトップページとTipsページ
http://dobon.net/vb/
http://dobon.net/vb/dotnet/index.html
Microsoftクイック スタート チュートリアル
http://ja.gotdotnet.com/quickstart/default.aspx
リソースセンター> .NET関連リンク
http://www.atmarkit.co.jp/fwin2k/rescenter/indexpage/net.html
Insider.NET
http://www.atmarkit.co.jp/fdotnet/index.html
@IT: 連載 VB.NETプログラミング
http://www.atmarkit.co.jp/fdotnet/vb6tonet/index/index.html
@IT:連載 改訂版 C#入門
http://www.atmarkit.co.jp/fdotnet/csharp_abc2/index/index.html
C#プログラミングTips
http://www.atmarkit.co.jp/fdotnet/csharptips/index/csharptips_index.html
3デフォルトの名無しさん:04/10/02 11:11:39
宇宙仮面の C# プログラミング / C# Programming
http://ukamen.hp.infoseek.co.jp/
VB.NETとC#でデザインパターン
http://hccweb1.bai.ne.jp/tsune-1/
ConvertCSharp2VB
http://www.kamalpatel.net/ConvertCSharp2VB.aspx
WisdomSoft 〜Developers Network〜
http://black.sakura.ne.jp/~third/
CodeProject
http://www.codeproject.com/vb/net/
the GotDotNet Home Page
http://www.gotdotnet.com/
KEN's .NET
http://www5b.biglobe.ne.jp/~yone-ken/VBNET/index.html
ソース置き場.NET
http://do.sakura.ne.jp/~junkroom/cgi-bin/megabbs/readres.cgi?bo=lounge&vi=1003826049
Cetus Links: 19,498 Links on Objects and Components / .NET
http://www.cetus-links.org/oo_dotnet.html
4デフォルトの名無しさん:04/10/02 11:14:50
関連スレ
VisualStudio.NET(MSDN Deluxe) Part13
http://pc5.2ch.net/test/read.cgi/tech/1083995297/
ふらっとC♯(Part5)
http://pc5.2ch.net/test/read.cgi/tech/1065196964/
C♯相談室 Part18
http://pc5.2ch.net/test/read.cgi/tech/1096112588/
managed C++ やろうぜ!!
http://pc5.2ch.net/test/read.cgi/tech/1014486422/
フリーの.NET統合開発環境「SharpDevelop」
http://pc5.2ch.net/test/read.cgi/tech/1023727377/
消しゴムじゃない方のMONOを使ってみるスレ
http://pc2.2ch.net/test/read.cgi/tech/1020215602/
♯♯♯Shared Source CLI ♯♯♯
http://pc2.2ch.net/test/read.cgi/tech/1024222901/
VBプログラマ質問スレ(6.0以前) Part38
http://pc5.2ch.net/test/read.cgi/tech/1095673000/
5デフォルトの名無しさん:04/10/02 11:15:34
6デフォルトの名無しさん:04/10/02 11:17:11
.NET Framework のランタイム テクノロジに関するパフォーマンス上の注意事項
http://www.microsoft.com/japan/msdn/net/general/dotnetperftechs.asp

Microsoft .NET Framework の Windows フォームを使用したペインティング テクニック
http://www.gotdotnet.com/japan/team/windowsforms/windowsformspainting.aspx

ガベージコレクション入門: Microsoft .NET Framework の自動メモリ管理 Part I
http://www.microsoft.com/japan/msdn/net/mag00/GCI.asp

C# プログラミング言語の将来の機能
http://www.microsoft.com/japan/msdn/vs/vcsharp/vbconCProgrammingLanguageFutureFeatures.asp

適当に選んだ資料。


http://www.ne.jp/asahi/nami/mei/dotnetlink.html
http://www.atmarkit.co.jp/fdotnet/tools/index/index.html

JScript .NETはこちらで:
ECMAScript デス 2
http://pc5.2ch.net/test/read.cgi/tech/1088298991/l50
7デフォルトの名無しさん:04/10/02 11:17:58
以上
8デフォルトの名無しさん:04/10/02 15:30:52
乙鰈
9デフォルトの名無しさん:04/10/03 04:04:21
ASP.NETのApplicationオブジェクトとSessionオブジェクトってどう違うんですか?
ApplicationはSTATICでSessionオブジェクトはSessionごとってこと?
うーん、違いが不明。クッキーが関係するのかな?
よく分からない。
だれか、教えてー!!!
10デフォルトの名無しさん:04/10/03 11:22:35
>9
 思いっきり簡略化すると、Applicationオブジェクトは
そのアプリケーション単位で共有、Sessionオブジェクトは、
クライアントPC毎に分かれる。
11デフォルトの名無しさん:04/10/03 23:10:19
>10
ご返信ありがとうございます。
ということは、JAVAとまったく同じじゃないですか?
ですよね。
129:04/10/03 23:26:09
Applicationっていうのは、IISのことですか?
それとも、プロジェクト?
13デフォルトの名無しさん:04/10/04 00:37:29
横からスマソ
Applicartion=買い物かご機能
Session=それを使ってる各ユーザ
こんな感じ
14デフォルトの名無しさん:04/10/04 08:18:01
間違ってるし、スレ違い
15デフォルトの名無しさん:04/10/04 18:46:24
二つのリストボックス間で、複数のデータをドラッグ&ドロップする方法を教えてください。
16デフォルトの名無しさん:04/10/05 08:01:09
NET.2003このNETは、なぜついたのですか?
17デフォルトの名無しさん:04/10/05 08:22:46
18デフォルトの名無しさん:04/10/05 16:46:27
クリックやキー入力があると
ステータスバーを初期化する処理をしたいのですが、
全てのボタンやテキストのクリックやキーダウンイベントに
処理を入れずにステータスバーを初期化する方法はありませんでしょうか?
(全てのクリックやキーイベントを拾うみたいな)

開発言語はVB.NETです。
よろしくお願い致します。
19デフォルトの名無しさん:04/10/05 22:08:02
キープレビューで拾ってしまえば?
マウスとキーだけの入力でいいんでしょ?
20デフォルトの名無しさん:04/10/05 22:13:54
21教えてくんです:04/10/06 15:11:32
VB.NETで、音声ファイル(.wav)のエフェクトの方法を教えて下さい。
男声を、いろんな女声に変換する方法も知りたいです。
22 ◆FIcNi4f8js :04/10/06 15:25:09
フーリエ変換して周波数を高い方にシフトして逆フーリエ変換で戻す
23教えてくんです:04/10/06 15:31:45
即答ありがとうございました。

音声ファイル(.wav)のオブジェクト生成?といった基本的な方法と、
高速フーリエ変換、
周波数を高い方にシフト、
逆フーリエ変換のアルゴリズム、それに関するサイトを教えて下さい。
24デフォルトの名無しさん:04/10/06 15:34:52
FFTは本買って理解した方が早い
25 ◆FIcNi4f8js :04/10/06 15:41:20
26 ◆FIcNi4f8js :04/10/06 15:47:55
>>25 のリンク先に面白いのがあった
関連書籍の画像らしいです
ttp://www.cepstrum.co.jp/1book/book_l.jpg
27デフォルトの名無しさん:04/10/06 17:48:52
あー単位落としたこと思い出した
28デフォルトの名無しさん:04/10/06 19:27:31
>>20
ありがとうございます
さっそく見てみます!
29デフォルトの名無しさん:04/10/06 21:00:59
皆デザインパターンってお勉強してる?
現場で役に立つのかな?
30デフォルトの名無しさん:04/10/06 21:22:56
役に立つというか、自然に使ってて後からあれはパターンだったのかと気付くもの
31デフォルトの名無しさん:04/10/06 21:39:07
テキストボックス内のテキストを上下方向で
中央に表示することは出来ませんでしょうか。
32デフォルトの名無しさん:04/10/06 21:44:20
VB.NETで使えるPostgreSQL用のデータプロバイダ探してるんだけど
ここで聞いてもいいの?(というか聞いてるんだけど)
33デフォルトの名無しさん:04/10/06 22:35:59
>>31
1 InputManを買う
2 textboxを継承したクラス作って自分で描画する
のどちらかかな?
34デフォルトの名無しさん:04/10/07 00:06:10
>>32
ODBC汎用じゃいかんの?
35デフォルトの名無しさん:04/10/07 00:47:37
メールソフト作りたいんですが、winsockだけでは無理?
やっぱwin32APIの知識も必要ですか?
36デフォルトの名無しさん:04/10/07 10:25:27
>>35
System.Web.Mailではいかんの?
3732:04/10/07 14:00:55
>>34
ODBC汎用でやった時にデータセットを作る段階になると、
スキーマが読み込めませんって言われる
38デフォルトの名無しさん:04/10/07 15:49:30
VB.NETでトレンドグラフを作りたいんですけど、
良いソフトありませんか?
「ぶどう街」さんのところのソフトはメモリリークバグがあって
連続運転に向かないようなんですけど。<サポートに確認済
最低でも12時間以上は連続で描画したいんです。監視用アプリなので。
39デフォルトの名無しさん:04/10/07 16:15:59
>>35
Win32はいらん。
とりあえず、RFC読めばワリと簡単に形にはなる。
40デフォルトの名無しさん:04/10/07 22:32:42
Private Sub Form_KeyDown(ByVal KeyCode As Integer, ByVal Shift As Integer)

If KeyCode = System.Windows.Forms.Keys.Up Then PictureBox1.Top = PictureBox1.Top - 10
If KeyCode = System.Windows.Forms.Keys.Down Then PictureBox1.Top = PictureBox1.Top + 10
If KeyCode = System.Windows.Forms.Keys.Left Then PictureBox1.Left = PictureBox1.Left - 10
If KeyCode = System.Windows.Forms.Keys.Right Then PictureBox1.Left = PictureBox1.Left + 10

End Sub

これを貼り付けてもピクチャーボックスが動かないのはなぜでつか・・・
41デフォルトの名無しさん:04/10/07 22:50:32
>40
 宣言部にイベントへ関連付ける記述が無いな・・・
 このプロシージャは、このイベントが発生した時に実行する、
と言う関連付けが必要なのだが、確認してみ。

 VB6.0以前に慣れていると、ドツボに嵌る部分。
42デフォルトの名無しさん:04/10/08 00:22:24
教えてください。VB.NET2003初心者です。お願いします。
アイコンを登録削除できるランチャーを作ろうと思います。
コンポーネントの配置
流れは、、、
3個位のアイコン配置できるコンポーネント↓
コンポーネントを右クリックしたときにでる登録削除のPOPUP↓
登録をクリックするとダイアログでアプリが登録できる↓
アイコンをクリックすると実行↓
と考えています。
ダイアログの処理はわかるのですが、
アイコンを配置できるコンポーネントは何か、
POPUPメニューがでてくるコンポーネントは何かがわかりません。
お手数ですが教えて下さい。
43デフォルトの名無しさん:04/10/08 00:31:40
>>42
なんか「コンポーネント」ってドラえもんの道具か何かと勘違いしてないか?
画面にポトペタするだけで「あんなことこんなこと」思ったとおりかなえてくれるなら
プログラマなんていらないじゃん。
44デフォルトの名無しさん:04/10/08 00:36:26
これから勉強します。。
45デフォルトの名無しさん:04/10/08 08:04:19
>>41
ググってもよくわからなかったのですが、具体的にどうしたらいいでしょうか・・・?
46デフォルトの名無しさん:04/10/08 09:46:10
>45
単純に Handles が無いって言ってるんだと思うが。

つか中途半端にVBとVB.NETが混じったソースだなぁ。
Handlesつけても引数が間違ってるから動かんね。
47デフォルトの名無しさん:04/10/08 16:15:50
VS2003.NET使用者です。

今、SQLから返ってきた結果をDataSetに格納し
XMLに吐きだしているのですが、
DataSet.WriteXML()を用いた場合、
NULL値がXMLに書き出されずに困っています。
すべての列の値がきちんと書き出される方法はないでしょうか?

これがないために、再度データベースに書き戻す際に
列の個数が合わないのです。
大変お手数をおかけしますが、よろしくお願い致します。
48デフォルトの名無しさん:04/10/08 17:06:19
スキーマ情報も一緒に書き出してる?
4947:04/10/08 17:48:44
>>48
はい。書き出してます。
ただし、データがNULLのところはタグごと出力されません。
50デフォルトの名無しさん:04/10/08 18:32:55
ds.WriteXml("C:\hoge.xml", XmlWriteMode.WriteSchema)
で書き出した奴をReadXMLで読み込む文には問題なかったんだけど
もうチョイ調べてみる
5147:04/10/08 18:38:27
自己解決しました。
結局、表示はあきらめ、
insert into テーブル名(列の定義) values(・・・);
として処理することにしました。
5247:04/10/08 18:39:25
>>50
あ、出せそうですか。わざわざありがとうございます。

どちらかというとタグが全部出る方が
その後の処理が扱いやすいので助かります。
53デフォルトの名無しさん:04/10/08 19:14:12
VB.NET 2003ってフリーソフトとしてホムペに載せられますよね?
54デフォルトの名無しさん:04/10/08 19:17:16
>>53
ハァ!?
55デフォルトの名無しさん:04/10/08 20:58:58
製品でつ
56デフォルトの名無しさん:04/10/08 21:42:05
教えてください。

質問1
VB.NETでコードを打ち込むとき、コメント文は緑色で表示され、
予め用意されている関数は青色で表示されますよね。
これと同じように、リッチテキストボックスに表示された特定の文字列の色を変えたいのですが、
どのようなコードを記述すればよいのでしょうか。
57デフォルトの名無しさん:04/10/08 21:42:24
質問2
正規表現を使った文字列の置換で、マッチした文字列から一部の文字列を
抜き出し、置換後の文字列に反映させることはできないでしょうか?

例えば、
<IMG SRC="ABC.gif" WIDHT=100 HEIGHT=100>や
<IMG WIDTH=200 HEIGHT=200 SRC="DEF.gif" v:shapes="_x0000_i1025">
というイメージタグから「IMG」と「SRC=" "」の部分だけを残してそれぞれ、
<IMG SRC="ABC.gif">
<IMG SRC="DEF.gif">
という風に置換したいのですが、
こうするためには、正規表現でマッチした文字列で
「SRC="」からその直後の「"」までの記述を記憶しておき、
置換後の文字列に反映させるのが確実だと思うのです。

今は、
RichTextBox1.Text = Regex.Replace(RichTextBox1.Text, "\<IMG[^\>]*SRC=""", "<IMG SRC=""")
RichTextBox1.Text = Regex.Replace(RichTextBox1.Text, "\.gif""[^\>]*\>", ".gif"">")
というコードでごまかしているのですが、
このコードでは、イメージタグ以外の文字列まで置換してしまう危険性があります。
例えば、リッチテキストボックス内に
<A HREF="GHI.gif" TARGET="TOP">
という文字列があったとすると、この文字列まで
<A HREF="GHI.gif">
と置換されてしまいます。

何か良い方法があればご教示ください。
58デフォルトの名無しさん:04/10/08 22:28:58
ファイルをドロップして起動して、そのファイルのパスを取得したいのですが、どうすればよいでしょうか?
59デフォルトの名無しさん:04/10/08 23:15:36
>>58
C#で悪いけど。

private void Form1_Load(object sender, EventArgs e)
{
 this.AllowDrop = true;
}

private void Form1_DragEnter(object sender, DragEventArgs e)
{
 e.Effect = DragDropEffects.All;
}

private void Form1_DragDrop(object sender, DragEventArgs e)
{
 string[] l_asFiles = (string[])e.Data.GetData(DataFormats.FileDrop);
 foreach (string l_sFile in l_asFiles)
 {
  Debug.WriteLine("FileName = " + l_sFile);
 }
}
6058:04/10/08 23:56:05
自己解決しました。.netでもcommand関数使えました。
61デフォルトの名無しさん:04/10/08 23:56:47
62デフォルトの名無しさん:04/10/10 18:35:23
HTMLファイルから <a href="〜"> の 〜 部分を抜き出すのに、
Perlなら
@links = ($contents =~ /<a href=\"(\S+)\">/g);
みたいに簡単にできますが、これと同じことをVB.NETで
実現するにはどう書けばよいのでしょうか。
63デフォルトの名無しさん:04/10/10 18:38:37
>62
すいません。ヘルプに似たような例がありました。
64sage:04/10/10 23:34:13
MailSlotをつかってタスク間通信を行いたいのですが、
どのようにすれば良いのでしょうか?
APIをガリガリ使えば何とかできたのですが、
せっかくStreamクラス等が用意されているので
出来るだけAPIを使わずに、実現したいと考えております。
65超初心者:04/10/11 07:19:00
Cで作ったDLLの、
「引数に関数のポインタがある関数」を
VB側から呼び出すことってできませんか?

DLLEXPORT int __stdcall test( double (*func)(int a) , int b)
↑こういうの
66デフォルトの名無しさん:04/10/11 10:33:23
できます
67デフォルトの名無しさん:04/10/11 16:36:00
こんにちは。ASP.NETの勉強中です。
webmatrixhostingでテストしようと思っています。
ttp://europe.webmatrixhosting.net/japan/default.aspx
しかし、使い方がまったくわからないのです。
どのファイルをアップしたらいいのか、初期ページをどのように変更したらよいのかわかりません。
どなたか、使用方法を教えてください。よろしくお願いします。
6867:04/10/11 17:12:46
すいません。
自己解決しました。
69デフォルトの名無しさん:04/10/11 22:11:23
VB.NETのスタンダードエディションをインストールしたら、
IISのドキュメントルートに指定していたフォルダ配下の
ファイルが更新できなくなってしまいました。
どのファイルを開いても、他のプロセスが使用中というような
ダイアログが出てしまいます。これは一体なんなんでしょうか。
70デフォルトの名無しさん:04/10/12 01:53:00
お世話になります。
ASP.NETで携帯アプリを作成しているのですが、
入力画面で入力した値を、変数に代入しているのですが、次のフォームに移ると、代入した値が消えてしまっています。
PRIVATE,PUBLIC,PROTECTED,FRIEND、どれを指定してもだめです。
携帯ではなく、PCで検証しているからこうなるのでしょうか?
あるいは,他の理由か?
どなたか,ご教授ください。
よろしくお願いします。
71デフォルトの名無しさん:04/10/12 07:10:44
ごくごく当たり前の現象。
変数は通常引き継がれない。
Webプログラミングの基礎からやり直した方がいい。
72デフォルトの名無しさん:04/10/12 07:12:01
対策としてはセッション変数などを使う事。
73デフォルトの名無しさん:04/10/12 19:37:00
Visual Basic.NET超初心者です。
1=1+ε
を満足する正実数εのうち最大のもの(マシンイプシロン)を求め、
それを有効数字三桁まで表示するプログラムを組みたいのですが、
今まで何のプログラムも組んだことがないので、手も足も出ません。
どなたかお力をお貸し下さい。お願いします。
74デフォルトの名無しさん:04/10/12 20:09:06
宿題か?(笑
手も足も出ないところから教えてもらうより、最初は本でも見たほうができるだろ
本見て詰まってからこっち来い。

わからないところは教えられるけど、おまいさんのわからないところがどこだか教えるのは無理だ
75デフォルトの名無しさん:04/10/12 20:22:45
>>73
そんな難しい問題か?
それに学校の課題ならテキストにヒントみたいなこと書いてあるんじゃない?

2分法とかのアルゴリズムとか、数学で「はさみうち」を勉強したことがあれば
その考え方の応用でいけるでしょ。

ところで、たぶん>>74は解放が分らないに5万両。
7673:04/10/12 21:25:43
>>74,75
εに適当な値を代入した時に、
1+εが1より大きいか、等しいかを判別するプログラムは
あらかじめ与えられています。
それ以外のテキストはないに等しいです。
自分でネットで極基本的な文法は勉強しました。
For文で1+εが1より大きくなるまで(1e-10から1e-20位まで)
演算させて、If文で大きくなる直前のεを出力させるプログラムを
組もうと思ったんですが、
For文とIf文の条件式の書き方とか、
どうしたら有効数字三桁で出力できるのかとか、
分からない事が多すぎて立ち止まってます・・・。
77デフォルトの名無しさん:04/10/12 22:06:56
>>75
解放誤字乙
78デフォルトの名無しさん:04/10/12 22:09:08
1+(1/(2^n))でnを増やすのが良いと思う
79デフォルトの名無しさん:04/10/12 22:39:30
>>76
条件式の書き方がわからないんだったらネットで調べる前に文法の本を買ってきたほうがいいと思うぞ
全部ネットで調べようとすると時間がかかってしかたない
80初心者 ◆qIFvKWN9EM :04/10/12 23:24:56
はじめまして初心者です^^
ヴィジュアルベーシックを扱ってみたいのですが
今流行りなのは.NETと聞きそれを購入してマイピーシーに導入しようと思うんですけど
本体はいくらぐらいするものなのでしょうか?
それと参考書など独学で学んでいくのにお勧めの物などあれば教えてもらえませんか?
81デフォルトの名無しさん:04/10/12 23:38:40
VB.NETの文法なら
http://www.atmarkit.co.jp/fdotnet/vb6tonet2/index/index.html

でも、本で見るほうが分かりやすいと思われ
このページの元になった本持ってるけど、本のほうがやっぱり見やすい。
82デフォルトの名無しさん:04/10/12 23:41:47
補足:>>81>>73からの一連の流れに対するレスだからな。

>>80に対するレスは
本は http://pc5.2ch.net/test/read.cgi/tech/1089492835/
本体価格は http://www.kakaku.com/prdsearch/detail.asp?PrdKey=03107010082
83デフォルトの名無しさん:04/10/12 23:47:33
>>73
こういうことか?「有効数字」の意味とどの型をターゲットにているのかが
よく分らんが。とりあえずDoubleで。

  Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
    Dim BandWidth As Double = 0.5R
    Dim LeftVal, RightVal, CenterVal As Double
    Dim Epsilon As Double = 0
    Do While BandWidth <> 0.0R
      'LeftVal = 1.0R + Epsilon
      'RightVal = 1.0R + Epsilon + BandWidth * 2
      CenterVal = 1.0R + (Epsilon + BandWidth)
      If CenterVal = 1.0R Then
        Epsilon += BandWidth
      End If
      BandWidth /= 2
    Loop
84デフォルトの名無しさん:04/10/12 23:48:24
83の続き

    Dim FormatString As String = "0."
    Dim NumDigit As Integer = 0
    Do
      FormatString &= "0"
      Dim EpsilonString As String = Epsilon.ToString(FormatString)
      If Epsilon.ToString(FormatString) <> FormatString Then
        Dim TrimedEpsilonString As String = EpsilonString.Substring(0, EpsilonString.Length - 1)
        Dim TrimedFormatString As String = FormatString.Substring(0, FormatString.Length - 1)
        If TrimedEpsilonString = TrimedFormatString Then
          NumDigit = 1
        Else
          NumDigit += 1
        End If
      End If
    Loop While NumDigit < 3
    MsgBox("Epsilon = " & Epsilon.ToString(FormatString))
  End Sub
8573:04/10/13 00:15:02
皆さんアドバイス本当にどうもありがとうございました。
いただいたアドバイスを元にがんばってみます。
また分からないことがあったらお願いします。
86初心者 ◆qIFvKWN9EM :04/10/13 01:31:11
>>82
ありがとうございます^^
なるほど、本体のほうは見る限りだと1万〜2万前後が相場なんですね
本のほうはよくわかりませんでしたが本屋で立ち読みでもして
気に入ったのを買って家でじっくりとやっていこうと思います
また困ったことがあったらよろしくお願いします^^
87初心者2:04/10/13 06:03:55
visual basicで
『フォームに6個のピクチャボックスを作成し、
ピクチャボックス番号と色指定をすると、指定された
ピクチャボックスがその色で塗られる』
という課題なのですが教えてください
88デフォルトの名無しさん:04/10/13 06:07:56
>>87
なぜ朝に…
89初心者2:04/10/13 06:11:09
明日の課題なのを忘れてました
90デフォルトの名無しさん:04/10/13 06:16:21
それはVisualBasic6じゃないだろうな?.NETでいいんだな?
91デフォルトの名無しさん:04/10/13 06:19:39
つーかマルチにはとりあわなくていいじゃん
92初心者2:04/10/13 06:20:37
6です。ここじゃ無理ですか
93デフォルトの名無しさん:04/10/13 06:50:12
マルチで6なのかよ。そりゃここじゃ無理だ
94デフォルトの名無しさん:04/10/13 08:50:13
>>87
こんなの考える余地なんてないだろ
ただの作業だ
95デフォルトの名無しさん:04/10/13 10:38:17
>>87
解決したらそれもマルチポストしとけよ
96デフォルトの名無しさん:04/10/13 13:11:28
test
97デフォルトの名無しさん:04/10/13 13:19:27
フォーム上でmpgファイルはどうやったら再生できますか?
メディア関係には疎いので何もわかりません
98デフォルトの名無しさん:04/10/13 13:24:00
VB6.0からVB.NETに移行するのマンドクセー
MSに金払ったらやってくれるのかな?
99デフォルトの名無しさん:04/10/13 13:52:55
>>98
MSに金払ったら移行するための勉強をさせてもらう権利が得られますw
100デフォルトの名無しさん:04/10/13 13:55:05
>>97
一番手っ取り早いのはメディアプレーヤのコンポーネントを貼り付ける
かな?
101デフォルトの名無しさん:04/10/13 14:37:40
>>99
5万/Kstep払うから、やらないか?
102デフォルトの名無しさん:04/10/13 20:22:17
SelectionMode.MultiSimpleにしたListBoxで、
Itemを複数選択し一度に削除する為以下を実行しましたがエラーになります。

For i = 0 To Me.ListBox.SelectedItems.Count - 1
    Me.ListBox.Items.Remove(Me.ListBox.SelectedItems(i))
Next i

上記を

Me.ListBox.Items.Remove(Me.ListBox.SelectedItems(i))

だけにすると、1番上のItemは削除されるのですが、
Forで連続して削除することは出来ないのでしょうか。
宜しくお願いします。
103デフォルトの名無しさん:04/10/13 20:39:17
>>102
んーなもんiは単なるインデックスであってIDじゃないからでしょ。
例えば10コのアイテムから5コ削除完了してi=5になった時点で
Me.ListBox.SelectedItems(i)なんて存在しないじゃん。

解決法としては、例えばFor Eachつかえばいいんじゃないの?
104デフォルトの名無しさん:04/10/13 21:18:41
>>103
たしかにSelectedItems(i)では、消したItemによっておかしくなりますね。
だるま落としの容量で、SelectedItems(0)にしたところうまく動きました。

For i = 0 To Me.ListBox.SelectedItems.Count - 1
    Me.ListBox.Items.Remove(Me.ListBox.SelectedItems(0))
Next i

ありがとうございました。
105デフォルトの名無しさん:04/10/13 22:10:07
リッチテキストコントロールの内容をそのまま
printDocument使って印刷する方法を教えてください。

漠然と簡単にできると思ってたら、意外にこの2つを結ぶ線が見つからないんです。
106デフォルトの名無しさん:04/10/13 22:57:56
今日VB.NET買ってきました。
FrameWorkって何なんですか?
.NETで作ったプログラムが他のPCで動きません。
色々調べた結果FrameWorkに関係あるような気がしました。

どなたかこのプログラミング好きな素人めに救いの手を・・・
107デフォルトの名無しさん:04/10/13 23:20:17
>>106
何のつもりか知らんが全然面白くないよ。
ナンセンスギャグ?もう80年代じゃないんだけど。
108デフォルトの名無しさん:04/10/13 23:48:00
>>107
よくわかりませんがここは初心者は来てはいけないわけですね。
わかりました。
もっと貴方にとって有意義な質問ができるようになったらまた来ます。



(´・ω・`)でもせめてどうやったら他のPCで動くか教えて欲しかったな・・・
109デフォルトの名無しさん:04/10/13 23:59:23
107はこのスレに粘着しているC++厨だから気にするな
110デフォルトの名無しさん:04/10/14 00:06:27
>>108
初心者がいかんのではなくて、「初心者です」を楯に調べられることも
調べない人が嫌われるのです。
そして、その嫌う様をおもしろがって、誰でも知ってるような調べれば
すぐわかるようなことを、わざと質問する人がいます。
そういう人だと思われたわけです。
111デフォルトの名無しさん:04/10/14 02:11:13
なにを偉そうに
112デフォルトの名無しさん:04/10/14 02:26:40
>>106 もう来ないかもしれないが念のため核心だけ

VB 6で作成したプログラムを実行するにはVB 6のランタイムDLLが必要であったが、VB.NETで作成したプログラムを実行するには、.NET Frameworkランタイムが必要である
113デフォルトの名無しさん:04/10/14 02:56:06
いろいろ試してみれば、ここで不愉快になることもないよ、2chに来る奴バカしかいない
114デフォルトの名無しさん:04/10/14 03:02:52
VB.NETも移植したいな、マークに
115デフォルトの名無しさん:04/10/14 08:17:01
「初心者です」を免罪符のようにして調べずに質問するからな
プログラム初めてなのに本一冊も読まないでどうやってプログラム書いてるのかと
116デフォルトの名無しさん:04/10/14 09:20:49
>>106
君の書いたソースを見てみたいYO!
117デフォルトの名無しさん:04/10/14 13:48:35
>>113
やーいバカ
118デフォルトの名無しさん:04/10/14 14:36:16
VB.NETで表データを表示したいのですが、
FlexGrid か DataGrid のどちらを使用したらいいか
迷っています。
表の仕様は、
行列数は固定、プログラムからの表示のみでキー入力不可、
マウスクリックされた表内の行・列番号をプログラムで取り込む機能が必要、
セルの色はプログラムにより変更可
と言った感じです。
FlexGridでもDataGridでも可能なんでしょうが、
どちらがより適切なんでしょうか?
よろしくお願いします
119デフォルトの名無しさん:04/10/14 15:03:23
クリックしたところを拾うのはどちらでもほぼ同じ動作で出来ると思う
セルの色を任意に変えたいのだったらFlexGridのほうが楽
DataGridだとオーナードロー使っていちいち変えてやる必要がある
120デフォルトの名無しさん:04/10/14 19:43:52
WebBrowserで開いた新しいウィンドウを
タブに追加するにはどうすれば良いのですか?
タブブラウザみたいなやつです。
121デフォルトの名無しさん:04/10/14 19:45:06
WebBrowserで出てきた新しいウィンドウを
タブに追加するにはどうすれば良いのですか?

タブブラウザみたいなのです。
122デフォルトの名無しさん:04/10/14 19:45:56
すまない。ミスった。
-100で書き込んでて、書き込まれて無いと思った。m(__)m
123デフォルトの名無しさん:04/10/14 20:19:46
だいぶ前に、IEコンポーネントブラウザのスレがあったけど、どこいったの?
124デフォルトの名無しさん:04/10/14 20:41:11
学校の宿題でてんぱってます・・・
誰か助けてください 

問題
掛け算の99を表示させなさい

どうかお願いします
125デフォルトの名無しさん:04/10/14 20:51:50
>>124
C#だけどテキトーに。

for(int count = 1; count <= 99; count++)
{
for(int count2 = 1; count2 <= 99; count2++)
{
Console.WriteLine(count.ToString() + " "+"+"+" "+count2.ToString()+" "+"="+ " "+ (count*count2).ToString());
}
}
126デフォルトの名無しさん:04/10/14 20:53:06
間違った。99じゃなくて9999になってた。しかも*を+にしてた。
for(int count = 1; count <= 9; count++)
{
for(int count2 = 1; count2 <= 9; count2++)
{
Console.WriteLine(count.ToString() + " "+"*"+" "+count2.ToString()+" "+"="+ " "+ (count*count2).ToString());
}
}
127デフォルトの名無しさん:04/10/14 21:04:40
>>125-126
ありがとうございます
宿題Visual Basicなんです
これをVBでやるとどうなるんでしょう
たびたびすいません
128デフォルトの名無しさん:04/10/14 21:47:11
>>123
どこか、作り方とか説明してるサイトありませんかね?
129最凶VB厨房:04/10/14 21:52:49
130デフォルトの名無しさん:04/10/14 22:03:46
ここは救いようのない初心者が集まるスレですね
131デフォルトの名無しさん:04/10/14 22:29:16
>>129
VBのソースは・・・
132デフォルトの名無しさん:04/10/14 22:29:51
空気読めない独りよがりのネタを指摘された奴が逆ギレしてやってるんだったりして(w
133デフォルトの名無しさん:04/10/14 23:29:31
宿題聞いている輩は本気なのか?
この程度のことが思いつかないようでは、授業を受けている意味がないような・・・
134デフォルトの名無しさん:04/10/14 23:35:56
文系大学で単位とるための選択口座・・・
OTL
おながいします
135デフォルトの名無しさん:04/10/14 23:59:52
文法がわからないのかプログラムの流れが思いつかないのか
136デフォルトの名無しさん:04/10/15 00:06:44
>>134
来年もガンバレ
137デフォルトの名無しさん:04/10/15 00:10:11
文系にプログラミングの単位なんてあるの?
電算室ある理系の大学でないと無理な気がするんだけど。
138デフォルトの名無しさん:04/10/15 00:12:24
俺の学生の頃は工学部でもUNIXの授業しかなかった・・・
10年くらい前か
139デフォルトの名無しさん:04/10/15 00:14:39
>>136
やってみました
添削お願いします

Dim i, j As Integer
For i = 1 To 9
For j = 1 To 9
Console.Write(i * j)
Next
Console.WriteLine()
Next
Console.Read()

>>137
あるんです・・・
140デフォルトの名無しさん:04/10/15 00:30:48
サーバー監視ソフトを作りたいのですが、
スクリーンショットを保存する方法を教えてください。。
141デフォルトの名無しさん:04/10/15 00:36:27
「Print Screen」キーを押す
「ペイント」を開いて「クリップボードから貼り付け」
「ファイル名を指定して保存」

142デフォルトの名無しさん:04/10/15 00:43:08
言語でって意味だとおもう
143デフォルトの名無しさん:04/10/15 01:23:06
わかってやってんだと思う
144デフォルトの名無しさん:04/10/15 02:03:35
なんでスクリーンショットがいるのかワカラン。
145デフォルトの名無しさん:04/10/15 06:45:46
mshtml.HTMLDocumentをAxWebBrowser使わないで単独で使いたいんだけどできるかな?

146デフォルトの名無しさん:04/10/15 12:43:09
>>140
( ・∀)人(∀・ )通報しますた!
147デフォルトの名無しさん:04/10/15 21:50:38
>>140
検索しまくればなんとかなるレベルだと思うんだが
148デフォルトの名無しさん:04/10/15 22:31:23
宿題厨まだー?
149139:04/10/16 19:59:38
スルーされた
OTL
150デフォルトの名無しさん:04/10/16 20:12:15
>>139
これだと掛け算の結果が羅列されるだけで不十分だと思う
151139:04/10/16 20:26:35
>>150
結果が出ればいいってことだったんで・・・
どの辺り直せばいいでしょうか?
152デフォルトの名無しさん:04/10/16 20:50:42
そんな宿題をVBで課す意味がわからん
CでやれCで
153デフォルトの名無しさん:04/10/16 21:16:05
式を表示するだけだが、連結演算子を使って
Console.Write(i & "×" & j & "=" & i * j)
154139:04/10/16 21:35:16
>>152
教授に言ってくれ・・・
>>153
これをformat使って
綺麗にしたいのですがどうすればいいでしょうか?
155デフォルトの名無しさん:04/10/17 00:51:03
宿題を人にやらせるのか
156デフォルトの名無しさん:04/10/17 01:30:57
てきとうに見た目がよくなるボタンコントロールって無いかしら.
157デフォルトの名無しさん:04/10/17 06:23:36
すいません、ASP.NETって、HTMLのフォームではなくて、.NETのWEBフォームを使用してページ間でデータを共有する方法って、セッションを使うしかないんですね。
もしそうなら、PHPでHTMLのフォームを使っていたのと比べると、隔世の感がありますね。
いかがでしょうか?
ご教授願います。
158デフォルトの名無しさん:04/10/17 07:36:53
WebClientクラスを使ってHTMLデータをダウンロードしようとしているのですが、
EUCで書かれたページがうまくダウンロードできません。

StreamReaderを作る際に
New StreamReader(wc.OpenRead("http://www.asahi.com"), Encoding.GetEncoding("euc-jp"))
こんな感じで書いているのですが、日本語の一部(8割方ちゃんと読める)が
文字化けした状態になってしまいます。
正しく変換するにはどのように書いたらよいのでしょうか。
159デフォルトの名無しさん:04/10/17 10:23:28
群を抜いてレベルの低いスレだな、ここは。
160デフォルトの名無しさん:04/10/17 12:05:04
>158
すまん。自己解決。犯人は秀丸だった。
161デフォルトの名無しさん:04/10/17 13:13:59
>>159
足を入れたとたんに低レベルですよ
162デフォルトの名無しさん:04/10/18 03:51:53
.netで、XML WEB サービスを作っています。
WebMethodで、引数を与えて、引数から計算をして戻り値を返すという関数を作ったのですが、
WebMethod名に引数を与えたURLを入力すると、
「'/WebServiceSoap' アプリケーションでサーバー エラーが発生しました。
要求形式が認識されません。 」
と出てきてしまいます。
WebMethod名だけを指定したURLにすると、テスト画面になってしまいます。
なぜ、直接、レスポンスがないのでしょうか?


163デフォルトの名無しさん:04/10/18 10:23:50
164デフォルトの名無しさん:04/10/18 11:33:12
漫才見てるようで面白いスレだ
165デフォルトの名無しさん:04/10/18 12:11:21
データーを作った後、帳票印刷にエクセルを使おうとして、下のように組んでみました。
印刷するところまでは上手く言ったのですが、閉じようとするとエクセル側に”変更を
保存してもいい?”って聞かれてしまいます。このメッセージを無視して、エクセルを
閉じてしまうにはどうしたらよいのでしょうか?

166デフォルトの名無しさん:04/10/18 12:12:01
       Try
            Dim ExcelApp As Excel.Application
            Dim ExcelBook As Excel.Workbook
            Dim ExcelSheet As Excel.Worksheet
            ExcelApp = CreateObject("Excel.Application")
            ExcelBook = ExcelApp.Workbooks.Open("\\filesaver\data\printMitsumori.xls")
            ExcelSheet = ExcelBook.Worksheets(1)
            ExcelApp.Visible = True
            ExcelSheet.Cells(1, 1).Value = data1
            ExcelSheet.Cells(2, 1).Value = "data2
            ExcelSheet.PrintOut()
            ExcelApp.Quit()
167デフォルトの名無しさん:04/10/18 12:12:22
            ExcelSheet = Nothing
            ExcelBook = Nothing
            ExcelApp = Nothing
        Catch ex As Exception
            MessageBox.Show("印刷処理に失敗しました、暫くしてから再度ボタンを押してください")
            ExcelApp.Quit()
            ExcelSheet = Nothing
            ExcelBook = Nothing
            ExcelApp = Nothing
        End Try
168デフォルトの名無しさん:04/10/18 13:37:03
Quitの前にDisplayAlertsをFalseにしる
169165:04/10/18 13:48:03
できますた。ありがとうママン。
170デフォルトの名無しさん:04/10/18 14:50:41
フォームの表示に関しての質問です。

Sub Form_Load() Handles MyBase.Load
'処理A(5分程度時間がかかる)
End Sub

この時、処理Aが終了するまで、フォームが表示されません。
処理Aの前にMybase.Showを実行すると、
ウィンド枠と、メニューは表示されるのですが、ボタンやテキストボックスが
白く表示されてしまいます。(処理Aが終了したら正しく表示される)
処理Aの間も正常に表示させるにはどうしたらいいのか教えてください。
お願いします。
171デフォルトの名無しさん:04/10/18 14:51:32
すみませぬ、スレ違いなんだけど、ココくらいしか聞けそうなところないようなんで。
VB.NET ではなく、C#を利用してasp書いてるんですが、
質問はどこでしたらいいんでしょう?それともそんなスレない?
172デフォルトの名無しさん:04/10/18 17:44:43
処理中にウインドウを操作されても良いならば、
ループの中でApplication.DoEventsを呼べばいいかと。
173デフォルトの名無しさん:04/10/18 18:59:21
174170:04/10/18 20:55:52
>>172
ありがとうございます。

ただ、処理A(Function のコール)は
外部から提供されている部分で、できれば手を加えたくありません。
他にもなにか方法があればお願いします。
175デフォルトの名無しさん:04/10/18 21:15:52
>>170
そもそもLoadイベントでなにか処理をするなんて根本から間違い。
別のタイミング(たとえばActivatedイベントなどで)行うべき。

さらに、そんな重い処理なら別スレッドで実行するようにするべき。
>>172には悪いが、DoEventsなんて下策中の下策。
というか、>>170の問題はDoEventsでは恐らく解決しないだろう。
176デフォルトの名無しさん:04/10/18 21:57:26
質問です。
Dim Class1 As ClassName
...
Class1 = New ClassName(0)
...しばらくClass1を使う
Class1 = New ClassName(1)

こんなことしてもVBさんは勝手にお掃除してくれるのでしょうか?
177デフォルトの名無しさん:04/10/18 22:06:37
しばらくしたら掃除してくれる
178176:04/10/18 23:54:05
>>177
ありがとうございました。
179デフォルトの名無しさん:04/10/19 01:46:45
その、GCの仕組みってどうなってるのかなぁ
180デフォルトの名無しさん:04/10/19 01:50:42
ガベージをコレクトするのだよ。
181デフォルトの名無しさん:04/10/19 01:58:07
できる!VisualStudio.NETには
参照が解除された後に適当な時期に破棄される
とある

182170:04/10/19 10:29:39
>>175
ありがとうございました。
別スレッドで実行できる事を知りませんでした。
(Activated はFocusが移る度に実行されてしまうので向いていませんでした)
183デフォルトの名無しさん:04/10/19 15:00:46
スクロールバー付きのテキストボックスで
キーボードからの入力は不可、表示はプログラムからのみ。

この時、テキストボックスの大きさより表示行が増えた時に、
一番下の行を常に表示したいのですが、
どういう設定をしたらいいのか教えてください。

現状は、行数が増えても同じ場所を表示してしまいます。
お願いします。
184デフォルトの名無しさん:04/10/19 16:01:33
>>183
テキストの入力位置をSelectメソッドで一番最後に指定して、
ScrollToCaretメソッドでその位置を表示させる

具体的にソースを書けば、以下のような感じ
MyTextBox.Select(MyTextBox.Text.Length, 0)
MyTextBox.ScrollToCaret()
185デフォルトの名無しさん:04/10/19 16:54:03
久々に回答らしい回答を見た希ガス
186183:04/10/19 17:07:42
>>184
ありがとうございます。
早速試してみます。
187デフォルトの名無しさん:04/10/19 18:11:22
っていうか久しぶりにVB.NETの問題を見たから答えただけだけどね
188デフォルトの名無しさん:04/10/19 20:13:04
引数の数を可変にする方法があったら教えてください。

Function x(a As String,b As String,c As String,d As String)
という感じのファンクションを呼び出す時に、
ある部分からは、aのみ設定して
ある部分からは、a,b,c,を設定する
という様な処理をしたいのですが。

よろしくお願いします。
189デフォルトの名無しさん:04/10/19 20:17:31
>>188
Overloads

Optionalってキーワードもあるが、これは旧VBの負の遺産だから
使わないほうがいいと思う。
190デフォルトの名無しさん:04/10/19 23:56:34
すいません、ASP.NETを使えるレンタルサーバーを借りたのですが、使用時の心得に、
「共有サーバーとしてのデバッグ知識のない方はASPは絶対に利用しないでください!
ローカルテストと共有サーバーは環境が全く違います」
という内容がありました。
これは、VisualSTudio.netのデバッガと、@pageやTrace.write()の相違のことを言っているのでしょうか?
191デフォルトの名無しさん:04/10/20 00:24:13
せめてそのレンタルサーバのアドレスぐらい書いてくれれば・・・
192デフォルトの名無しさん:04/10/20 00:31:05
>191
190の2行目そのまま、ぐぐるとヒットするようね。
193デフォルトの名無しさん:04/10/20 00:42:48
190です。
すいません,上記内容はメールで送られてきたものです。
ASPの使用心得は、以上のみでした。
常識的には、VisualSTudio.netのデバッガと、@pageやTrace.write()の相違ということでいいのでしょうか?
194デフォルトの名無しさん:04/10/20 07:09:10
要するに>190はASP使うなってことでしょ。
わかってないんだから。
195188:04/10/20 08:32:22
>>189
ありがとうございます
196デフォルトの名無しさん:04/10/21 00:27:49
VB.netって、コントロール配列のやり方が、VB6.0と違いますよね。
VB6.0では、コピーアンドペーストでできたけど・・・
みなさんは、どうやってコントロール配列を作っていますか?
俺が見つけた方法は、どれもコードが汚くなる。
コードがきれいになる方法をご存知ないでしょうか
197デフォルトの名無しさん:04/10/21 00:55:08
>>196
質問は明確に。

どうやってもこうやっても、ないものは作りようがない。
つまりまったく同じ機能を享受したい、というわけにはいかない。
それはわかってるんでしょ?

だったらなぜ、コントロール配列のこの機能と同じことができないか?
という風に質問しないの?
198デフォルトの名無しさん:04/10/21 08:49:37
>>196
コントロール配列を使うことがあまり無いかな

たまに使うときはコンストラクタで
MyButton(1) = MyButton1
MyButton(2) = MyButton2
MyButton(3) = MyButton3
ってしておく

あとは実行時に複数登録する場合もあり

Dim i As Integer

For i = 1 To 10

   Dim item As MenuItem = New MenuItem("MenuText")
   AddHandler item.Click, AddressOf MyMenuItem_Click
   MyMenu.MenuItems.Add(item)
Next
199K:04/10/21 16:24:03
メールソフトを作ろうと思っているのですが、
POPサーバーにログインするにはどうしたらいいかわかりません。

どなたか、教えてくれませんか〜?
200デフォルトの名無しさん:04/10/21 16:47:10
>>199
C#でちょこっと作ってみた。
http://www.asahi-net.or.jp/~ec6k-mtmr/SharpMail.zip

もし読んでなければ、RFCを読むのがおすすめ。
http://www.goto.info.kanagawa-u.ac.jp/~horiyuki/rfc/rfc1939j.txt
201デフォルトの名無しさん:04/10/21 16:48:18
http://www.goto.info.kanagawa-u.ac.jp/~horiyuki/rfc/rfc1939j.txt
単純なプロトコルだけあって短いな
202ぬるぽ大明神:04/10/21 16:52:37
ここは初心者にやたらと優しいスレですね。
203K:04/10/21 16:57:32
>>200,201
POPサーバーにログインだけするにはどうすればいいですか?
204デフォルトの名無しさん:04/10/21 17:11:43
>>203
USERとPASSを送って待機(かQUITで終了)。
なんの意味があるかわからんが(POP before SMTPのためか?)。
205K:04/10/21 17:18:18
>>204
>なんの意味があるかわからんが(POP before SMTPのためか?)。
その通りです。
ソース作ってもらえませんか?
206デフォルトの名無しさん:04/10/21 17:21:26
207K:04/10/21 17:27:09
>>206
ソースがほしかったんですけど、なかなか聞き出せなくて…
ごめんなさい。
208デフォルトの名無しさん:04/10/21 17:34:02
死刑確定ですか?
209K:04/10/21 17:46:47
で、POPサーバーにログインするにはどうしたらいいのですか?
210デフォルトの名無しさん:04/10/21 18:09:17
ググりゃ出てくるがな
211デフォルトの名無しさん:04/10/21 18:28:49
VB.NETで縁取りした文字列の形にコントロールを切り抜きたいと思ってます。
GraphicPathに文字列を追加して、DrawPathで太めの縁を描画すると、
元のパスから外側に少しはみ出しますよね?
このはみ出た分も収まるようにコントロールのRegionを設定したいのですが、
何か方法ありますでしょうか?
212デフォルトの名無しさん:04/10/21 23:47:49
>>211
やったことないんで間違ってたらゴメン。
これ使ってパスを「膨張」させといて、そのパスからリージョンを
作ればいいんじゃないかな。
http://www.microsoft.com/japan/msdn/library/default.asp?url=/japan/msdn/library/ja/cpref/html/frlrfSystemDrawingDrawing2DGraphicsPathClassWidenTopic.asp
213K(偽者):04/10/22 05:17:14
で、ログインのソースはまだですか?
214デフォルトの名無しさん:04/10/22 10:05:14
>>213
今作っています。2年程待って下さい。
215デフォルトの名無しさん:04/10/22 10:26:29
>213
2年もまてませんよね?
ソースあります。1行100円でどうですか?
全体で30万行ほどあります。
216211:04/10/22 10:37:29
>>212
ほぼ思った通りのことができました。
ありがとうでした。
217デフォルトの名無しさん:04/10/22 10:52:44
チェックボックス状態の配列参照の仕方について教えてください。

チェックボックスが複数あり、そのcheckd状態を
check(1),check(2)・・・といった感じの配列として参照したいのですが、
方法が分かりません。
お金は払えませんが、よろしくお願いします。
218デフォルトの名無しさん:04/10/22 12:29:28
>217
ちょっとは過去ログ嫁
219デフォルトの名無しさん:04/10/22 12:42:48
>>196=217?
220K(偽者2):04/10/22 12:52:07
>>215
分かりました、3000万円ですね。
バイトで貯めますので、3年待ってください。
221217:04/10/22 18:00:14
>>218
検索のヒントとなるキーワードだけでもお願いします。
ちなみに、フォームのデザイン上CheckListBoxでは無く、
CheckBoxでの配列参照を考えています。
お願いします。
222デフォルトの名無しさん:04/10/22 18:27:01
現在ログオンしているユーザーを取得するのはどうすんの?
GetUserNameだとユーザー切り替えに対応してないから無理なんだけど....
教えてエロイ人
223デフォルトの名無しさん:04/10/22 18:30:07
デジャヴを感じる・・・
224デフォルトの名無しさん:04/10/22 23:16:56
VB.NET のプロジェクトに、VB(というかWindowsプログラミング)経験無しで
いきなりつっこまれました(いままで Unix で C か Java)

VB.net で業務画面アプリを作っていて、サーバにXMLで電文を
送っているんだけど、xsd というファイルは XML スキーマですよね。
xsx と resx っていうのがセットであるんだけど、この二つはなに?
たとえばソースコードを VSS なり CVS で管理するとき、
xsd は必要だけど、xsx や resx もあった方がいいの?
225デフォルトの名無しさん:04/10/23 01:25:34
通信処理で、非同期スレッド内で受信データを読込み、読込みが完了したら、イベントを発生させ
フォームでそのイベントを受け取ろうとしています。
で、フォームでイベントを受けた時に、TextBoxのプロパティをウォッチウィンドウで参照しようと
するとプロパティの欄が全て"Error:Cannot obtain value"となります。
いろいろ試したのですが、なぜこのようなエラーが発生するか見当もつきません。
どんな些細なことでもかまいませんので、皆様の意見をお聞かせください。
簡単なソースを付けておきます。(フォーム上にテキストボックスとボタンを貼り付けてください。)
226225:04/10/23 01:26:00
Public Class Form1
Inherits System.Windows.Forms.Form
WithEvents test_cls As New test
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
test_cls.Start()'受信スレッド実行
End Sub
Private Sub test_cls_test_Event(ByVal count As Integer) Handles test_cls.test_Event'受信完了したイベント
TextBox1.Text = count'ここで、TextBox1をウォッチウィンドウでデバックしようとすると、"Error:Cannot obtain value"となる
End Sub
End Class

Class test'簡単な通信クラスのつもり
Public Event test_Event(ByVal count As Integer)
Private m_Thread As Threading.Thread
Public Sub Start()'スレッド開始ポイント
m_Thread = New Threading.Thread(AddressOf test_Thread)
m_Thread.Start()
End Sub
Sub test_Thread()'受信データチェックスレッド
Dim Count As Integer
While (1)
RaiseEvent test_Event(Count)'受信データが有りとみなして、イベントを発生させる
Count += 1
System.Threading.Thread.Sleep(10000)
End While
End Sub
End Class
227デフォルトの名無しさん:04/10/23 01:35:36
>>225
たぶんDOBON.NETさんのメルマガの25号に書いてあるようにすればいいんじゃないかな。
228225:04/10/23 01:58:55
>>227
ありがとうございます。まさに、行いたい事がそのまま書いてありました。
以前BeginInvokeも試したのですが、
その時は、サンプルもほとんどなかったのでどうやら使い方が間違っていたみたいです。
サンプルも豊富に載っているみたいなので、ちょっと勉強してきます。
229デフォルトの名無しさん:04/10/23 12:06:14
>>222
ここにその方法がある
http://forums.belution.com/ja/vc/000/165/29.shtml

でもVC用なので俺はわからん
誰かVB用に書き直してくれ
230デフォルトの名無しさん:04/10/23 17:01:05
仮に王とジンの強さが同じくらいとする。
でも、ネテロや他のハンターが王を倒したら、ジンの強さって何?ってことになる。
しかも、その後の展開で、旅団との強さのバランスが取りにくい。

よって、
ジン>>>王=クロロ>ネテロ>>>ネフェルピトー、シャウアプフ、モントゥトゥユピー>カイト>>>ゴン、キルアほか討伐メンバー

これくらいが妥当。
231デフォルトの名無しさん:04/10/23 23:22:16
VB.NETでADO.NETを扱う質問です。
ACCESSデータベースに接続して編集をする場合
OleDbParameterを
CurrentパラメーターとOriginalパラメーターと2つ用意することは
わかったのですが、
パラメータ自動生成を使った場合
OleDbUpdateCommandのパラメーターに
NAMEカラムなら
NAMEというCurrentパラメーターと
Original_NAMEというOriginalパラメーターと
Original_NAME1というOriginalパラメーターができています。
3つ目のOriginal_NAME1は何の目的で生成されているのですか?
232デフォルトの名無しさん:04/10/23 23:26:07
>>230
すざましい誤爆だな。
233デフォルトの名無しさん:04/10/24 15:27:55
すいません、初心者の質問をさせてください(初心者質問スレはないようなので)。

3個の数字をタイムラグをつけて次々と表示させたいのですが、
      number1.Text = number1
      (空ループorTimer プロパティ)
number2.Text = number2
      (空ループorTimer プロパティ)
number3.Text = number3
としても、3つの数字・ラグ・数字・ラグ・数字のようにはならず、ラグのあとに
3つの数字がまとめて出てきてしまいます。
当方通常のBASICは使ったことがあるので同じノリでこのようにやってみた
のですが、なぜそうなってしまうのか全く分かりません。

どうすればいいのか、何故そうなるのかを教えていただければ幸いです。


234デフォルトの名無しさん:04/10/24 17:47:19
number1.Text = number1
(空ループorTimer プロパティ)
number2.Text = number2
(空ループorTimer プロパティ)
number3.Text = number3
(画面の描画)

となってるから。
235224:04/10/24 21:19:59
>>224
すみません、レスをいただければうれしいです。
236デフォルトの名無しさん:04/10/25 19:12:56
Dim ApplicationFolder As String = "\\192.168.100.1\ftp\"
Dim fileName As String = nekomimi
Dim codeNo As String = 67890
Dim WriteFileStream As FileStream = New FileStream(ApplicationFolder & a & ".mit", FileMode.Create, FileAccess.Write)
Dim TextStreamWriter As StreamWriter = New StreamWriter(WriteFileStream, Encoding.GetEncoding("Shift_JIS"))
TextStreamWriter.WriteLine(b)
TextStreamWriter.Close()

237デフォルトの名無しさん:04/10/25 19:13:21
上記のようなプログラムで、ファイル名”nekomimi.mit”を作成してから、ネットワークで共有されたディスク内に格納
しておき、メールで【\\192.168.100.1\ftp\nekomimi.mitをクリックしてください。】というリンクつきのアナウンスを
流し、アドレスクリック一発で.mitに関連付けておいた.exeを起動、codeNoを読み取ってから変数aに代入したいのですが
初心者用の書籍には、こういう使い方が出ていません。

どなたか、こういう使い方をされた事のある方、ヒントをいただけないでしょうか?
238233:04/10/25 19:50:03
>>234
それは何故なんでしょう?
何かいい手はありますでしょうか?

239デフォルトの名無しさん:04/10/25 22:20:18
>>238
明らかに
> (空ループorTimer プロパティ)
のところが悪さしてるのだから、その部分のソースをupするべし。
240デフォルトの名無しさん:04/10/25 22:22:50
>>238
間に application.doeventsだったかな?
それいれたらいけるんじゃないかな
241デフォルトの名無しさん:04/10/26 01:08:39
DataGridのHeaderのHeightはどうやったら調整できますか?
242233:04/10/26 01:33:11
>>240
それを入れたらうまく行きました。ありがとうございます。
ただ、それってラグの間に操作を受け付けるようにする処理ですよね?
全然関係ないように思えるんですが、なぜそれでうまく行くんでしょう…?
243デフォルトの名無しさん:04/10/26 02:59:53
WebClient.DownloadFileを使用して
1本のファイルをダウンロードするプログラムを作っています。
ダウンロード中にプログレスバーで進捗を表示したいのですが、
ファイルの何%をダウンロードしたかを取得してリアルタイムに表示する方法ってあるのでしょうか?
244デフォルトの名無しさん:04/10/26 03:28:00
>>243
WebClient.DownloadFileじゃ無理。
WebRequest, WebResponseを使ったストリーム受信を行う必要がある。
245243:04/10/26 03:43:46
>>244
ありがとうございます。さっそく調べてみます。
246でき:04/10/26 08:54:03
すいませんが、どなたか、VB.netにてwin2000、winXPの端末がコンピュータロック中か取得する方法をご存知でしょうか?
247デフォルトの名無しさん:04/10/27 21:24:01
NULL文字で終わるANSI文字列を受け取る関数を、CのDLLで実装しました。

void __stdcall Func(const char *s);

VB.NETから利用するために、以下のように定義したところ、

Declare Sub Func Lib "testdll" (ByVal s As String) ' (1)

文字列変数に"あいうえ"という文字列を格納し、この変数をFunc()に渡すと、
関数呼出し後、文字列変数の中身が"あい"に変わってしまいました。

MSDNを読んだところ、そもそも(1)の宣言だと文字列がBSTRに解釈されてしまうため、

Declare Sub Func Lib "testdll" ( _
 <MarshalAs(UnmanagedType.LPStr)> ByVal s As String) ' (2)

と宣言すべきである、という事がわかり、試しに(2)のとおり宣言してみたところ、
関数呼出し後も文字列変数の中身は変わりませんでした。

ただ、(1)の形式で変数の中身が変わってしまう理由が分かりません。
なぜ(1)の形式だと、このような現象が発生するのでしょうか?
248デフォルトの名無しさん:04/10/27 22:18:29
>>247
症状は全然ちがうけど、同じように.NET側で確保した領域をポインタ渡しする処理で
原因不明のトラブルで悩んだことがあったけど、(.NET FrameworkはVer1.1)
このあいだでたSP1のFrameworkをインストールしたら解消した。

もしまだSP1にしてなければ試してみては?
249デフォルトの名無しさん:04/10/27 22:59:05
>>248
ソレダッ!と思い、早速SP1を当ててみました。
しかし、現象変わらずでした。
250240じゃないけど:04/10/28 01:22:38
>>242
>ただ、それってラグの間に操作を受け付けるようにする処理ですよね?

いやいや、メッセージ・ループからメッセージを取ってくるんでしょ?キューに
たまったメッセージが処理できないで待ってるんだから。

この説明でわかりますか? Windowを扱うシステムってメッセージ駆動に
なっているのだという基礎が出来てないと理解できないと思うが。
251デフォルトの名無しさん:04/10/29 01:47:20
VB.netでMIDI音源に、音を出させるにはどうすればいいですか?
MIDIファイルの再生でなく、指定した音、又は音列を再生させたいんですけれど。
252デフォルトの名無しさん:04/10/30 01:01:45
>>251
http://wisdom.sakura.ne.jp/system/winapi/media/mm11.html
ここ見ればわかるはず。現に俺はここ見ただけでその手のコードが書けた。
見てもわからなかったら諦めるよろし。

ま、普通このぐらいのことGoogleで検索して調べるわけで、
そんな手間すら惜しむお方には無理に5万両。
253251:04/10/30 01:23:22
すまん。
"VB.net" MIDI
でしか検索してなかったんで、Cのコードを参考にするって考えが浮かばなかった。
が、今一よくわからん……。

とりあえず、DirectX SDK落としてきたよ。
254251:04/10/31 01:25:31
ダメだorz。やっぱりわからん。
環境は
言語:VB.net
IDE:SharpDevelop
SDK:DirectX 9.0 SDK Update (October 2004)
で、>>251に書いた様なコトをしたいんですけど……。
255251:04/10/31 01:51:11
http://gpwiki.org/index.php/VBNET:DirectSound
まずは↑ここを参照しつつ、WAVを再生させる事には成功したんで、
なんとか頑張ってみます。
256デフォルトの名無しさん:04/10/31 01:59:14
Managed DirectXがDirectMusicをサポートしない以上WinAPIの方が手っ取り早そうだけどなぁ……。
257フナ太郎:04/10/31 03:07:02
マネージド、マネージド うっせーんだよ
258252:04/10/31 11:26:26
>>251
貶すだけじゃ後味悪いんで一言。

どうしてもDirectX使わなきゃダメなの?
>>256も書いてるけどWinAPI使えばびっくりするぐらい簡単だよ。
いろいろ調べながらでも1,2時間もあればとりあえず音を出すことは出来ると思う。

とりあえず使う関数はmidiOutOpen,midiOutShortMsg,midiOutReset,midiOutClose
これだけだったはず。(実際に音を出したり止めたりするときに使うのはmidiOutShortMsgだけ)

APIの宣言の仕方がわからないなら、APIの関数名にVBってキーワード付けて
検索すればVB6での宣言が出てくるはずだから、それを少し改変するだけでいい。
定数の値も同じ要領で調べられるはず。

気をつける点は、

(1)VB6の LongはVB.NETではIntegerになっている。(2)引数の渡し方のデフォルト、
つまり明示的に書かなかった場合VB6ではByRefなのに対しVB.NETではByVal
(3)引数のうちデバイスハンドルは、VB6ではLongになっているがVB.NETでは
IntegerではなくIntPtrにしたほうがいいかも。

こんなところかな。
259デフォルトの名無しさん:04/11/01 00:32:06
.NETでWinAPIを使うのは良くない、みたいに聞いていたので、DirectXを使おうとしてたのですが。

で、色々と弄ってみましたが、エラーは起きないものの、
再生されない……。参考にしたVBのサンプル(http://tokyo.cool.ne.jp/kanain/APIHTM/midiOut.html)付属のexeでは出てるのにOrz。

こんな感じなんですが↓
260デフォルトの名無しさん:04/11/01 00:38:12
Private hMid As IntPtr
Private Note As Integer
〜〜
Public Declare Function midiOutOpen Lib "winmm.dll" _

    Alias "midiOutOpen" _

    (lphMidiOut As IntPtr, _

    ByVal uDeviceID As Int32, _

    ByVal dwCallback As Int32, _

    ByVal dwInstance As Int32, _

    ByVal dwFlags As Int32) As Int32

261デフォルトの名無しさん:04/11/01 00:38:49
Public Declare Function midiOutClose Lib "winmm.dll" _

    Alias "midiOutClose" _

    (ByVal hMidiOut As IntPtr)As Int32

    

Public Declare Function midiOutShortMsg Lib "winmm.dll" _

    Alias "midiOutShortMsg" _

    (ByVal hMidiOut As IntPtr, _

    ByVal dwMsg As Int32) As Int32
〜〜
262デフォルトの名無しさん:04/11/01 00:39:17
Private Sub schmerzFormLoad(sender As System.Object, e As System.EventArgs)

    Dim Ret As Int32
    Ret = midiOutOpen(hMid,-1,0,0,0)

End Sub



Private Sub schmerzFormClosed(sender As System.Object, e As System.EventArgs)

    Dim Ret As Int32

    Ret = midiOutClose(hMid)

End Sub
263デフォルトの名無しさん:04/11/01 00:39:43
Private Sub Button1MouseDown(sender As System.Object, e As System.Windows.Forms.MouseEventArgs)

    Dim Note, Inst, Vol As Long
    Note = 70       '音階(&H00から&H7F(127))
    Inst = 30       '楽器No(GM音色番号に準拠?)
    Vol = &H7F      '音量(&H00から&H7F(127))
    
    '楽器の変更(1バイト目:データの種類&チャンネル番号
    '            2バイト目:音色番号)
    midiOutShortMsg(hMid, &HC0 + Inst * 256)
    
    '音を鳴らす(1バイト目:データの種類&チャンネル番号
    '            2バイト目:音階
    '            3バイト目:ボリューム)
    midiOutShortMsg(hMid, &H90 + Note * 256 + Vol * 256 * 256)

End Sub
264デフォルトの名無しさん:04/11/01 00:40:29
Private Sub Button1MouseUp(sender As System.Object, e As System.Windows.Forms.MouseEventArgs)

    '消音
    midiOutShortMsg(hMid, &H80 + Note * 256)

End Sub
265デフォルトの名無しさん:04/11/01 00:43:04
ぐわ、改行が倍増してるOrz。なんだこれ……。
荒らしみたいになってまってすまない。
266252:04/11/01 08:28:03
動かない理由はまず第一にmidiOutOpen で取得したデバイスハンドルを
捨ててしまっているから。
デバイスハンドルで、メッセージを送信するデバイスをOSに指示するんでしょ。
267デフォルトの名無しさん:04/11/01 11:43:59
すいません、少しお聞きしたいのですが
ファイル(画像データ、テキストファイル)を16進数に変換したいのですが
なんか、いい方法はありませんでしょうか?
目的は友人と暗号化の勉強をしようと思いまして
ファイル→16進数化→暗号化→復号化→16進数化→ファイル
という流れなのですが・・・
自分が使用できる言語はC,Java,VB.netです
268デフォルトの名無しさん:04/11/01 11:48:04
>>267
釣りはよせ
269デフォルトの名無しさん:04/11/01 11:50:23
>>268
たぶんマジなんじゃない?
270デフォルトの名無しさん:04/11/01 12:06:27
stringSize = e.Graphics.MeasureString("”  名医  ”", f)
MeasureString でお尻にスペースがあると正常にサイズを返さない。
なんとかする方法はないんでしょうか?
271デフォルトの名無しさん:04/11/01 12:23:09
お尻に.を付けて求めたサイズから少し減らす
272252:04/11/01 12:40:51
>>259

>>258に書いたとおり、VB.NETではデフォが値渡しに変更されているから

midiOutOpen の
>lphMidiOut As IntPtr
ここはByRefを指定してやる必要がある。

それでも音がでなければ、メッセージのフォーマットが間違ってるか
OSの規定のMIDI音源が設定されてないんじゃないかな。
273デフォルトの名無しさん:04/11/01 13:00:47
>>270
StringFormatオブジェクトのFormatFlagsにStringFormatFlags.MeasureTrailingSpacesを設定し、
MeasureStringのStringFormatをパラメータに使うオーバーロードを使って測定する。
274270:04/11/01 17:06:04
>273
ありがとう。やってみますしかしなんか難しそうですね。
275270:04/11/01 17:08:15
>お尻に.を付けて求めたサイズから少し減らす
 点をつけて求めて、1文字分は引くわけですね。なるほど。
276デフォルトの名無しさん:04/11/01 17:09:13
PrintPreViewDialogとPrintDocumentコントラールを使ってプリントをおこないます。
この場合
PrintDocument1_PrintPage でプリント処理をおこないますが、1ページ以上の
データがある場合は、1ページ出力完了で再度このプログラムに飛んでくる
ようにする必要がありますが、どうやって実現するのでしょうか
277デフォルトの名無しさん:04/11/01 17:15:27
引数PrintPageEventArgsのHasMorePageをtrueにしてやれば自動的にもう一度PrintPageイベントが発生する。
278デフォルトの名無しさん:04/11/01 17:17:10
HasMorePagesだった。
最後のページになったら一応明示的にHasMorePagesをfalseにしておく。
279デフォルトの名無しさん:04/11/01 17:31:04
>278
ありがとう。やってみます。
280デフォルトの名無しさん:04/11/01 17:45:52
 VB.netではFilestreamというのが新しく出てきましたが、
 Fileアクセスでランダムアクセスはどのようにやるのでしょう。
20Kの固定長レコードが10000件ありますが、適当なIOコントロール
関数といえば、どれになるのでしょうか?
281デフォルトの名無しさん:04/11/01 17:48:49
FileStream.Position
282259:04/11/01 22:31:17
>>252
つきあっていただいてありがとうございました!

>動かない理由はまず第一にmidiOutOpen で取得したデバイスハンドルを 
>捨ててしまっているから。 
というのが、今一よくわからないのですが。
Ret = midiOutOpen(hMid,-1,0,0,0)

Private hMid As IntPtr 
に入ったんじゃないんですか?

……ってか、それは関係なかったみたいで、
>midiOutOpen の 
>>lphMidiOut As IntPtr 
>ここはByRefを指定してやる必要がある。 
を勘違いして、3つの宣言全部By Ref lphMidiOut As IntPtrにしてまったが、
直したら音出ました!
停止がされなかったが、Noteが中と外で重複してたのが原因でした。
283デフォルトの名無しさん:04/11/02 21:52:05
>281
ありがとう。 
 ストリングをFilestreamで保存して、指定のPositionに
seekしたいのですが、このようとではバイト配列に変換する必要が
あるようです。
 Stringをバイト配列に変換する方法はどうやるのでしょう?
284デフォルトの名無しさん:04/11/02 22:14:48
StreamWriter で FileStream をラップしてやるか、System.Text.Encoding クラスを使う。
前者の方が簡単。
285デフォルトの名無しさん:04/11/03 03:49:22
>284
ありがとう。 なんとかできそうです。
286デフォルトの名無しさん:04/11/03 10:54:06
見つけられなかったので、教えて下さい。
VB.NETに正規表現を判定する関数ってないでしょうか?
英大3文字なら[A-Z]{3}ってヤツです。
287デフォルトの名無しさん:04/11/03 11:06:17
Regexp()
288286:04/11/03 13:37:28
>>287
即レスどもです。
これってVBScriptのObjectだけど、
VBから使えるのですか?
289デフォルトの名無しさん:04/11/03 13:51:33
>>288
君頭おかしいの?
MSDNすら検索しない奴に今日を生きる資格なし。
290デフォルトの名無しさん:04/11/03 14:00:57
ああうん、正しくはRegexクラスだな。
291286:04/11/03 15:45:42
>>289-290
ありがと。
MSDNにそのまんま有りますね。
検索済みと勘違いしてた、スマン。
292デフォルトの名無しさん:04/11/04 20:50:24
ストアドの戻り値を数値で受け取る方法をご存知の方いらっしゃったら教えて下さい。
Count(*)を打ってその結果件数を受け取りたいのですが(´・ω・`)
SQLServer2000でやっております。

パラメータを渡した後にExecuteReaderを実行してストアドを呼び出し
Console.ReadLineで結果を読み取ろうと思ってたのですが、
根本的に間違えてたらすいません。

宜しくお願いします。
293デフォルトの名無しさん:04/11/04 20:57:15
ええと何でConsoleが出てくるのかな……?
294デフォルトの名無しさん:04/11/04 21:08:54
>>293
いきなり違うんですか Σ(´Д`:)
初めてなんで色々ネットで調べてみたんですが orz

MSサイトで

While AAA.Read()
Console.ReadLine(以下略

という記述を見つけたのでこれを使おうと思ってた次第です。







295デフォルトの名無しさん:04/11/04 21:15:10
そこと思われる部分のMSDNの記述

> Console.WriteLine((myReader.GetInt32(0) & ", " & myReader.GetString(1)))

……なぜConsole.ReadLine?
SQL文によってmyReader.Get...を適当に書き換えれば良いわけだが。
296デフォルトの名無しさん:04/11/05 01:31:32
>>295
その記述は初めて見ました orz

調べ方がマズかったのかSQLCommandってのを調べて掘ってたら
Console.ReadLineの記述があったので、ストアドの実行結果を読み取るのかと思い
Console.ReadLineが使えるのかなと思った次第です。

人手不足で開発に回されたばかりなんですが無知で申し訳ないです(;´д⊂)
もっと勉強してから出直します。すいませんでした。
297デフォルトの名無しさん:04/11/05 02:09:09
>>296
イ`。焦るとどんどん正解から遠ざかるものだ。そういうときは一服しる。
298デフォルトの名無しさん:04/11/05 11:27:47
取りあえずアレだ。

・該当部分のコードを書く
・どこかのページを参考にしたなら参照したページのアドレスを書く
・例外が投げられているなら例外メッセージを書く

をしてくれないとアドバイスもしようがないぞ。
299デフォルトの名無しさん:04/11/05 11:35:51
>>297
タバコの数だけ増えていきます orz

>>295
ExcuteReaderメソッドの説明を読んだのですが
実行結果をConsoleに「書き込む」という意味合いでしょうか?(つД⊂)

やりたいのはそのConsoleに書き込んだ値を見て処理を分岐させたいのです。
count(*)してその件数で処理変更という具合なのですが。

無知なのは重々承知しておりますが、よろしければ教えて頂けないでしょうか?
300デフォルトの名無しさん:04/11/05 11:55:30
>>298
確かにそうですね(´・ω・`)
申し訳ないのが作業をするPCが手元に届いておらず、全て机上でのコードなのです。
来週ぐらいにPCが来るそうなのですが、VB.NETもSQLServerも動かしたことないんです。
ワードとエクセルしかやったことがなくて(;´Д⊂)

いきなり開発に回されてメモ書きで作る処理を指示されて色々調べたのですが…。
通るかどうかもわからないのですが、以下にコードを。


Dim mySQLcon As New SqlClient.SqlConnection
Dim myProc As String = "ストアド名称"
Dim myCommand As New SqlCommand(myProc, mySQLcon)
Dim myReader As SqlDataReader

mySQLcon.ConnectString = "接続情報"
mySQLcon.Open
myCommand.CommandType = CommandType.StoredProcedure

myCommand.Parameters.Add("@ユーザID", SqlDbType.VarChar).Value = "ユーザID文字列"
myCommand.Parameters.Add("@パスワード", SqlDbType.VarChar).Value = "パスワード文字列"
myReader = myCommand.ExecuteReader(CommandBehavior, SchemaOnly)

当初はここにストアドの実行結果(count(*)の結果件数)が入ると思っていたので

If myReader = 0 Then
処理1
Else
処理2
End If

というコードを脳内で展開してたのですが、Consoleの記述を見つけ>>292に繋がるのです(´・ω・`)
301デフォルトの名無しさん:04/11/05 12:05:30
どこに質問を書くべきかわからなかったのですが、一応vb.netのことなのでここに書かせてもらいます。
Microsoft access2000とvb.net2002を使っています。
データベースのアクセス履歴をとってそのアクセスした時間をデータベースに記録する
というプログラムを書いているのですが、日付/時刻型のデータにvb.net側で現在時刻を取ったときは
[年/月/日 時:分:秒]というデータが格納されているのですが、それをaccessに送ると[年/月/日]の部分しか受け取ってくれません。
[時:分:秒]の部分は[00:00:00]となっています。

Dim r As DataRow

r = DsAccess1.T_アクセス履歴マスター.NewRow()
r("アクセス日時") = Date.Now    ←この時点で[年/月/日 時:分:秒]
r("アクセス元") = "制作部"
r("T_商品仮変更マスター") = "開始"
r("T_商品変更履歴") = "開始"
r("T_仕事一覧") = "開始"
DsAccess1.T_アクセス履歴マスター.Rows.Add(r)
odaAccess.Update(DsAccess1, "T_アクセス履歴マスター") ←ここでaccessに渡すと[年/月/日]

こんな感じのプログラムです。
ちなみにaccessの方で「アクセス日時」の設定は、
データ型:日付/日時型
書式:日付(標準) 1994/06/19 17:34:23
値要求:はい
です。
一度、これを解決するために、テキスト型で値を保存するという方法をとったのですが、
これだと並べ替えをしたときに9:55:55の方が10:00:00より未来だと取られてしまってだめでした。

どうすればちゃんと時刻まで渡すことができるかご教授ください。
302デフォルトの名無しさん:04/11/05 12:57:33
>>300
まず、SqlCommand.ExecuteReaderメソッドは、
CommandTextプロパティに設定されたSQL文/ストアドプロシージャをデータベースに投げて、
その結果のストリームを読み取る為のSqlDataReaderクラス(のインスタンス)を返すわけだ。

SqlDataReaderクラスは、あくまでストリーム(まあ流れのあるデータって事)を読み取るためのクラス。
実際のデータを読み取るのはこのクラスの各種メソッドを使う。

例えばファイル(ファイルもストリームの一種)を読み取るクラスを考えてみて、
ファイルを開けただけでいきなり全部のテキストが返ってきても困るのは分かるよな?
それは実はバイナリファイルだったのかも知れないし、欲しかったのは1行目だけだったかも知れないのに。

そういうわけで、ストリームから読み取るクラスにはどう読み取るかを指定して実行するメソッド群が用意されている。
SqlDataReaderクラスでは、Readメソッド、GetBytesメソッド他の類が用意されている。

Readメソッドは、「今見てるところを次のレコードに進める」メソッドだ。
クエリの結果はレコード一つとは限らないと言うかそっちの方が多いだろう。
多くのサンプルで While (sqlDataReader.Read) となってるのは全てのレコードを読み取る為のコードだ。
ちなみに一番初めにSqlDataReaderが作られた時の「今見てるところ」はクエリ結果の最初のレコードの前。なのでデータを読み取るにはまずReadメソッドを使う必要がある。

さて、一つのレコードには普通複数の行があるわけで、それを取得するのがGet...メソッドだ。
「今見てるところの特定の列の値」をある型として読み取るメソッド群だな。
mySqlDataReader.GetInt32(0) なら今見てるレコードの0列目(最初の列)をInt32(VB.NETではInteger)として取り出すわけだ。

要約すれば、ExecuteReaderから返ってきたSqlDataReaderをReadしてGetInt32(実際はCount(*)が返してくる型に一致するGetなんとか)しろということ。

さて、これで別にConsoleクラスを使う必要が無い事が分かってもらえたかな。

>>301
こいつかね。
ttp://www.atmarkit.co.jp/bbs/phpBB/viewtopic.php?topic=10611&forum=7
@ ttp://www.google.com/search?num=100&hl=ja&lr=lang_ja&oe=utf8&q=DATETIME+ACCESS+VB%2ENET
303デフォルトの名無しさん:04/11/05 13:45:56
>>302
御丁寧に教えて頂き大変感謝しております(;´Д⊂)

myReader = myCommand.ExecuteReader(CommandBehavior, SchemaOnly)
の後に

While myReader.Read() ←結果の最初のレコードに移動(sqlDataReaderのOpen?)
 Integer型の変数 = mySqlDataReader.GetInt32(0) ←結果をIntger型で格納する
End While

myReader.Close ←sqlDataReaderを閉じる

Integer型の変数にcount(*)の結果が格納される

この解釈で合っておりますでしょうか? orz
複数行数があった場合は型に合わせた変数を作って、Get...を型に合わせて指定し
レコードの何列目かを指定する(GetInt32(1)などのように)とそのレコードのデータが取れる。

と解釈したのですが(´・ω・`)
304デフォルトの名無しさん:04/11/05 14:03:31
>>303
そんな感じ。

>  myReader = myCommand.ExecuteReader(CommandBehavior, SchemaOnly)
ExecuteReader の引数は CommandBehavior列挙型 一つだけで、列挙型の指定は「型名.メンバ名」。
だから CommandBehavior.SchemaOnly

>  While myReader.Read() ←結果の最初のレコードに移動(sqlDataReaderのOpen?)

ストリームそのものはExecuteReaderから返ってきた時点で開かれている。Closeするかストリームの終わりに達するまで、データはいつでも読みとれる。
//SqlDataReaderは、ストリームの実体ではなくて、ストリームを読み取る処理を簡単にするためのクラスである、というのはここでは余談。
あとはどこを読むかを決めるだけ。
一回目のReadで一番始めのレコードに目をやるわけだ。

>  複数行数があった場合は型に合わせた変数を作って、Get...を型に合わせて指定し
複数列、な。

あと必ずクエリ結果のレコードが一つに限られるならWhileする必要もないとか(一度だけ {ReadしてGet...して} Close)。
305301:04/11/05 14:57:14
>302
まさにそれでした。ありがとうございます。
ただ、accessの書式が「年/月/日 時間」なのに対しvb側の書式が「日/月/年 時間」だったことが
問題となって「データ型が一致しません」というエラーが出たのですが、これはvb側を「Date.Now.Yera & "/" & Date.Now.Month & …」
とすることでなんとか解決することができました。
306デフォルトの名無しさん:04/11/05 15:27:47
>>304
ありがとうございます(;´Д`)
訂正も含め助かりました。

>>295のレスの意味もなんとか掴めました。
重ね重ね感謝致します(;´Д⊂)
307デフォルトの名無しさん:04/11/05 16:20:29
ノータッチデプロイで起動したEXEに引数渡したいんだけど、
ttp://サーバ名/hoge.exe?a=b
のように起動してもTypeInitializationExceptionが出て画面表示すらされない。
試しに引数処理のロジックをコメントアウトしてもエラーがでる。
というか、?以後を付けるともうエラーがでる。
なぜだか知ってる人いますか?
308デフォルトの名無しさん:04/11/05 23:05:23
309デフォルトの名無しさん:04/11/05 23:09:57
>>305
そういうときはそんな回りくどいことをせず、DateTime.Now.ToString("yyyy/MM/dd HH:mm:ss") とでもしる。
310デフォルトの名無しさん:04/11/07 01:11:29
質問があります。
SqlCeDataReaderではHasRowsメンバが無いようですが、
レコードが存在しない事を検出するにはどうすれば良いのでしょうか?
311デフォルトの名無しさん:04/11/07 01:22:25
>>310
.NET Framework1.1でHasRowsプロパティが追加されてるが。
1.0でならReadしたら分かるんじゃないかな。
312デフォルトの名無しさん:04/11/07 02:26:29
ファイルの保存をするにはButtonコントロールにどんなプログラムを書けばいいんでしょうか?
俺の持ってる教本には載っていなかった・・・
新しい本を買うお金もないし立ち読みしても頭に入らないだろうし
エロイ人教えてください><
313デフォルトの名無しさん:04/11/07 02:29:45
>>312
漠然としすぎだが取りあえずファイルに書き込む部分はこれ。
ttp://dobon.net/vb/dotnet/file/writefile.html
314デフォルトの名無しさん:04/11/07 03:17:01
>>313
ありがとう!
後で試してみます
315デフォルトの名無しさん:04/11/07 06:21:19
form1.show vbModalがしたいんですが、VB.NETの場合どうするのでしょう。
1)ボタンを押すたびに新しいフォームが立ち上がります。
2)親フォームは子がshowしているときは黙らせたい
以上よろしく。
316デフォルトの名無しさん:04/11/07 07:14:52
>>315
.showdialog はだめなんけ?
317デフォルトの名無しさん:04/11/07 09:55:15
formのコンストラクターってなんなん?
 form_loadか?
318デフォルトの名無しさん:04/11/07 09:57:02
>316
 ありがと。それです。
319デフォルトの名無しさん:04/11/07 10:01:43
>>317
フォームもクラスなのでクラスと同じNew。

というかform_load? まさかVB6か?
VB6でも当然フォームもクラスなのでクラスと同じ
クラス(フォーム)名_initialize。
320デフォルトの名無しさん:04/11/07 10:26:24
>>311
ここをみる限りではHasRowsメンバは無さそうですが・・・。

http://www.microsoft.com/japan/msdn/library/default.asp?url=/japan/msdn/library/ja/cpref/html/frlrfsystemdatasqlservercesqlcedatareadermemberstopic.asp

SqlDataReaderやOleDataReaderにはあることは知っているんですが・・・。
CompactFrameworkならではの制限なんでしょうか?
そうすると、やはり読んでみて、エラーをcatchするしかないんでしょうか?
321デフォルトの名無しさん:04/11/07 10:33:18
>>320
いや失敬、2.0からだった。

別にレコードがなくてもReadは例外を投げないはずだが。
単にFalseを返してくるだけで。
322317:04/11/07 14:26:01
>319
>フォームもクラスなのでクラスと同じNew。
ところが
Public Class frmData
Inherits System.Windows.Forms.Form
Public Sub New()

End Sub

ってやるとNewのところが波線になる。書き方まづいの?
323デフォルトの名無しさん:04/11/07 14:41:00
>>322
新しいフォームプロジェクトに追加したときに、
既に自動作成されているコード(Regionディレクティブで畳まれてる)見てみ。
324フナ太郎:04/11/07 14:42:37
>>322
やってみたけど波線になんないよ。もっと
外側に原因がありそうだ。
325317:04/11/07 15:01:40
>323
Regionに入ってた。ありがと。
326317:04/11/07 15:05:25
VB6で使ってたDLLを呼び出す関数って、NETではmodule1の中に書いたら
動いたけど、使い方はそれでいいの?
327323:04/11/07 15:36:45
便乗質問なんだけど、コンストラクタをオーバーロードするときって
どうしてOverloads付けなくていいんですかねえ?

MSDNのどこ見てもこの辺触れられてないように思うんだけど。
328デフォルトの名無しさん:04/11/07 16:18:57
VB.NETって開発環境を消したらうごかなくなる?
VB6のときは、そのまま出荷ってのが多かったけど。
329デフォルトの名無しさん:04/11/07 16:29:09
.NET Frameworkを消したら動かない。
VBランタイムみたいなもん。
.NET Frameworkのみで開発もできるから開発環境を消したら動かなくなると言うのは正しい。
VB.NETのIDEやSDKを消しても問題はない。
330デフォルトの名無しさん:04/11/07 18:18:09
>329
ありがと。も一つ聞きたいんだけど、以前開発が終わったのでVB6.0を削除したのだけど
バグが出たのでもう一度インストールしようとしたら、インストールできなかった。
VisualStudio6.0だけど。 .NETもそんなこと起こるのかなー。
だから怖くて消せない。どうせバグ出るし。なんか対策あるんだろか?
331デフォルトの名無しさん:04/11/07 18:21:15
>>330
なにが言いたいのかよくわからないけど
まだ起こってもいない問題の対策聞くってどういうこと。。。?
332最凶VB厨房:04/11/07 19:07:55
333デフォルトの名無しさん:04/11/07 21:48:55
http://ame.dip.jp/upload/1099/831643.JPG
上のアドレスの画像の赤で囲ってあるコントロールってなんですか?
334最凶VB厨房:04/11/07 21:49:19
スマン誤読。

基底クラスのコンストラクタが引数なしのみ()
派生クラスのコンストラクタが(a As String)と(a As String,b As String)
のものを作りたいとする。
Overloadsキーワードをメソッドで使うと派生クラスから見た場合、
()と(a As String)と(a As String,b As String)となる。
(仮にコンストラクタにOverloadsをつけるとすると)
Overloadsの意味がメソッドとコンストラクタでは意味が
異なってしまう。
+基本的に基底クラスと派生クラス間の問題を解決するもので
ある(Overrides,Shadows,Mustほにゃららetcも)。
+コンストラクタは特別なメソッドである。
これらのことを考慮すると、コンストラクタにOverloadsはつけないと
いうことに自然となると思われ。推測。
335デフォルトの名無しさん:04/11/07 21:58:29
>>333
ラジオボタン
336327:04/11/08 00:19:17
>>334
レスありがとう。
正直勉強不足で書いてもらったこと完全にはわからないけど、
Overloadsつけると継承する場合を考えるとなにか矛盾が起こるのかな?
。。。ん〜やっぱりいまいちわからない。
337デフォルトの名無しさん:04/11/08 13:48:53
.netで組んだシェアウェア売ってる方に質問
.net製のアプリは嫌がられませんか?
338307:04/11/08 15:33:25
>308さん それを参考にプログラムしました。

どうやら、WEBサービスを参照してると、xxx.exe?param=abcのような起動ができないみたいです。。。
うぅぅ・・・・。
339デフォルトの名無しさん:04/11/08 18:14:14
.netのアプリってフレムワークのインストールもあるんだろ。
面倒だな。
340デフォルトの名無しさん:04/11/08 20:52:00
>>339
そうだな
341デフォルトの名無しさん:04/11/08 21:16:59
VB6のランタイムインスコしろっていうシェアウエアもある哀
342デフォルトの名無しさん:04/11/08 21:19:22
リッチテキストボックスにかいてある内容を左や右、中央揃えにする方法って
よくわからないんですけど、参考になるサイトなどありませんか?
343デフォルトの名無しさん:04/11/09 02:10:09
DateTimePickerかMonthCalendarの日付を選択して
配置されてるか、もしくは新しいtextboxを呼び出すことは
できるんでしょうか?

344デフォルトの名無しさん:04/11/09 02:22:42
>>343
TextBoxを持ったフォームを別に作っといて、
MonthCalendar.DateChangedあたりで、フォームを表示させるとか?
345デフォルトの名無しさん:04/11/09 02:27:23
346デフォルトの名無しさん:04/11/09 02:49:58
>>344
レスありがとうございます
正しくそのとおりで、おかげさまで
新しいフォームを作りそこにtextboxを配置されて
MonthCalendar.DateChangedの日付をクリックすると
新しいフォームに飛ぶというところまではできました


347デフォルトの名無しさん:04/11/09 21:08:46
Dim sr As StreamReader = New StreamReader("c:\test.txt")
streamReader でPositionをつけて、たとえば10バイトめから
読むにはどうしたらいいの?
348デフォルトの名無しさん:04/11/09 21:17:12
>>347
BaseStreamプロパティからPositionをいじる。
でも根本的にStreamReader使うのはシーケンシャルなアクセスだけにしといた方が良いと思う。
349デフォルトの名無しさん:04/11/09 21:57:18
Magic Dockingを使うために
DockingManagerExtenderを入れたのですが

「MagicLibrary.DLL」が「参照設定」に追加された状態で、
「ツールボックス」の「コンポーネント」に「DockingManagerExtender.DLL」を追加し、
これをフォームに貼り付けてあるパネルに貼り付け,
DockingManagerExtenderのContainerControlプロパティを
パネルの貼り付いているフォームに設定し、
パネルの「DockingManagerExtenderのADockingEnable」プロパティをTrueと
して,パネルの張り付いているフォームをnewしようとすると,
以下のようなエラーが出てしまいます

System.ArgumentNullException: 値を Null にすることはできません。
パラメータ名 : DockingManager
at Crownwood.Magic.Docking.Content.InternalConstruct(DockingManager manager, Control control, String title, ImageList imageList, Int32 imageIndex, Icon icon)
at Crownwood.Magic.Docking.Content..ctor(DockingManager manager)
at DockingManagerExtender.DockingManagerExtender.SetADockingEnable(Control control, Boolean enable)
at SampleListForm.InitializeComponent()

DockingManagerExtenderについて簡単に説明のあった
http://backno.mag2.com/reader/BackBody?id=200402230600000000104516000
に書いてあるとおりにやってるのですが,どこが問題なのでしょうか
350フナ太郎:04/11/09 23:13:17
>>347
10バイト空読みする。
351デフォルトの名無しさん:04/11/09 23:19:29
>>350
StreamReaderではバイト単位で読む事はできないよ。あくまで文字単位。
//まあ形式が固定ならそれでいいんだけど。
352デフォルトの名無しさん:04/11/09 23:53:07
 質問です。
DataAdapterをコントロールボックスから
選択して使用していますが、
その際DataSourceやプロバイダ等を
チュートリアルに従って設定しております。
自動生成されたソースを見ると、
DataSourceのパスは絶対指定となっていますが、
これをソースを直接触らずに相対指定にする方法はありますか?
相対パスにするには自動生成されたソースを
触らなくてはならないのでしょうか?
353デフォルトの名無しさん:04/11/10 04:33:36
>348
 BaseStreamをStreamReaderがオープンしたファイルと関連付ける方法が分かりません。
おそらく「オーバーロード、オーバーライド、継承」になどVBNETが導入した新しい技術に
関することだとおもいますが、まだ使い方がはっきりと理解できていないのです。

基本的にはリードライトのクラスがあって、それを補うためにリードライトする
データを加工するクラスがあればよいと思うわけです。
そしてこのリードライトのクラスはランダムアクセスとシーケンシャルアクセスを
用意するというのが歴史的つまり基本的方法です。

そうすると、StreamReaderでオープンしたファイルをBaseStreamでアクセスするのは
継承関係からして誤りだと思います。おそらくBaseStreamでオープンしてリードライトは
BaseStreamで行い、データの加工を下位のクラスで行う? そこでStreamReaderは
適当ではない?
では適当な方法は?その具体的方法が分からない。

>10バイト空読みする。
 色のみ読みたいのです。空はいりませんので。

>351
>StreamReaderではバイト単位で読む事はできないよ。あくまで文字単位。
>//まあ形式が固定ならそれでいいんだけど。
形式は固定です。
 固定長レコードのテキストファイルをランダムアクセスするための
具体的な方法が知りたいのです。MSDNには例がありません。
354デフォルトの名無しさん:04/11/10 07:43:16
>>353
>  そしてこのリードライトのクラスはランダムアクセスとシーケンシャルアクセスを
>  用意するというのが歴史的つまり基本的方法です。

で、そのシーケンシャルとかランダムとか言うのを一緒にしたのがストリーム。
//厳密にはランダムアクセスベースだけど、ランダムアクセスならシーケンシャルなアクセスにも耐えられる。
//そう考えれば両者を分ける必要はどこにもない。

StreamReaderの役割は指定した文字コードを元に文字単位でストリームから読み出すことだ。
本来バイトベースであるストリームを文字ベースで扱いやすくするためのクラスであって、そこにアクセス方法など関係ない。

ところが、文字ベースで考える場合文字コードという問題が生ずる。
例えばShift_jisの場合、「官」の字は8AAFと言う16進コードで表現される。
これを2バイト目から読み出すと、AF、つまり半角カナの促音記号「ッ」ととられてしまう。
これではよろしくないから、「基本的に」先頭から順次読み取りするようになっている。

でも任意の位置から読み込みたい時もあるだろう、とStreamReaderが読み取る対象のストリームをBaseStreamで直接公開してるわけだ。
//ファイルパスを指定してStreamReaderをnewした場合、内部でFileStreamが作成されている。実際に公開するのはこれ。
StreamReaderで文字を読み出すと、読み出した文字分この内部のFileStreamのPositionが読み込んだ文字に応じて動く。
でもあくまで内部のFileStreamが指している所から文字になるバイトデータを読み出すわけで、
いつのまにかこれがさっきまで見てた所と違ってても気にせずそこから読み出すようになっている。

てことで、streamReader.BaseStream.Positionをいじくれって言ったの。


>   固定長レコードのテキストファイルをランダムアクセスするための
>  具体的な方法が知りたいのです。MSDNには例がありません。

固定長かどうかなんかストリームとしては知った事ではない。
355デフォルトの名無しさん:04/11/10 08:59:20
>354
>てことで、streamReader.BaseStream.Positionをいじくれって言ったの。
これが分からなかった。ありがとう。

Do
Debug.Write(sr.BaseStream.Position)
line = sr.ReadLine()
debug.Write(line)
Loop Until line Is Nothing

Positionの移動をプリントして見ると
ラインは10行あっても最初のReadLine()で全部読み込んじゃうね。
読み出し開始位置はPositionで設定できるけど、一旦ReadLineして
しまうとPositionでは制御できないようです。
 だからstreamReaderではRandomアクセスはできないです。もちろん
Open、Closeを繰り返せばできますが、それはだめですね。
ファイルは一旦オープンすれば、仮想メモリー空間にマッピングされるわけだから
1バイト単位で自由にアクセスできるはずですよね。クラスの制約でわざわざClose
するのはばかげてます。

結局Stringファイルをランダムアクセスする方法は、どうすればいいのでしょう?
356デフォルトの名無しさん:04/11/10 09:28:54
もともと複数バイトで意味のあるデータを読み込む時に任意のバイトからってのが今一なじまないんだけどな。
.NETのファイルアクセスは十分に高速だから空読みも大したコストにならないし。

どうしてもStreamReaderを使いたいなら、
FileStreamでストリームを開いて、
FileStream.Positionを操作してからそのFileStreamを元にStreamReaderをそのたびに作成。読み込み終わってもStreamReader.Closeは呼び出さない。
一通り処理が済んだらFileStream.Closeを呼び出す。
357デフォルトの名無しさん:04/11/10 10:13:57
次のような例がVBの本にあるのですが、
Dim st as Stream = New NetworkStream(...)
...
st.Write(buf,0,255)
st.Close()

Dim under_stream as Stream = New NetworkStream(...)
Dim st As Stream = new BufferedStream(under_stream) ....@
...
st.Write(buf,0,255)
st.Close()

@の行を追加するだけで、バッファリング機能を追加しています。これは
非常にスマートですね。

で私のやりたいイメージはこういうことです。(LineSizeは100byte程度です。)
for i=0 to 100
st.WriteLine(linedt(i))
next
...
st.Position = 55*LineSize
linedt = st.Read()
st.Position = 3*LineSize
linedt = st.Read()
358デフォルトの名無しさん:04/11/10 10:14:49
FileStream.ReadとEncoding.GetStringでいいじゃん。
359デフォルトの名無しさん:04/11/10 10:17:49
欲を言えば
st.LineSize = 100
linedt = st.Read(55)
...
linedt = st.Read(3)
360デフォルトの名無しさん:04/11/10 10:20:04
>358
 そうなの? しらべてみますが、もし例があればよろしく。
361デフォルトの名無しさん:04/11/10 10:29:02
[Visual Basic]
Overloads Public Overridable Function GetString( _
ByVal bytes() As Byte _
) As String

[C#]
public virtual string GetString(
byte[] bytes
);
VBの場合、宣言が複雑ですが、どういう意味があるんですか? 単に多弁?
362デフォルトの名無しさん:04/11/10 10:30:14
>>360
Dim fs As FileStream = sr.BaseStream
Dim data(55) As Byte
fs.Position = 55 * LineSize
fs.Read(data, 0, 55)
linedt = Encoding.UFT8.GetString(data)

...
sr.Close()

事前にStreamReaderである程度読んでる場合を想定してるけど、そうでないならはなからFileStreamでファイルを開けばいい。
363デフォルトの名無しさん:04/11/10 10:31:58
>>361
VBの過去のしがらみです。
書くのが嫌ならC#に移れと言うMSの暗黙のプレッシャーもあります。
364デフォルトの名無しさん:04/11/10 12:44:30
>362
 ご丁寧にありがとう。
Dim fs As FileStream = sr.BaseStream これが分かりませんでした。
FileStreamの場合Positionがリードポジションと同じなんですよね。
やってみます。

365デフォルトの名無しさん:04/11/10 14:29:09
技術評論者のVisualBasic.NET プログラミングマニュアル
ってもってる人いないですか?
 そこの133ページに
 「委譲を使った問題点(1)の解決」ってのがあって
 Stack ClassはListを継承するのではなくListの実装を内部で利用すれば
 いいのです(つまり委譲のことだと思う)
 Public Class Stack
 Inherits List  ....@
 Private ListField As New List()
 Public Function Pop() as Object
  .....

という様になっているのだけどどうもおかしい。
@のInheritsって継承のことだよね。これってImplementsの間違いか?
 継承の例は1ページしかないのに、間違えられるとさっぱり分からん。
 Inheritsって委譲にも使うのか?
 Implementsって要するに外部クラスの参照のことだよね。要するに
 EXTERNってことだよね。ほかには意味ないですよね。


366デフォルトの名無しさん:04/11/10 14:35:57
>>365
持ってないけど多分Implements IList辺りの間違いだろうね。
//……継承の例が1ページ? 委譲の例?
367デフォルトの名無しさん:04/11/10 14:41:03
質問させてください。

a b c と3つの変数があるとして、テキストボックスに
"1:"&a&"2:"&b+c
みたいな式を任意にユーザーが設定できるようにして、
それを実際に他の変数に入れるようにしたいんですけどどうしたらいいのかわかりません。
普通のコードで書くと
kekka="1:"&"2:"&b+C
ってなりますよね。この右辺の部分をテキストボックスから取り出して
直接コードで書いたように動作させたいのですけど、どうしたらできるんでしょうか?
368デフォルトの名無しさん:04/11/10 16:08:06
>>367
そういうコードを自分で書く。
369デフォルトの名無しさん:04/11/10 16:49:04
DataGridを使用し、ColumnChangingイベントを使用しています。

項目Aの変更をハンドルし、入力された値でマスタを検索して項目Bにその名称を代入する、
という処理なのですが、項目Bに名称を代入した時もColumnChangingイベントが発生します。
項目BはReadOnlyなので処理自体は無いのですが、なんとなく気になっています。
こういうもんなんでしょうか?それとも私は全く違うことをしているのでしょうか?

DataGridのデータソースはDataSetで特にDB等にはつながっておらず、
値の格納だけに使用しています。
370デフォルトの名無しさん:04/11/10 16:56:06
ユーザの入力とコードからの操作を区別しないから。
そんなもん。
371369:04/11/10 17:26:17
>>370
なるほど、そんなもんなんですね。わかりました。
ありがとうございました。
372369:04/11/10 18:23:51
連続すいません。

おそらく過去にもこういった話題が挙がったとは思いますが、入力後のカーソルについて質問です。
エンターキー押下時には下にしかいけないんでしょうか?横の項目に移るようになるプロパティは無いのでしょうか?

KeyDown、Pressイベントで処理しようとTextボックスと関連付けてイベントをハンドルしようとしたのですが、
エンターキーは捕まえることができませんでした。

これってどうしようもないんですか?
373369:04/11/10 18:24:59
DataGridの話です。
流れのまま書き込んでしまった・・・(汗
374デフォルトの名無しさん:04/11/11 05:32:13
VB.NETのコメントの書き方が分かりません。
’これ以外にはないんですか? 複数行をコメントアウトする方法は?
375デフォルトの名無しさん:04/11/11 05:45:37
>374
VS.NETの上のツールバーのとあるアイコンを押す。
376デフォルトの名無しさん:04/11/11 05:53:41
あるファイルが他のアプリケーションによって使用されているか
どうか知るには?
一回ファイル名を変更して Try〜Catchするしかないんですか?
377デフォルトの名無しさん:04/11/11 06:53:46
FileShare.None でOpenするというのはどうだ?
378デフォルトの名無しさん:04/11/11 06:55:46
>375
 REM 
END REM
を知らんの?
379初心者:04/11/11 09:32:04
すみません。質問させて下さい。
VB.netで、他のサーバ上にあるbatファイルを、クライアントから実行させるには何か方法がありますでしょうか。

Shell("cmd.exe abc.bat")
Process.Start("C:\xxx\xxx.bat")
  ・・等を加工し、フルパスでファイル名を指定したのですが、肝心のサーバ上のbatファイルは動きません。
恐れいリますが、ご教示ください。
380デフォルトの名無しさん:04/11/11 09:45:04
>>372
これのことか?
Application.MoveAfterReturnDirection = xlDown
Application.MoveAfterReturnDirection = xlToRight
381デフォルトの名無しさん:04/11/11 09:58:37
>>379
アクセス権が必要です
382デフォルトの名無しさん:04/11/11 10:08:50
一番自然なのはクライアント/サーバ型にして、クライアント側の要求に従ってサーバ側で処理する事だな。
383372:04/11/11 11:42:10
>>380
Excelでいうとそれです。
DataGridでなんとかならんもんかと悩んでおります。
384デリゲート?:04/11/11 12:14:41
VB.NETでVCとWindowsメッセージのやりとりがしたくてhttp://homepage2.nifty.com/sak/w_sak3/doc/sysbrd/vb_t35.htm
このホームページのソース参考にしたんですけどSetWindowLong(Handle.ToInt32, GWL_WNDPROC, AddressOf WndProc)
の1文でデリゲートで宣言されてないから駄目ってエラーがでて意味がわかりません。誰か解決策教えて。
385デフォルトの名無しさん:04/11/11 12:31:32
>>384
エラーの意味がわからんのじゃなくて、
そもそもやってることの意味がわかってないんだと思う。

VB.NETではサブクラス化を使う必要はなくなった。
問題にぶつかったらとりあえずMSDN検索するクセつけた方がいいよ。
http://www.microsoft.com/japan/msdn/library/default.asp?url=/japan/msdn/library/ja/cpref/html/frlrfsystemwindowsformscontrolclasswndproctopic.asp
386デフォルトの名無しさん:04/11/11 12:57:46
>>383
DataGridを継承してProcessCmdKeyをオーバーライドしてやればいいんじゃないかな。

Imports System.Windows.Forms
Public Class OddHandlingDataGrid
    Inherits DataGrid
    Protected Overrides Function ProcessCmdKey(ByRef msg As Message, ByVal keyData As Keys) As Boolean
        If keyData = Keys.Enter Then
            Me.ProcessGridKey(New KeyEventArgs(Keys.Right))
            Return True
        End If
        Return MyBase.ProcessCmdKey(msg, keyData)
    End Function
End Class
387デフォルトの名無しさん:04/11/11 13:41:51
>>377
それでなりました。どうもありがとう。

        Try
'一度ファイル名をリネームし可能なら他のアプリケーションで使用されていない
'不可能なら使用中
'Microsoft.VisualBasic.FileSystem.Rename(filename, filename + "a")
'Microsoft.VisualBasic.FileSystem.Rename(filename + "a", filename)
Catch

こんなことしてました↑。

        Try
           Dim s2 As New FileStream(filename, FileMode.Open _
, FileAccess.Read, FileShare.None)
s2.Close()
         Catch
388デフォルトの名無しさん:04/11/11 14:51:54
123を " 123"のように10桁で表示するのはどうするの?
formatだと数値が変わると桁が変化する。
format(dt,"0000000000")のようにすると数値の桁が変わっても10桁に
なるが"000000123"のように頭に0がつくのでだめ。
なんかいい方法ない?

389デフォルトの名無しさん:04/11/11 15:02:33
http://202.208.158.51/bin/Q331.jpg

343 :NHK名無し講座 :04/11/11 15:00:25 ID:Xg7Sp9vb
由奈もキタ━━━━━━(゚∀゚)━━━━━━ !!!

http://202.208.158.51/5/K0132.wma
390デフォルトの名無しさん:04/11/11 15:11:59
>>388
.ToString().PadLeft()とか。
391デフォルトの名無しさん:04/11/11 15:18:03
>390
ありがと。いろいろ探していたのだけど、分からなくて、
助かりました。
392デフォルトの名無しさん:04/11/11 15:22:17
393初心者:04/11/11 16:21:58
>>381>>382
ご回答、ありがとうございました。
何とか解決できそうな状況になってまいりました。
394デフォルトの名無しさん:04/11/11 19:28:02
通信対戦ゲームを作りたいのですが、winsockとdirectXはどっちが簡単ですか?
395デフォルトの名無しさん:04/11/12 08:09:12
フォームのボタンのペケ(X)ボタンを押すとDiposeしますが、
me.hideにしてDisposeしたくない場合どうすればいいのでしょ?
396デフォルトの名無しさん:04/11/12 08:43:41
listboxのクリアーってどうやるの
397デフォルトの名無しさん:04/11/12 09:11:14
VB6みたいに途中でブレークしてコードを修正して続けるようなことはできないのですか?
398デフォルトの名無しさん:04/11/12 10:07:34
>>396

ListBox1.Items.clear

でダメ?
399デフォルトの名無しさん:04/11/12 10:11:26
>398
あっItemsの下に隠しやがったのか。くっそー。
ありがとう。
400デフォルトの名無しさん:04/11/12 10:43:42
条件付コンパイルの話なんだけど、設定値がまずいのでコンパイル不能コードにしたいときってどうしたら良い?
Cの#errorみたいのってないの?
401デフォルトの名無しさん:04/11/12 11:37:08
俺が分かったら答えてやるんだが、わからんなー。
#define Main
#if Main
#else
#end if
見たいなやつだろ。
402デフォルトの名無しさん:04/11/12 11:57:25
>>400
VB.NETには無いね。C#にはあるんだが。

>>397
VS2005から追加されるようだ。
403デフォルトの名無しさん:04/11/12 12:11:46
>402
ほんと? そりゃ待ち遠しいね。でもこの遅さに慣れたら、
もうJAVAでもおんなじだし、eclipseとかにいってるかもね。
404デフォルトの名無しさん:04/11/12 18:45:58
400の者だが、しょうがないからこうした(イメージ)
#if a=0 then
ここに来たらエラー
#endif
405デフォルトの名無しさん:04/11/12 21:40:31
時間がかかる処理の間に起こったキー入力等はすべて無効にしたいんだけど、
どうしたらいいかな?
処理の最後にフラグを立てて、doEventsメソッドを発行後、フラグを解除。
オーバーライドしたWndProcで、フラグが立っている間のイベント処理は
無効っていうふうにしたんだけど、処理の終わり間際の入力は通ってしまうようで
上手くいかなかったです。
406デフォルトの名無しさん:04/11/12 21:48:33
>>405
「時間がかかる処理」を別スレッドにするだけでは?
407デフォルトの名無しさん:04/11/12 23:04:25
時間がかかる処理をしている途中だよフラグを用意するか、
その処理の最初にキー入力ができるコントロールを無効にすれば?
408デフォルトの名無しさん:04/11/12 23:22:12
>時間がかかる処理をしている途中だよフラグを用意するか、
無意味。

>その処理の最初にキー入力ができるコントロールを無効にすれば?
恐らくそれをしたくないから>>405のように聞いているのだろう。
そのくらいのこと読み取れるでしょ普通。
409デフォルトの名無しさん:04/11/13 04:58:27
処理が終わっているように見えて実は終わっていない。だから、
処理的に排他的タスクを立てて、そのタスク内でキーを有効にする。
410最凶VB厨房:04/11/13 12:22:21
別スレッド作って即行でjoin!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
411デフォルトの名無しさん:04/11/13 17:35:29
マウスポインタの位置を移動させるにはどうすればいいですか?
例えばボタンを押したら次に押させたいボタンにマウスポインタを移動させる、
というような事をさせたいのですが。
412デフォルトの名無しさん:04/11/13 17:46:03
System.Windows.Forms.Cursor.Position
413デフォルトの名無しさん:04/11/13 18:45:53
>>412
サンクスです。
414鈴木:04/11/13 18:54:58
>>408
お前、感じ悪いよ。
415デフォルトの名無しさん:04/11/14 00:46:59
VBScriptから正常に呼び出せるActiveXのメソッドを
VB.NETから呼び出すと

System.Runtime.InteropServices.COMException
未知のエラー

というエラーが発生しまつ。
いったい何がいけないんでつか?
416デフォルトの名無しさん:04/11/14 19:37:12
昨日VB6から.net2003にやってきたばかりで右も左もわからん

MainTextBox.Text = "aiueo" & vbCrLf & "aiueo"
FirstText = "aiueo" & vbCrLf & "aiueo"
If MainTextBox.Text = FirstText Then
  Call MsgBox("あ")
End If

MainTextBoxはRichTextBoxです
で、これ実行するとなぜかメッセージボックスが表示されるんですが・・・
明らかに等しい "aiueo" & vbCrLf & "aiueo" なのに何で!?
417デフォルトの名無しさん:04/11/14 19:42:28
VisualBasic6.0で編集したプロジェクトをVB4.0で読み込むことはできますか?
VB6.0→VB4.0フォーマット変換ソフトなどあったら教えてください
418デフォルトの名無しさん:04/11/14 20:48:19
>416
釣り?

>417
無理、それ以前にここは「VB.NET質問」であって
「VBプログラマ質問スレ(6.0以前)ではない。
419417:04/11/14 22:20:05
>>418

いや、無理じゃなく出来た。
vbpプロジェクトをエディタで開いてバージョン箇所あわせと不要コード削除で読み込み可
自己解決。、さいなら
420416:04/11/14 22:30:14
間違った…

MainTextBox.Text = "aiueo" & vbCrLf & "aiueo"
FirstText = "aiueo" & vbCrLf & "aiueo"
If MainTextBox.Text = FirstText Then
  MsgBox("同じ")
Else
  MsgBox("違う")
End If

ってやっても「違う」と言われてしまうのはどうしてですか?
421デフォルトの名無しさん:04/11/14 22:51:04
>>420
FirstTextがちゃんとString型の変数として宣言されているなら
“同じ”と出るはず。

http://www.microsoft.com/japan/msdn/library/default.asp?url=/japan/msdn/library/ja/dnguinet/htm/drguinet01312001.asp
の「値の等価性と参照の等価性」を読むといいかも。
422デフォルトの名無しさん:04/11/14 22:55:35
>>420
FirstTextをStringにして
同じソースで実行したけど"同じ"って表示されたよ
423420:04/11/14 23:40:03
Public Class Form1 の直下で
Dim FirstText As String = "" と宣言してあります

何かこれではまずい仕様に変わったんでしょうか?
424デフォルトの名無しさん:04/11/14 23:50:04
>>423
ああ、いま気づいた。
きっとtextboxのMultiineプロパティがFalseになってるんだよ。
425デフォルトの名無しさん:04/11/14 23:53:57
RichTextBoxらしいからデフォルトでMultilineはTrueのはずなんだがな……。
426デフォルトの名無しさん:04/11/15 00:06:59
Java で StringTokenizer と同じような機能のクラスは
VB.NETにもありますか?
MSDN内は探しましたが思っていたものとは違っていたようです
ネットも一応調べたんですが64kbpsのため探し回れない状態です
時間がないため、indexOf と Substring を使って機能を実現しておきますが
作るのは面倒なのでよければ教えて下さい
427デフォルトの名無しさん:04/11/15 00:19:33
>426
ttp://java.sun.com/j2se/1.4/ja/docs/ja/api/java/util/StringTokenizer.html
 と言う事は、StringクラスのSplitメソッドが近いんじゃないか。
428デフォルトの名無しさん:04/11/15 00:36:44
>>427
ありがとうございます
使ってみます。
429yukki:04/11/15 10:41:44
VB.NETのSocket クラスを利用して、UDP通信でデータ受信時にイベントを発生させたいのですが方法がわかりません。
分る方いましたら返信お願いします。
430デフォルトの名無しさん:04/11/15 11:22:13
どのプロジェクトでも使う汎用的なboku の namespaceはどこに登録
するの?

class の先頭でimports "boku"のように使いたい。

431デフォルトの名無しさん:04/11/15 14:07:41
Dim myArr() As [String] = {"RED", "orange", "violet", "RED"}
の [String] はStringとはちがうのですよね。
[]はなんの意味ですか?

432デフォルトの名無しさん:04/11/15 14:22:24
>>431
全く同じで単にコンパイラが無視するだけだが。
どこからそんな書き方が出てきたのかね。
433フナ太郎:04/11/15 15:20:59
>>431
[ ] で囲むのは、VB.NET の予約語を、クラス名とか構造体名とかに
使えるようにするためだお。

この例だと、たぶんどっかに、

Class [String}

・・・・・

End Class

みたいに定義されてるはずだから、探してみ?
434431:04/11/15 15:33:47
 そうなんですか? 今一必然性を感じないのですが。
カッコつきストリング、、、、、哲学ではよくカッコつきの何チャラって
やりますが、その影響ですかね。多分カッコいいのでしょうね。
MSドットネットのカッコつきストリングのカッコよさについての考察せよ。
カッコいい!!



435デフォルトの名無しさん:04/11/15 15:39:51
一生懸命JAVAをまねしても糞がでる。もとい、ボロがでる。
436デフォルトの名無しさん:04/11/15 18:54:19
>>432-433
なんか微妙に言ってることずれてると思う。あくまで微妙にね。
某所で馬鹿にされてる人の記事だが。。
http://www.atmarkit.co.jp/fdotnet/easyxml/easyxml12/easyxml12_02.html
437最凶VB厨房:04/11/15 20:30:18
>>432
無視しないだろ。結果(生成されるIL)が同じだけだ。この場合。
>>433
[String]はSystem.Stringクラスだ。
自前実装じゃないぞ。

>>436
ってことを言いたかったの?
438デフォルトの名無しさん:04/11/15 20:55:33
>>437
ああ、>>433は微妙どころじゃないね。だいぶずれてるわやっぱ。
439フナ太郎:04/11/16 02:04:22
>>437
別に自前である必要はない
440デフォルトの名無しさん:04/11/16 04:46:23
関数のなかで配列を宣言してその値を返すってOKですか?
Function Test() As Date()
...
Dim cn(2) As Date
cn(0) = c1
cn(1) = c2
Return cn
End Function
441TEE:04/11/16 07:08:09
>>440
んなもん、簡単にテストできるだろーが。
442デフォルトの名無しさん:04/11/16 08:18:17
VB.NET2004って出るだろうか
443デフォルトの名無しさん:04/11/16 12:32:18
北の国から2004
Gold Finger 2004
Kinf of Fighter 2004
Gメン2004
Air Port 2004
444初心者:04/11/16 15:57:11
vb.netでWMIの機能を使い、クライアントからサーバ上のアプリを起動させようとしています。
以下のようなサンプルコードを動かしているのですが、クライアント上のメモ帳が起動するだけでサーバ上のメモ帳は起動されません。
どのように修正すれば、サーバ上のメモ帳を起動できるのでしょうか。
恐れ入りますが、ご教示願えませんでしょうか。

Options.Username = "administrator"
Options.Password = "password"

Scope.Path.Server = "サーバ名"
Scope.Options = Options

Dim processClass As New ManagementClass("Win32_Process")


Dim methodArgs() As Object = {"notepad.exe", Nothing, Nothing, 0}

Dim result As Object = processClass.InvokeMethod("Create", methodArgs)

Console.WriteLine("Creation of process returned: {0}", result)
Console.WriteLine("Process id: {0}", methodArgs(3))
445デフォルトの名無しさん:04/11/16 16:05:33
>>444
ManagementObjectのコンストラクタ引数にせっかく作ったManagementScopeとObjectGetOptionsを指定してないのはどうしてかな。
446初心者:04/11/16 17:42:24
>>445
ご回答頂き、本当にありがとうございます。
ご指摘の概念が良く理解できていないようです。
単純にクライアント側が起動する記述になっていたわけですね。
どのように指定するか考えてみたいと思います。
447デフォルトの名無しさん:04/11/16 19:13:19
445がManagementClassをManagementObjectと取り違えてるのが混乱に一層の拍車をかけてるな。
448最凶VB厨房:04/11/16 19:49:57
>>429
Socketクラスは利用してないが・・・。こんな感じかな。
Option Explicit On
Option Strict On
Imports System
Imports System.Net
Imports System.Net.Sockets
Imports System.Text
Public Delegate Sub ReceiveEventHandler(sender As object,e As UDPEventArgs)
Public Class udps
Public Event ReceivedUDPPacket As ReceiveEventHandler
Protected Overridable Sub OnReceivedUDPPacket(e As UDPEventArgs)
RaiseEvent ReceivedUDPPacket(Me,e)
End Sub
Public Sub Listen()
Dim client As UdpClient=new UdpClient(10000)
Dim ep As New IPEndPoint(IPAddress.Any, 0)
While True
Dim bb() As Byte=client.Receive(ep)
Dim ueh As UDPEventArgs=New UDPEventArgs()
ueh.ReceivedBytes=bb
OnReceivedUDPPacket(ueh)
End While
End Sub
End Class
449最凶VB厨房:04/11/16 19:50:48
Public Class UDPEventArgs
Inherits EventArgs
Public ReceivedBytes() As Byte
End Class
Public Class EntryPoint
WithEvents Shared svr As udps
Public Shared Sub Main()
svr=New udps()
AddHandler svr.ReceivedUDPPacket,Addressof UDPReceived
svr.Listen()
End Sub
Public Shared Sub UDPReceived(sender As Object,e As UDPEventArgs)
Dim rs As String=Encoding.UTF8.GetString(e.ReceivedBytes,0,e.ReceivedBytes.Length)
Console.WriteLine("event発生->{0}",rs)
End Sub
End Class
450416:04/11/16 20:10:59
RichTextBoxじゃなくて普通のTextBoxをMultiLine=Trueにして試したら普通に動いた…
(RichTextBoxにすると相変わらず上手くいかない)
変なの、VB6の時にはこんなことにはなってなかったのに
451デフォルトの名無しさん:04/11/16 21:49:27
>450
 一度RichTextBoxのTextプロパティに代入した後で、
RichTextBoxのTextプロパティの内容を詳しく調べてみると
何か分かるのでは?
 会社に行かないと開発環境が無いので確認できないが、
改行コードがvbCrLfからvbCrかvbLfに変換されているかも。
452デフォルトの名無しさん:04/11/16 21:57:00
Hashtableってメモリリークとかしないですか?
解放の手順としては、Clearを呼んでNothingを代入すれば
よいでしょうか。
453デフォルトの名無しさん:04/11/16 23:42:55
>>452
Hashtable に限らず、IDisposable インターフェースを実装していないマネージドクラスであれば、
後処理などせず放置しておいてOK。というか、プログラマが明示的に後処理することは、基本的には
できない。
Clearを呼んだとしても、その時点でメモリが解放されるわけではない。
Nothingを代入したとしても、そのインスタンスの参照カウンタがひとつ減るだけ。たいていの場合は、
これで参照カウンタが0になって、インスタンスはガベージコレクタの管理下に入るんですが、
これは変数のスコープが終わったときや、その変数に別のインスタンスへの参照が代入されたときと
同じ動作です。Nothingを代入することには意味がありません。
使い終わった変数のスコープがすぐに終わるようにプログラムを組むことの方が大切です。

IDisposableを実装しているクラスなら、クラス内部で使用しているアンマネージドなリソースを
明示的に解放するために Dispose を呼んでおいた方が無難。
454最凶VB厨房:04/11/17 00:30:54
あひゃ
455デフォルトの名無しさん:04/11/17 07:20:22
>453
ありがとうございました。
456デフォルトの名無しさん:04/11/17 08:23:42
>441
>んなもん、簡単にテストできるだろーが。

テストして概ね動作する場合は、それが正しいかどうかの判断は難しいはずです。

「関数の内部で宣言した変数Xはその関数を抜けると開放される」と考えるのは
ごく自然です。ところが変数Xを関数のリターンにした場合は開放されるのか?
それが問題です。実際には開放されたとしてもメモリー上には残っていますから
別のプログラムがそのエリアを使わない限り、変数Xは保存されているように
見えます。普通には動くけれど偶に動かない。そういう動作が起こる可能性が
あるわけです。
 「値を返せば保存され、参照を返せば保存されない。」のか?
 参照されている先のメモリーも保存されるのか?
配列の場合は特に心配ですね。
でどうなんでしょう?
457デフォルトの名無しさん:04/11/17 10:02:20
FormでKeyPreviewプロパティに左右されず発生する
キー入力のイベント、プロテクトメソッドは無いのでしょうか?

エンターキーで項目間の移動を行いたいのですが、
これをForm側にSelectNextControlを使用して実装させたいと考えています。
ですがKeyPreviewプロパティに依存することなく実装ができません。
458デフォルトの名無しさん:04/11/17 11:49:35
うぅむ・・・Panelコントロール内でLabelなどを実行中にD&Dで移動できるようにしたいんだが・・・
はて・・

単純にやろうとするとこれってやっぱムリ?

MouseDownでDoDragDrop
DragDropイベントで移動しようと思うんだが・・・

言語は VB.NET 2003


459デフォルトの名無しさん:04/11/17 11:51:35
>>456
.NETでは参照が残ってる限りガベージコレクトの対象にはならない。(WeakReferenceという例外もあるが)
で、返値として返された時点で参照がメソッド呼出元に渡される事になる。
ほら参照が残ってるからガベージコレクトされる事が無くなった。
//もちろん呼出元で返値をそのまま捨てればそれで参照が無くなるからガベージコレクトの対象行き。

ガベージコレクションの動作を知るべきだね。

>>457
ProcessCmdKeyとかProcessDialogKeyとか。
460デフォルトの名無しさん:04/11/17 12:12:33
>>458
もっと単純に、
MouseDownイベントでクリック位置を保存、
MouseMoveイベントでLeftプロパティとTopプロパティを変更。

ttp://dobon.net/vb/dotnet/form/moveform.html
フォームでの場合のサンプルだが、参考に。
461デフォルトの名無しさん:04/11/17 12:29:54
>>460
D&Dって言ってるんだからコンテナ変えたいんじゃないの?
まあ、>>458の言葉が足りないだけのような気もするけど。
462デフォルトの名無しさん:04/11/17 12:54:40
>>460 >>461 説明不足で申し訳ない

確かにコンテナを変えるのが理想なんだが、それはそれで回避方法はあるかな?と
最悪動的にオブジェクトを っててもあるんだけど

でも、とりあえず、460のリンクに逝ってから応用手法でも考えてみるよ
463デフォルトの名無しさん:04/11/17 13:43:33
すいません。
ブラウザの×ボタンを押した時と同じイベントを取得したい時は
どのようにすればいいんでしょうか?

やりたいのはブラウザの×ボタンを押した時にDB接続していたら
接続を解除するという動きなのですが。
よろしくお願いします。
464デフォルトの名無しさん:04/11/17 14:58:15
WM_CLOSE
465デフォルトの名無しさん:04/11/17 23:14:11
かなり初歩的な質問なんですけど
年だけを入力してカレンダーを↓の様な感じで表示させろって言われていて
1  5  9
■ ■ ■

2  6 10
■ ■ ■

■の部分がカレンダー部分

縦一列表示なら出来たのですが
↑の様にはなりません
どなたか助言お願いします
466デフォルトの名無しさん:04/11/17 23:15:16
>464
もうちょっと質問の意図を汲んでやれよ。
467デフォルトの名無しさん:04/11/17 23:30:53
>>465
久々にこの台詞を吐かねばなるまい。
自分以外はみんなエスパーか何かだとでも思ってるの?
468デフォルトの名無しさん:04/11/17 23:32:50
>465
 WebアプリケーションなのかWindowsアプリケーションなのかに
よって回答が変わるがどちらだ?
 Webアプリケーション(Webフォーム)なら、System.web.UI.WebControlsの
TableオブジェクトとTableRowオブジェクト、TableCellオブジェクトを
駆使すれば何とかなるが。
469デフォルトの名無しさん:04/11/17 23:57:38
>467
こんな糞レベル低いスレの住人をエスパーだと思ってる
わけないじゃん。安心していいよ。
470デフォルトの名無しさん:04/11/17 23:58:10
>467
どうする?>468氏は君と違って質問の意味が分かってるみたいだよ。
471デフォルトの名無しさん:04/11/18 00:08:46
>>468サソ
Windowsアプリケーションです
472デフォルトの名無しさん:04/11/18 00:47:31
>>470
トラの威を借る.....みたいだな。なさけない奴。
お前自身はわかるのかw それが問題だろうが。

ていうか、>>468だって>>465の文章から質問の意図などわかってるはずがない。
現にわかってないから質問してるんだろう。

>>468は親切にも馬鹿な質問者を誘導しようとしているようだが、
俺は自分の知りたいことすら過不足なく説明できないような馬鹿にまで
寛容になれないし、なるべきでないと思ってるのでね。
473フナ太郎:04/11/18 01:14:49
>>465
これはVB.NETというよりはアプリケーションを作る上でのアイディアに
関する質問だね。こんなところでこっそり聞くよりも、「表示させろ」と言った人に
(もしくは先輩や同僚に)聞いた方がいいと思うよ。
恥を忍んでガンガン質問できるヤツじゃないと伸びないよ、この業界。
474デフォルトの名無しさん:04/11/18 03:13:12
VB.NETを始めて間もない初心者です。aspxという画面にテキストボックスを
貼り付け、値を入力する際、右揃えにすることは可能なのでしょうか?

テキストボックスには、「-1」などといった数値を入力するため、
右揃えの方が見やすいと思われるのですが、どういった対処を取れば
良いのか全くわからず・・・。

どなたかご存知ではないでしょうか?ご教授願います。
よろしくお願いいたします。

475デフォルトの名無しさん:04/11/18 03:20:35
format
476デフォルトの名無しさん:04/11/18 07:16:20
>472
スレ違い
477デフォルトの名無しさん:04/11/18 07:17:29
>472
相手する気ない奴は書き込んではいけません。
こんなことすら教えないとダメなのか・・・
478デフォルトの名無しさん:04/11/18 07:18:05
>472
相手する能力がない人も書き込んではいけません。
こういうこともちゃんと教えないとダメだよ・・・
479デフォルトの名無しさん:04/11/18 07:25:17
>476-478
相手する必要なし。こういう奴はどこのスレでも
同じような書き込みして同じような指摘受けているのに
一向にやめようとしない。放置するしかない。
480デフォルトの名無しさん:04/11/18 08:20:46
うだうだ言ってる暇があったら答えればいいのにね
481デフォルトの名無しさん:04/11/18 12:31:37
>>480
馬鹿の特徴は他人に向ける批判的視点を自分に向けられないこと。
それが君。ありていに言えば「オマエガナー」。

ていうか、質問が理解可能かつそれが俺のわかることなら俺は答えてる。
そのように言うってことは、君は>>465の質問の意味がわかるんだよな?

ぜひ>>465の質問の意味を噛み砕いて説明してみてくれ。
いや、出来ないのならいいんだよ別に。
482デフォルトの名無しさん:04/11/18 12:57:13
>>481
> ていうか、質問が理解可能かつそれが俺のわかることなら俺は答えてる。
じゃ、わかんねーなら口出すなや。
はい、終了
483デフォルトの名無しさん:04/11/18 17:01:43
ListViewを自分で作るのではなく
画面に表示されているウィンドウ(デスクトップ含む)の
ListViewを取得するにはどうしたらいいのでしょうか?

ListView *listview = GetListView(プロセスID); みたいな
お手軽な方法があるのかと思っていたらなさげなので
全然わからないです(´・ω・`)
484483:04/11/18 17:14:43
すいません
VCと間違いました
485デフォルトの名無しさん:04/11/18 17:24:37
ここでの質問が間違っていたらすいません(´・ω・`)

テキストボックスAとボタンBが画面上にあったとします。
それでテキストボックスにフォーカスがあたった時に何故か
ボタンBにも同時にフォーカスがあたっていて原因がわかりません。

同時にフォーカスがあたるのが仕様なら仕方ないのですが
せめて他のボタンに制御したいと思って色々やったのですが
さっぱりわかりません。

詳しい方教えて頂けないでしょうか?
486デフォルトの名無しさん:04/11/18 17:25:46
追記です。

.NET2003使っております。
宜しくお願いします(´・ω・`)
487デフォルトの名無しさん:04/11/18 18:06:42
>>485
> ボタンBにも同時にフォーカスがあたっていて原因がわかりません。
どんな現象がでて、ボタンBにもフォーカスがあると判断したの?
488デフォルトの名無しさん:04/11/18 19:11:17
>>485
だからエスパーはいないといっているのがなぜわからない?

不思議でしょうがないんだけど、どうしていい歳して、
他人が自分の書いた文章を読んだときにどのように思うだろう?
きちんと自分が伝えたいことが伝わるだろうか?って考えて文章かけないの?

はっきりいって情けない。
こんなのプログラミング以前どころか義務教育修了レベル以前の問題だろ。
489デフォルトの名無しさん:04/11/18 19:31:30
>>488
おまえはエスパーか?

どうして”いい歳”してるってわかるんだ?www
490デフォルトの名無しさん:04/11/18 19:34:57
>>488
それ以前に
エスパーならプログラムできるのか?
念写できたり念動力があるエスパーが
プログラムの知識を持っているのか?

エスパー伊藤もエスパーだが
とてもできそうにないなwww
491デフォルトの名無しさん:04/11/18 19:38:58
>>485は表現力がない。
>>490は読解力がない。

踊る阿呆に見る阿呆ってかw
492清田:04/11/18 20:47:15
これだから素人は...
493デフォルトの名無しさん:04/11/18 21:06:29
そもそも2chで聞く事自体間違い
494デフォルトの名無しさん:04/11/18 21:09:15
>488
皆が指摘してくれている事がまだ理解できていないようで・・・
義務教育を受けられなかったのですね。おかわいそうに。
495デフォルトの名無しさん:04/11/18 21:16:05
VB初心者にうってつけのサイト等ありましたらご教授くださいませんこう
496デフォルトの名無しさん:04/11/18 21:49:35
 今更だが、RichTextBoxのアレ、検証できたので結果報告をば。

Dim strCompare As String = "aiueo" & vbLf & "aiueo"
RichTextBox1.Text = "aiueo" & vbCrLf & "aiueo"
If strCompare.Equals(RichTextBox1.Text) Then
MsgBox("vbCrLf が vbLfに変換されている!")
Else
MsgBox("vbCrLf は vbLfではない")
End If

 と言う訳で、RichTextBoxの改行コードは「LF」と
言う仕様になっていて、改行コード「CRLF」の文字列を
代入すると、「LF」に変換されてしまうらしい。
 ちなみに、Windows XP(SP1) + VS.NET 2003で確認。
497デフォルトの名無しさん:04/11/19 14:36:46
ちなみに2002なんすが
[コード表示]から (Base Class Events)     Load
と、選択して雛形を出すと、
_ Private Sub Form1_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles MyBase.Load
[デザイン]のForm1をダブルクリックすると、
_ Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load

この違いはなんっすか?
エロい人もしくはエスパー教えて厨
498デフォルトの名無しさん:04/11/19 15:54:19
ドトネを感じるんだお前はそれしかない
May the .NET with you
499デフォルトの名無しさん:04/11/19 17:00:36
form上をpictureboxがランダムで移動するように
したいのですが,誰かアドバイスお願いします
500困ったくん:04/11/19 18:25:52
割り算を減算(引き算で)行うプログラムを作っています。

[ Text1 ] ÷ [ Text2 ] = [ Text3 ] 余り [ Text4 ]

のように表示させるのですが、例えば、35÷6をしたときに、
答えが、Text3=1 Text4=29 になってしまいます。
どうすればいいのでしょうか?
よろしくお願いします。 なお、僕の考えたプログラムは以下の通りです。
(※”=”部分がコマンド1です)

Private Sub Command1_Click()
M = Text1.Text
N = Text2.Text
sho = 0

Do
M = M - N
sho = sho + 1
Loop While M >= N

Text3.Text = sho
Text4.Text = M
End Sub
501デフォルトの名無しさん:04/11/19 18:42:06
>>500
ループ条件が文字列比較になってるから。

あと何故Do Whileループ? 2 / 3 = 1 余り -1 になるぞ。
502デフォルトの名無しさん:04/11/19 18:44:25
割り算を引き算でやるからだろ
503500 困ったくん:04/11/19 18:46:51
>>501
>ループ条件が文字列比較になってるから。
ということは、条件を他の形にすればいいんですね!
・・・といっても、どうすればいいのかわかりません。。。

For-Nextで作れるんですかね?
Do-While,Until じゃないと作れないと聞いたもので・・・
504デフォルトの名無しさん:04/11/19 18:59:32
VBとVB.NETはなにが違うんでしょうか。
いまだにわかりません、どっちが儲かりますか?
505デフォルトの名無しさん:04/11/19 19:33:22
>>504
どっちも儲かる。
506デフォルトの名無しさん:04/11/19 20:43:18
フォームの座標を取得する方法って何かないですか?
507デフォルトの名無しさん:04/11/19 20:43:49
あるよ。
508デフォルトの名無しさん:04/11/19 20:44:44
>>507
よかったら教えてもらえないでしょうか
509デフォルトの名無しさん:04/11/19 20:47:44
それくらい自分で調べろよ……。
Formのプロパティざっとみればすぐ見つかるだろ。
510デフォルトの名無しさん:04/11/19 20:49:04
>>509
それをつかってピクチャーボックスを動かすことって
できますか?
511yukki:04/11/19 20:58:46
>>448
>>449
ソースありがとうございます。
ReceiveEventHandlerは実際どの様に使ったらいいでしょうか?
プログラムに組み込んだものの使い方がいまいちわかりません。
初心者で本当申し訳ありませんが、返信お願いします。
512最凶VB厨房:04/11/19 21:24:39
>>511
>ReceiveEventHandlerは実際どの様に使ったらいいでしょうか?
ソースを見てくれとしかいいようがない・・・。
コンパイルして実行してみた?
デリゲートがわからんならここでも見れ
http://www.atmarkit.co.jp/fdotnet/onepoint/onepoint03/onepoint03_01.html
イベントがわからんならここでも見れ。
http://www.microsoft.com/japan/msdn/library/ja/cpguide/html/cpconEvents.asp

ついでにテスト用送信プログラムはこんな感じだ。実行してみれ
Imports System
Imports System.Net
Imports System.Net.Sockets
Imports System.Text
Public Class udpc
Shared Sub Main()
Dim client As UdpClient=new UdpClient(20000)
Dim i As Integer=0
Dim ss As String="パケット発射"
For i=0 To 3
ss &=ss
Next
Dim bb() As Byte=Encoding.UTF8.GetBytes(ss)
client.Connect(IPAddress.Loopback,10000)
client.Send(bb,bb.Length)
End Sub
End Class
513デフォルトの名無しさん:04/11/19 23:03:23
>509
質問に答える気がないのに書き込む行為は荒らしと
見なされますよ。別のスレで同じプロバイダの奴がそれで
アク禁になって、えらい迷惑受けた。
514デフォルトの名無しさん:04/11/19 23:15:17
>>513
俺は>>509ではないが、空腹の奴に魚の釣り方教えてるだけだろ?

ていうか、だから馬鹿は自分の言葉を自分自身に適用できんのか?
お前がすべきでないと言っていることを、お前自身がやってないか?
俺様だけは特別ルールが適用されます、ってか?
とんでもない棚上げ野郎だな。
515最凶VB厨房:04/11/19 23:25:35
もまえらそろそろおちけつ
516デフォルトの名無しさん:04/11/19 23:30:15
>514
アホ。
517デフォルトの名無しさん:04/11/19 23:30:41
TreeViewのノードを一部非表示にすることってできますか?
518デフォルトの名無しさん:04/11/20 00:25:54
>517
すいません。別の方法で解決できたのでこの質問は忘れてください。
519デフォルトの名無しさん:04/11/20 02:00:45
iTunes for Windows をVBから操作したいのですが参考になるソースコードはありませんか。
520デフォルトの名無しさん:04/11/20 02:35:13
521デフォルトの名無しさん:04/11/20 02:45:14
>>520
追加
参照設定でCOMの中からiTunesタイプライブラリを設定
インターフェースがずらずら出てくるから
後はJavaScriptのソースと見比べながらどうぞ
522デフォルトの名無しさん:04/11/20 10:20:19
現在テキストボックスでKeyPressイベントの中で数字のみの入力に制限しています。
e.KeyChar < "0"c Or e.KeyChar > "9"cとかで。
でもこれだとコピー、ペースト、カットのショートカットキーも無視されてしまいます。
どうやった両立できますか?
523デフォルトの名無しさん:04/11/20 10:52:54
最近の人たちはどうして自分で実装しようとしないんだろう。。。
524デフォルトの名無しさん:04/11/20 13:07:23
>>523
脳味噌腐ってるのか?
だから「自分で実装」する方法を聞いてるんだと思うが。

>>522
実際やったことはないが、KeyPressではなくKeyDownでキーコードをマスクするように
書けばできると思う。
525ネタではありません。:04/11/20 15:16:01
すみません、困っています。
どなたかWEBアプリケーションを作れる方、
相談にのっていただけませんか?
「こういうWEBプログラムが作りたい」という案は
すでにあります。自宅サーバーもすでにあります。
平日の夜、都内で焼肉をおごります。

もし、「それなら作れるよ」ということでしたら
数万円の謝礼をお支払いする用意があります。
よろしくお願いいたします。
526デフォルトの名無しさん:04/11/20 15:22:52
>>525
まずは要件定義書を完成させてこい。話はそれからだ。
527yukki:04/11/20 15:57:13
>>512
>最凶VB厨房さん

たびたび申し訳ありません。

>>ReceiveEventHandlerは実際どの様に使ったらいいでしょうか?
>ソースを見てくれとしかいいようがない・・・。
>コンパイルして実行してみた?

テスト用送信プログラムもコンパイルして送信してみたのですが、受信イベントが発生しません。
紹介してもらったURLを参考に受信側のFORMでフォームロードイベントで、デリゲートを宣言を下記のように
してみたのですが、うまくいきません。
VB.NETというかプログラム自体初心者なため検討違いなことしてますか?
デリゲートの使用方法を教えていただけないでしょうか。

Private Sub Form1_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles MyBase.Load
Dim TestReceive As ReceiveEventHandler
TestReceive.Invoke()
End Sub

'Public Overridable Sub Invoke(sender As Object, e As UDPEventArgs)' のパラメータ 'e' に対して引数が指定されていません。
'Public Overridable Sub Invoke(sender As Object, e As UDPEventArgs)' のパラメータ 'sender' に対して引数が指定されていません。
528デフォルトの名無しさん:04/11/20 15:58:19
MSDNをインストールして使っていますが、
背景色の白がまぶしいので、他の色に変えたいのですが
どうやってできるかご存知の方いませんか?
529デフォルトの名無しさん:04/11/20 17:03:15
>>521
大変参考になりました。どうもありがとう。
530デフォルトの名無しさん:04/11/20 17:42:12
>>525
新しいのが出てきたな
面白いぞ
531デフォルトの名無しさん:04/11/20 17:52:59
>>525
まず君の連絡先をここに晒せ。こちらから連絡させて頂きます。
532デフォルトの名無しさん:04/11/20 18:29:53
>>525
こんなメールが来そうな予感

ようこそ、バーボンハウスへ。
このテキーラはサービスだから、まず飲んで落ち着いて欲しい。

うん、「また」なんだ。済まない。
仏の顔もって言うしね、謝って許してもらおうとも思っていない。

でも、このメールを見たとき、君は、きっと言葉では言い表せない
「ときめき」みたいなものを感じてくれたと思う。
殺伐とした世の中で、そういう気持ちを忘れないで欲しい、そう思って
このスレを立てたんだ。


じゃあ、注文を聞こうか。
533デフォルトの名無しさん:04/11/20 20:06:30
>524
>523みたいな奴をいちいち相手してやることないって。
>526 多分君にはお願いされてないと思うよ。
534デフォルトの名無しさん:04/11/20 21:10:27
>>533
答えてやれよ
535デフォルトの名無しさん:04/11/20 22:42:00
sendkeyみたくマウスのボタンを操作する事はできますか?
出来ればやりかたを教えていただきたいのですが。
536デフォルトの名無しさん:04/11/20 22:52:56
>>535
SendInput
キーストローク、マウスの動き、ボタンのクリックなどを合成します。

UINT SendInput(
UINT nInputs, // 入力イベントの数
LPINPUT pInputs, // 挿入する入力イベントの配列
int cbSize // 構造体のサイズ
);
537デフォルトの名無しさん:04/11/20 23:17:33
538デフォルトの名無しさん:04/11/20 23:47:29
>>525
数万円て馬鹿か。
539デフォルトの名無しさん:04/11/20 23:58:52
質問です。
System.Web.Mail.SmtpMailクラスでメール送信する際
ポートの指定は出来ないのでしょうか。ググッてもわか
りませんでした。
540デフォルトの名無しさん:04/11/21 00:10:03
>>539
できない。
.NET 2.0で追加されるSystem.Net.Mail.SmtpClientならできる。
どうしてもやりたければSocketを使う。
541デフォルトの名無しさん:04/11/21 00:18:55
>>540
どうもです。デフォルトのポートは25に設定されているんでしょうか。
542デフォルトの名無しさん:04/11/21 00:40:09
質問です。

VB.NETでEBCDIC漢字はSHIFT-JISに変換できないのでしょうか?
シフトコードは入れているのですが変換できません。
半角カナは変換できるのですが・・
543デフォルトの名無しさん:04/11/21 00:40:57
>>536
ありがとうございます。
544デフォルトの名無しさん:04/11/21 01:12:43
vb .net 2003 / windows2000

MDIでテキストエディタを作ってるのですが、ファイルの保存方法がわかりません。。。
アクティブなMDIウインドウのtextbox1のテキストを保存したいのですが、MDIウインドウの指定方法がわかりません。
545デフォルトの名無しさん:04/11/21 01:57:47
>>544
事故解決しましたm(_ _)m
546デフォルトの名無しさん:04/11/21 08:13:22
Private s As String = ""

Private Sub ThreadMain1()
Dim i As Integer
For i = 0 To 99
s = s + "A"
Next
Trace.WriteLine("ThreadMain1 done")
End Sub
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
Dim thread1 As New System.Threading.Thread(AddressOf ThreadMain1)
thread1.Start()
End Sub

これを実行するとへんなメッセージがでます。これは何なのでしょう。
名前がありません? 名前あるけど。0x340って何?
ThreadMain1 done
スレッド '<名前がありません>' (0x340) はコード 0 (0x0) で終了しました。
547デフォルトの名無しさん:04/11/21 08:33:35
そのまま、名無しのスレッドが終了したってことだが。
名前ってのはThread.Nameプロパティで指定する文字列だよ。
0xNNNは内部で使われているスレッドID。
548デフォルトの名無しさん:04/11/21 08:37:08
>547
ホントにわかってんのかな。
549546:04/11/21 09:05:00
> 547
おっ、ありがとう。
>548
 さらに分かってるいる方の解説希望。
 たとえば、IDの使い道とか
550デフォルトの名無しさん:04/11/21 09:41:40
>>548
が分かっていないに100炎
551デフォルトの名無しさん:04/11/21 10:37:04
>547と>550も分かっていないに1000炎
552デフォルトの名無しさん:04/11/22 10:02:37
>>513
ヒントを与えているが。
553デフォルトの名無しさん:04/11/22 11:30:24
バックグラウンドでHIDEで動作している常駐のクラスclsBでタイマー
イヴェントを1秒ごとに起してコマンド処理をしています。
 メインの方では色々なフォームを立ち上げたり消したりしています。
 そのフォームの一つaFormで、データ取り込みコマンドを
clsBにたいして送ります。clsBは1分でそのコマンドの処理をして完了とデータををaFormに送ります。
しかしその時ユーザーは処理の完了を待ちきれずに別のフォームを立ち上げていて、
aFormは消えているかもしれません。
 こういう場合、どのような方法で処理をすればよいでしょうか?

1案)aForm終了時にキャンセルコマンドを送る。
2案)clsBは処理の終了でaFormがまだ存在するかを調べて、存在すれば
 完了コマンドとその処理済データをaFormに送る。

を考え付きましたが、
 クラスが存在するか消滅しているかは、どうやって調べるのでしょうか?
554553:04/11/22 11:33:39
 正確には、クラスのインスタンスの存在、消滅の検出方法です。
555デフォルトの名無しさん:04/11/22 12:48:40
>554
グローバル
556デフォルトの名無しさん:04/11/22 13:25:54
VB.NET 2005 Express Beta落として使ってるんだけど、
新規プロジェクトでForm1が出来る
 ↓
ツール→オプション→Windows フォームデザイナ→Layout ModeをSnapToGridに
 ↓
Form1の大きさをマウスで変えようとするとエラー
「オブジェクト参照がオブジェクトインスタンスに設定されていません」

なんとかならんかね?
557デフォルトの名無しさん:04/11/22 14:09:42
>556
どうなってほしいの?
558yukki:04/11/22 16:56:41
>>527
>最凶VB厨房さん

自己解決できました。
ありがとうございます。
559522:04/11/22 17:51:33
>>524
遅レスになってしまいました。

KeyDownイベントでもやってみたんですが、e.Handled = Trueとやっても
キャンセルされず文字が入力されてしまいます。
IsInputCharあたりをオーバーロードしてやってみてますが、いまだ未解決のままです。
560デフォルトの名無しさん:04/11/22 18:38:11

VB6にあった実行ファイルのオプションは
どこにいったのでしょう?
会社名とか書けない…
561yukki:04/11/22 18:49:44
度々申し訳ありません。

UdpClientのReceive メソッドはメッセージを受信するまで実行をブロックしてしまいます。
メッセージの受信を待ちつつ、他の動作(例えば、メッセージ送信やイベント発生)などを行うにはどうしたらよいでしょうか?

ご存知の方いらっしゃいましたらご伝授願います。
562556:04/11/22 18:54:35
>>557
Layout ModeをSnapLineに設定していると、フォームの大きさをマウスで変えてもエラーが起きない。
SnapToGridでも同じように出来ませんか?という相談だったのだが。

わかりにくかったらごめん
563デフォルトの名無しさん:04/11/22 19:09:24
>560
アセンブリ
564デフォルトの名無しさん:04/11/22 19:28:17
>>563
教えて頂きアリガトです。
しかし。。。凹みました。仕様?2002だけかな?
565デフォルトの名無しさん:04/11/22 19:35:44
>564
.NET系は全部そうなんじゃないの?c#も同様だったし。
566デフォルトの名無しさん:04/11/22 22:10:54
あげ
567デフォルトの名無しさん:04/11/23 09:39:24
フォームを表示させずに処理したいんですがどのようにやればいいのでしょうか?
568デフォルトの名無しさん:04/11/23 09:55:23
>567
どういうこと?Sub Main()からスタートしてフォーム表示させないように
すればよさそうだけど、そういうことでいいのかな?
569デフォルトの名無しさん:04/11/23 10:11:35
>>568
そです。これから試してみます
どうもです
570デフォルトの名無しさん:04/11/23 14:47:35
VB.NETで、ftpサーバにファイルをアップロードするプログラムを作っています。

本のサンプルそのままに一つのファイルをアップロードさせるのはうまくいくのですが、
複数のファイルをアップロードしようとすると、うまくいくのは最初のファイルだけで、
2番目のファイルは、アップ先に空のファイルができるだけで、止まってしまいます。

http://do.sakura.ne.jp/~junkroom/cgi-bin/megabbs/readres.cgi?bo=lounge&vi=1003826049&res=83
↑いま、こちらにソース置かせてもらったのですが、

Button1_Click()で、サーバにログインし、
Button2_Click()で、最初のファイルアップロード。アップロードが完了してから、
Button3_Click()で、2番目のファイルをアップロードするのですが、ここで、止まってしまいます。

なぜなのでしょうか?
よろしくお願いします。m(__)m
571デフォルトの名無しさん:04/11/23 18:02:53
>>558

どう解決したのか
しりたいでつ
572MSDE:04/11/23 18:50:02
. .NETでMSDEを利用したいと思いますが、新規にデータベースを作成する方法が分かりません。
サンプルにこのコードを見つけたのですが、
型 'Repository' が定義されていません。となりエラーになります。

Dim oRepos As New Repository
oRepos.Create("SERVER=MyServer;DATABASE=MyDatabase;UID=MyUserID;PWD=MyPassword;")

リポジトリーというのが意味不明ですが、新規にDBファイルを作成するのはこのコードで
いいのでしょうか? このエラーを取り除くにはどうすればいいのでしょう?
573デフォルトの名無しさん:04/11/23 19:20:55
MSDN嫁。SQLでテーブル定義したいならDB板に逝け。
その前にDBの基礎とかオブジェクト指向とか、ハードルが高そうな気もするが。
574デフォルトの名無しさん:04/11/23 19:28:46
>573
質問に対する回答・ヒント以外の書き込みは
他のスレで荒らし報告されています。

ちなみにこの書き込みはあなたの書き込みに対しての
もので、質問に対するものではないです。
575デフォルトの名無しさん:04/11/23 19:39:48
(・∀・)ニヤニヤ
576573:04/11/23 20:14:40
2ちゃんの専門板のレベルも地に堕ちたな。
577デフォルトの名無しさん:04/11/23 20:33:04
>576
それは君では?
578(・∀・)ニヤニヤ:04/11/23 20:44:24
必死すぎ。w
579デフォルトの名無しさん:04/11/23 20:56:47
>578
最後に「w」が付いてるのは何?
580MSDE:04/11/23 20:57:01
 名前つきインスタンス、混在モード、ストロングパスワードなど手前勝手なヤツラ言語の
名前がつけられていて何のことかサッパリ分からん。
インストールくらい勿体つけないで普通に喋れんのか?きっとどいつもこいつも上から下まで
精神構造がおかしいのだろう。

ここでヤツラ言語とは奴らが勝手に作った長持ちしない言語のこと。

■以下はインストールのマイクロソフトの説明
以下のコマンドのいずれかを実行します。
Windows 認証モードを使用するように設定された既定のインスタンスをインストールするには、次のコマンドを実行します。
setup SAPWD="AStrongSAPwd"

ここで AStrongSAPwd は sa ログインに割り当てられた強力なパスワードです。

Windows 認証モードを使用するように設定された名前付きインスタンスをインストールするには、次のコマンドを実行します。
setup INSTANCENAME="InstanceName" SAPWD="AStrongSAPwd"

ここで AStrongSAPwd は sa ログインに割り当てられた強力なパスワードで、InstanceName はそのインスタンスに割り当てられた名前です。

混在モードを使用するように設定された既定のインスタンスをインストールするには、次のコマンドを実行します。
setup SAPWD="AStrongSAPwd" SECURITYMODE=SQL

ここで AStrongSAPwd は sa ログインに割り当てられた強力なパスワードです。

混在モードを使用するように設定された名前付きインスタンスをインストールするには、次のコマンドを実行します。
setup INSTANCENAME="InstanceName" SECURITYMODE=SQL SAPWD="AStrongSAPwd"

ここで AStrongSAPwd は sa ログインに割り当てられた強力なパスワードで、InstanceName はそのインスタンスに割り当てられた名前です。

581デフォルトの名無しさん:04/11/23 20:58:21
>580
質問スレなんだから質問を書け。ここはお前の日記帳じゃない。
訳がわからなくて質問することもできないというのなら、
お前は業界を変えろ。
582MSDE:04/11/23 21:00:16
読めば読むほど滑稽な文章なのだが、、、
いま腑と思いついたが「マニュアルから読むマイクロソフトの
精神構造」という本を書いたら馬鹿の壁よりはきっと売れると思う。
583デフォルトの名無しさん:04/11/23 21:03:34
>582
書くのがお前じゃ売れないと思うよ。
584MSDE:04/11/23 21:09:46
 書くのはゴーストライターに決まってる。
585MSDE:04/11/23 21:14:20
 ところで、こんなんがあった。もうすこし簡単にならん?
Set oServer = CreateObject("SQLDMO.SQLServer")
Set oDatabase = CreateObject("SQLDMO.Database")
Set oDBFile = CreateObject("SQLDMO.DBFile")
Set oLogFile = CreateObject("SQLDMO.LogFile")
' SQLサーバーへ接続します
oServer.Connect "(local)", "sa", ""
' データ ファイルを定義します
oDBFile.Name = "MyData" ' 名前
oDBFile.PhysicalName = "C:\MSSQL7\Data\MyData.mdf" ' 物理ファイル名
oDBFile.PrimaryFile = True ' プライマリーファイルとして設定
' データ ファイルの自動拡張を設定
oDBFile.FileGrowthType = 0 'SQLDMOGrowth_MB MB拡張
oDBFile.FileGrowth = 1 ' 1MB拡張
' データファイルの定義を追加する
oDatabase.FileGroups("PRIMARY").DBFiles.Add oDBFile
' トランザクション ログを定義します
oLogFile.Name = "MyLog" ' 名前
oLogFile.PhysicalName = "C:\MSSQL7\Data\MyLog.ldf" ' 物理ファイル名
oDatabase.TransactionLog.LogFiles.Add oLogFile ' 追加
' 定義したデータベースを作成する
oDatabase.Name = "MyDB" ' 名前の指定
oServer.Databases.Add oDatabase ' サーバー上にデータベースを作成
586MSDE:04/11/23 21:21:51
>MSDN嫁。SQLでテーブル定義したいならDB板に逝け。
>その前にDBの基礎とかオブジェクト指向とか、ハードルが高そうな気もするが。

Dim oRepos As New Repository
でハードルの低いお前はReposhitoryがどこのNameSpaceか知ってるのか?
知ってるなら答えてみなさい。
587デフォルトの名無しさん:04/11/23 21:22:51
Reposhitoryねぇ・・・そんなクラスはないんじゃないですかねぇ・・・
588デフォルトの名無しさん:04/11/23 21:23:39
>584
お前おもしれーな。ゴーストライターの意味分かってるか?
589デフォルトの名無しさん:04/11/23 21:24:34
>585
どこが難しいの?
590デフォルトの名無しさん:04/11/23 21:25:42
>572からの変わりようがいいな。ドキュメント読んで分かんないもんだから
ドキュメントのせいにして騒いでるw
そんなんじゃ誰も相手にしてくれないよw
591MSDE:04/11/23 21:36:20
>589
>どこが難しいの?
名前があって物理ファイル名があってデータベース名があるんですか?
えっと、選り取りみどり、名前には不自由しないようですね。

でトランザクションログって何ですかね? 不思議な名前ですが。
まあそれはいいとして。ログ見りゃなんか分かるんでしょう。きっと。
でもトランザクションとは関係ないと思うが。

' データ ファイルの自動拡張を設定
oDBFile.FileGrowthType = 0 'SQLDMOGrowth_MB MB拡張
oDBFile.FileGrowth = 1 ' 1MB拡張
 1MB拡張ってなんなんです?
592デフォルトの名無しさん:04/11/23 21:42:51
>591
データファイルのサイズが足りなくなったときに1MBずつ
拡張すること。スレ違い。>573で既に指摘されてるだろ。
593デフォルトの名無しさん:04/11/23 21:43:31
今後MSDE氏の質問には回答しないように。
回答自体もスレ違いなので。
594MSDE:04/11/23 21:53:40
>592
 難にせよ。ありがとう。
 しかしRepositoryのNamespaceについて誰もしらんのか? そんなマニュアルを
のさばらせているのは、一体誰なんだ。 

>お前おもしれーな。ゴーストライターの意味分かってるか?

 著者じゃなくて馬鹿の壁を本当に書いた人のことね。あなた知ってる?
知らないでしょ。そう、誰も知らない。知ってるのは、当の精神科医と
檻のなかの機知外くらいだよ。

>ドキュメントのせいにして騒いでるw
>そんなんじゃ誰も相手にしてくれないよw

 あのドキュメントから読めるものは、タイトルが意図しているものとは
別のもの。そう脳みその異常。


595MSDE:04/11/23 21:55:57
 ADOってのは.NETの目玉じゃないのか? ちがう? スレは目玉を
避けるのね? こわいから?
596デフォルトの名無しさん:04/11/23 22:04:33
取りあえず見つけたサンプルとやらのアドレスを書け。
話はそれからだ。
597デフォルトの名無しさん:04/11/23 22:06:29
>595
通報しときました。適切なスレを選ばないとこういうことになります。
598デフォルトの名無しさん:04/11/23 23:40:05
イイヨイイヨー
599デフォルトの名無しさん:04/11/23 23:40:06
>>579
ブッシュ?
600デフォルトの名無しさん:04/11/24 04:43:30
面白いスレですね。
眠気が吹っ飛んだよ
601デフォルトの名無しさん:04/11/24 07:24:55
夜はレベルが低くなるスレだな
602573:04/11/24 09:01:09
まっとうなプログラマは昼間仕事するからね。
603デフォルトの名無しさん:04/11/24 09:33:41
VB.NET 2005 Express Beta落として使ってるんだけど、
新規プロジェクトでForm1が出来る
 ↓
ファイル→名前を付けてForm1.vbを保存
 ↓
実行ファイルが作られていない

実行ファイルの作り方がわかりません。スレ違いだったら誘導おながいします
604デフォルトの名無しさん:04/11/24 10:38:04
ビルド
605デフォルトの名無しさん:04/11/24 11:38:31
F5
606デフォルトの名無しさん:04/11/24 12:07:18
>>602
そりゃ説明になっとらん。
昼レベルが高いとしたら、まっとうなプログラマが昼間仕事さぼってここに書き込んでることになる。
漏れもだが。 orz
607デフォルトの名無しさん:04/11/24 12:43:25
>606
あほ
608デフォルトの名無しさん:04/11/24 14:40:46
>>604
>>605
ビルドですか。F5ですか、ありがとうございます。
609デフォルトの名無しさん:04/11/24 15:26:06
すみません。続いての質問で恐縮なんですが。

ビルドしても実行ファイルが作られてないみたいなんですが
まず、パスを通さないといけないのでしょうか?
ビルド出力パスというのが関係するんでしょうか。
ソースファイルが2つと、リソースファイルまでは作れたんですが

610デフォルトの名無しさん:04/11/24 15:31:51
VBで
文字列を入力すると、その文字列が回文(右から読んでも左から読んでも一緒)
であるかどうかを判別するプログラムのコードだれかわかりませんか?
611デフォルトの名無しさん:04/11/24 15:44:10
誰か、VB.NET2005 betaのわかりやすい解説書いてほしいよ。
既存ぼ解説とずれてて微妙にわかんないや。ただでさえ時間がかかってるのに
612500 困ったくん:04/11/24 16:29:25
割り算を減算(引き算で)行うプログラムを作っています。

[ Text1 ] ÷ [ Text2 ] = [ Text3 ] 余り [ Text4 ]

のように表示させるのですが、例えば、35÷6をしたときに、
答えが、Text3=1 Text4=29 になってしまいます。
どうすればいいのでしょうか?
よろしくお願いします。 なお、僕の考えたプログラムは以下の通りです。
(※”=”部分がコマンド1です)

Private Sub Command1_Click()
M = Text1.Text
N = Text2.Text
sho = 0

Do
M = M - N
sho = sho + 1
Loop While M >= N

Text3.Text = sho
Text4.Text = M
End Sub

結局、どうすればいいのでしょうか??
教えてください!!
613デフォルトの名無しさん:04/11/24 16:41:13
>>609
デフォルトだと日本語のパスが通らないらしいんだけど
そのへんはどうだろ?
614デフォルトの名無しさん:04/11/24 17:18:13
エンタープライズ版のVSを使って、AS/400にODBC接続を試みています。MSDEの時のと同じ要領で
データーセットを作るところまではあっさりできましたし、データーグリッドにこれを表示するところまで
はすんなり通ったのですが、このデーターグリッド上の数値を書き換える事ができません。

AS/400に対して、コマンドが通らないと言うのであれば納得もできるのですが、データーグリッド上の
数値をいじっている時点では、クライアント側での話しなので、とんと判らず弱っています。

同じような症状を解決出来た方、いらっしゃいませんか?
615デフォルトの名無しさん:04/11/24 17:21:56
>>612
先にあまりを出しておいて、それを元の数からひいて、その上で、もう一回割り算
っていうのは、どうでせう?
616デフォルトの名無しさん:04/11/24 17:42:16
>615
アホ
617デフォルトの名無しさん:04/11/24 18:32:39
>>616
罵倒するだけの能無しよりはマシな希ガス、アルゴンガス、アセチレンガス。
618617:04/11/24 18:35:34
すいません。>617の書き込みは自分自身に対してのものです。
気を悪くされた方、わたしのことですので気にしないでください。
619デフォルトの名無しさん:04/11/24 18:38:10
結局>>501だろ。
MとNをintegerで宣言すれば解決する話だ。
DoWhileだと余計なループが発生して結果がおかしくなるのも指摘されてるな。

つかそもそもこれは本当にVB.NETのコードなのか?
620デフォルトの名無しさん:04/11/24 19:10:53
Now()を実数に変換する方法おしえて。
621デフォルトの名無しさん:04/11/24 19:16:58
>>612

35-6-6-6-6-6-6=-1<0  

-6でループ計算をさせ、この結果がでてきたら

Text1=35
Text2=6

Text3=ループ回数-1

※Text5=-1

Text4=-1-(-6)

こんなのでどうだろうか・・・


622デフォルトの名無しさん:04/11/24 19:23:18
>620
実数って何のこと指してます?
623デフォルトの名無しさん:04/11/24 19:34:23
>612
 それでプログラムはOKだが、数値の宣言とかで問題があるんかもな。
 確実に変数を宣言してみなさいよ。

 DIM N,M,sho as double 'M,N,SHOを実数として宣言する
M = TextBox1.Text
N = TextBox2.Text
sho = 0
Do
M = M - N
sho = sho + 1
Loop While M >= N
TextBox3.Text = sho
TextBox4.Text = M
624620:04/11/24 19:43:47
実数っていうのは、つまり最初が0.0(多分1755年1月1日0:0:0:0?)
基準に3msec精度での積算値。 NOw()はDate型だけど実体は実数なの。
で dim msec as double
msec = NOw().todouble となるのが普通なのだけど、todouble()ってメソードを
なんか別の書き方にしているらしい。
 toStringがあるならtoDoubleだろう?普通なら。

 
625620:04/11/24 19:56:03
>612
こうすると 1,29がこたえになる。

Dim M, N As String, sho As Double

M = TextBox1.Text
N = TextBox2.Text
sho = 0
Do
M = M - N
sho = sho + 1
Loop While M >= N
TextBox3.Text = sho
TextBox4.Text = M
626デフォルトの名無しさん:04/11/24 20:05:26
>>624
それは一体どんな言語/環境の話なのよ。
ttp://www.microsoft.com/japan/msdn/library/default.asp?url=/japan/msdn/library/ja/vblr7/html/vadatDate.asp
VB.NET(と.NET Framework)では8バイトの整数として西暦1年1月1日から100ナノ秒単位で格納されてる。
UNIX時間でも整数を使ってるし。
627620:04/11/24 20:20:04
 あっすまん。すこしいい加減なことを行ってしまったかも。
しかし、さっきどっかでみたんだが、西暦1年じゃなかったと
おもうが、、、、
628620:04/11/24 20:24:51
1999・11・30日を変換すると変換すると0見たいだぞ
629デフォルトの名無しさん:04/11/24 22:51:25
>>628
.NETとVB(とか他の言語)が混ざってないか?
http://www.atmarkit.co.jp/fdotnet/vb6tonet/vb6tonet05/vb6tonet05_01.html
こことか参考になるんじゃないの?
630デフォルトの名無しさん:04/11/25 13:54:53
Aフォームを継承したA’フォームがある。
このA’フォームのデザイン画面をソリューションエクスプローラーから開いた時、
基底クラスAフォームのLoadイベントが実行されるなんてことがあるのだろうか・・・

現在そのロードイベントにはApplication.StartupPathでファイルをオープンする処理があるのだが、
StartupPathにC:\Program Files\Microsoft Visual Studio .NET 2003\Common7\IDEが入ってきているらしく
エラーが発生してしまう。これって何なんだ・・・orz
631デフォルトの名無しさん:04/11/25 14:03:57
>>630
オリジナルのコントロール貼り付けてもLoadイベントは起きる
632630:04/11/25 14:15:01
>>631
レス感謝。

確かにAフォームのLoadイベントにメッセージボックスを記述するとデザイン時でもメッセージボックスが出るな。
これって常識??
基底クラスのLoadイベントが発生するって解釈でいいのかな?
633デフォルトの名無しさん:04/11/25 14:20:09
>>632
>  基底クラスのLoadイベントが発生するって解釈でいいのかな?
そうじゃなきゃ困る。

DesignModeプロテクトプロパティを使えばデザインモードかどうか判断できる。
ただしコンストラクタでは常にFalseを返すようなのでLoadイベント内で。
634631:04/11/25 14:58:00
>>633

>>631だがDesignModeは知らんかったw
勉強になった
635630:04/11/25 15:10:36
>>633
なるほど・・・実行中のことしか頭に無かったよ。
すごく勉強になった。ありがと。
636デフォルトの名無しさん:04/11/25 19:36:40
Tabpageを使って、一つのフォーム内に

┃TabPage1┃TabPage2┃TabPage3┃TabPage4┃

というように、TabPageが4つあるフォームを作成しました。何をどうやったのか判らないのですが
気が付くと

┃TabPage1┃TabPage3┃TabPage2┃TabPage4┃

と順番が入れ替わってしまいました。元に戻したいのですが、どうすればよいでしょうか?
637デフォルトの名無しさん:04/11/25 22:34:04
>636
ソースコード直接いじれば?addする順番変えれば
いいんじゃないの?
638デフォルトの名無しさん:04/11/25 22:45:41
「表示」→「タブオーダー」
639デフォルトの名無しさん:04/11/26 00:50:19
VB.NETの勉強の過程で
VB.NETを使いPocketPC用のRSSリーダーを作ろうと思ってるんですが
RSSの整形方法などを判りやすく解説されているサイトや書籍、サンプルコード等をご存じないでしょうか?

よろしくおねがいします
640斉藤 ◆kvYxWFRquQ :04/11/26 05:16:10
リアル社会でVB.NET使ってる人はここ見ない方がいい、ってことですね。
641デフォルトの名無しさん:04/11/26 14:10:18
最近VB.netをはじめたのですが、本を読みながら勉強中のところでわからないところがあります。

アクセス2000の形式を使ったデータベースでのレコード検索なのですが、
基本の形が「戻値=デートセット名.データテーブル名.Select(抽出条件)」
で,できるみたいなのですが、例題では抽出条件のところの書き方が...Select("単価 = 2000")
のようにしないさいとあります。

そこで実際にプログラミングしていく段階でテキストボックス内の値を抽出条件にするときに、
...Slect("商品グループ = '" & textbox1.Text & "'")
のようにしなければならないみたいです。抽出する値をシングルクォーテーション(')で囲むようにっと書いてあるので、
「'〜〜'」の意味はわかりますが、その中の「" & textbox1.Text & "」の意味がいまいちわかりません。
長くなってしまったのですが、ご教授のほどよろしくお願いします
642デフォルトの名無しさん:04/11/26 14:30:02
&は文字列を連結する演算子であると言えば分かるだろうか。
643デフォルトの名無しさん:04/11/26 14:30:37
TextBox1.Textの中に「生鮮食料品」と言う値が入ってた場合

Slect("商品グループ = '" & textbox1.Text & "'") 
この中身は
Slect("商品グループ = '生鮮食料品' ")
になる

ためしに
Dim str as String =  "商品グループ = '" & textbox1.Text & "'"
MessageBox.Show (str)
Slect(str)

に置き換えてみると解りやすいかも
644デフォルトの名無しさん:04/11/26 14:33:19
>>641
その「&」の部分にカーソルを当ててF1キーを押すと、ヘルプが
出てくる。「&」は「+」と異なり、文字列だけを連結する機能
がある。
645デフォルトの名無しさん:04/11/26 14:42:58
ふむふむぅ、、違うかもしれないのですけど、
シングルクォーテーションで囲まれた部分をひとつの固まりとみなして、
そのままではtextbox1.Textは文字列になってしまうのでそれをテキストボックスのプロパティにして、
さらにそれを「&」の結合演算子で繋げるということなのでしょうか?
646デフォルトの名無しさん:04/11/26 15:05:16
あああ!!!わかった!!!ごめんなさいです;w;
区切り方を間違っていました;w;

「"商品グループ='"」& 「textbox1.Text」 & 「"'"」
っということなのですね('△';)
こんなことを気づかなかったとは;w; 親切に教えてくださった方ほんとにありがとうございます(^▽^)
647デフォルトの名無しさん:04/11/26 15:12:31
>>646
648yukki:04/11/26 15:53:20
UdpClient.Receive メソッドについて。
Receiveメソッドはメッセージを受信するまで実行をブロックします。
メッセージ受信以外の方法でブロックを解除するにはどうしたらよいでしょうか?
649hoge:04/11/26 21:44:49
>>648
ちょうど俺もUDPのプログラム書いてたから

Do Until MainSock.Available > 0
   Application.DoEvents()
   System.Threading.Thread.Sleep(1)
   m_intResponsTime = timeGetTime() - ConnectStartTime
      If m_intResponsTime >= 2000 Then
         Exit Function’TimeOut
      End If
Loop

ReDim ReceiveBuffer(MainSock.Available - 1)
MainSock.Receive(ReceiveBuffer, MainSock.Available, SocketFlags.None)
650デフォルトの名無しさん:04/11/26 22:24:23
激しく外出かもしれませんが、
VC++.NET:Win32-DLLプロジェクトで
#ifdef DLLTEST_EXPORTS
#define DLLTEST_API __declspec(dllexport)
#else
#define DLLTEST_API __declspec(dllimport)
#endif
DLLTEST_API int __stdcall funcAdd(int a,int b);
DLLTEST_API int __stdcall funcAdd(int a,int b){
return(a+b);
}
VB.NETで
Declare Function funcAdd Lib "DllTest.dll" (ByVal a As Long, ByVal b As Long) As Long
と言う風に宣言してDLLのfuncAddを呼ぼうとすると
 DLL DllTest.dll の funcAdd というエントリ ポイントが見つかりません。
と言うエラーが出てしまいます。対処法を教えてください。お願いします。
651650:04/11/26 22:27:13
マニュアルだとDefファイルは書かなくても良いとの事なのですが…
652デフォルトの名無しさん:04/11/26 22:31:28
C++の場合
extern "C"_declspec (dllexport)
とC言語型の関数として宣言しなけりゃいけないはず。
653デフォルトの名無しさん:04/11/26 22:32:47
なんか変になった。
extern "C" __declspec (dllexport)
654650:04/11/26 22:36:16
>>652>>653レスありがとうございます。
試したのですが、やっぱりエントリポイントが無いと
怒られてしまいましたvro
655デフォルトの名無しさん:04/11/26 23:28:04
__stdcallの場合VB.NET側の宣言で
1)Aliasを指定する
 Alias "_関数名@引数のバイト数合計"
2)Autoを指定する

のどっちかが必要なようだ。

あと通常C/C++のintはVB.NETではInteger(Int32)であってLong(Int64)ではない。
656650:04/11/26 23:40:32
>>655
出来ました。ありがとうございました。

・・・しかし、defファイルが無いとやっぱりエントリポイント
が無いと怒られてしまいます。
__declspec (dllexport)をVC++側でやっとけばdefファイルはいらんと
マニュアルに書いてあるんですが・・・残念。
レス、ありがとうございました。
657デフォルトの名無しさん:04/11/26 23:47:06
で、結局何をどうやったの?
>653と>655でこっちでは問題なくエントリポイントを取得できたんだけど。

//Alias "#1" でもいいな。これが一番妥当か。
658650:04/11/26 23:59:30
>>657
File:DllTest.def------------
LIBRARY DllTest.dll
EXPORTS
funcAdd
------eof--------------
>650を
Declare Function funcAdd Lib "DllTest.dll" (ByVal a As Integer, ByVal b As Integer) As Integer
にしてDllTest.defをソリューションプロパティのモジュール定義ファイル
に置いたら出来ました。
でも、>653&>655の方が良さそうなのでそちらにさせていただきました。
多謝。
659650:04/11/27 00:00:19
>>658
Declare Auto Function...
でした。
660デフォルトの名無しさん:04/11/27 00:11:12
某社のグリッドコンポーネントを使用してpostbackした時に
非常に時間がかかるのだけど・・・・

htmlのサイズとしては500k位、postbackするのに5分位かかる
こんなもんなん!?

誰か詳しい人教えてください
661デフォルトの名無しさん:04/11/27 00:12:54
なぜ某社
662デフォルトの名無しさん:04/11/27 00:18:26
グレープシティーです
663デフォルトの名無しさん:04/11/27 04:36:05
質問です.
初めてVBを使います.
Data0001
Data0002
:
:
と,順番にファイルを読み込みたいです.
For i=1 to n
Workbooks.Open Filename:="Data000???.xls"

???のとこのプログラムをどのようにすればいいでしょうか?
664デフォルトの名無しさん:04/11/27 04:37:15
きわめてウイルスチックな香りが
665デフォルトの名無しさん:04/11/27 04:41:32
マクロに応用するだけですよ
666デフォルトの名無しさん:04/11/27 05:05:21
ここはVB.NET専門だから記述が異なる
VB6かVBAのスレに行ってみてはいかが?

VBAについて Ver.3.0
http://pc5.2ch.net/test/read.cgi/tech/1078187762/l50

VBプログラマ質問スレ(6.0以前) Part39
http://pc5.2ch.net/test/read.cgi/tech/1099737063/l50

667デフォルトの名無しさん:04/11/27 05:36:12
開発者じゃなくて利用者の立場の質問なのですが・・・、

VB.NET で開発されたソフトウェアを動かすには、
Microsoft Windows Update などから、
「Microsoft .NET Framework Version 1.1 日本語版」 みたいなのをダウンロードしなきゃいけないんですか?

だとしたら、Windows 2000 や XP のデフォルトの状態では動作しないのでしょうか?

よろしくお願いします。
668デフォルトの名無しさん:04/11/27 06:17:00
>>667
ランタイムが必要。
http://www.microsoft.com/downloads/details.aspx?FamilyID=262d25e3-f589-4842-8157-034d1e7cf3a3&DisplayLang=ja
Javaと同じで素の2000,XPじゃ動かん。
669667:04/11/27 06:24:16
>>668
回答ありがとうございます。
やっぱり、「.NET Framework」というランタイムが必要なんですね。
今まで色々な商用ソフトやフリーソフト、シェアウェアを使ってきましたが、
.NET Framework のインストールを要求された事はありませんでした。
やっぱり、.NET で作成されたプログラムって普及してないんでしょうか?
現在でも、VB6とかVisual C++ とかが一般的なのですか?



670デフォルトの名無しさん:04/11/27 10:31:37
>>669
新しい技術(?)についていけてないだけ
671デフォルトの名無しさん:04/11/27 11:22:49
>>669
Microsoft が こりゃーいい感じ と思ったら、
新しい Windows にデフォルトで入れてきて
一気に普及するということもありうるよね。

でも、現状では、Javeとか .Net のランタイム
のインストールを嫌がる人も多いので、、、
そう言うことでしょう。
672デフォルトの名無しさん:04/11/27 16:26:41
.NETの終わり方が分かりません。Disposeで終わっても、タスクリストに
EXEが稀に残ります。なんででしょう。とりあえず、終了まえにThread.Abort
とApplication.exitはやってます。他になにかやることがあるんでしょうか?
threadが一つ動いてます。MSDEを使ってます。ComのFlexgridをつかって
ます。それ以外は特別変わったことはしてません。
673デフォルトの名無しさん:04/11/27 16:27:57
>>669
ってか、WindowsUpdateしろよ。ちゃんとしてたら自動的に入ってる筈だぞ。
674デフォルトの名無しさん:04/11/27 16:33:17
taskリストにいつまでも残ってる奴を殺す方法を教えてください。
675デフォルトの名無しさん:04/11/27 17:26:44
窓から(ry
676デフォルトの名無しさん:04/11/27 19:24:43
>675
窓から手はだめ。手を使わないでプログラムで殺す方法。
677デフォルトの名無しさん:04/11/27 19:28:58
' 角の丸い長方形を描く関数の宣言
Declare Function RoundRect Lib "gdi32.dll" _
(ByVal hdc As Integer, _
ByVal nLeftRect As Integer, _
ByVal nTopRect As Integer, _
ByVal nRightRect As Integer, _
ByVal nBottomRect As Integer, _
ByVal nWidth As Integer, _
ByVal nHeight As Integer) As Integer
Public pic As PictureBox

RoundRect(PictureBox1.hdc,10,10,10,10,10,10)
PictureBox1.hdc がVBNETじゃだめなの。 何を渡すの?
678デフォルトの名無しさん:04/11/27 19:58:23
解決
Dim hn As IntPtr = pic.Handle
Dim hDC As IntPtr = GetDC(hn)
ででけた。
しかし、中をグリーンにしたいんだがどうすればいいの?
679デフォルトの名無しさん:04/11/27 20:15:17
>671
 Windows Server 2003には.NET 1.1のRuntimeがプリインスト。
 Windows XPは初期状態で.NET 1.0のRuntimeが入っていたような?

 次期Windowsは、それ自体が.NETのコンポーネントで構成されるって
聞いたような。
680デフォルトの名無しさん:04/11/27 21:58:04
>>678
CreateSolidBrushでブラシを作成。
SelectObjectで作成したブラシを選択。
RoundRectで描画。
SelectObjectで作成したブラシから元々選択していたオブジェクトに戻す。
DeleteObjectで作成したブラシを削除。

Graphics.FillPathとどっちが楽だろ。
//まあマネージドで完結させ得る点でGraphicsの方が良いが。

>>679
XPはSP2でも入らない。
WindowsUpdateの追加選択で任意にインストール、レベル。
自動通知の場合は知らない。
681デフォルトの名無しさん:04/11/27 23:03:31
リストビューのレポートスタイルで、カラムをクリックしてソート
したときに▼とか▲をヘッダに出したいのですが、あれはやっぱり
オーナードローとかいうものをしないとダメなのでしょうか。
VBでも可能なんでしょうか。
682デフォルトの名無しさん:04/11/27 23:21:32
VB.NETで作成したアプリケーションのバックグラウンド
処理の優先度を下げる方法はありますか?
683デフォルトの名無しさん:04/11/28 00:09:41
すいません。>681はVB6.0についての質問だったのに
間違えてこちらに投げてしまいました。
すいませんが>681は取り下げさせてください。
684フナ太郎:04/11/28 05:30:47
>>673
自動的に、ってことはねーべ。
.NET Framework のインストールはオプションだっぺ。
685デフォルトの名無しさん:04/11/28 05:56:55
>680
ありがとう
>DeleteObjectで作成したブラシを削除。
えっ、ガベッジコレクションきかないのですか? 
削除する必要があるんですか?

>'Graphics.FillPathとどっちが楽だろ。
>'//まあマネージドで完結させ得る点でGraphicsの方が良いが。

 APIで描いた図形にGraphics.FillPathできます?

GraphicsにRoundRectさえあれば、APIなんて使いませんよ。図形描画に関しては
滅茶苦茶原始的。MSDOSのまんまだね。 2Dで回転すらできないのか? あーあ。
686デフォルトの名無しさん:04/11/28 08:30:31
>>685
>  えっ、ガベッジコレクションきかないのですか? 
> 削除する必要があるんですか?

ガベージコレクションをもう一度勉強すれ。
メモリ以外はガベージコレクションの対象外だ。
アンマネージドなものを使うならDeleteObjectやReleaseDCなんか常に意識しないと駄目。
マネージドなものならGCされる時に関連リソースもファイナライザで破棄できるんだが。

> APIで描いた図形にGraphics.FillPathできます?

できるんじゃないかね。言っている意味がよくわからんが。
hDCからGraphicsを取得する事もその逆もできるし。

> 滅茶苦茶原始的。MSDOSのまんまだね。 2Dで回転すらできないのか? あーあ。

Graphics.RotateTransformとか駄目か。
687686:04/11/28 09:26:57
まあ俺もガベージコレクションなんか意識してないけどな。
適当適当。プログラムなんてそんなもんよ。
688デフォルトの名無しさん:04/11/28 12:59:45
>>613
通らないみたい。レス遅くなってすいません。
プロジェクトで、ビルド出力パスというのを設定したら実行ファイルがつくられてました。
689デフォルトの名無しさん:04/11/28 13:00:33
>688
謝って済む問題じゃないだろ。
690デフォルトの名無しさん:04/11/28 13:04:16
>>613
それでもビルドしたときになんかエラーがでてたよ。詳細はわかんないけど、無事exeができてました。ありがとう
691デフォルトの名無しさん:04/11/28 13:11:33
>>689
報告が遅れてすまんかったね
692デフォルトの名無しさん:04/11/28 13:12:21
>687
マジメにやれや。
693デフォルトの名無しさん:04/11/28 13:12:53
>691
謝って済む問題じゃないだろ。二度とここに書き込むな。
694デフォルトの名無しさん:04/11/28 13:21:14
>>693
どういう点が、謝ってすむ問題じゃない?何も問題起こしてませんよ。てかさ、質問と解答と報告以外のことすんなよ、オッサン。
基本的に「謝ってすむ問題」の定義からしておかしいしね。文章嫁や。イライラしてるんなら、最悪板にでも逝って下さいおながいします
あなたがいると迷惑ですよ?
695デフォルトの名無しさん:04/11/28 13:23:30
>694
釣られすぎ
696デフォルトの名無しさん:04/11/28 13:24:07
>694
え?誰がどこに「謝って済む問題」をどう定義したの?
697デフォルトの名無しさん:04/11/28 13:29:44
>アンマネージドなものを使うならDeleteObjectやReleaseDCなんか常に意識しないと駄目。

そういうことですか。

>Graphics.RotateTransformとか駄目か。

OK。これでおけ。

>hDCからGraphicsを取得する事もその逆もできるし。

 hDCからGraphicsをとる方法おしえてくだされ。
698デフォルトの名無しさん:04/11/28 13:34:48
689 名前: デフォルトの名無しさん [sage] 投稿日: 04/11/28 13:00:33
>688
謝って済む問題じゃないだろ。

お前が定義してるね↑笑

>696はVBよりもまずは日本語を覚えようよ♪うん♪
699デフォルトの名無しさん:04/11/28 13:36:21
>698
笑じゃなくて。質問に答えてくれませんかね。


あーーーー、すいません。脳が少ない方でしたか。
あらかじめ言って頂ければそれなりに対処したんですが。
すいません。
700デフォルトの名無しさん:04/11/28 13:40:12
>>698
定義してないよ。

>694
>基本的に「謝ってすむ問題」の定義からしておかしいしね
何に対して何がどうだからおかしいと思ったの?
701デフォルトの名無しさん:04/11/28 13:40:18
 定義:謝って住む問題。
  謝ると、それ以後問題とならない問題。もともと問題とならない
  些細な問題を含む。
  もともと謝って住む問題であっても、一旦謝ると謝っても済まない
  問題となることがある。
702デフォルトの名無しさん:04/11/28 13:41:33
>701
余計な書き込みをしないように。お前には関係ないし、誤字があって
意味がわからん。
703デフォルトの名無しさん:04/11/28 13:43:01
694に質問。「定義」ってどういう意味?
君が思う(思い込んでいる)「定義」の意味でいいよ。
704デフォルトの名無しさん:04/11/28 13:43:54
>700
アホをまともに相手するな。お前も荒らしと言われるぞ。
705デフォルトの名無しさん:04/11/28 13:44:52
>701
いそうろうのことか?
706デフォルトの名無しさん:04/11/28 13:47:20
>>699

お前が定義してるっていってるじゃん。爆笑
俺があやまってるのをみて。謝ってすむ問題じゃないって思ったんでしょ?w

それで、謝ってすむ済む問題じゃないだろ。↓笑

689 名前: デフォルトの名無しさん [sage] 投稿日: 04/11/28 13:00:33
>688
謝って済む問題じゃないだろ。

お前は、日本語読めてるの?ワラ
脳が少ない??
へぇ。ケッサクだね。脳が少ないなんて普通言わないしねw普通はw Iちなみに俺とお前だったら、レスの内容から、あきらかにお前の方が少ないしね
うん。それから、別に話しかけてこなくて良いよw
すいません。ってw
707デフォルトの名無しさん:04/11/28 13:52:00
>>703
定義:謝って住む問題。
  謝ると、それ以後問題とならない問題。もともと問題とならない
  些細な問題を含む。
  もともと謝って住む問題であっても、一旦謝ると謝っても済まない
  問題となることがある。

おれもこれで↑定義はあってると思うよ。
708デフォルトの名無しさん:04/11/28 13:53:43
カリカリして書き込みするなや。
とりあえず飯食って昼寝しろ。いま職場でもカップ麺くらいある
だろし、今日なら上司もいないだろ?

俺は金曜から一歩も外に出られない。(´;ω;`)ウッ…
709デフォルトの名無しさん:04/11/28 13:57:59
>>700=702
702 名前: デフォルトの名無しさん [sage] 投稿日: 04/11/28 13:41:33
>701
余計な書き込みをしないように。お前には関係ないし、誤字があって
意味がわからん。

別に、誤字脱字ないでしょ?ワラ
コレぐらいの文章くらい読解してくださいね。厨房さん
でなきゃ700=702は荒らしでw
710デフォルトの名無しさん:04/11/28 13:58:54
>>708
乙。
711デフォルトの名無しさん:04/11/28 13:59:58
>>697
>hDCからGraphicsをとる方法おしえてくだされ。

一度Graphicsクラスのメンバ一覧をじっくり目を通すと良いと思う。
質問の解答以外にも意外な発見もあるかも知れない。
712デフォルトの名無しさん:04/11/28 14:01:55
>709
誤字はホントにあるよ。バカだな。
713デフォルトの名無しさん:04/11/28 14:03:02
>706
ふぅ・・・一体どこまでレベルを下げてあげれば伝わるのか。
脳が少ないというかない人にからんだ私が間違ってましたよ。
714デフォルトの名無しさん:04/11/28 14:03:23
>709
誤字あるじゃん。
715デフォルトの名無しさん:04/11/28 14:03:50
>709
>705のツッコミで気付けよw うまいこと言ってるのに。
716デフォルトの名無しさん:04/11/28 14:05:21
>708
>俺は金曜から一歩も外に出られない。(´;ω;`)ウッ…
こいつ臭そう。相当デキが悪いんだろうな。
うちに来てる協力会社でも机に座った分しっかり
請求してくるバカがいるからな。成果物チェックしまくって
めちゃくちゃ減らしてやってるけど。
717デフォルトの名無しさん:04/11/28 14:05:49
誤字に気付いた後の逆ギレに期待。
718デフォルトの名無しさん:04/11/28 14:06:35
>713
気付くの遅すぎ。
719デフォルトの名無しさん:04/11/28 14:09:02
謝って住む問題か。確かに居候っぽいなw
720デフォルトの名無しさん:04/11/28 14:09:54
>706
>703はスルーですね?分かりました。
721デフォルトの名無しさん:04/11/28 14:11:17
>716
そんな奴ばっかだろ。小さい会社は精鋭揃いだと思ったら
大間違いだからな。金曜も協力会社の奴一人泣かし
ちまった。
722デフォルトの名無しさん:04/11/28 14:11:53
>707
自演、かっこ悪いよw
723デフォルトの名無しさん:04/11/28 14:13:13
>688-719は全部688の自演って皆気付いている?
724デフォルトの名無しさん:04/11/28 14:14:51
またか・・・スレ埋めたいのかなんだか知らんが・・・
725デフォルトの名無しさん:04/11/28 14:17:07
>>708
そうですよね。このスレには、どうやら厨房がいるみたいなので。お互い監視してないとスレが続きませんね
726デフォルトの名無しさん:04/11/28 14:17:43
>721
とことんやらないとな。慈善事業じゃないんだから。
727デフォルトの名無しさん:04/11/28 14:18:18
>725
まだ自演は続くのか。
728デフォルトの名無しさん:04/11/28 14:19:45
>711
>一度Graphicsクラスのメンバ一覧をじっくり目を通すと良いと思う。
>質問の解答以外にも意外な発見もあるかも知れない。

みました。わかりません。hdcからGraphicsをとるのに
そもそもGraphicsのメンバーは関係ないでしょう。
 Graphics = GetGraphics(hDC)
 だから。そのGetGraphicsがどこにあるのか分からないのです。

hdc=gGraphics.GetHdc()
これはわかります。

発見もありました。
なんで平行移動がTranlateTransformなのか?
ReleaseHDCInternalは内部関数で使ってはいけないのになんでPublicなのか?
そういう発見です。
729デフォルトの名無しさん:04/11/28 14:24:47
>>726
厨房へ。釣り、ご苦労様です。w
730デフォルトの名無しさん:04/11/28 14:26:08
>729
いつになったら自演やめてくれるの?
731デフォルトの名無しさん:04/11/28 14:27:19
あきらかに自演じゃないだろ。笑


732708:04/11/28 14:27:47
>>716
>>721
まあ確かに俺は出来がいいとは言えないが、今回は後輩の後始末だよ。
月曜テスト予定のファイルをバックアップごと破壊して蒸発した。
いろいろ溜め込んでいたようだが、ここまでするとは‥‥。orz

やつの管理外バックアップと各端末から差分の残滓を回収したりして、
ようやくメドが立ったよ。社内にシャワー室があるんで、臭くならな
い&眠気取りができたのも助かったかな‥‥まあ、普段もよく使って
るんだが。

じゃ、仮眠してからシナリオと照らし合わせる最終チェックに入りま
す。(´・ω・`)ノシ
733デフォルトの名無しさん:04/11/28 14:28:16
730は、もう書き込まなくていいよ
734デフォルトの名無しさん:04/11/28 14:34:05
こいつの場合>730みたいなツッコミも含めた自演だからな。
マジでタチが悪い。

>733も自分自身に対するツッコミで、しばらく待って
誰も書き込まないと見るや、自分で別人のフリして
続けるからな。誰も釣られてないのに終わらないんだ。
735デフォルトの名無しさん:04/11/28 14:36:26
プログラム上からブロードバンドルータのリブートってできる?
736デフォルトの名無しさん:04/11/28 14:38:17
>>735
そのルーターの制御コードがわかってるなら。
737690:04/11/28 14:39:38
>>708
僕の方はようやく内定が決まって、一段落した感じです。プログラミングではなくて、メーカーで評価・シュミレーションというやつをやることになりました。^^;
分野は違いますが、お互い頑張りましょう。レスdクスでした。嬉しかったです。では。乙
738デフォルトの名無しさん:04/11/28 14:46:53
>>728
>  >711
>   みました。わかりません。hdcからGraphicsをとるのに
>  そもそもGraphicsのメンバーは関係ないでしょう。
>   Graphics = GetGraphics(hDC)
>   だから。そのGetGraphicsがどこにあるのか分からないのです。

Sharedと言う可能性を忘れていないか。
Image.FromFileとかあるじゃんか。
Graphics.FromHdcがあるじゃないか。

>  なんで平行移動がTranlateTransformなのか?

Translateに平行移動って意味もあるんだが……。
ttp://dictionary.goo.ne.jp/search.php?MT=translate&kind=ej&mode=0

>  ReleaseHDCInternalは内部関数で使ってはいけないのになんでPublicなのか?

そういうのは他にも色々あるが……。
何でだろうね?
739デフォルトの名無しさん:04/11/28 14:53:04
>736
制御コードってどんな形式のもの?
corega BAR SW-4P HGなんだけど、やったことある
人いないかな。
740デフォルトの名無しさん:04/11/28 15:03:17
>739
パケットキャプってみて、同じパケット作って飛ばして
あげればできたりするかな。
741デフォルトの名無しさん:04/11/28 15:34:13
>>739
メーカーが公表する性質のものでもないし、>>740の助言みたい
にするのが大吉。管理者ログインからリブート指示まで、丸ごと
捕獲して解析してみそ。

つか、そのあたりの話はスレ違いになるから、メーカースレにで
も行ってみたらいい助言が得られる悪寒。
742デフォルトの名無しさん:04/11/28 15:47:18
>741
>740は助言じゃなくて俺の独り言でした。
まぁとにかくやってみます。
743デフォルトの名無しさん:04/11/28 15:59:00
>Translateに平行移動って意味もあるんだが……。

そうなのか、しらんかった。 自分ならTransferにするけど、Translateの方が
適当なのかな?

>Sharedと言う可能性を忘れていないか。
>Image.FromFileとかあるじゃんか。
>Graphics.FromHdcがあるじゃないか。
  うー意味不明。サッパリわからん。

 RotateTransformをつかおうとすれば、結局DrawRectangleやDrawLineなど
 Graphicsが持っているメソードを使わないとだめみたいね。
  APIのGLIBでイメージメモリに描いてそれをGraphicsに渡して描画する
  みたいなことができたらできるかも? MatrixOrderというぐらいだから
 対象はベクターだろうね。
  よく知らんが、まともなグラフィックスというとOpenGlとかはVBNETでも
 うごくんだろか? VB6だったら動くみたいだね。これがまた簡単には動かんの
 だろな。 aUTOCADのVBAだったらすごく楽にかけるんだけどね。ところがこれが
 バグだらけで、すぐにハングする。ろくなものがない。
744デフォルトの名無しさん:04/11/28 16:05:28
>>743

ホントに意味がわからんのか?
こう言えばわかるか?

Graphics クラスには FromHdc という Shared メソッドがあるんだよ。
745フナ太郎:04/11/28 17:30:26
(-。-)y-~~~~ ここはまじめな人がおおいね。いいことだ。
746デフォルトの名無しさん:04/11/28 17:53:45
>Graphics クラスには FromHdc という Shared メソッドがあるんだよ。

あっ、すまん。そういう言葉に対して基本的知識がかなり不足している。
思えば、適当にプログラムを作ってきたツケだとおもう。
 そこで適当に想像したり、検索したりしてその場をしのいでいるが
Sharedというのは共有になるということらしい。技術評論社の
VisualBasic.NETプログラミングマニュアルというのを参考にしているが
サッパリ意味不明だ。この本は失敗だった。技術評論社は信頼しているんだが、
やっぱり女の書いた本はロクなのがない。適当に本を買ったのが失敗だったなー。
麻奈ちゃんも恵子ちゃんも香織ちゃんも明子ちゃんもだめ。もうお前らの本は買わん。
わからん。もう一度買ってほしかったらわかるように書いてくれ。
 それはいいとして、Sharedだからどうにかなるというものでもないような気がする。
Sharedの意味は分からんが 
こうすれば
Dim hn As IntPtr = pic.Handle
Dim hDC As IntPtr = GetDC(hn)
Dim gr As Graphics

gr = gr.FromHdc(hDC)
Dim pen As New Pen(Color.Green)
gr.DrawLine(pen, 0, 0, 200, 200)
 たしかに、PictureboxのハンドルからGraphicsが取れる。これは驚き。
かなり、知識のバリエーションが広がった気がする。

747最凶VB厨房:04/11/28 18:01:04
>>746
おもろい
748デフォルトの名無しさん:04/11/28 18:11:20
>>746
> Dim gr As Graphics
> gr = gr.FromHdc(hDC)

気持ち悪い……。
gr = Graphics.FromHdc(hDC)
と書こうよ。

つまり、Sharedであるものは特に前提条件無くその場で使用可能なわけ。
hDCさえあればGraphicsオブジェクトを作成可能なの。

つかそもそも.NET内でならデバイスコンテキストを意識する必要すらない。

Dim pic As PictureBox  = new PictureBox()
Dim g As Graphics = pic.CreateGraphics()
...
   'Dim hdc As IntPtr = g.GetHdc() 'デバイスコンテキストは取得するならGraphicsから取得する。必要な事態は余り無いが
...
   'g.ReleaseHdc(hdc) 'もちろんアンマネージドリソースはそれに相応しく破棄処理
...
g.Dispose()

で終了だ。
749デフォルトの名無しさん:04/11/28 18:25:17
>748
おお、すっきり。ありがとう。
ところで色々教えてもらったので一ついいことを教えてあげましょう。
 Strict ON
 ってスイッチしってます?
これをONすると、自分のコードはエラーだらけになった。実に強力に
エラーチェックをしてくれます。
大事な仕事の時はぜひStrict ONです。昨日はじめて知りました。

750最凶VB厨房:04/11/28 19:00:49
>ReleaseHDCInternalは内部関数で使ってはいけないのになんでPublicなのか?
内部は内部でもクラス内部という意味じゃなくて
MS内部という意味じゃねぇか?w
クラスライブラリ内部と言った方がいいかな。
751最凶VB厨房:04/11/28 19:04:44
752デフォルトの名無しさん:04/11/28 20:19:08
>741
キャプってみたけど訳分からん。ネットワークの基礎から
勉強しないと・・・ とりあえずロケットマウスでしのぎますw
753613:04/11/28 22:51:35
>>689
俺は別に構わんがw
754デフォルトの名無しさん:04/11/28 23:49:39
>751
>これ見たら驚きの連続だぞ(ワラ

そんなにいっぺんに驚いても勿体ないでしょ。
ところで、最凶はVBにかかるの? 厨房にかかるの? 
今回Graphicsのサンプルをテストするとき、C#をすこし使いましたが、
InterisenceとかがVBにくらべて弱いですね。VBの方がかなり楽にプログラム
できます。
 言語的に幾分弱いVBに便利さで意図的にアドバンテージをおくのはMSの戦略ですかね。
755デフォルトの名無しさん:04/11/28 23:53:16
逆にVB.NETのインテリセンスのしつこさにちょっとウザさを感じるところもある。
やっぱり初心者に優しくという方向性なんだろうな。
756デフォルトの名無しさん:04/11/29 05:46:17
>755
なんで初心者のお前がうざいと感じるんだよ。
757フナ太郎:04/11/29 06:55:53
>>756
インテリセンスはベテランの俺でもありがたい機能だぞ。
だれが、あんな長いクラス名やメソッド名を手で打ち込みたいと思うかね?
758デフォルトの名無しさん:04/11/29 08:13:22
incremental build のチェックをはずすとベテラン向きに10倍
速くなるのか? やってみたことあるベテランさん感想をどうぞ!
759デフォルトの名無しさん:04/11/29 08:15:55
ちなみにデフォールトでは
 C#はOFF、VBはON
このちがいか?
760デフォルトの名無しさん:04/11/29 09:29:25
>757
俺にレスするな
761デフォルトの名無しさん:04/11/29 10:42:56
ユーザーコントロールでテキストボックスを作ろうと考えてます。
MultiLineがいつもTrueで、通常は1行表示でフォーカスを持つと入力部分が大きくなるような奴です。

で、入力部分を大きくする時にフォーム中央にある場合は問題ないんですが、
隅にあったりして大きくなるとフォームからはみ出す場合に途切れずに
表示するにはどのようなアイデアがあるでしょうか?
現在はフォームにテキストボックスだけを貼り付けて、それを表示させようかと考えてはいるのですが・・・
762フナ太郎:04/11/29 10:52:57
>>760
あ、755だった。すまん。
763デフォルトの名無しさん:04/11/29 11:13:55
>>761
フォーム側がユーザコントロールのResizeイベント辺りでフォーム自身のサイズ変更すればいいんじゃない?
764デフォルトの名無しさん:04/11/29 16:46:33
Private Sub cangeStrNarrow()
Dim sText As String
sText = a
Dim sNewText As String
sNewText = StrConv(sText, VbStrConv.Narrow)
a2 = sNewText
End Sub

入力された文字を、上のコードで半角にしてみましたが、作ったデーターを渡す
相手がオフコンなので、半角の長音が通りません。

半角の長音をマイナスに入れ替えるルーチンを書きたいのですが、どなたかど
の命令を使えばよいかアドバイスください。
765デフォルトの名無しさん:04/11/29 16:50:10
String.Replaceでいいんじゃね。
766デフォルトの名無しさん:04/11/29 20:57:35
すんません。どなたか教えてください。
MSDEのVIEWを作り、列にコード値に対応する文字を持たせたテーブルの用意して
テキストボックスにその文字が表示されるように.Databinding.Textに設定したいんですが、
オブジェクトのプロパティ設定画面上では、設定したい列名がすべてExprn(nは数字)
となっていて、すごく使いにくいです。
MSDEでVIEWをデザインした時に、結合した列には全て別名を登録したのに
VS.NETのエディター上は別名で表示してくれる機能はないのでしょうか?
767デフォルトの名無しさん:04/11/30 04:48:36
>766
どうしたらそんなことになるの? 列名はチャンとレコードアイテムが
でるはずよ。もっと手順を追って詳しく説明してくれたら何かアドバイス
できると思う。DBの作り方はいろんな方法、I/Fがあるから、その説明では
何をやってるのかサッパリわかりません。
768デフォルトの名無しさん:04/11/30 09:33:03
>767
分からないなら書くなよ。
769デフォルトの名無しさん:04/11/30 09:35:56
>>768
そんなに自分を責めるなよ。
770769:04/11/30 09:44:08
すまん。769は767へのレスね
771デフォルトの名無しさん:04/11/30 10:21:35
MSDEで重要なのは周期的な処理丸木バックアップを作成しすることだよ。
772本物の769:04/11/30 10:32:59
>>770
(´,_ゝ`)プッ
773デフォルトの名無しさん:04/11/30 10:34:48
>772
なにこいつ
774デフォルトの名無しさん:04/11/30 11:02:16
 MSDEの特徴はBACKUPはいくらでもできるが、RESTOREはどんなにがんばっても
できないこと。
 結局リストアーに仕方が分からんままに中国に納めたよ。
まあトラブルことはめったにないし大丈夫だろ。
775デフォルトの名無しさん:04/11/30 11:42:58
VBにて三角形2次元モデルの描画を行いたいのですが、全然わからないので助けていただきたいのですがここで聞いてもいいでしょうか?
776デフォルトの名無しさん:04/11/30 11:46:46
何を質問したらいいですかみたいなメタ質問は無しな。
777775:04/11/30 11:57:38
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Dim c As Color
Dim vp As ViewPort
c = Color.FromArgb(255, 255, 0, 0)
vp.Xgw = ○○
vp.Ygw = ○○
vp.Xgc = ○○
vp.Ygc = ○○
vp.Xvw = ○○
vp.Yvw = ○○
vp.Xvc = ○○
vp.Yvc = ○○
DrawPoint(○, ○, c)
DrawPointScs(○, ○, c, vp)
DrawPointWcs(○, ○, c, vp)
DrawLine(○, ○, ○, ○, c)
DrawLineScs(○, ○, ○, ○, c, vp)
DrawLineWcs(○, ○, ○, ○, c, vp)
End Sub

で、三角形の各頂点 (200,200) (400,200) (300,400)
ViewPort 左下座標(150,150) 幅300 高さ300

なのですが座標系についてさっぱりなので埋めることができなくて困ってます(´・ω・`)
必要でしたらコードをうpします。
778デフォルトの名無しさん:04/11/30 12:22:43
>776
どこにそんなルールが?
779デフォルトの名無しさん:04/11/30 12:32:42
Private Sub OpenFileDialog1_FileOk(ByVal sender As Object, ByVal e As System.ComponentModel.CancelEventArgs) Handles OpenFileDialog1.FileOk

このイベントのSenderから選択されたファイル名を取得する方法はありませせんでしょうか?
780デフォルトの名無しさん:04/11/30 12:34:45
>779
なんでsenderから取りたいのでしょうか?
OpenFileDialog1 からは取れないの?
781デフォルトの名無しさん:04/11/30 12:42:53
senderをOpenFileDialogにキャストしてやれば問題ないが。
なぜわざわざイベントで? とは思うな。
782デフォルトの名無しさん:04/11/30 14:16:05
MSDEのように、データセットをウィザードで作れるDBを探しています。
リナックスで作動するDBがよいのですがMySQLは上記のような作り方で
作動しますか?
783デフォルトの名無しさん:04/11/30 14:51:12
>>777
自分も詳しくないけどさ、取りあえずViewPortというクラスか構造体か、
.NET FrameworkにもManaged DirectX9.0にも無いようなんだけど。
DrawPointScsとかのメソッドも分からないわけだし。
784デフォルトの名無しさん:04/11/30 14:53:29
>781
なぜわざわざイベントで???
785779:04/11/30 15:28:49
>784
>なぜわざわざイベントで???
「わざわざそういうプログラムをしてみたい」としか答えようがありませんが、
そういうこともできるのかというのが分かると、これはまた別の応用が、つまり
senderとは何かについての性質がよりはっきりと理解できるのではないでしょうか?
これで理由になりますか? 理由に間違いないのですが、この気持ちを
理解可能ですか?
786779:04/11/30 15:30:23
>781
 そういうやり方が即座に浮かぶようになりたい。です。
787779:04/11/30 15:31:41
 ところで、VB6のFile1やDir1に変わるものはないのでしょうか?
パスを取りたいのですが。
788779:04/11/30 15:36:57
>なんでsenderから取りたいのでしょうか?
>OpenFileDialog1 からは取れないの?
 OKボタンを押したことを知る方法はEVENT以外にありません。
イベントで待ち構えているとSender、とE がやってきます。
ですからこの二つからすべてを処理するのが、自分の感性として
はスマートなのです。

789デフォルトの名無しさん:04/11/30 17:37:44
>>787
.NET Frameworkにはない。  //Frameworkの扱うべきレイヤからかなり外れてるから。
手っ取り早いのはVBのコンポーネントを参照するこったね。
790デフォルトの名無しさん:04/11/30 18:03:40
>788
>OKボタンを押したことを知る方法はEVENT以外にありません。
平然とウソを書くなよ。ちゃんとヘルプ読んだか?
791デフォルトの名無しさん:04/11/30 18:05:53
>788
OKボタンってOpenFileDialog上にあるOKボタンのこと?
ShowDialog()の戻り値を見るのが普通だと思うけど
いまいち何がしたいのか分からないなぁ。
792デフォルトの名無しさん:04/11/30 18:20:31
>787
あのさ、どういう機能を実現したいのかまずは日本語だけで
まとめてみれば?

あと>785みたいな人の神経を逆撫でするような書き込みしといて
その後すぐ質問ってどういう神経なんだろう。投稿前に見直し
とかしてる?
793デフォルトの名無しさん:04/11/30 18:22:53
ちなみに779はMSDN見れる人?
単に見れないからMSDN代わりにここを利用しようとしてる?
ちょいとそこんとこ教えて。
794デフォルトの名無しさん:04/11/30 19:31:09
>>783
ttp://do.sakura.ne.jp/~junkroom/cgi-bin/megabbs/readres.cgi?bo=lounge&vi=1003826049&res=84&fi=no
にソースコードを書いておきました。
埋める場所は空欄(先の通り)となっています。
795デフォルトの名無しさん:04/11/30 22:28:05
VB6からVB.NETになってジレンマに陥ってるのか

漏れも一時期Senderをキャストしてイベントの内容拾ったりしてたが
無駄だということに気が付いてやめた
796779:04/11/30 23:07:33
>ShowDialog()の戻り値を見るのが普通だと思うけど

ええっ、戻り値があったのか? 知らんかった。そうだったの。ガックシ。
FolderBrawserDialogはもっと悲惨だった。こっちは探してもEVENTがない。
継承元からイベントを取れないか半日も悪戦苦闘してあきらめた。
いつにもまして「MSのアフォたれ、馬鹿たれ」と思っていが、戻り値があるんか?
なら簡単だった。

>平然とウソを書くなよ。ちゃんとヘルプ読んだか?
HELP
■ShowDialog
(CommonDialog から継承されます)
 オーバーロード。 コモン ダイアログ ボックスを実行します。

何だこのHELPは。このHELPをみて分かるか? わかるか?おい。
797デフォルトの名無しさん:04/11/30 23:11:10
>796
じゃあCommonDialogの方も読むだろ、普通
798デフォルトの名無しさん:04/11/30 23:11:32
いや...についてに書かれてるサンプルコード見りゃすぐ分かるこったろ……。
799デフォルトの名無しさん:04/11/30 23:12:10
>796
アホ
800デフォルトの名無しさん:04/11/30 23:25:39
とりあえずチンコの皮は剥けたようだな
801デフォルトの名無しさん:04/11/30 23:27:11
ヘルプに文句をたれる前に、初心者用の入門書を読んだほうがいいね。
802デフォルトの名無しさん:04/12/01 03:36:56
Overloads Public Function ShowDialog() As DialogResult

なんで"As DialogResult"が目に入らないかなあ。つか、それ以前にVB.NETの構文を知らないのか?
803779:04/12/01 06:41:54
>じゃあCommonDialogの方も読むだろ、普通
普通は読まん。遡るほど分からなくなるものだとは知らないの?普通。
分かりやすく、使いやすくするために継承するんですよ。
遡るほど、分かりやすいなら最初からSystemを読んでください。分かりやすいですか?

>いや...についてに書かれてるサンプルコード見りゃすぐ分かるこったろ……。

  エムエスの
  アフォ糞餓鬼の
  ガタガタの
  能書き言わず
  サンプルを出せ
      (一首贈呈)

 サンプルコードが大切だよね。マトモな。
>800 
お前は剥けすぎベロリンチョ
>ヘルプに文句をたれる前に、初心者用の入門書を読んだほうがいいね。
 林晴彦のサンプル全部みたよ。10ページに渡って穴が開くほど見たが、
戻り値を使う例はただの一つも無い。(VB6のだけどね)
すまん、このセンセのチンコも剥いてやってくれ。

>Overloads Public Function ShowDialog() As DialogResult
>なんで"As DialogResult"が目に入らないかなあ。つか、それ以前にVB.NETの構文を知らないのか?
 なんでそれを目に入るところに書かないのかなあ?
804デフォルトの名無しさん:04/12/01 06:49:05
ここホントにC#スレか?
VB.NETは別スレあるからそっちでやれよ。
805779:04/12/01 06:58:26
>789
.> NET Frameworkにはない。 //Frameworkの扱うべきレイヤからかなり外れてるから。
どういう意味なの? File1やDir1の方がシンプルでスマートだと思うよ。
対応するのはFoldeBrowzerDialogだろうけど、今一って感じる。ダイアログは簡単
だけど、フォームに貼り付ける方がいい場合がたまにある。

>手っ取り早いのはVBのコンポーネントを参照するこったね。
 このコンポーネントって参照できるの? どうやって? OCXが分からん。
 VB6組み込みじゃないの?
 分からないからVB6でDirとFileをフォームに貼り付けてActiveXを作って
 VBNETに貼り付けてやってみたが誤動作する。
  Dirをダブルクリックすると内部でエラーがでてハングする。
 うまくいかんかった。
 もちろんそのActiveXはVb6上ではテストしてますよ。
806デフォルトの名無しさん:04/12/01 07:17:31
うは
チンコの皮までレスしてる
VB6の概念から抜け出せてないようだから.NETはしばらくやめておいたら?
もしかしたら2005でお望みの機能が追加されてるかもしれんし

>>805のようなOCXの事書いているようだから
マニュアル類は一切読んでないか、読んだつもりにいなってるんだろうな
コントロールの上でF1押せばほとんどのHELPが載っているし
記述の癖も1日2日すれば慣れると思うんだが
良くも悪くもHELPまでMicrosoftオブジェクト指向で書かれてるので
掘っていけばほぼ答えは見つかる
それでもなければ全文検索

>フォームに貼り付ける方がいい場合がたまにある。
フォームに張り付かないのか?
807デフォルトの名無しさん:04/12/01 07:21:18
>803
素晴らしいよ、君は。
一生そうやって生きればいいね。
808デフォルトの名無しさん:04/12/01 07:39:51
オーバーロードの一覧
フォームをオーナー ウィンドウのないモーダル ダイアログ ボックスとして表示します。

.NET Compact Framework でもサポート。

[Visual Basic] Overloads Public Function ShowDialog() As DialogResult
[指定した所有者を持つモーダル ダイアログとしてフォームを表示します。

[Visual Basic] Overloads Public Function ShowDialog(IWin32Window) As DialogResult
使用例

[Visual Basic] 
Public Sub ShowMyDialogBox()
  Dim testDialog As New Form2()
    
  'Show testDialog as a modal dialog and determine if DialogResult = OK.
    If testDialog.ShowDialog(Me) = System.Windows.Forms.DialogResult.OK Then
        Read the contents of testDialog's TextBox.
        txtResult.Text = testDialog.TextBox1.Text
    Else
        txtResult.Text = "Cancelled"
    End If
    testDialog.Dispose()
End Sub 'ShowMyDialogBox
809779:04/12/01 07:47:09
> Dim testDialog As New Form2
まちがってない?
810デフォルトの名無しさん:04/12/01 07:47:10
VB6の参考書を読んで.NETが解らないと言ってたのか
冷蔵庫の取扱説明書を読んでも洗濯機は動かないわな
811デフォルトの名無しさん:04/12/01 07:47:49
>>809
あってるよ
812779:04/12/01 07:50:49
糞長いOK書くくせに
System.Windows.Forms.DialogResult.OK
これは何?
  Dim testDialog As New Form2
宣言をしっかりして、Localでは省略するのが正解だと思うよ
第一動かんサンプル(W
813811:04/12/01 07:51:12
VSのヘルプをまるまるコピーしてある
もしForm2の下に並線が出るようだったら
ソリューションエクスプローラで新規のフォーム(Form2)を追加してくれ
814779:04/12/01 08:07:24
>811
 ありがとう。しかしこの例は何を説明したいのかサッパリ分からん。
 実行したらFolderBrowserDialogが立ち上がって、OKしても
 txtResultには何にも帰ってこない。

 あれ、Form2ってインスタンスなんでしょ
 クラスとしても認識するんですか? わけわからん。
815779:04/12/01 08:13:01
 あっごめんForm2は継承クラスでした。Vb6がぬけませんね。
816779:04/12/01 08:32:35
へんなコードがまざっていて勘違いした。
例の意味はこういうことね。

Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
Dim x As New Form2
If x.ShowDialog() = DialogResult.OK Then
Debug.Write("OK")
Else
Debug.Write("CAN")
End If
End Sub

MSってなんで持って回ったような頓珍漢な例をかくんだろね。
817779:04/12/01 08:37:56
林センセの場合もそうですが、、、
(日経BPソフトプレスの全サンプルもそうですからしかたありませんが)
先生方こういうサンプルが多いんですがだめですよ。
戻り値がある場合は必ず戻り値を見るようにしましょうね。
If CommonDialog1.filename <> "" Then
とくにこの判別のしかたはまずいですよ。誰かの本みて真似してるんでしょ。

■サンプル(悪)
Private Sub Command1_Click()
'***** ファイル名の取得 *****
With CommonDialog1
.filename = ""
.Filter = "Data(*.dat)|*.dat"
.ShowOpen
End With
'***** ファイルのオープンと表示 *****
If CommonDialog1.filename <> "" Then
Open CommonDialog1.filename For Input As #1
Do Until EOF(1)
Line Input #1, a$
Print a$
Loop
Else
MsgBox "キャンセルされました。", , "メッセージ"
End If
End Sub
818779:04/12/01 08:38:17
■改良サンプル
try
cd = CommonDialog1
  cd.filename = "":cd.Filter = "Data(*.dat)|*.dat"
if cd.ShowOpen = vbOk then
   fname = CommonDialog1.filename
 If fname <> "" Then
    '***** ファイルのオープンと表示 *****
End If
end if
catch ex as Exception
msgbox ex.discription
end try
819779:04/12/01 09:20:05
Public Sub ShowMyDialogBox()
  Dim testDialog As New Form2()
....
testDialog.Dispose()
End Sub

このMSサンプルの testDialog.Dispose() は意味の無いコード
もし意図的に終了処理をする必要があるなら、内部でするべきだ。
(ShowDialog、モーダルだろ!)
こういう無造作に何でも追加したコードは最も悪い例だね。
820779:04/12/01 09:28:43
>VB6の参考書を読んで.NETが解らないと言ってたのか
>冷蔵庫の取扱説明書を読んでも洗濯機は動かないわな
 コンプレッサーをモーターに置き換えて読むんだよ。そんなに違いはない。
ボタンを押したら、ランプがついて、回って、時間が来たらとまる。
821779:04/12/01 09:40:31
>マニュアル類は一切読んでないか、読んだつもりにいなってるんだろうな
>コントロールの上でF1押せばほとんどのHELPが載っているし
 NETになって多少はよくなってるな。
 
>記述の癖も1日2日すれば慣れると思うんだが
>良くも悪くもHELPまでMicrosoftオブジェクト指向で書かれてるので

 これは皮肉? どこがオブジェクト指向?
 MSオブジェクト羅列っていうんだよ。
 
>掘っていけばほぼ答えは見つかる
それがみつからないから、藁おもつかむ。
822デフォルトの名無しさん:04/12/01 09:46:40
構造体の中身のクリアってどうやるんだっけ???
823デフォルトの名無しさん:04/12/01 10:05:26
Disposeの意味も知らずにまあ吠える事。

>>822
構造体という物にクリアという概念そのものが余りなじまないわけだが。
//Integerをクリアって何それ、って感じでしょ。
用意されているならEmpty静的読み込み専用フィールドを使うとか。
(引数を取らない)デフォルトコンストラクタがあるならnewし直すとか。
引数を0とNothingのみでnewし直すとか。
824779:04/12/01 10:52:27
>823
外部でDisposeが必要なのはComponentのメモリーリリース。
FormはCompornetじゃない。リリースの必要はない。やってもgcに対しては意味がない。
ひょっとすると君の方じゃないのか吼えてるのは
Disposeの意味より、Compornentの意味だな重要なのは。
さて正しいのはどちらだろう。
825デフォルトの名無しさん:04/12/01 11:03:49
>>823
なるほど!ちょっとやってみます。
826デフォルトの名無しさん:04/12/01 11:06:33
>>824
これでも読んでみると良いよ。
ttp://www7.big.or.jp/~pinball/discus/vb/54337.html
827779:04/12/01 11:10:08
>822
 クラスは構造体のバージョンアップ。
だから構造体は使わない方がいいですよ。全部クラスでやる。
構造体を使う意味はない。
 だからクラスにしてClear()メソードを実装するのが正解。
かな?

828デフォルトの名無しさん:04/12/01 11:23:02
>>827
ありがとうございます!
上手い具合にいきました!
829デフォルトの名無しさん:04/12/01 11:26:46
>>779は初心者神か
相当偉い人のようだが
830デフォルトの名無しさん:04/12/01 11:48:24
さすがに828には失笑を隠せなかった。
831779:04/12/01 11:53:05
>829
>さすがに828には失笑を隠せなかった。
お前の方が失笑ものだ。構造体をまだ使ってるんだろ。


832デフォルトの名無しさん:04/12/01 11:54:19
>>827
> 構造体を使う意味はない。
言い過ぎ。
833779:04/12/01 12:02:06
>これでも読んでみると良いよ。
>ttp://www7.big.or.jp/~pinball/discus/vb/54337.html
たしかにShowDialogの時はDisposeに飛んでこないね。フォームを閉じた時点で
内部のコンポーネントを使うことを意識しているのか?
 xx.ShowDialogをやったからと言って、そのあとでxx.Dispose()をやってる
例はないな。ざっと10例近くのサンプルを見たがそういう例はない。
MSのあのサンプルだけだね。

 大事なことがよく分からんなー。
 1000万回ほどぐるぐる回ししてテストしてみるか。
834デフォルトの名無しさん:04/12/01 12:02:23
構造体をつかわにゃ実現できない機能もあるだろうに
835779:04/12/01 12:05:34
>言い過ぎ。
 言いすぎではないとおもうよ。構造体は使わない方がいいと思う。
 どうしても区別したいなら、名前のつけ方を変えたらいい。
836779:04/12/01 12:06:13
>構造体をつかわにゃ実現できない機能もあるだろうに
ない
837779:04/12/01 12:08:49
>相当偉い人のようだが
 きみの観察眼は鋭いかも?ウホン。
838デフォルトの名無しさん:04/12/01 12:08:56
是非クラスだけでP/Invokeを宣言する偉業に取り組んでいただきたい。
839デフォルトの名無しさん:04/12/01 12:10:33
>>836
どうして言い切れる?
840779:04/12/01 12:20:01
おい。P.Invokeで検索したら

■高度なトピック
Obfuscation for .NET -- Dotfuscator by PreEmptive Solutions
P/Invoke メソッド
  P/Invoke メソッド (つまり、ネイティブ プラットフォーム メソッド) の名前は自動的に変更されません。


これのどこが高度なトピックなのか? 中身がないのが高度なのか。Pu
そりゃ中身が無けりゃ誰にもわからん。高度だよな。pU。
841779:04/12/01 12:22:04
>どうして言い切れる?
 できない例をだしてください。
たちどころに、、、、clsでかいて見ましょう。
高度すぎて中身が書いて無いとどうにもなりませんが。
842779:04/12/01 12:31:31
Obfuscation for .NET
ドットネットのこころを暗くする要因
-- Dotfuscator by PreEmptive Solutions
先制攻撃的解決によるドットフスケーター(これは英語かよ?)

843779:04/12/01 12:45:20
 なんだDotfuscatorって隠蔽ツールか。マニュアルまで隠蔽ツールで
処理しないでね。
844デフォルトの名無しさん:04/12/01 13:04:57
構造体はバイト配列などで代用できるな
845832:04/12/01 13:06:23
クラスだけで実装ができるからって構造体が無意味とは
いえない。
初心者の内はそれでいいが、最適化の過程で構造体を
使いたくなってくる場面もある。
「なくてもできる=無意味」じゃないということだ。
846779:04/12/01 13:30:17
 何の最適化ですか? ソースの見栄え、飾りのこと?
それとも実行コードの? コードには違いは影響しないと思うよ。
違いを儲ける必然せいがない。
いらない機能は有害とおもう。
 まあベテランが新しい技術についていけないから、とりあえず残してある
という理由はわかりますが。
 少なくとも初心者にとっては有害ですね。
847デフォルトの名無しさん:04/12/01 13:41:00
非管理のメッセージをやり取りするにはどうしても構造体が必要になるな
モノによってはクラスでも大丈夫だが、厳密に定義されて無いメッセージが戻る場合や
構造体そのもののサイズが重要な場合はクラスだとちと難しい罠
848832:04/12/01 13:45:31
>>846
まー、いずれわかる。
要らないうちはあわてて知る必要もないから、せいぜい頑張れ。
将来なにかで行き詰まったら、まじめに検証してみるといい。
849779:04/12/01 14:07:03
>非管理のメッセージをやり取りするにはどうしても構造体が必要になるな
>モノによってはクラスでも大丈夫だが、厳密に定義されて無いメッセージが戻る場合や
>構造体そのもののサイズが重要な場合はクラスだとちと難しい罠

 それは配列でしょ。
 構造体というのは配列を含んでいるの? 配列は重要だとおもうよ。
配列以外の構造体のことね。
  それとも、構造体はメモリーアレンジが予測可能とかそういう性質が
 あるの? うんそれなら意味あるね。クラスにはそんな機能は無いかも?
 つければいいだけなんだけどね。
  そういう違いがあるのか? ヒョットシテ。



850デフォルトの名無しさん:04/12/01 14:23:32
( ゚Д゚)ポカーン
851779:04/12/01 14:36:29
>将来なにかで行き詰まったら、まじめに検証してみるといい。
そうします。
 要するに、要らん機能がOS周辺にあるから、それに合わすために
言語にも要らん機能がいるってことですね。
852デフォルトの名無しさん:04/12/01 14:52:23
( ゚Д゚)ポカーン
853デフォルトの名無しさん:04/12/01 22:03:43
マルチスレッドに対応していないDLL内のメソッドをマルチスレッド
プログラムから呼び出したいのですが、安全に呼び出すための
常套手段はどんな方法でしょうか。

イメージ的には呼び出し前に何らかのロックを取得して
呼びだし、実行後にロックを解除するみたいな
感じかなと・・・
854デフォルトの名無しさん:04/12/01 22:31:45
Monitor
 Enter
 Exit
855デフォルトの名無しさん:04/12/01 23:11:51
ハイパーリンクで飛ばす時に、Submitボタンのように
フォームの内容をURLに追記したいのですが、
どうすれば良いのでしょうか?
856デフォルトの名無しさん:04/12/02 00:00:45
>855
もうちょい詳しくお願い
857デフォルトの名無しさん:04/12/02 00:08:36
>>779
まぁ、記述が長いと思うならImports であってるんだっけ?
それで名前空間をインポートしてもいいと思うんだが?

そこまで判らないとは言わせない(;´Д`)

そこまでの記述を吹っ飛ばせるから長さは感じないはず
まぁ、コレをするとそのうち似たよな名前作ってしまうと、名前空間がこんがらがってくるのだが・・・
まぁ、普通に問題ないと思われ
858777:04/12/02 09:29:24
HELPヽ(´Д`)ノ

全然わかんないよママン_| ̄|○
859フナ太郎:04/12/02 10:23:08
>>858
もうリンク切れてるし。
860777:04/12/02 11:26:36
Public Class Form1
Structure ViewPort
Dim Xgw As Integer
Dim Ygw As Integer
Dim Xgc As Integer
Dim Ygc As Integer
Dim Xvw As Double
Dim Yvw As Double
Dim Xvc As Double
Dim Yvc As Double
End Structure
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Dim c As Color
Dim vp As ViewPort
c = Color.FromArgb(255, 255, 0, 0)
↓ここから
 vp.Xgw = 000
vp.Ygw = 000
vp.Xgc = vp.Xgw / 2
vp.Ygc = vp.Ygw / 2
vp.Xvw = 000
vp.Yvw = 000
vp.Xvc = 000
vp.Yvc = 000
DrawPoint(000, 000, c)
DrawPointScs(000, 000, c, vp)
DrawPointWcs(000, 000, c, vp)
DrawLine(000, 000, 000, 000, c)
DrawLineScs(000, 000, 000, 000, c, vp)
DrawLineWcs(000, 000, 000, 000, c, vp)
↑ここまで の数値入力がわかりません。
End Sub
861777:04/12/02 11:32:43
Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
PictureBox1.Refresh()
End Sub
Private Sub DrawPoint(ByVal x As Integer, ByVal y As Integer, ByVal c As Color)
Dim g As Graphics
Dim p As Pen
g = PictureBox1.CreateGraphics
p = New Pen(c)
g.DrawEllipse(p, x, y, 1, 1)
End Sub
862777:04/12/02 11:35:48
Private Sub DrawLine(ByVal x1 As Integer, ByVal y1 As Integer, ByVal x2 As Integer, ByVal y2 As Integer, ByVal c As Color)
Dim x As Integer
Dim y As Integer
Dim a As Double
If x1 = x2 Then
x = x1
If y1 <= y2 Then
For y = y1 To y2 Step 1
DrawPoint(x, y, c)
Next
Else
For y = y2 To y1 Step 1
DrawPoint(x, y, c)
Next
End If
863777:04/12/02 11:36:15
Else
a = CDbl(y2 - y1) / CDbl(x2 - x1)
If Math.Abs(a) <= 1 Then
If x1 < x2 Then
For x = x1 To x2 Step 1
y = CInt(a * CDbl(x - x1) + CDbl(y1))
DrawPoint(x, y, c)
Next
Else
For x = x2 To x1 Step 1
y = CInt(a * CDbl(x - x1) + CDbl(y1))
DrawPoint(x, y, c)
Next
End If
Else
If y1 < y2 Then
For y = y1 To y2 Step 1
x = CInt(1.0 / a * CDbl(y - y1) + CDbl(x1))
DrawPoint(x, y, c)
Next
Else
For y = y2 To y1 Step 1
x = CInt(1.0 / a * CDbl(y - y1) + CDbl(x1))
DrawPoint(x, y, c)
Next
End If
End If
End If
End Sub
864777:04/12/02 11:36:40
Private Sub DrawPointScs(ByVal x As Integer, ByVal y As Integer, ByVal c As Color, ByVal vp As ViewPort)
Dim Xg As Integer
Dim Yg As Integer
Xg = x + vp.Xgc
Yg = -y + vp.Ygc
DrawPoint(Xg, Yg, c)
End Sub

Private Sub DrawPointWcs(ByVal x As Double, ByVal y As Double, ByVal c As Color, ByVal vp As ViewPort)
Dim Xv As Double
Dim Yv As Double
Dim Xs As Integer
Dim Ys As Integer
Xv = x - vp.Xvc
Yv = y - vp.Yvc
Xs = CInt(Xv * vp.Xgw / vp.Xvw)
Ys = CInt(Yv * vp.Ygw / vp.Yvw)
DrawPointScs(Xs, Ys, c, vp)
End Sub
865777:04/12/02 11:37:01
Private Sub DrawLineScs(ByVal x1 As Integer, ByVal y1 As Integer, ByVal x2 As Integer, ByVal y2 As Integer, ByVal c As Color, ByVal vp As ViewPort)
Dim Xg1 As Integer
Dim Yg1 As Integer
Dim Xg2 As Integer
Dim Yg2 As Integer
Xg1 = x1 + vp.Xgc
Yg1 = -y1 + vp.Xgc
Xg2 = x2 + vp.Xgc
Yg2 = y2 + vp.Ygc
DrawLine(Xg1, Yg1, Xg2, Yg2, c)
End Sub
Private Sub DrawLineWcs(ByVal x1 As Double, ByVal y1 As Double, ByVal x2 As Double, ByVal y2 As Double, ByVal c As Color, ByVal vp As ViewPort)
Dim Xv1 As Double
Dim Yv1 As Double
Dim Xv2 As Double
Dim Yv2 As Double
Dim Xs1 As Double
Dim Ys1 As Double
Dim Xs2 As Double
Dim Ys2 As Double
Xv1 = x1 - vp.Xvc
Yv1 = y1 - vp.Yvc
Xv2 = x2 - vp.Xvc
Yv2 = y2 - vp.Xvc
Xs1 = CInt(Xv1 * vp.Xgw / vp.Xvw)
Ys1 = CInt(Yv1 * vp.Ygw / vp.Yvw)
Xs2 = CInt(Xv2 * vp.Xgw / vp.Xvw)
Ys2 = CInt(Yv2 * vp.Ygw / vp.Yvw)
DrawLineScs(Xs1, Ys1, Xs2, Ys2, c, vp)
End Sub
End Class
866777:04/12/02 11:40:01
リンク切れてると言うか本体ごと無くなってますね_| ̄|○
ちょっと長いですがこちらに張らせて頂きました。すみません。

求めるモデルが
三角形の頂点 (200,200) (400,200) (300,400)
ViewPort 左下座標(150,150) 幅300 高さ300
となります。
867デフォルトの名無しさん:04/12/02 12:56:04
>856
反応サンクスです。
>855 の続きです。
まるっきり初心者ですので宜しくお願いします。

Submitでページを移行させると、フォームの内容がURLの後ろの方に
「 hogehoge=**** 」
のように追記されて、次のページで内容を取得できますよね?
同じように、Hyper Linkでページを移行させて、次のページで元ページの
フォームの内容を取得する為には、どのような方法を使えば良いのでしょうか?

SubmitのようにURLの後ろに付いてくれるとありがたいのですが、
全く別の方法でも構わないので教えて頂けるとありがたいす。
868デフォルトの名無しさん:04/12/02 15:24:41
DataGridにArrayListをバインドさせているのですが、
869デフォルトの名無しさん:04/12/02 15:27:09
ぐはっミスッタ
途中でArrayListの編集を行った後
DataGridが更新されないのです。
フォーカスが移るとDataGridも反映されます。

DataGrid1.DataSource = objArray
DataGrid1.Refresh()
DataGrid1.Update()

じゃ駄目ですか・・
870869:04/12/02 17:35:28
仕様上ArrayListを使用した時のDataGridは反映されないみたいですね。
871デフォルトの名無しさん:04/12/02 18:05:51
872デフォルトの名無しさん:04/12/02 18:39:31
>>871
すみません、用語の使い方とかメチャクチャってことっすか?

もっと簡単に書くと、「Submitボタン」を
「下線付きの文字列」(hrefとかasp:hyperlink)に変えたいんですが、
テキストボックスに入力された内容を次のページで取得する為には
どうすれば良いのでしょうか?
(Submitの時は、URLから前頁の情報を引っ張ってました。)
873デフォルトの名無しさん:04/12/02 18:57:20
<A href="javascript:document.forms('xxx').submit()"
874デフォルトの名無しさん:04/12/02 19:00:39
>872
うろ覚えだけど、リンクボタンっていうオブジェクトがなかったっけ?
875デフォルトの名無しさん:04/12/02 21:08:50
C#のイベントのアクセサってVBだとどうかくのでしょうか?
もしかしてVBにはない?

[attributes] [modifiers] event type member-name {accessor-declarations};
の{accessor-declarations}を書きたいんですが
876デフォルトの名無しさん:04/12/02 21:31:01
>874
 確かにあるし、普通のボタンと全く同じ感覚で使えるので、867=872が
普通にWebアプリケーションの処理を理解していれば問題ないんだけどね。

>872
 あのねぇ、Webアプリケーションの基礎的な動作について、根本的な
理解が足りないのね。
 そして、根本的にASP.NETでのコントロールの値の取り方が分かって
いない。(以前の経験を引きずりすぎ)

 Submitボタンでページ遷移(サーバーに送信)を行う際の動作は、
「GET」Methodと「POST」Methodの二種類あるのよ。
 「GET」Methodの場合は、ブラウザが自動的にsubmit先のURLに
QueryStringを自動的に生成・追加して送っているのよ。
 「POST」MethodはQueryStringを使わず、submit先のサーバーに
接続した後にデータを送っているのよ。
 ASP.NET(VB.NETのWebアプリケーション)は「POST」Methodを使う様に
作られているのよ。(まずGETを使おうと思わないし)

 VB.NETで普通にWebフォームを作成して、普通にWebフォームに
配置したコントロールの値は、Me.コントロール名.(値の格納されているプロパティ)
だけで取れるんだよ。余計な事を考えすぎ。
877デフォルトの名無しさん:04/12/02 23:40:39
質問なんですがVB.netでEXCELシートにテキストボックスから
文字列を出力させる方法を誰か知っている方教えてください。
いろいろ調べてはいるんですが、よく分からなくて
初歩的な質問でスマソ
878デフォルトの名無しさん:04/12/03 00:53:57
InstallShieldで作成したインストーラでアプリをインストールすると
同時に.NET Frameworkを最新版にするようなことは可能でしょうか。
879872:04/12/03 00:57:56
>>874 >> 876
ありがとうございます。
全てが初めてなので大変参考になります!
POSTにすべきというのは理解しました。
遷移先での取得方法ですが、サンプルでもよく「Me」という単語
を見かけるのですが、どう使うのでしょうか?
880デフォルトの名無しさん:04/12/03 07:40:07
2つのコンボボックスの選択メンバのデータソースに同一のDBテーブルを設定すると
片方のドロップダウンから選択した値が、
もう片方のコンボボックスにも自動的に入ってしまうんですが、
それぞれ独立して選択できるようにするにはどうしたらいいでしょうか?
できればテーブルは増やしたくないです。
仕事いってきます。
881デフォルトの名無しさん:04/12/03 09:25:16
>>877
「Excel.Application」を検さくぁwせdrftgyふじこ
882デフォルトの名無しさん:04/12/03 09:31:52
>>880
そんな変態的な設計を止める
883デフォルトの名無しさん:04/12/03 09:48:56
アクセス形式のDBを使っているのですが、NULL値の取得方法が分かりません。
例えば、コンボボックスを使ってSelectionValueがNULL値のときに他のコンボボックスの
EnabledをFalseのようにしたいのですが、うまくいきません。

Private Sub combobox1_SelectedIndexChanged(・・・・・・)
If combobox2.SelectionValue ="" then
combobbox1.Enabled = False
End If
End Sub
のようにすると「演算子が、型 'DBNull' および 文字列 "System.DBNull" に対して有効ではありません。」
になってしまいます。  
 「If combobox2.SelectionValue ="" then」 の部分を「If combobox2.SelectionValue = null then」
にしても同じでした。。。このような場合どのようにしてNULL値を取得するのでしょうか?
よろしくお願いします。
884デフォルトの名無しさん:04/12/03 09:54:08
すいません(T_T)コンボボックスの「1」と「2」が間違ってました。
Private Sub combobox1_SelectedIndexChanged(・・・・・・)
If combobox1.SelectionValue ="" then
combobbox2.Enabled = False
End If
End Sub

でした(*_*)よろしくお願いします

885デフォルトの名無しさん:04/12/03 10:27:03
DBのNULL値はSystem.DBNullという独自クラスなので、チェックにはIsDBNull関数を使うんだったはず。
886デフォルトの名無しさん:04/12/03 11:26:19
おお♪IsNull関数を調べたら出てきました♪

null値は""でもnullでもないのですね(汗)
オブジェクトの型にデータ(system.DBNull)を渡して、IsNull関数を使ってBoolean型にTrue、Falseを返すのですね^^
ちなみに自分なりに書いてみたのですがうまく行きました♪

Dim aaa As Object
Dim bbb As Boolean
aaa = ComboBox1.SelectedValue
bbb = IsDBNull(aaa)
If bbb = True Then
TextBox1.Text = "self"
Else
TextBox1.Enabled = True
TextBox1.Text = ComboBox1.SelectedValue
End If
End Sub

>>885さんありがとうございます♪♪♪
887デフォルトの名無しさん:04/12/03 15:00:36
簡単なタイピングソフトを作ろうと思ってます。
やろうとしてること↓

例文(ローマ字)をテキストボックスに表示して、
フォームがアクティブなときに打ったキーを取り出して、
例文の1文字目から順番に比較しようとしました。

しようとしたのですが、例文から1文字ずつ取り出すっていうのができません。
substringで文字を取り出して、for文でまわそうとしたのですが失敗しました。
文字列を配列のようにするにはどのようにすればよいでしょうか?
888デフォルトの名無しさん:04/12/03 15:14:42
StringのCharsプロパティが各文字の配列になってる。
TextBox1.Textの三文字目が欲しいならTextBox1.Text.Chars(2)。
String.Lengthプロパティで文字列の長さも分かる。
889デフォルトの名無しさん:04/12/03 16:29:38
WindowsのDataGridって表示行数指定するプロパティない?
890デフォルトの名無しさん:04/12/03 16:59:55
>>889
好きが行数のデータソースを作ればいいだろ。
891デフォルトの名無しさん:04/12/03 17:13:49
VB.NETって何ですか?
892880:04/12/03 18:13:58
結局ひとつのテーブルから、まったく同じデザインのVIEWを2つ定義することで解決しました。
こういうやり方が妥当かどうか分かりませんが、
データの冗長性を排除して保守性を高めるには、とりあえずこれしか思い浮かびませんでした。
朝っぱらからすんませんでした。
これから残業です。
多分また来ます。
893デフォルトの名無しさん:04/12/03 18:50:26
VB.NET 2003ってさVSSついてないんですね。
んで、VB6.0のVSSをUpdateすればVB.NET2003で使えるようになるのかなって
試してみたらソース管理の項目が出ねー
どうなってんだこらー
894デフォルトの名無しさん:04/12/03 19:04:25
ふつうCVS
895デフォルトの名無しさん:04/12/03 19:21:08
>>893
[ファイル]の中に無え?
tu-ka、”VB”6.0 にもVSSは憑いてない訳だが・・・・・・
896デフォルトの名無しさん:04/12/03 21:08:08
>891
それを説明できるレベルの人はこのスレにはいないでしょう。
897デフォルトの名無しさん:04/12/04 00:29:31
VSSはMSDN買わないとついてこなかったはず
ついてきても使わないけど
898デフォルトの名無しさん:04/12/04 04:25:21
.NETじゃないスレに質問してしまいました。
わざわざ謝罪でスレを消費するのは良くないと思いましたので、ここでお詫びします;

>昨日購入し、まだ条件分岐を覚えたレベルです。
>binフォルダにあるexeはVBがインストールされているPCでしか使えない。
>という事ですが、配布されている方はどうやってexeを作っているのですか?
>アプリケーションをうまく初期化できませんでした?見たいに表示されるみたいです。
>自PCじゃないので詳細なエラーメッセージがわからないのですが、宜しくお願いします。。

>相手のPCに.NET Frameworkが入ってないとか…

との事ですが、.NET Frameworkを入れてあるPCに、binフォルダのEXE渡せば良いのですか?
ディストリビューションウィザードでしたっけ?そういうの無いんですか?
アホすぎる質問ですが・・・誰か教えて下さいorz
899デフォルトの名無しさん:04/12/04 05:35:39
>898
そうみたいね。でも昔のDLLとかも使うでしょ。だからその時はむかしの
ディストリビューションウィザードをつかうんじゃない?
 
900yukki:04/12/04 11:07:49
メインフォームに「更新」などのボタンを設置し、ボタンが押されたときにメインフォームを閉じ、フォームを再表示する方法はありませんか?
ShowDialogではなく、フォームをアップデートするイメージです。
ご存知の方いましたら伝授お願いします。
901デフォルトの名無しさん:04/12/04 11:32:56
できない事はないが、たかがフォームのアップデートごときでフォームを作り直すのも馬鹿馬鹿しい。
必要な部分をメソッドに切り出してそれを実行すれば済む話。じゃないのか?
902デフォルトの名無しさん:04/12/04 13:58:32
>>900

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

Refresh()

End Sub

じゃだめなの?
903887:04/12/04 15:54:29
>>888さん
ありがとうございます。配列として使うことは出来ました。

後は打った文字を取り出す処理ができれば・・・
出来てると思ってたらそれも出来てなかった(´・ω・`)
keypressでできると思ってたら甘かった罠・・・
904デフォルトの名無しさん:04/12/04 20:54:19
.NET Framework 1.1はSP1が出てるけど、dotnetfx.exe は
新しいの出ないの?
905デフォルトの名無しさん:04/12/04 22:15:38
>904
これ誰か分かりませんか?SP1用のdotnetfx.exeを自分で
作れたりするといいのですが・・・
906デフォルトの名無しさん:04/12/05 02:57:02
nyやshareで使われてるListViewの中に進行状況のグラフ
があるやつってVB.NETで作れるの?誰かわかる人いる?
ぐぐってもでてこない
907デフォルトの名無しさん:04/12/05 05:23:36
>>906
OwnerDrawで描画制御を乗っ取る
初期のny1はVB.NETで作られてるらしいからガンガレ
908デフォルトの名無しさん:04/12/05 06:43:41
とある測定マシンの制御プログラムを書いているのですが、
マシンがある状態になるまで処理を中断するうまい方法が思い浮かびません。
とりあえず考えたのは、

〜メイン処理
While 1
System.Windows.Forms.Application.DoEvents()
If Timer2.Enabled = False Then
Exit While
End If
End While

〜タイマー
Private Sub Timer2_Tick(…)
If (マシン = ある状態) Then
Timer2.Enabled = False
End If
End Sub

として、Timer2で設定した時間ごとにマシンの状態を聞き、
所望の状態になったらTimer2を無効化する、というものです。

が、これだとWhileループで無駄な負荷が生じてしまい、困っています。
何か良い方法はありませんでしょうか?
909デフォルトの名無しさん:04/12/05 08:36:22
普通はメイン処理のwhileの中でSLEEPするわな。
910908:04/12/05 10:38:28
>909 ありがとうございます、うまくできました!
911デフォルトの名無しさん:04/12/05 12:56:17
ネットに送信、ネットから受信した総バイト数を所得できますか?
9121 ◆ExGQrDul2E :04/12/05 13:12:50
4年前私はマイクロソフトのCOM+2.0の評価メンバーに誘われました。
私の興味はASPの組み込みオブジェクトに興味があったのですがそれでも参加することにしました。
COM+2.0の仕様書を見て私は驚愕しました。
すべての言語の境界がなくなり、さらに便利で強力なクラスが膨大に盛り込まれていたのです。
それは後に.NETと名づけられました。
強力なWEBアプリを構築できる.NETを知ってからはもはやASPに戻ることはありませんでした。
913デフォルトの名無しさん:04/12/05 13:39:01
>>911
コントロールパネル内のどっかのローカルエリア接続の状態
でパケット数が出てるからな。取れるだろ。
送信したバイトって自分で数えりゃ出るじゃん。
カウント関数はないのか?VB
914デフォルトの名無しさん:04/12/05 16:44:35
>910
おー、そりゃよかった。乙。
915デフォルトの名無しさん:04/12/05 16:45:28
>912
で?
916デフォルトの名無しさん:04/12/05 17:01:48
>>913
どうやったらいいんですかねー
917デフォルトの名無しさん:04/12/05 17:17:06
918デフォルトの名無しさん:04/12/05 17:53:42
>>917
d
やってみます
919デフォルトの名無しさん:04/12/05 18:53:58
マルチうぜー
920デフォルトの名無しさん:04/12/05 23:16:31
夜分遅くにすいませんが、助けてください。
データグリッドにテーブルの情報を表示させる時、
そのテーブルの或る列に持っている1〜7の文字値については
グリッド上では月〜日に読み替えて表示させたいのです。
列スタイルクラスのFONTプロパティが怪しそうですが、
使い方を調べてもなんだかよく分かりません。
自分ももっと調べてみますが、何かいい方法があれば教えてください
お願いします。
921デフォルトの名無しさん:04/12/05 23:20:56
>>912
同じ言語仕様にいろんな文法をかぶせただけとも言える。

まぁ、従来の構造化オブジェクト指向言語も少なからずそんな感じだったから
相互運用出来るようになったくらいか。
922フナ太郎:04/12/05 23:31:02
>>920
DataColumnオブジェクトのExpressionプロパティでなんとかなんないっすかね。
923デフォルトの名無しさん:04/12/05 23:51:02
>>922
早いレスthxです。
グリッド上のその列は、ネットで拾った、グリッド上にコンボボックスを乗せるクラス
から生成した列スタイルオブジェクトを使っていて、
教えていただいたプロパティはないんですよ。
そのクラスはコンボボックス得意のDisplayMenberと
ValueMenberが設定できるので、1〜7を月〜日に表示させる
こと自体はできるんですが、でもコンボボックスは要らないってことで(汗
なんとかならないもんかと。
コンボボックスを使用不可設定してもいいんですが、
見た目も変だし、そもそも編集不可の列としたいんで
なんかもっとちゃんとしたやり方があるような気がしてるんです。
もうちっと調べてみます。ありがとうございました。

920の訂正:FONTプロパティ→formatプロパティ
924デフォルトの名無しさん:04/12/06 01:00:49
ピクチャーボックス又は読み込んだ画像を1度単位で回転させるにはどうすればいいのでしょうか。
RotateFlipType.Rotate90FlipNoneで90、180、270度の回転はできるのですが・・・。
925デフォルトの名無しさん:04/12/06 01:06:59
う ざ
926デフォルトの名無しさん:04/12/06 01:12:30
927924:04/12/06 01:17:34
>>926
ありがとうございます、求めたい表現ができるようになりました。
このテンプレサイトはみてたけど回転しか見てなかった(´・ω・`)
928デフォルトの名無しさん:04/12/06 02:11:08
929デフォルトの名無しさん:04/12/06 02:16:57
チェックボックスがチェックされているかされていないかってどうやってわかるんですか?
チェックボックス
Dim box1 As Integer
box1 = CheckBox1.Checked
ボタン
Dim box1 As Integer
If box1 = True Then MsgBox("on") Else MsgBox("off")
こんな感じでやってもダメでした。。
930デフォルトの名無しさん:04/12/06 02:25:22
なぜBoolean型をわざわざInteger型にするのかさっぱりわからん。
.NETではBooleanとIntegerは全く別物であるという認識を持ってないからか。

そもそも
If CheckBox1.Checked Then ...
で済むし。
Ifの条件式はBoolean型ならOKなんだから。
931デフォルトの名無しさん:04/12/06 02:33:38
>>930
ありがとうございます!
実は数日前届いたばかりで・・・。
意味不明な質問すいません。。
932デフォルトの名無しさん:04/12/06 07:24:36
>931
いや、意味は分かるよ。>930が人としてなっちゃいないだけ。
気にするな。
933デフォルトの名無しさん:04/12/06 11:59:50
うぜー
934デフォルトの名無しさん:04/12/06 13:45:43
この問題は全てクラスで解決できるのか?
935デフォルトの名無しさん:04/12/06 16:08:44
条件式にBooleanをつっこむのは同意だが、BooleanとIntegerが
まったく別物と言い切るのもどうよ。"-1"や"0"で相互に扱えるし。
936デフォルトの名無しさん:04/12/06 16:35:02
「いちおう別物」ぐらいだな。
937デフォルトの名無しさん:04/12/06 17:14:20
DialogResultをBooleanで受けて変になったことがあったな。
938デフォルトの名無しさん:04/12/06 17:15:21
DialogResultをBooleanで受けて変になったことがあったな。
939デフォルトの名無しさん:04/12/06 17:16:28
DialogResultをBooleanで受けて変になったことがあったな。
940デフォルトの名無しさん:04/12/06 17:43:11
DialogResultをBooleanで受けて変になったことがあったな。
941デフォルトの名無しさん:04/12/06 19:00:25
あえて聞こう。

DialogResult列挙体をどうやってBooleanで受けるんだ?
俺の知らない隠し値でも定義されてるのか。
942デフォルトの名無しさん:04/12/06 19:01:56
>>941
空気嫁

DialogResultをBooleanで受けて変になったことがあったな。 
943デフォルトの名無しさん:04/12/06 19:31:49
Dim result As Boolean, box As New System.Windows.Forms.OpenFileDialog()
result = box.ShowDialog()
System.Windows.Forms.MessageBox.Show(result) '問答無用でTrue。 FalseになるのはDialogResult.Noneだけ

とにかくOption Strict Onしとけってことだな。
944デフォルトの名無しさん:04/12/06 19:40:02
( ゚Д゚)‥‥
945デフォの名無しさん:04/12/07 00:11:48
文字列変換処理を作っています。

ab→xyのときabc→xyc

はReplace関数を使えばイイんですが

a?b→xyのときacb→xy(?は任意の1字)
a*b→xyのときacpqb→xy(*は任意の文字列)

のような変換をしたいのですが、
このような機能を実現する関数は用意されているでしょうか?
946デフォルトの名無しさん:04/12/07 00:44:12
Regexクラスで実装されている正規表現を使う。
947デフォルトの名無しさん:04/12/07 00:44:39
項目 'Form1.resx' はプロジェクト ディレクトリに存在しません。移動したか、名前が変更されたか、または削除された可能性があります。
というエラーが出たんですが修復可能でしょうか??
948デフォルトの名無しさん:04/12/07 01:58:22
Form1.vbを保存するか何かしたら再度作ってくれたような気がする
漏れも一度出したことがあるんだけど簡単に解決できたので余りよく覚えてない
949デフォルトの名無しさん:04/12/07 02:05:15
>>948
訂正
メモ帳でForm1.resxって空ファイル作って
Form1.vbと同じフォルダに突っ込む
950デフォルトの名無しさん:04/12/07 02:16:59
だいぶ作り直してしまいました・・・
でもありがとうございます!!!(TT)
951デフォルトの名無しさん:04/12/07 08:10:20
VB.NETで作ったPGのICONはどのツールで作るんですか?
952デフォルトの名無しさん:04/12/07 08:21:02
>>951
VB.NET
953デフォルトの名無しさん:04/12/07 08:35:36
VB.NET のどこにICON作るツールがある? 
えっプログラムでつくるのか?
 BMPともフォーマット違うみたいだし。
BMP+@だろけどね。だれかフォーマットの規格どこにあるか
おしえてくれ。
954デフォルトの名無しさん:04/12/07 08:58:43
VB.NETににはICON作成はできない。そういうツールはない。
ICOとBMPのファイルをStreamで開いて解析する。どうせ2,3バイトの
ヘッダーが付いてるぐらいだから、BMPにそのヘッダーをつければいい。
955デフォルトの名無しさん:04/12/07 09:18:22
>954
やってみました、なんだ簡単なんだね。
956デフォルトの名無しさん:04/12/07 09:27:18
VS.NETならファイル→新規作成→ファイルにアイコンファイルがあるんだがな。
VB.NET単体にはなかったのかorz
957最凶VB厨房:04/12/07 20:40:24
App.icoだぼぉくぃっくしたら編集できるぞ。
2002。
VB.NET2003単体にはなかったのかorz
958デフォルトの名無しさん:04/12/07 21:10:45
[Text1]に入力した文字(アルファベット)を
[Text2](数値)文字分マイナス転置(アスキーコードで)する
プログラムを作っています。
例:cde⇒abc 2文字動かす

下のプログラムだと最初の1文字しか表示されません。
入力した数だけ表示させるにはどうすればいいでしょうか?
お願いします。

Private Sub Command1_Click()
i = Len(Text1.Text)
Text3.Text = Chr(Asc(Mid(Text1.Text, i, 1)) - Val(Text2.Text))
End Sub
959デフォルトの名無しさん:04/12/07 21:11:28
Dim num As Integer
If num = 0 Then
num = 1
Else
num = 0

End If
MsgBox(num)
これでボタン押すたびに1になったり0になったりするはずなのに!!!
ならないのは何故ですか('A`)
960デフォルトの名無しさん:04/12/07 21:24:18
num の定義を public とかにする。
961デフォルトの名無しさん:04/12/07 21:26:19
定義というのは型という事ですか?
962デフォルトの名無しさん:04/12/07 21:35:53
Public Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click

Dim num As Integer

If num = 0 Then
num = 1
Else
num = 0

End If
MsgBox(num)

無理でした、MsgBoxに1しか出ません!
963デフォルトの名無しさん:04/12/07 21:42:45
最近vb.net始めました。2つの質問です。お願いします。

(1)テキストファイルの指定行の値を変更するのに、

  ファイルの全部を読み出して配列に格納。
  変更したい行に相当する配列を変更
  配列を for で、vbcrlfを & して結合
  ファイルを元のファイルに書き出し

という手順でやっています。
でも何かもっといいやり方がありそうな気がして成りません。
もっといい方法はないのでしょうか。


(2)コンマで区切られた文字列を配列に格納するやりかたで、

str_ary(3)="1,2,3"
みたいにしたら
str_ary(0)←1 str_ary(1)←2 str_ary(2)←3
とコンマで区切られた文字列が自動的に配列に格納されるやり方を
どこかで見たような気がするのですが、見あたらなくなりました。
(もちろん上のやり方ではうまくいきません)
そのような方法がありましたらどうぞご教示願います。


   
964デフォルトの名無しさん:04/12/07 21:42:52
Dim numをクラスのPublicだと思う
965デフォルトの名無しさん:04/12/07 21:43:45
バカすぎ。
966デフォルトの名無しさん:04/12/07 21:44:47
Public num As Integer

private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click


If num = 0 Then
num = 1
Else
num = 0

End If
MsgBox(num)
967デフォルトの名無しさん:04/12/07 22:06:19
Ifの中にIfを書くことは不可能ですか?
968デフォルトの名無しさん:04/12/07 22:07:48
可能
969デフォルトの名無しさん:04/12/07 22:08:07
絶妙に意味不明です。
ていうか取りあえず試そうよ。
970デフォルトの名無しさん:04/12/07 22:23:15
>>958
一文字しか処理してないから。

.NET的にエレガントに書くとこんな感じかね。
Dim i As Integer, re As String = "", c As Char
For Each c In Text1.Text
   re += Chr(Convert.ToInt32(c) - Integer.Parse(Text2.Text)).ToString()
Next
Text3.Text = re
971デフォルトの名無しさん:04/12/07 22:27:58
StringBuilder使えよ
972967:04/12/07 22:36:24
>>968-969
Endifが無かっただけでした・・・。
973デフォルトの名無しさん:04/12/07 22:40:35
>967
iiff
974デフォルトの名無しさん:04/12/07 22:51:09
>>973
エレガントだ。(w
975デフォルトの名無しさん:04/12/07 22:57:28
そろそろ1000取り
976963:04/12/07 23:53:43
>>971さん
それは私(>>963)に対するレスですね?
ちょいと調べてみます。
ありがとうございます。
977デフォルトの名無しさん:04/12/08 11:46:52
すみません、VB自体の質問ではないのですが

PC98で動かしてたベーシックのプログラムは
VBで動かすことは可能なのでしょうか?
978デフォルトの名無しさん:04/12/08 11:48:21
>>977
N88Basicね。
部分的に流用するぐらいならなんとか可能だけど
そのまんまは無理だよ。
979デフォルトの名無しさん:04/12/08 11:56:19
>>978
レスありがとうございます

そうなのですか
父がN88Basicで作ったプログラムをPC98を使用していて、古くていよいよ壊れそうなので
移植できるならVBでも買ってあげようかなと思いまして
980デフォルトの名無しさん:04/12/08 12:01:41
>>979
PC98エミュレータとかなかったっけ?
981デフォルトの名無しさん:04/12/08 12:02:26
つかN88BasicのWindows用インタプリタがなかったっけ?
982デフォルトの名無しさん:04/12/08 12:06:16
DataGridに関する質問です。
VB.netでDataGridにデータを表示するのに、DataSetを作成して、
そいつをSetDataBindingでDataGridに表示しています。

そのGridについて、列幅や列ヘッダ名称をDataGridTextBoxColumn、
GridColumnStylesを利用して設定し、TableStyles.Addとしているの
ですが、表示が変わらずにDataSetの項目名が列ヘッダーに表示
されたままです。

変更するにはどうすればよいのでしょうか
983デフォルトの名無しさん:04/12/08 12:43:22
>981
ある。普通にググれば見つかるはず。
984デフォルトの名無しさん:04/12/08 12:44:40
>982
HeaderTextは設定しているの?
985デフォルトの名無しさん:04/12/08 12:45:09
vb.netで同じLAN内でファイル転送をしたいのですが全く分かりません。教えてください。
986デフォルトの名無しさん:04/12/08 12:50:44
>985
ファイルコピーすれば?
987デフォルトの名無しさん:04/12/08 12:51:35
>985
System.IOクラスでファイル操作は色々できる。
988デフォルトの名無しさん:04/12/08 13:06:10
>984
989デフォルトの名無しさん:04/12/08 13:06:41
>984
下記のように設定しています。
Dim TSAuthors As New DataGridTableStyle
TSAuthors.MappingName = "Authors"

Dim TCFirstName As New DataGridTextBoxColumn
TCFirstName.MappingName = "PROJECT_CODE"
TCFirstName.HeaderText = "First Name"
TCFirstName.Width = 120
TSAuthors.GridColumnStyles.Add(TCFirstName)

grdProject.TableStyles.Add(TSAuthors)
990デフォルトの名無しさん:04/12/08 13:10:06
>989
これでヘッダに「First Name」って出ないの?
991デフォルトの名無しさん:04/12/08 13:11:40
>989
よさそうだけどな。DataGridの概要のページのサンプルがあるから
比較してみたら?
992デフォルトの名無しさん:04/12/08 13:36:26
次スレは?
993デフォルトの名無しさん:04/12/08 13:56:27
994デフォルトの名無しさん
Part8まーだー? C#に行こうかな