[表示 : 全て 最新50 1-99 101- 201- 301- 401- 501- 601- 701- 801- 901- 1001- 2chのread.cgiへ]
Update time : 11/21 21:39 / Filesize : 247 KB / Number-of Response : 1002
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

VB.NET質問スレ (Part17)



1 名前:最凶VB厨房 mailto:sage [2006/08/11(金) 19:40:44 ]
[前スレ]VB.NET質問スレ (Part16)
pc8.2ch.net/test/read.cgi/tech/1149432480/

548 名前:デフォルトの名無しさん mailto:sage [2006/09/25(月) 23:46:34 ]
「フォームの作成」と「プロシージャの記述」とは主にどのような作業のことを指すのですか?
できれば、簡潔にまとめてほしいです。

549 名前:デフォルトの名無しさん mailto:sage [2006/09/25(月) 23:48:56 ]
まあ簡潔にいうと君はプログラマには向いてないってことでしょう。

550 名前:デフォルトの名無しさん mailto:sage [2006/09/25(月) 23:55:12 ]
だな。
最近多いよね。基本的な入門書も読まずにプログラム組む新人。


551 名前:デフォルトの名無しさん mailto:sage [2006/09/26(火) 00:04:32 ]
>>550
組むわけではないんですが、都合上どうやるのかを知っておかなくては行けないんです。

552 名前:デフォルトの名無しさん mailto:sage [2006/09/26(火) 00:21:46 ]
フォームの作成
フォームのインスタンスをコンストラクトすること

プロシージャの記述
プロシージャをディスクライブすること

553 名前:デフォルトの名無しさん mailto:sage [2006/09/26(火) 00:27:37 ]
>>552
上は分かりますが、下はそのままじゃないですか。
もうすこし、詳しく教えていただけませんか?

554 名前:デフォルトの名無しさん mailto:sage [2006/09/26(火) 00:32:26 ]
プロシージャの記述
プロシージャをコンポーズするステートメントをディスクライブすることによって
プロシージャとしてのファンクションをコンポーズすること

555 名前:デフォルトの名無しさん mailto:sage [2006/09/26(火) 01:42:14 ]
もうやめれw

556 名前:デフォルトの名無しさん [2006/09/26(火) 09:38:07 ]
・フォームの作成
フォームを精魂込めて我が子を育てるがごとく作成すること。

・プロシージャの記述
関数の記述は一関数入魂が基本です。血の出るほどの魂を込めて記述しましょう。



557 名前:デフォルトの名無しさん mailto:sage [2006/09/26(火) 11:01:55 ]
>>548
「フォームの作成」
ボタンやテキスト・フィールド、コンボ・ボックス等のGUI部品を並べて画面を作る事です。

「プロシージャの記述」
フォームの作成で作ったボタン等が押された時に何かの計算をするとかデータベースから
値を読み込むとかのプログラム処理を記述します。


# >>548がのクライアントだったらどうするよ? しかもおエラいさん。
# いい加減なことを吹き込んで苦労するのはおまいらだ。w

558 名前:デフォルトの名無しさん mailto:sage [2006/09/26(火) 11:03:02 ]
日本語が変だ。orz

559 名前:デフォルトの名無しさん mailto:sage [2006/09/26(火) 11:05:52 ]
思ったより簡単に沢山釣れましたので満足です。
どう見ても釣堀りです。ありがとうございました。

560 名前:デフォルトの名無しさん mailto:sage [2006/09/26(火) 15:08:14 ]
VB.NET2003でコントロールのサブクラス化がしたいのですが
サンプルをいただけないでしょうか?

561 名前:デフォルトの名無しさん mailto:sage [2006/09/26(火) 15:17:55 ]
support.microsoft.com/default.aspx?scid=kb;ja;311317

562 名前:560 mailto:sage [2006/09/26(火) 15:32:27 ]
すみません。事故解決しました。

563 名前:560 mailto:sage [2006/09/26(火) 16:01:29 ]
Protected Overrides Sub WndProc(ByRef m as System.Windows.Forms.Message)

If m.Msg = &h201 Then 'WM_LBUTTON_DOWN
 If Msgbox("キャンセルしますか?") = vbYes Then
  Return
 End If
End If

MyBase.WndProc(m)

End Sub

としてキャンセルのときは左クリックを無かったことにしたいのですが
上記のようにただのReturnですと左クリックのメッセージが
うまくキャンセルできていません。
次の左クリックが無効になってしまいます。
綺麗なキャンセルのやり方があれば教えてください。
よろしくお願いします。


564 名前:デフォルトの名無しさん mailto:sage [2006/09/26(火) 21:13:15 ]
>>563
釣り?
そりゃクリックとキー入力じゃメッセージ違うでしょ。

っていうか、ドトネトじゃそういうやり方はどっちかというと邪道。
OnClickをオーバーライドした方が簡単だしわかりやすい。

565 名前:デフォルトの名無しさん mailto:sage [2006/09/26(火) 21:16:15 ]
つーか、そんな糞UI誰が喜んで使うんだと小一時間

566 名前:563 mailto:sage [2006/09/26(火) 21:19:58 ]
すみません。事故解決しました。



567 名前:デフォルトの名無しさん mailto:sage [2006/09/26(火) 21:22:40 ]
完全に頭おかしい奴だなw

568 名前:デフォルトの名無しさん mailto:sage [2006/09/27(水) 11:34:38 ]
PictureBox1.ImageLocationに、
リファラーを設定してWeb上の画像を表示する方法を教えてください。

569 名前:デフォルトの名無しさん [2006/09/27(水) 11:48:38 ]
リファラーを設定を設定します

570 名前:デフォルトの名無しさん mailto:sage [2006/09/27(水) 12:36:18 ]
PictureBox1.ImageLocationに、
リファラーを設定してWeb上の画像を表示する方法を教えてください。

571 名前:デフォルトの名無しさん mailto:sage [2006/09/27(水) 12:42:09 ]
572 :570 :2006/09/27(水) hh:mm:ss
すみません。事故解決しました。

って来る予感w

572 名前:デフォルトの名無しさん mailto:sage [2006/09/27(水) 12:42:39 ]
PictureBox1.ImageLocationに、
リファラーを設定してWeb上の画像を表示する方法を教えてください。

573 名前:570 mailto:sage [2006/09/27(水) 13:08:42 ]
みません。事故解決しました。

574 名前:568 mailto:sage [2006/09/27(水) 13:14:20 ]
PictureBox1.ImageLocationに、
リファラーを設定してWeb上の画像を表示する方法を教えてください。

誰も解らないのですか?

575 名前:563 mailto:sage [2006/09/27(水) 13:24:06 ]
HTTPで画像を取ってきてPicutureBox1にロードすればいいのでは?

576 名前:デフォルトの名無しさん mailto:sage [2006/09/27(水) 13:33:04 ]
画像の置き場の管理者に
「リファラみんじゃねーぞ(゚ロ゚)モルァ!! 」
ってメール打て



577 名前:568 mailto:sage [2006/09/27(水) 14:20:36 ]
PictureBox1.ImageLocationに、
リファラーを設定してWeb上の画像を表示する方法を教えてください。

ここはラベルの低いスレですね

578 名前:デフォルトの名無しさん mailto:sage [2006/09/27(水) 15:31:46 ]
ヒント
インターネットRFC辞典を読め

579 名前:568 mailto:sage [2006/09/27(水) 16:19:56 ]
PictureBox1.ImageLocationに、
リファラーを設定してWeb上の画像を表示する方法を教えてください。

ほんと皆さんにはがっかりです

580 名前:デフォルトの名無しさん mailto:sage [2006/09/27(水) 16:30:18 ]
池沼?

581 名前:デフォルトの名無しさん mailto:sage [2006/09/27(水) 16:44:45 ]
エロ画像Browserでも作ってるんだろうな

582 名前:デフォルトの名無しさん mailto:sage [2006/09/27(水) 17:09:32 ]
PictureBox1.ImageLocationに、
リファラーを設定してWeb上の画像を表示する方法を教えてください。

全然役に立たないですね

583 名前:568 mailto:sage [2006/09/27(水) 17:58:37 ]
PictureBox1.ImageLocationに、
リファラーを設定してWeb上の画像を表示する方法を教えてください。

オナニーは抜いた後にしてください。

584 名前:真の568 mailto:sage [2006/09/27(水) 18:10:19 ]
みんな興味深々じゃんwww
教えたれよ

585 名前:デフォルトの名無しさん mailto:sage [2006/09/27(水) 18:10:27 ]
解答もらえてる質問ともらえてない質問には大きな差がある。

質問するなら他の質問の仕方を見てみろ。


586 名前:デフォルトの名無しさん mailto:sage [2006/09/27(水) 18:18:55 ]
解答もらえてる質問
→簡単な質問

もらえてない質問
→難しい質問



587 名前:デフォルトの名無しさん mailto:sage [2006/09/27(水) 18:49:31 ]
>>568
なぜリファラーが必要だと思うのか説明してくれよ。
本当はリファラーかどうかもわからないんだろ?

>>586
典型的な答えてもらえないタイプだな。



588 名前:デフォルトの名無しさん mailto:sage [2006/09/27(水) 19:18:28 ]
PictureBox1.ImageLocationに、
リファラーを設定してWeb上の画像を表示する方法を教えてください。

無駄なレスは不要です

589 名前:デフォルトの名無しさん mailto:sage [2006/09/27(水) 19:21:13 ]
しばらく構わずに放っておいたらどこまで続くだろうな。

590 名前:デフォルトの名無しさん mailto:sage [2006/09/27(水) 19:21:54 ]
PictureBox1.ImageLocationに、
リファラーを設定してWeb上の画像を表示する方法を教えてください。

質問する時間帯が悪かったみたいですね

591 名前:デフォルトの名無しさん mailto:sage [2006/09/27(水) 19:47:23 ]
PictureBox1.ImageLocationに、
リファラーを設定してWeb上の画像を表示する方法を教えてください。

荒らしてた厨房は今頃宿題ですかね

592 名前:真の568 mailto:sage [2006/09/27(水) 20:06:50 ]
>>587
例えば、ITMadiaはリファラーを設定しないと画像直リンできません。
image.itmedia.co.jp/bizid/articles/0609/27/top_news091.jpg
とかをフォーム上で表示したい場合、
リファラーに www.itmedia.co.jp/ を指定するとDLできます。
なので、リファラーは必要です。

ターゲットURLとリファラーURLを引数として、
ターゲットURLにリファラーURLをセットしてPOSTし、
対象をDLするSubプロシージャーを作りたいのです。

どなたかテンプレを。。。

593 名前:デフォルトの名無しさん mailto:sage [2006/09/27(水) 20:30:57 ]
HttpWebRequest 調べれ
自前で取ってくる必要がある

594 名前:デフォルトの名無しさん mailto:sage [2006/09/28(木) 11:02:57 ]
クソ言語  VB.NET

595 名前:デフォルトの名無しさん mailto:sage [2006/09/28(木) 18:30:30 ]
>>594
馬鹿とハサミは使いよう。
言語も同じく。

596 名前:デフォルトの名無しさん mailto:sage [2006/09/28(木) 19:15:50 ]
言語つーより、このツール自体ゴミですね。
なにこの操作性?まともな開発ツールじゃないよ?
どこかの素人学生がつくったようなツールだ



597 名前:デフォルトの名無しさん mailto:sage [2006/09/28(木) 19:20:48 ]
スレ違い

598 名前:デフォルトの名無しさん mailto:sage [2006/09/28(木) 19:21:56 ]
いやVB.NETの事なのでスレ違いじゃないですよ

599 名前:596 mailto:sage [2006/09/28(木) 19:31:47 ]
あ、開発ツールの話は、
Visual Studio 2005スレ Part16
pc8.2ch.net/test/read.cgi/tech/1159099219/
ですね^^

すいません。私の頭にウジが沸いているんです。許してください。

600 名前:デフォルトの名無しさん mailto:sage [2006/09/29(金) 03:11:25 ]
vb.netで、DataGridのカラムヘッダーのソート方向を表す▲の色ってどのオブジェクトで変更できます?
DataGridのBackgroundColorとHeaderBackColorを同じ色にしたら三角が見えなくなったので、
別の色に変更したいです。

601 名前:デフォルトの名無しさん [2006/09/29(金) 14:39:57 ]
DataSetの中に、Tableがあるかないかを取得するには、どうしたらいいですか?

602 名前:601 [2006/09/29(金) 14:59:01 ]
Dim tb1 As DataTable
Dim str1 As String
For Each tb1 In ds.Tables
str1 = tb1.TableName
If str1 = "Table1" Then
MsgBox("Table1は、ないです。")
Exit Sub
Else
MsgBox("Table1は、あるです。")
End If
Next tb1

↑みたくしてみました。
もっと、うまい方法があるのかな?

603 名前:デフォルトの名無しさん [2006/09/29(金) 15:02:54 ]
あ!↑あるとない逆でした///。

604 名前:デフォルトの名無しさん mailto:sage [2006/09/29(金) 15:16:11 ]
>>601
つds.Tables.Contains(テーブル名)

あと602のコードだけど実行したら
ないです→ないです-(以下見つかるまでループ)→あるです
ってブラクラみたくなると思うんだが

605 名前:デフォルトの名無しさん [2006/09/29(金) 15:22:08 ]
そんなあるか無いか調べないと駄目っていう状態で作りたくないな。
質問者の設計が糞だと思う。

606 名前:600 mailto:sage [2006/09/29(金) 15:39:14 ]
help me, please...



607 名前:デフォルトの名無しさん mailto:sage [2006/09/29(金) 16:21:30 ]
>>606
自前で描画

608 名前:デフォルトの名無しさん [2006/09/29(金) 16:39:23 ]
VB.NET始めて2ヶ月の初心者です
学習用のサンプルで
CInt(x)

CType(x, integer)
というのが出ていたのですが、これって同じ結果になるものですか?
それとも状況によって使い分けたりするものなのでしょうか

609 名前:デフォルトの名無しさん mailto:sage [2006/09/29(金) 17:01:48 ]
>>606
描画がいやなら、別の色組み合わせを検討してみよう。

610 名前:デフォルトの名無しさん mailto:sage [2006/09/29(金) 17:14:01 ]
>>608
VB.NETのキャストは何種類かある
CType(val, T)は汎用。ちなみに失敗するとInvalidCastExceptionが出る。
CIntとかCLngとかは6.0以前の遺産じゃないかな?まあ型指定の手間省けるけど。
これらも変換できないときはInvalidCastExceptionを投げる。

ちなみにTryCast(obj, T)だと失敗したときはNothingが返される。ただし参照型限定。

611 名前:デフォルトの名無しさん [2006/09/29(金) 17:38:09 ]
>>604
Containsで、できました!嬉しいです。ありがとうございました。

ソースをコピペしたとき、なにげなしに、<> のとこを = に変更しちゃったので、
ブラクラになってしまいました。ホントは、Exit Subは下の段です。。
すみませんでした。。

612 名前:600 mailto:sage [2006/09/29(金) 17:40:25 ]
>>607>>609
サンクスです。
基本的に逃げ道は無いということですね…。

613 名前:デフォルトの名無しさん mailto:sage [2006/09/29(金) 20:18:33 ]
>>610
System.Convertと言うのもあるな。

614 名前:デフォルトの名無しさん mailto:sage [2006/09/29(金) 22:45:52 ]
行き先の型が確定してるなら、DirectCastが良い。


615 名前:デフォルトの名無しさん mailto:sage [2006/09/29(金) 23:34:24 ]
質問スレと関係ねえけど、先進性を売りにしてるドトネト諸言語でも
キャストと変換が峻別されてないのはどうにかならんかねと思う。

616 名前:デフォルトの名無しさん mailto:sage [2006/09/30(土) 03:32:23 ]
>行き先の型が確定してるなら、DirectCastが良い。
おかしなことをゆうな。




617 名前:デフォルトの名無しさん mailto:sage [2006/09/30(土) 06:08:03 ]
元先って表現が正しかったかね。
あいまいさのない変換ならって意味。

618 名前:608 mailto:sage [2006/09/30(土) 09:07:27 ]
>>610,613,614
回答ありがとうございます
色々試して使い分けられるように頑張ります

619 名前:デフォルトの名無しさん mailto:sage [2006/09/30(土) 14:37:58 ]
検索をしようと、ctrl+Fを押下したのですが、検索ボックスが表示されません。
昨日までは、表示されていたのですが・・・
どうしたら表示されるようになるでしょうか?

620 名前:619 mailto:sage [2006/09/30(土) 15:08:17 ]
タスクバーをけしてみたら、画面の下の方に出ていました。
くそ質問ですみませんでした。

621 名前:デフォルトの名無しさん mailto:sage [2006/09/30(土) 17:29:14 ]
>>620
IDEのツールボックスやウィンドウレイアウトは、オプションから初期
設定に戻すことができるよ。今回のが該当するのか不明だけど、同僚
がいっつもツールボックスを紛失するんで、俺も覚えてしまった。

622 名前:デフォルトの名無しさん mailto:sage [2006/09/30(土) 18:29:41 ]
VB.NETで非同期イベントってどうやればいいんですか?
C#だとこんな感じでできるのですが
 //delegate設定
 public delegate void testDelegate( object sender, EventArgs e );
 //イベント設定
 public event testDelegate Tested;

 //非同期イベント発行
 Tested.BeginInvoke(this, EventArgs.Empty, new AsyncCallback(TestedCallback), Tested);
 //コールバック関数
 private void TestedCallback(IAsyncResult ar)
 {
  testDelegate callback = ar.AsyncState;
  callback.EndInvoke(ar);
 }

VBだとTested.BeginInvoke()でエラーがでます。




623 名前:デフォルトの名無しさん mailto:sage [2006/09/30(土) 19:12:09 ]
>>622
同じようにやればいいんじゃないの?
VBでどう書いてどういうエラーが出たんだ?

624 名前:デフォルトの名無しさん mailto:sage [2006/09/30(土) 19:21:32 ]
>>623
 //delegate設定
 Public Delegate Sub testDelegate(ByVal sender As Object, ByVal e As EventArgs)
 //イベント設定
Public Event Tested As testDelegate

Tested.BeginInvoke()で「Testedはイベントであるため、
直接呼び出すことはできません。」のエラーがでる。

625 名前:デフォルトの名無しさん mailto:sage [2006/09/30(土) 19:47:06 ]
Testedをイベントじゃなくて単なるデリゲートにしたら?
イベントハンドラがいらないならイベントである必要はないんだけど。

626 名前:デフォルトの名無しさん mailto:sage [2006/09/30(土) 19:49:14 ]
>>622
おま、そのC#のほうも、内容わかってないだろ。
内容をまず理解したほうがいい。そうすれば簡単にわかる話だ。

まずはそれからだ!



627 名前:デフォルトの名無しさん mailto:sage [2006/09/30(土) 20:06:24 ]
てきとーに、イベントに関数を与えるのはAddressofでやるのでは?


628 名前:デフォルトの名無しさん mailto:sage [2006/09/30(土) 21:15:08 ]
>>622
ああ、C#だとそういう風にイベントをデリゲートとして扱えるのか。。
VBだとたぶんそのコードを「直訳」することはできないね。

ばかばかしいことだけど、RaiseEventでイベントを生成するメソッド(OnTested)
を、別のデリゲートで非同期呼び出しする必要がありそう。

この変はイベントを簡単に扱えるようにしているVB.NETの暗黒面かもしれん。

ちなみに、どうでもいいんだけどそういうの非同期イベントっていうのは
正式な用語法なのかな?

629 名前:デフォルトの名無しさん mailto:sage [2006/09/30(土) 21:25:09 ]
>>628
> ちなみに、どうでもいいんだけどそういうの非同期イベントっていうのは
> 正式な用語法なのかな?
いんや。

つか 622 のコードはイベントをデリゲートとして扱えてしまう C# の暗黒面。
BeginInvoke はあくまで非同期デリゲートなんだから。

630 名前:デフォルトの名無しさん mailto:sage [2006/09/30(土) 21:31:14 ]
>>629
それ君の倒錯だと思うけどね俺は。

実際問題、たとえば何らかのデバイスなりストリームなりを監視する
ワーカースレッドから、UIスレッドに同期したイベントを生成したいって場合は
少なからずあるんだよ。

そういう場合はVBだと>>628に書いたような非常にばかばかしいコードを書かなきゃならん。

631 名前:デフォルトの名無しさん mailto:sage [2006/09/30(土) 21:36:02 ]
ちょっとC#勉強してくるノシ

632 名前:デフォルトの名無しさん mailto:sage [2006/10/01(日) 04:17:33 ]
てかよ、デリゲートの非同期呼び出しはマルチキャストできないんじゃなかったっけ?
つまりそもそもイベント発火すんのにそんなもん使っちゃだめってことだろよ。
UIに同期したいなら面倒でもメソッドいっこかませりゃ済む話でそ?


633 名前:デフォルトの名無しさん mailto:sage [2006/10/01(日) 12:26:44 ]
>>632
どこにそんなこと書いてあるんだよw

634 名前:デフォルトの名無しさん mailto:sage [2006/10/01(日) 15:04:35 ]
マイクロソフト公式解説書「プログラミング Visual C# 2005 言語編」
にはっきりと書いてある。


635 名前:デフォルトの名無しさん mailto:sage [2006/10/01(日) 15:18:13 ]
書いてあるわけねーw
だってそんなの事実に反するからね

だいいちデリゲートにとっちゃ自分のケツを誰が叩いているかなんて
全然関係のない話だろw

636 名前:デフォルトの名無しさん mailto:sage [2006/10/01(日) 15:25:07 ]
おまえ言ってること勘違いしてないか?

デリゲートの非同期呼び出しはマルチキャストでは使えない(これは上記の本に書いてある)。
イベントはマルチキャストすることが普通にある。
よってイベントをデリゲートの非同期呼び出しで呼び出すのはまずい。

って言ってるんだが。
イベントの発火をデリゲートの非同期呼び出しでやったらまずいってのは
上記からの俺の見解だからlこれは書いてないけどな。




637 名前:デフォルトの名無しさん mailto:sage [2006/10/01(日) 15:58:56 ]
>>636
勘違いしてるのはたぶん君だと思うよ。

推測でしかないけど、たぶんEndInvoke使って返り値を取れるのは
デリゲートが一番最後に呼び出したメソッドだけ、って話とどっかで
混同してるんじゃないの?

638 名前:デフォルトの名無しさん mailto:sage [2006/10/01(日) 16:07:08 ]
人によって Control.BeginInvoke を言ってるのか Delegate.BeginInvoke を言ってるのか
バラバラでグダグダになってるな。
非同期デリゲートなんだから Delegate.BeginInvoke の話のはずだが。


EventHandler handler = delegate { Console.WriteLine("a."); };
handler += delegate { Console.WriteLine("b."); };
IAsyncResult ia = handler.BeginInvoke(null, null, delegate(IAsyncResult ar) {
   handler.EndInvoke(ar);
}, null);
ia.AsyncWaitHandle.WaitOne();

> ハンドルされていない例外: System.ArgumentException:
> デリゲートに指定するターゲットは 1 つでなければなりません。

匿名メソッドは楽じゃのう。

639 名前:デフォルトの名無しさん mailto:sage [2006/10/01(日) 16:23:19 ]
どうみても>>636が正しいです。

本当にありがとうございました。

640 名前:デフォルトの名無しさん mailto:sage [2006/10/01(日) 16:34:27 ]
>>637
だから書籍に書いてあるってんのに何をどう勘違いするってんだ。
「BeginInvokeメソッドは、シングルキャストデリゲートに対してのみ使用できます」
って書いてあるっての。


641 名前:デフォルトの名無しさん mailto:sage [2006/10/01(日) 16:37:08 ]
ああ…つまりそういうことだw

642 名前:637 mailto:sage [2006/10/01(日) 17:35:49 ]
なんか勘違いしてるのは俺の方だったみたいね。。
なんか恥ずかしいなw

ってことは、結局非同期的にマルチキャストなイベントを起動しようと思ったら
OnXXXを非同期的に呼び出さないとダメってことなのか?

C#でもイベントに対してBeginInvokeなんて迂闊に使ったらまずいわけか。

643 名前:デフォルトの名無しさん mailto:sage [2006/10/01(日) 19:05:36 ]
んーたいていの場合、イベントソースの方が非同期で処理してるんだろうから、
そのままイベント投げればいいと思うんだけどな。
非同期でイベントを発火しなきゃならん状況があんまりうかばないんだが。


644 名前:デフォルトの名無しさん mailto:sage [2006/10/01(日) 19:11:58 ]
>>643
制御系とかでユーザ操作に関係なく発生するイベントとかは?

645 名前:デフォルトの名無しさん mailto:sage [2006/10/01(日) 19:21:40 ]
んーじゃなくてさ
非同期で発生するイベントはいろいろ考えられても、
イベントソースの方が非同期でイベントを発火することはあまりないんじゃ?てこと。
※ソース側のスレッドからさらに非同期でイベントを発火するって話ね。

そりゃ制御系とか、その他、ソース側のワーカスレッドをブロックしては困る場合とかは
あるだろうけど、そういうのは少ないんじゃ?ってこと(ないとは言ってない)


646 名前:デフォルトの名無しさん mailto:sage [2006/10/01(日) 20:08:57 ]
>>645
たとえばHWバッファが貧弱なために一定の時間間隔以下で必ずreadしてやらないと
バッファがオーバーフローしてしまうようなデバイスをスレッドでバッファリングしているとして、
特定の値を受信した場合にそのスレッドからイベントを生成したいような場合。

ってちょっと強引な設定か。



647 名前:デフォルトの名無しさん mailto:sage [2006/10/01(日) 20:37:37 ]
うん、そういう場合は必要だけど、そういう場面はあんまりないんじゃ?ってだけね。


648 名前:デフォルトの名無しさん [2006/10/03(火) 03:11:24 ]
System.IO.File.Copy("C:\Hoge.txt", "C:\Foo\Bar.txt", True)

上記の場合に、C:\Hoge.txtが存在しなかったら強制終了してしまうんですが
ファイルが存在しない旨のメッセージを表示させたいときはどうすれば良いんでしょうか?
VBです。

649 名前:648 [2006/10/03(火) 03:12:09 ]
すみません。↑は誤爆です。
気にしないでください!!

650 名前:デフォルトの名無しさん mailto:sage [2006/10/03(火) 14:34:39 ]
プログラム初心者で、簡単な質問かもしれないですがお願いします。

VB.NETの質問で申し訳ありませんが、イメージを貼り付ける時に
ImageBox1.Image = Image.FromFile("gazou.gif")
ImageBox2.Image = Image.FromFile("gazou.gif")
ImageBox3.Image = Image.FromFile("gazou.gif")
ImageBox4.Image = Image.FromFile("gazou.gif")
ImageBox5.Image = Image.FromFile("gazou.gif")
というプログラムを、IfやForを使ってもっと簡潔にまとめられないでしょうか?
いろいろと試してみましたが、エラーばかりでうまくいかなくて…よろしくお願いします。

651 名前:デフォルトの名無しさん mailto:sage [2006/10/03(火) 14:50:08 ]
>>650
for each

652 名前:デフォルトの名無しさん mailto:sage [2006/10/03(火) 14:55:30 ]
>>650

homepage1.nifty.com/rucio/main/dotnet/shokyu/standard20.htm

上から下まで全部読んだら、方法がいくつかわかると思う。


653 名前:デフォルトの名無しさん mailto:sage [2006/10/03(火) 15:01:43 ]
>>651-652
とりあえず紹介されたサイトのほうに目を通したいと思います
早い返答ありがとうございました

654 名前:デフォルトの名無しさん mailto:sage [2006/10/03(火) 17:25:00 ]
>>652
650じゃないですが、ちょうど同じ内容を探してました
感謝です

655 名前:デフォルトの名無しさん mailto:sage [2006/10/04(水) 06:46:51 ]
ローカルネットワークのActive Directory上動くアプリを作っています。
そのアプリの認証にWindows認証を取り入れたいのですが、
どのように認証すればよいのでしょうか?

656 名前:デフォルトの名無しさん mailto:sage [2006/10/04(水) 09:51:12 ]
VB.Net2003 + .NetFrameWork1.1
で、ListVIewのListVIewItem(i).Textプロパティに改行文字を含んだ文字列を
指定したらTextのAlignがCenterになってしまいます。
しかも妙に左右に空白ができてしまいます。
Viewプロパティは smallicon にし、48x48pxlのアイコンを使用しています。

┏━┓   abc
┃ ┃ あいうえお
┗━┛  123456


これを

┏━┓abc
┃ ┃あいうえお
┗━┛123456

このように表示したいのです。
イメージとしては、windows(XP以降)のFileExplore右側リストビューにて
「並べて表示」した時の感じです。

ListViewにはTextAlignプロパティは無いし、Alignmentプロパティは
アイコンの並び方を変えるだけでした。
どのような方法で実現できるでしょうか?

また、Textプロパティの1行目のフォント色は黒で、2行目以降はグレーで表示したいのですが
どのようにすれば実現可能でしょうか?

そもそも、WindowsのFileExploreのListViewは.NetFrameWorkのListViewとは
異なるものなのでしょうか?



657 名前:デフォルトの名無しさん [2006/10/04(水) 14:12:27 ]
同じ型の構造体をコピーする方法を教えてください

658 名前:デフォルトの名無しさん mailto:sage [2006/10/04(水) 14:15:16 ]
コピーしたい構造体を反転選択、
Ctrl-c

659 名前:デフォルトの名無しさん mailto:sage [2006/10/04(水) 14:16:24 ]
A4白黒あたりで良ければ、
コンビニで10円

660 名前:デフォルトの名無しさん [2006/10/04(水) 14:21:10 ]
うっ、この時間って馬鹿しかいなかったか・・・

661 名前:デフォルトの名無しさん [2006/10/04(水) 14:24:04 ]
質問の仕方も知らない馬鹿をからかっているだけだと思われ。

662 名前:デフォルトの名無しさん [2006/10/04(水) 14:30:51 ]
答えれないと煽るか誤魔化す馬鹿しかいない時間帯だってわかってるよ

663 名前:デフォルトの名無しさん mailto:sage [2006/10/04(水) 14:34:49 ]
>>660
その通り。
この時間、回答者も質問者も馬鹿しかいない。

664 名前:デフォルトの名無しさん mailto:sage [2006/10/04(水) 14:37:21 ]
>>663
違うだろ。 馬鹿な質問者にはそれなりの馬鹿しかレスしねえだけだ。

665 名前:656 mailto:sage [2006/10/04(水) 15:10:25 ]
事故解決です。
どーやら.NetFrameWork2.0のListViewコントロールには
View.Tilingというビューモードが追加になってるみたいですね。
やりたかったことはそれなので、2.0導入するまでちょっと我慢します。

666 名前:デフォルトの名無しさん mailto:sage [2006/10/04(水) 15:17:25 ]
>>664
だからお前がレスしてるのね



667 名前:デフォルトの名無しさん mailto:sage [2006/10/04(水) 15:20:29 ]
>>666
ようこそ。

668 名前:デフォルトの名無しさん mailto:sage [2006/10/04(水) 15:37:15 ]
>>657
Struct1 struct1 = struct2;

669 名前:デフォルトの名無しさん mailto:sage [2006/10/04(水) 15:39:31 ]
まあおまいら、またーりするんだ。

ttp://up2.viploader.net/pic/src/viploader320467.jpg

670 名前:デフォルトの名無しさん mailto:sage [2006/10/04(水) 18:50:41 ]
次はオシッコして感電死するショット?w

>>665
俺自身は自分でやったことないのにえらそうに言うけど、
たぶんListViewのOnPaintをオーバライドすれば1.1でもできるんじゃない?

GetItemRectなんてメソッドを使えば、テキストの部分だけのRectangleが取得できるから
先にベースクラスのOnPaint呼んどいてテキストの部分だけ自分で上書きしてしまえばいい。


671 名前:デフォルトの名無しさん mailto:sage [2006/10/04(水) 18:52:35 ]
プロセスIDからそのプロセスのファイル名をフルパスで得る方法ってありませんか。
VB2005です。

672 名前:656 mailto:sage [2006/10/04(水) 19:51:25 ]
>670
さんくす。
オーバーライドやGetItemRectなんて具体的なやりかたが全然想像つかないので
ちょっと調べてきます ノシ

673 名前:デフォルトの名無しさん mailto:sage [2006/10/04(水) 20:09:07 ]
>>656
2003でもいいけどさ、
.NetFrameWorkは2.0にできないの?
まったく別物で上位互換でもないしさぁ



674 名前:デフォルトの名無しさん mailto:sage [2006/10/04(水) 20:19:39 ]
>>670
そりゃ無理だろ。やるならAPI使ってオーナードロー。

675 名前:656 mailto:sage [2006/10/04(水) 20:22:33 ]
>>673
1.1で開発してるシステムが完成してから2.0にしようかと。
開発途中で2.0にしてしまうと作成途中のソースに
あちこち手を入れることになんね?


676 名前:デフォルトの名無しさん mailto:sage [2006/10/04(水) 20:27:06 ]
>>674
あんたVB6な人だろ
.NETは違うんだよw



677 名前:デフォルトの名無しさん mailto:sage [2006/10/04(水) 20:35:13 ]
>>676
OnPaintでどのアイテムを描画するかどうやって判断するの?

678 名前:デフォルトの名無しさん mailto:sage [2006/10/04(水) 20:40:41 ]
>>675
手入れが必要なら、さっさと乗り換えたほうが良くない?

たとえばオーバーライドやGetItemRectをつかってまで1.1でつくりあげて、
それから2.0にする意味は?
一刻も早く2.0にして、もっとスマートな仕様で作っていくべきと思うけど。
他の様々な部分でも改善の余地があるなら早いほうがいいと思うし。

679 名前:670 mailto:sage [2006/10/04(水) 20:41:52 ]
>>672
継承知らないとなると前途多難かもしれんねw

既存のコントロールを継承して独自の機能を実装する方法はここにやさしい解説があるよ
pclabo.org/vb_net/14/main.htm

あと、オーナードロー(OnPaintを乗っ取って自分で描画しちゃう)については、
たしか「どぼん」にコンボボックスをイメージコンボに改造するサンプルがあったと思う

680 名前:670 mailto:sage [2006/10/04(水) 20:43:18 ]
>>678
俺もそうだけど、たとえば中小企業でチマチマコード書いてる身分だとそうもいかんでしょ。

681 名前:656 mailto:sage [2006/10/04(水) 21:07:52 ]
>>678
いま2.0を入れずに頑張って1.1で手間ヒマかけてやるつもりはないです。
大変そうならとっととあきらめて余裕のできたときに2.0に移行していきます。

>>680
ウチの会社は作ったシステムを運用する人はイパーイいるけど、
開発する人間はオレともう一人だけなんだよね。
でも、今作ってるシステムは全くオレ一人でやってる。
だから完成間近のシステムを今の段階で2.0とかに対応していくことは
とても厳しい。
ユーザにはもうすぐリリースできそうってアナウンスしてあるしw

>>679
ありがとう。
継承とかは気になっていたんだけど、まだ必要になってなかったので
勉強できてません。
教えてもらったサイトを参考に勉強してみます。

682 名前:デフォルトの名無しさん mailto:sage [2006/10/04(水) 22:25:05 ]
>>671
Process クラスと ProcessModule クラス使えば用は足りるだろう。

683 名前:デフォルトの名無しさん mailto:sage [2006/10/05(木) 00:59:42 ]
Function関数を使って、
グローバル変数のようにモジュール内のどの関数内からでも呼び出せて、

同様に(変数をValueとすると)


Value = 3

Value += 4

Dim rr As Integer
rr = Value + 5


といった感じで使いたいのですが……
色々と試してみたのですが、さっぱり上手くいきません。

初歩的な質問なら申し訳ございませんが、よろしくお願いします。
質問が下手ならすみません。

684 名前:デフォルトの名無しさん mailto:sage [2006/10/05(木) 01:07:23 ]
もうちょっと具体的に書いてくれる?

685 名前:デフォルトの名無しさん mailto:sage [2006/10/05(木) 01:17:25 ]
>>684
Function Total(ByVal tt As Decimal) As Decimal
Static rr As Decimal = 50
rr -= tt
Return rr
End Function

上のようなプログラムを使おうとすると、
  Total(x)
と表記するだけで返り値を増やす事は出来るんですが
その値の初期化が出来なくて困っています。
どうにかして別の関数内からも望む時に値を初期化ないし変数rrに直接代入できないでしょうか?

686 名前:デフォルトの名無しさん mailto:sage [2006/10/05(木) 01:18:58 ]
>>685
すみません、上記のプログラムでは返り値を増やす事ではなく減らす事は出来る……です。
説明が下手ですみません。



687 名前:デフォルトの名無しさん mailto:sage [2006/10/05(木) 01:28:32 ]
値を設定するメソッドも用意しとけば良いだけじゃん

つかまあ見事な非 OOP だな

688 名前:デフォルトの名無しさん mailto:sage [2006/10/05(木) 01:34:06 ]
Staticについてちょっと勉強不足かも……ちょっと調べて試してみます
こんな夜にわざわざありがとうございました

689 名前:デフォルトの名無しさん mailto:sage [2006/10/05(木) 01:44:09 ]
>>687
普通に解決しました……すみません、プログラムの考えってすごく苦手で……
すごく助かりました、本当にありがとうございます。

690 名前:デフォルトの名無しさん [2006/10/05(木) 23:17:58 ]
VBほぼ初心者で、VB6.0でほぼ完成のソースもらったんですけど、
2005しかなくて、勝手に変換されて泣きそうです。

で、質問です。
1.2005のままどうにかならないのか?
 このまま1個1個エラー潰していくしかないのか?

2.フリーのVB6.0が動く開発環境ってありますかね?
 2003とか。


明らかにウザイ質問と自分でもわかっているので、罵倒する感じでお願いします。

691 名前:デフォルトの名無しさん mailto:sage [2006/10/05(木) 23:30:41 ]
>>690
1、自力でごりごりコンバートしたほうが、後々役に立つと思われる。

2、6.0のフリー環境はさすがに無いかと。
  5.0のControl Creation Editionで解釈できるコードなら、そっちで
  動かせるかもしれない。2003と互換性のあるSharpDevelopにいく
  という手もあるけれど、それなら2005にしたほうが大吉。

692 名前:デフォルトの名無しさん mailto:sage [2006/10/05(木) 23:38:58 ]
>>691
即レスサンクスです。
結局自分でガンガルのが最短路ってことですね。
どーもです。
頑張ります。

693 名前:デフォルトの名無しさん mailto:sage [2006/10/05(木) 23:43:41 ]
>>690何度も何度も何度も既出



694 名前:デフォルトの名無しさん mailto:sage [2006/10/06(金) 00:16:02 ]
既出厨乙

695 名前:デフォルトの名無しさん mailto:sage [2006/10/06(金) 01:27:43 ]
最近始めたばかりの初心者で、環境は2003を使っています。
>>650のような感じで、例えば

Dim x As Integer

Private Sub ABC1()
x = 1
End Sub

Private Sub ABC2()
x = 2
End Sub

Private Sub ABC3()
x = 3
End Sub

上のようなプログラムの
Private Sub ABC1()〜ABC3()
をもっと簡潔に表記する事はできませんか?

696 名前:デフォルトの名無しさん mailto:sage [2006/10/06(金) 01:37:40 ]
private void ABC( int arg )
{
 x = arg;
}




697 名前:デフォルトの名無しさん mailto:sage [2006/10/06(金) 01:52:47 ]
>>696
ありがとうございます、参考書にvoidが無かったので検索していますが・・・見つからず苦戦しています・・・

ちなみにその方法で

Private Sub ABCBox1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ABCBox1.Click

のようなボタンを押した時などのPrivate Sub 〜〜
もまとめる事はできますか?
質問ばかりですみません。

698 名前:デフォルトの名無しさん mailto:sage [2006/10/06(金) 02:08:18 ]
>>697

>>696は違う言語。

そのイベントを起こすコントロールが何か分からんが
大体senderがそのコントロールそのものだな。

Handles ABCBox1.Click, Button1.Click, Button2.Click みたいにして
senderとそのボタンなりなんなりと比較して分岐。


699 名前:デフォルトの名無しさん mailto:sage [2006/10/06(金) 02:10:54 ]
Handles の記述上限っていくつだろ

700 名前:デフォルトの名無しさん mailto:sage [2006/10/06(金) 02:12:14 ]
>>696
コピペするとエラーが出るのですが・・・
C#ではないですよね・・・せっかく教えていただいたのにすみません

どこか分かり易いサイトなどありましたら教えていただけると助かります

701 名前:デフォルトの名無しさん mailto:sage [2006/10/06(金) 02:15:35 ]
>>698
HandlesとSenderですか、調べて何とか理解できるよう頑張ります
それでも分からなければ、すみませんがまた手を煩わせる事になるかもしれないですが
そうならないように頑張ります

丁寧にありがとうございます

702 名前:デフォルトの名無しさん mailto:sage [2006/10/06(金) 02:18:38 ]
Buttonと書こうと思っていたのにBoxと書いてしまってますね・・・
コントロールが分からなくてすみませんでした
改めてありがとうございました

703 名前:デフォルトの名無しさん mailto:sage [2006/10/07(土) 02:35:26 ]
MenuItemやNotifyIconにInvokeRequiredって無いんでしょうか・・・
別スレッドからNotifyIconのTextを変えたりしたいのに出来ない・・・orz

704 名前:デフォルトの名無しさん mailto:sage [2006/10/07(土) 02:50:07 ]
Controlじゃないからね。
本スレッドのウインドウにメッセージでも送ってやってもらうが吉

705 名前:デフォルトの名無しさん mailto:sage [2006/10/07(土) 02:59:07 ]
どういう風にすれば良いでしょうか・・・
Textを変更しようとしているスレッドはループを回しているのでRunWorkerCompletedじゃだめだし・・・分からないorz

706 名前:デフォルトの名無しさん mailto:sage [2006/10/07(土) 03:03:43 ]
VB2005です。
MenuStripに項目をいっぱい追加して、そのウィンドウの幅を小さくすると、
はみ出たぶんのメニュー項目が表示されない、クリックできない状況になっちゃうんですが、
これを改善するにはどうしたらいいですか。
VB6の用に折り返させたり、メニューの一番左に▼←こんなのが表示されて、クリックすると
続きが表示されるようにしたりしたいんです。



707 名前:デフォルトの名無しさん mailto:sage [2006/10/07(土) 05:06:03 ]
>>706
menuStrip.GripStyle

初期値はHidden


708 名前:デフォルトの名無しさん mailto:sage [2006/10/07(土) 05:27:37 ]
>>707
HiddenからVisibleに変えてみましたが、メニューの一番右に点が3つ表示されるだけで、
はみ出たぶんのメニュー項目は依然選択できないままです。

709 名前:デフォルトの名無しさん mailto:sage [2006/10/07(土) 09:34:58 ]
>>705
BackgroundWorker 使ってんだったら ProgressChanged で良いじゃん

710 名前:デフォルトの名無しさん mailto:sage [2006/10/07(土) 10:48:21 ]
>>709
こんなイベントあったんですか・・・知りませんでした。ありがとうございます。
.netは奥が深いな・・・

711 名前:デフォルトの名無しさん mailto:sage [2006/10/07(土) 11:36:07 ]
>>708
CanOverflow
つーかドキュメントくらい読めよ禿

712 名前:デフォルトの名無しさん mailto:sage [2006/10/07(土) 15:12:27 ]
>>711
CanOverflowをTrueにしても、はみ出たぶんのメニュー項目は依然選択できないままです。

713 名前:デフォルトの名無しさん mailto:sage [2006/10/07(土) 15:46:19 ]
>>712
LayoutStyle をFlowに

714 名前:デフォルトの名無しさん mailto:sage [2006/10/07(土) 17:15:34 ]
>>713
おお、ついにできました。
ありがとう。
LayoutStyleだけで折り返し表示できました。これではみ出た部分のメニューも選択できます。
>>707>>711は質問の意図を勘違いされちゃったのかな。

715 名前:デフォルトの名無しさん mailto:sage [2006/10/07(土) 18:54:55 ]
何様?

716 名前:デフォルトの名無しさん mailto:sage [2006/10/07(土) 19:00:14 ]
俺俺



717 名前:デフォルトの名無しさん mailto:sage [2006/10/07(土) 22:42:50 ]
フォームのキーアップイベントでファンクションキーの処理をしているのだが、
テキストボックスでIME変換中のファンクションキーもイベントで拾ってしまう。
テキストの編集中のファンクションキー処理か見分ける方法ってあります?

718 名前:デフォルトの名無しさん mailto:sage [2006/10/07(土) 23:39:37 ]
正攻法じゃなく姑息な方法だけど、

(1) KeyUpイベントで特殊キー以外だったらIME変換中のフラグを立てる
(2) TextChangedイベントでIME変換中のフラグを下げる

あくまでKeyUpイベント中でIMEが変換中かどうか知りたいということなら
これでいけるんじゃないかな。
特殊キー以外が押された(放された)のであれば、IME変換中でなければ
Textはかならずかわっているはずだから。

もちろんフラグを立てる処理はKeyUpの一番最後にもっていく必要がある。

っていうか、ずいぶん変則的なことがしたいんだね。

719 名前:デフォルトの名無しさん mailto:sage [2006/10/07(土) 23:39:48 ]
該当コントロールに、IME 入力開始時に WM_IME_STARTCOMPOSITION、終了時に WM_IME_ENDCOMPOSITION が来る。
適当なクラスに IFilterMessage を実装させてこの二つのメッセージを拾えば良いんじゃない?

720 名前:デフォルトの名無しさん [2006/10/07(土) 23:48:27 ]
アップデートしようとすると「Visual Studio .NET 2003 セットアップで
必要なファイルをダウンロード中にエラーが発生しました。
Webブラウザ構成の設定および接続ハードウェアを確認してから、やり直してください。」
出てきて、アップデートできないのですが、どうすれば解決できますか?

721 名前:デフォルトの名無しさん [2006/10/08(日) 00:08:36 ]
今インスト中なのですが最後の4段階目のService Releaseで
上手く進めません。
必要なファイルをダウンロード中にエラーが発生しました。
Webブラウザ構成の設定および接続ハードウェアを確認してから、やり直してください
このポップアップメッセージが出てきて進めないです。

誰か親切でエロイ方教えてくださいーーー。

722 名前:デフォルトの名無しさん mailto:sage [2006/10/08(日) 00:09:51 ]
ファイアーウォール

723 名前:デフォルトの名無しさん [2006/10/08(日) 00:15:20 ]
>>722
ファイアーウオールを実装しても解除しても両方できません。


724 名前:デフォルトの名無しさん mailto:sage [2006/10/08(日) 00:21:01 ]
>>721
ServiceReleaseをキャンセルしても、とりあえずインストールは完了
するから安心しろ。

725 名前:デフォルトの名無しさん [2006/10/08(日) 00:22:50 ]
>>724
いいえ。そこを完了しないとPCに.NETのソフトが入ってないです。
どこを探してもインストールされていません。

726 名前:デフォルトの名無しさん [2006/10/08(日) 00:25:20 ]
>>724
ありましたぁ!!
ServiceReleaseをキャンセルしても、問題はないですか?大丈夫でしょうか?



727 名前:デフォルトの名無しさん mailto:sage [2006/10/08(日) 00:53:33 ]
>>717
>>679

728 名前:デフォルトの名無しさん mailto:sage [2006/10/08(日) 00:55:16 ]
>>726
ちゃんとキャンセルされてるから安心しろ。



729 名前:デフォルトの名無しさん mailto:sage [2006/10/08(日) 03:48:27 ]
datagridview のあるセルに、コードベースでハイパーリンクを設定するのってどうやるんでしょうか?

730 名前:デフォルトの名無しさん mailto:sage [2006/10/08(日) 04:05:07 ]
取りあえずデザイナで配置してみて、それで作られたコードを参考にしろ

731 名前:デフォルトの名無しさん mailto:sage [2006/10/08(日) 10:40:56 ]
>>726
職場のオフラインパソコンで何度もやってる俺が言うんだから間違いない。

732 名前:デフォルトの名無しさん mailto:sage [2006/10/08(日) 11:31:36 ]
ComboBoxでエディットボックス部分のメッセージってどうやって拾ってます?

733 名前:デフォルトの名無しさん mailto:sage [2006/10/08(日) 11:41:06 ]
ComboBox.Text プロパティを参照ではあかんの?

734 名前:デフォルトの名無しさん mailto:sage [2006/10/08(日) 12:17:26 ]
  Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
    For Each c As Control In ComboBox1.Controls
      If TypeOf c Is TextBox Then
        MsgBox("ComboBox内にTextBoxを発見しました。")
        Exit Sub
      End If
    Next

    MsgBox("オメエに喰わせるTextBoxはネエ !")
  End Sub

735 名前:デフォルトの名無しさん mailto:sage [2006/10/08(日) 12:23:36 ]

なにこれ?

736 名前:デフォルトの名無しさん mailto:sage [2006/10/08(日) 15:36:33 ]
>>733-734
テキストボックスコントロールじゃなくて、
エディットエリアに流れているウィンドウズメッセージです。



737 名前:デフォルトの名無しさん mailto:sage [2006/10/08(日) 15:51:30 ]
だから内部的にエディットボックスなんて使ってないんだってば

738 名前:デフォルトの名無しさん mailto:sage [2006/10/08(日) 17:17:48 ]
>>737
エディットボックスじゃないよ。
エディットエリアの部分だって。
spyで確認すると、ハンドルもメッセージもコンボボックスとは別のものが流れてるけど、
そのエディットエリアに流れているメッセージを取得したいのです。

739 名前:デフォルトの名無しさん mailto:sage [2006/10/08(日) 17:40:28 ]
まあ実際 Edit コントロール使ってんだけどな。
CB_GETCOMBOBOXINFO を送るか、Win32API の GetComboBoxInfo を使うかすればエディットのハンドルが手に入る。
あとは NativeWindow の派生クラス作ってサブクラス化すればいい。

740 名前:デフォルトの名無しさん mailto:sage [2006/10/08(日) 18:02:25 ]
こんな感じだな
www.atmarkit.co.jp/bbs/phpBB/viewtopic.php?topic=28307&forum=7&4

741 名前:デフォルトの名無しさん mailto:sage [2006/10/08(日) 19:20:53 ]
>>739-740
さんくすです

742 名前:デフォルトの名無しさん mailto:sage [2006/10/11(水) 12:37:37 ]
直接VBの話では無いのですが開発環境がVB.NET2005なので、質問させてください。

今度、新しく作成するアプリのDBをSQL Server2000と2005のどっちにするかを悩んでいます。
VB.NET2005(Pro)から見てSQL Serverの2000と2005が変わりがないのであれば、
会社で所有している2000をそのまま使おうと思っているのですが、
SQL Server2005で魅力的な何かがあれば購入協議に出して買ってもらおうかと思っています。

見積もりで容量が10GBを超えるのでExpressは考えていません。
SQL Server2005とVB.NET2005の組み合わせで何か幸せになれる事ってあるのでしょうか?


743 名前:デフォルトの名無しさん [2006/10/11(水) 12:48:12 ]
>>742
自分で考えれば?それだけの条件じゃなんにもわからんし。


744 名前:デフォルトの名無しさん [2006/10/11(水) 14:58:28 ]
VB.NET 2005 の Express Editionを使っているのですが
配布パッケージを作成はどうすれば良いのでしょうか?

6時代のディストリビューションウィザードみたいなのが見当らないのですが

745 名前:デフォルトの名無しさん mailto:sage [2006/10/11(水) 16:15:55 ]
>>744
ClickOnceが嫌ならStandard以上が必要

746 名前:デフォルトの名無しさん mailto:sage [2006/10/11(水) 16:35:22 ]
744じゃないけど、Standard以上だとどんなディストリビューションウィザード的なものがある?



747 名前:デフォルトの名無しさん mailto:sage [2006/10/11(水) 16:51:55 ]
どんなと言われても困るがセットアッププロジェクトというものがある。
詳しく知りたければここでも見てくれ。
msdn2.microsoft.com/ja-jp/library/2kt85ked.aspx

748 名前:742 mailto:sage [2006/10/11(水) 19:27:14 ]
>>743
確かに曖昧だったな。
とりあえず開いているサーバにSQL Server2005developerをつっこんで弄ってみるは。

749 名前:デフォルトの名無しさん [2006/10/11(水) 21:16:17 ]
ずっとVBをやってたんだけど。出向先がいきなりVBC#になるとのこと。
明日からいきなりいくんだけど、随分違うものなの??

750 名前:デフォルトの名無しさん mailto:sage [2006/10/11(水) 21:44:09 ]
VBC#なんてのが出来たのか

751 名前:デフォルトの名無しさん mailto:sage [2006/10/11(水) 21:45:40 ]
>>749
たいして変わらん

752 名前:デフォルトの名無しさん [2006/10/11(水) 23:20:48 ]
>>750
VBC#は結構前からあるよ。J#なんてのもあるからねー

753 名前:デフォルトの名無しさん mailto:sage [2006/10/11(水) 23:33:50 ]
VisualBasicC#?

754 名前:デフォルトの名無しさん mailto:sage [2006/10/12(木) 00:16:22 ]
VisualBasicCompiler#と予想

755 名前:デフォルトの名無しさん mailto:sage [2006/10/12(木) 00:45:13 ]
VisualBasiC#

756 名前:デフォルトの名無しさん mailto:sage [2006/10/12(木) 01:24:40 ]
ぶびちゅ



757 名前:デフォルトの名無しさん mailto:sage [2006/10/12(木) 09:32:50 ]
ぶいびー丼?

758 名前:デフォルトの名無しさん mailto:sage [2006/10/12(木) 16:34:49 ]
VB.net2003のツリービューでノードを一意に
認識したくtagにguidをいれているのですが
このtagを指定して一発でそのノードを取得したいのですが
可能でしょうか?

こんな感じであればよいかなと思います。

Dim hoge As TreeNode
hoge = TreeView1.selectSingleNode("123304-32-434-3-3-35")

もし可能であればやり方を教えてください。
よろしくお願いいたします。


759 名前:デフォルトの名無しさん mailto:sage [2006/10/12(木) 18:37:07 ]
>>758
そんなことするぐらいなら最初からHashtableに突っ込んで管理すりゃいいじゃん。

っていうか、うまくいえないが何か根本的に「考え違い」をしていると思うぞw

何ていえばいいかな、guidで識別したいってことはguidをインデックスにノードを
取得したいってことだが、そのguidは何をインデックスに取得するつもりかね?w

760 名前:デフォルトの名無しさん mailto:sage [2006/10/12(木) 19:48:52 ]
>>759
なるほどー
ツリーを構築するときにハッシュテーブルにguidとノードをインサートしておけばいいわけですね。
こりゃすごい

761 名前:デフォルトの名無しさん mailto:sage [2006/10/13(金) 08:26:13 ]
2つ質問したいことがあります。

1つめは、
vb.net と vb2005の違い なんですが、
イメージとしては、vb2005は、.net を vb6に近づけた感じというのがあるのですが
どうなのでしょうか?

2つめは、
VB.net をこれから、学び始めようと思うのですが、
今ある知識は、VB6 を少しかじったくらいなので
初心者から 学べる おすすめの本があればお教えてください。

762 名前:デフォルトの名無しさん [2006/10/13(金) 09:20:13 ]
vb.net .netフレームワーク上で動くVB
vb2005 .net2,0を開発できるVisualStudio2005のvb部分

初心者は@ITでも読破しとけば?

763 名前:デフォルトの名無しさん mailto:sage [2006/10/13(金) 10:50:44 ]
>>イメージとしては、vb2005は、.net を vb6に近づけた感じというのがあるのですが

あながち間違いじゃない。
2003で思うように移行が進まなかったためか、2005はVB6.0に擦り寄
った内容になっている。

764 名前:デフォルトの名無しさん mailto:sage [2006/10/13(金) 11:19:40 ]
>>761
[暗黙のインスタンス] でググるよろし。

765 名前:デフォルトの名無しさん mailto:sage [2006/10/13(金) 11:22:12 ]
>>762
まず始めに @ITの方を読破して
それから、必要に応じて、本を探そうと思います。

>>763
.net 〜2005 までの変更があまりわかってなかったのですが、
明確になりました。


質問に答えていただき、ありがとうございますした。

766 名前:761 mailto:sage [2006/10/13(金) 11:30:05 ]
>>765
ちょっとタイプミスw

>>764
分かりやすい説明でたすかります。


質問に答えていただき、ありがとうございました。



767 名前:デフォルトの名無しさん [2006/10/13(金) 11:43:45 ]
暗黙のインスタンスが使えるから何?って思うんだけどね。
VBは2の頃からやってるけど、普通にすんなり.netやってるし。
逆にあんな糞仕様が何故復活するのか理解ができん。

768 名前:デフォルトの名無しさん mailto:sage [2006/10/13(金) 11:59:49 ]
いまだに6.0ベースの開発案件が続いてることに、MSが危惧を抱いてる
んでないの? 「サポート切れたよ! 動作保証しないよ!」って言い
続けてるわりには、一向に転換が進まないしさ。

うちなんか「6.0でSP3まで」っていう環境の縛りがあるくらいだし。

769 名前:デフォルトの名無しさん mailto:sage [2006/10/13(金) 13:32:51 ]
.NETでWindowsMessage一覧が定数化してあるクラスが欲しいのですが、
今現在落とせる場所ってありますか?
昔は【渋木宏明(ひどり) blog 】や【Sugi@ぱぱんぶぃびぃ Blog】で落とせたみたいなんですが、
今は落とせないみたいので、現在ある場所知っている方教えてください。

770 名前:デフォルトの名無しさん mailto:sage [2006/10/13(金) 16:05:11 ]
そういえば、VB6時代の末期は、
超優秀な人から超無能な人までVB6を使っていたが、
その全てが.netを理解できるはずが無かった。
そうなると、VB6を使い続けるしかないんだよな。
会社としても、皆が.netを理解できないのにVB6を切るわけにも行かないし。

また、理解できたとしても、顧客には.netを本筋にするから、
VB6アプリはサポートしないなんて言えないし。

771 名前:デフォルトの名無しさん mailto:sage [2006/10/13(金) 18:12:27 ]
>>769
SDKからWinUser.h抜いて
エディタで正規表現つかって書き出せば簡単

772 名前:デフォルトの名無しさん mailto:sage [2006/10/14(土) 11:02:50 ]
公開よろ

773 名前:デフォルトの名無しさん mailto:sage [2006/10/14(土) 11:34:47 ]
ウンコに行きたいんだが、我慢した方が良いか?

774 名前:773 mailto:sage [2006/10/14(土) 11:35:50 ]
誤爆ゴメン

775 名前:デフォルトの名無しさん mailto:sage [2006/10/14(土) 12:04:09 ]
>>769
ありがちな発想だけど、そんなクラス使いにくくてしょうがないでしょ。
必要なメッセージだけその都度定数なりEnumなりで定義してればこそ
インテリセンスの有難味も効いて来るのに。

776 名前:デフォルトの名無しさん [2006/10/14(土) 18:39:40 ]
超初心者なんですが
VisualBasic2005 Express editionでWindowsアプリを作ったのですが
EXEにするにはどうしたらよいのでしょうか?

昔少し開いたVBにはコンパイルとかあったような気がしたんですが¥けど・・



777 名前:デフォルトの名無しさん mailto:sage [2006/10/14(土) 18:47:30 ]
ビルド

778 名前:デフォルトの名無しさん mailto:sage [2006/10/14(土) 18:48:00 ]
ビルドすれば作られてるだろ

779 名前:776 [2006/10/14(土) 18:50:36 ]
あ、ありました。
>>777-778
ありがとうございました。

780 名前:デフォルトの名無しさん [2006/10/15(日) 01:02:15 ]
ショッピングWEBなどのhtml中のセッションIDの取得が出来ずに悩んでいます。

<!-- jsessionid=925366B2850A358E66BCF2C091402219.tom18 -->
というセッションIDがあり、アクセスの毎に変わります。

このセッションIDを取り出す方法でつまづいています。
オーバーライド関数GetSessionを実装して、適当な変数(Sidなど)に代入出来るようにしたいのですが、
どうすればよろしいのでしょうか。

いろいろぐぐっても解かりませんでした・・・

よろしくお願いします。

781 名前:デフォルトの名無しさん mailto:sage [2006/10/15(日) 01:06:18 ]
どっかの掲示板で見たなこの質問

782 名前:デフォルトの名無しさん [2006/10/15(日) 12:40:38 ]
VB.NETの変数名のつけ方のガイドラインってあるんでしょうかね?
たとえば、クラス内の変数名の先頭にはよくm_を付けている事が多いですが。

783 名前:デフォルトの名無しさん mailto:sage [2006/10/15(日) 13:22:15 ]
>>782
MSDNにもあるし、本も出てるし。

784 名前:デフォルトの名無しさん [2006/10/15(日) 13:49:06 ]
N88Basicしか知りません。まったくのVB初心者です。
VB.NETでそこそこのソフトを作れるようになるにはどのくらい勉強すればいいのでしょうか?

785 名前:デフォルトの名無しさん mailto:sage [2006/10/15(日) 13:58:45 ]
俚諺に曰く、石の上にも三年

786 名前:783 [2006/10/15(日) 14:07:50 ]
>>783
MSDNには”Visual Basic の名前付け規則”っていうのがありましたね。
書籍の方も見てみたいのですが、本のタイトル教えてもらえませんか?



787 名前:デフォルトの名無しさん mailto:sage [2006/10/15(日) 14:11:19 ]
そこそこのソフト
わかるかぼけぇ


788 名前:デフォルトの名無しさん mailto:sage [2006/10/15(日) 14:17:18 ]
>>786
手元に無いので正確なのはわからんが、
「VB.NETルールブック」だったかな?

789 名前:782 mailto:sage [2006/10/15(日) 15:03:49 ]
>>788
ありがとうございます。
そのタイトルの本がありました。

790 名前:デフォルトの名無しさん mailto:sage [2006/10/15(日) 15:13:35 ]
でも正直、あの本に限らずあの手の本に書いてあることって大概単なる
「村の掟」以上の物ではないんだよな。

ルールの背後に納得できる合理性が感じられない単なる俺様ルールを
金払ってまで受け入れる気がしない。

791 名前:デフォルトの名無しさん mailto:sage [2006/10/15(日) 17:06:57 ]
>>790
ま、参考にってとこでしょ。

792 名前:デフォルトの名無しさん mailto:sage [2006/10/15(日) 18:24:29 ]
独自につくる方がよっぽど俺様ルールなわけで

793 名前:デフォルトの名無しさん [2006/10/15(日) 20:54:35 ]
質問させてください。
VB6.0のpictureに計算結果を表示させたり、
C言語でコンソールに結果表示をさせるのは
自動的に順番に隣へ表示するので
結果の表示が重なる事はないですが、VB.NETのpictureに結果を出そうと思えば
座標を指定しなくてはならないので、座標を一つしか指定しなければ
当然同じところへ重なりますよね?

現在、再帰のアルゴリズムのところで順列表示結果をさせたいと考えているのですが
picutreに表示させる方法が思いつきません。繰り返し処理させようとしても
その i がどうしても1に戻ってしまうのです。
だから順列の結果がすべて同じ位置に重なってしまいます。
何かうまい方法はないでしょうか?

794 名前:デフォルトの名無しさん mailto:sage [2006/10/15(日) 20:59:04 ]
お願いですから日本語を喋ってください

795 名前:デフォルトの名無しさん [2006/10/15(日) 21:04:51 ]
すいません、訂正です。
分かりにくいと思いますので。
>>793の続き
現在、再帰のアルゴリズムを使って順列表示結果をさせたいと考えているのですが
picutreに表示させる方法が思いつきません。

何かうまい方法はないでしょうか?

1 2 3 4
の順列の結果は24個あるわけですがこれが重なってしまうのです。
1234
1243
・・・・って表示してほしいのですけど。

796 名前:デフォルトの名無しさん mailto:sage [2006/10/15(日) 21:24:10 ]
picutreって何?



797 名前:デフォルトの名無しさん [2006/10/15(日) 21:25:39 ]
pictureboxのことです。

798 名前:デフォルトの名無しさん mailto:sage [2006/10/15(日) 21:34:41 ]
今どうやってんのか分からんとアドバイスのしようもない。コードを書け。

799 名前:デフォルトの名無しさん mailto:sage [2006/10/15(日) 21:41:54 ]
MDB内のフォーム名を取得するには、どうすれば良いのでしょうか?
親切な方、ヒントだけでも教えてください。

800 名前:デフォルトの名無しさん mailto:sage [2006/10/15(日) 21:47:37 ]
>>799
AccessのApplicationオブジェクトからFormオブジェクト抜き出せば良いやん。

801 名前:デフォルトの名無しさん mailto:sage [2006/10/15(日) 22:03:27 ]
>>800
ありがとうございます。

802 名前:デフォルトの名無しさん [2006/10/15(日) 22:30:31 ]
>>798
以下のようなコードです。全部は書ききれませんので、次レスで。
Const N As Short = 4
Dim p(N) As Integer
Private Sub perm(ByRef i As Integer, ByVal e As PictureBox)
Dim g As Graphics = e.CreateGraphics()
Dim t As Integer
Dim j As Integer
If i < N Then
For j = i To N
t = p(i)
p(i) = p(j)
p(j) = t
perm(i + 1, Picture1)
t = p(i)
p(i) = p(j)
p(j) = t
Next j
Else
For j = 1 To N
Dim centuryFont As Font = New Font("century", 8, FontStyle.Regular)
Dim blackBrush As SolidBrush = New SolidBrush(Color.Black)
g.DrawString(p(j), centuryFont, blackBrush, p(j) * 20, j * Font.Height)
Next j
End If
End Sub

803 名前:デフォルトの名無しさん [2006/10/15(日) 22:31:14 ]
Private Sub Command1_Click(ByVal eventSender As System.Object, ByVal eventArgs As System.EventArgs) Handles Command1.Click
Display(Picture1)
End Sub
Sub Display(ByVal e As PictureBox)
Dim g As Graphics = e.CreateGraphics()
Dim i As Integer
g.Clear(Color.White)
For i = 1 To N
p(i) = i
Next i
perm(1, Picture1)
End Sub
End Class

804 名前:デフォルトの名無しさん [2006/10/15(日) 22:32:58 ]
g.DrawString(p(j), centuryFont, blackBrush, p(j) * 20, j * Font.Height)
ここの座標設定は適当です。
とにかくここをどうやってするかが難しいのです。

805 名前:デフォルトの名無しさん mailto:sage [2006/10/15(日) 22:58:51 ]
まあ、色々突っ込み所満載なわけだが、とりあえずy座標に関して言えば
クラスメンバにy座標を持って、最初の再帰呼び出しの前でクリアして
1行描画したら1行分足せばいいんじゃないか。
あとx座標も変だぞ。それじゃ全部1234になっちまう。

806 名前:デフォルトの名無しさん [2006/10/15(日) 23:02:57 ]
>>805
そうです。だから座標は適当にしているだけなんです。
今までのVBのように
p(i)を一つ一つ並べればきちんといくはずなんですが・・。

クリアというとつまりはどういうことなんでしょうか?



807 名前:デフォルトの名無しさん mailto:sage [2006/10/15(日) 23:19:05 ]
Dim p(N) As Integer の下に Dim y As Integer を追加
描画を g.DrawString(p(j), centuryFont, blackBrush, j * 8, y) に修正
その下の Next j の下に y += 12 を追加
Displayメソッドの perm(1, Picture1) の前に y = 0 を追加

808 名前:デフォルトの名無しさん [2006/10/15(日) 23:22:44 ]
>>805
y座標はうまくいきました。
ありがとうございます。

809 名前:デフォルトの名無しさん [2006/10/15(日) 23:27:02 ]
>>807
丁寧にありがとうございます。
perm(i + 1, Picture1)の前に
k=k+1といれて
g.DrawString(p(j), centuryFont, blackBrush, j * 20, (k - 1) * 10)
とすればできました。x座標もできました。

たぶんあなたが教えてくれたものが正確だと思うので
そのように書き直させてもらいます。

810 名前:デフォルトの名無しさん mailto:sage [2006/10/15(日) 23:27:22 ]
っていうか、明らかに適性ないよ悪いけど。
もうコードのここがダメとかあそこを直せばいいという問題じゃなく、全てがダメ。

こんなの初学の学生が宿題で書いたコードとしても酷すぎる。

811 名前:デフォルトの名無しさん [2006/10/15(日) 23:31:33 ]
>>810
そうですか。
まあ、また気が向いたら教えてください。

812 名前:デフォルトの名無しさん [2006/10/15(日) 23:46:46 ]
クラスの動作確認の方法ってどうやってやるのですか?

ソリューションエクスプローラにクラス追加で下記のクラスを追加してF5を押しても確認が取れません。

よろしくお願いします。

Imports System
Imports System.Net
Imports System.Text

Public Class WebClientGet3
Shared Sub Main()

Dim wc As WebClient = New WebClient()

Dim data As byte() = wc.DownloadData("www.google.co.jp/")

Dim enc As Encoding = Encoding.GetEncoding("Shift_JIS")
Dim html As String = enc.GetString(data)

Console.WriteLine(html)
End Sub
End Class


813 名前:デフォルトの名無しさん mailto:sage [2006/10/15(日) 23:56:13 ]
クラスの動作確認ってかなり意味不明だな。
取りあえず MSDN かヘルプドキュメントで /main コンパイラオプション の項目を調べれ

814 名前:デフォルトの名無しさん mailto:sage [2006/10/16(月) 02:43:01 ]
>>812
お前の作るクラスにはmainというメソッドがあるのか。
いやだな・・・
しかもクラス単位にmainというメソッドしかない作りなんだろ?
そんな作りはやめたほうがいい。

815 名前:デフォルトの名無しさん mailto:sage [2006/10/16(月) 10:32:01 ]
プログラムの仕組みでClassを使うやつは、
PGのセンスを疑うな。
クラスとオブジェクトの意味を理解してもらいたい。

816 名前:デフォルトの名無しさん [2006/10/16(月) 11:31:15 ]
VB2005でnkf32.DLLを使いたいのですがどのように記述すれば良いのでしょうか?

例えばGetNkfVersion関数を使うとして
Public Declare Function GetNkfVersion Lib "nkf32.dll" (ByVal verStr As String)
等と書いてみたのですが名前空間のステートメントが無効ですとエラーが表示されてしまいます。





817 名前:デフォルトの名無しさん mailto:sage [2006/10/16(月) 12:05:41 ]
クラスまたはモジュールのメンバになる位置に書く

818 名前:デフォルトの名無しさん mailto:sage [2006/10/16(月) 13:54:36 ]
今日、あるソースのコメント部分に、SpecialThanx 〜〜〜〜〜〜 と書いてるのを見つけた。
ここのスレタイがかいてあったので見に来てみた。

なるほどね。

819 名前:デフォルトの名無しさん [2006/10/16(月) 14:37:11 ]
>>817
ありがとうございました。

820 名前:デフォルトの名無しさん mailto:sage [2006/10/16(月) 15:59:45 ]
>>802
なんで引数のPictureBoxがeなん?
CreateGraphicsで作ったGraphicsで描いたら、画面重なったら消えるやん?
なんで描画コードを再帰で作るん? 計算だけ再帰にして描画は一発にすべきじゃないの?
そもそも再帰の必要あるの?
再帰とループの中でなんで何度もSolidBrush作るん?
GraphicsやSolidBushをDisposeしないの?


821 名前:デフォルトの名無しさん mailto:sage [2006/10/16(月) 18:18:07 ]
>>820
>>793にPG適性が無いから

822 名前:デフォルトの名無しさん mailto:sage [2006/10/16(月) 20:23:21 ]
ここで適性無しとか言われてキレたりするやついるけど、正直ほんとに
適性としか言えない何かがあるんだよ。適性無いのに業界入りするのは
自殺行為に等しいから、向いてないと感じたら職種替えたほうがいい。

うちに今年入った素人高卒が、いまバリバリにコーディングしてるその
そばで、情報系大卒3年選手が単なるテスターになってるのを目の当た
りしてほんとそう思うよ。

823 名前:デフォルトの名無しさん [2006/10/16(月) 21:39:42 ]
>>812
コンパイルしてエラーで出なければオkでしょw

824 名前:デフォルトの名無しさん mailto:sage [2006/10/16(月) 21:51:34 ]
>>823
品質無視ならそれでもいいんじゃね?

その発想は、大概UIも一貫性がなかったり、仕様も捻くれてて直感的に使えないんだよな。

825 名前:デフォルトの名無しさん mailto:sage [2006/10/16(月) 22:10:18 ]
質問のしかたはともかく、質問者のレベルとか、適正や職種なんてこのスレとは無関係。
質問者にも理解できるような適切な解答をするべきだろ?
それができないで何を偉そうに威張ってるんだい?その辺のガキと変わらないぞ。

826 名前:デフォルトの名無しさん mailto:sage [2006/10/16(月) 22:11:52 ]
するべきって何だよそれ。。。



827 名前:デフォルトの名無しさん mailto:sage [2006/10/16(月) 22:21:17 ]
解答のしかたはともかく、解答者のレベルとか、適正や職種なんてこのス
レとは無関係。解答者にも理解できるような適切な質問をするべきだろ?

828 名前:デフォルトの名無しさん mailto:sage [2006/10/16(月) 22:32:01 ]
>>827
それだと、解答者も質問者とたいして変わらないのだから・・・と言ってるように聞こえる。


829 名前:デフォルトの名無しさん mailto:sage [2006/10/16(月) 22:35:21 ]
>>828
ま、知ってるか知らないかだけで、質問するやつも解答するやつも同レベルってことだ。



830 名前:デフォルトの名無しさん mailto:sage [2006/10/16(月) 23:35:33 ]
適切な回答も理解できないあほもいるんです><

831 名前:デフォルトの名無しさん mailto:sage [2006/10/17(火) 04:43:58 ]
適切な質問も理解できないあほもいるんです><

832 名前:デフォルトの名無しさん mailto:sage [2006/10/17(火) 05:19:31 ]
適切なスレも理解できないあほもいるんです><

833 名前:デフォルトの名無しさん mailto:sage [2006/10/17(火) 12:15:10 ]
VB.NET2005 側で構造体を確保して、その確保したエリアを
VC.NETで作成したDLL側で操作したいんですが、一般的な手法
ってどんな感じになるんでしょうか?

例えば、VB.NET2005側で、構造体の配列を確保して、それを
DLL側でソートしたり、VB.NET2005側で確保したエリアに
DLL側でファイルからデータを読み込んで値をセットしたりと
いった事がやりたいんですが。

UNIX環境のCでしかプログラムを作ったことが無いので、
VB.NET2005と、VC.NETで作成したDLLの間のデータの受渡し方法や、
VB.NET2005側がどのような形でエリア(メモリ)を確保しているのかや、
VB.NET2005側の変数の型と、確保されたエリアの関係(サイズや、アドレス)や、
VB.NET2005側の変数の型と、確保されたエリアの内部コード(文字列型の場合)、
VB.NET2005側の構造体と、確保されたエリアの関係(サイズや、アドレス)等が
良く判りません。

かなり、抽象的な質問で申し訳ないのですが、これらに関する情報や、書籍など
ありましたら、紹介して頂けないでしょうか。

834 名前:デフォルトの名無しさん mailto:sage [2006/10/17(火) 12:29:28 ]
>>833
P/Invokeという単語をMSDNで調べるかググる。

835 名前:833 mailto:sage [2006/10/17(火) 14:05:50 ]
>>834
THX。
マーシャリングとか、アンマネージとか、なにやら面妖なキーワードが
沢山出て来て、戸惑っています。
Windows(.NET環境)ってなんか凄いですね。
ともあれ、ようやく欲しい情報にたどり着くことができました。
ありがとうございます。


836 名前:デフォルトの名無しさん mailto:sage [2006/10/17(火) 22:09:33 ]
というかまず VC.NET という謎の存在を解決する必要があるな



837 名前:デフォルトの名無しさん mailto:sage [2006/10/17(火) 23:02:43 ]
.NET なんてただの飾りです
エロイ人には

838 名前:デフォルトの名無しさん mailto:sage [2006/10/18(水) 00:33:57 ]
おい、みんな〜

例外キャッチは、Exception型で全部済ませてるよな?


839 名前:デフォルトの名無しさん mailto:sage [2006/10/18(水) 00:49:16 ]
キャッチなんてごく一部しか書かない。


840 名前:デフォルトの名無しさん mailto:sage [2006/10/18(水) 00:59:14 ]
まじで?
とりあえず全部のコードTryCatchで括って、Exceptionで受ける
ってみんな書いてないのか・・・

841 名前:デフォルトの名無しさん mailto:sage [2006/10/18(水) 01:06:54 ]
ごく一部ってのは全プログラムコードで見たらごく一部のコードという意味だよ。
全部のコードってどういう意味?
一番外側的な(あるいはそれに近い)意味ならそういう感じになるのは分かるが。
あとは個別に処理してしまう場合だけな。


842 名前:デフォルトの名無しさん mailto:sage [2006/10/18(水) 01:48:14 ]
俺は基本的に関数は全てtry〜catch〜finally〜。
JavaやPHP5では基本だろ。

843 名前:デフォルトの名無しさん mailto:sage [2006/10/18(水) 02:03:20 ]
あほだね

844 名前:デフォルトの名無しさん mailto:sage [2006/10/18(水) 02:05:24 ]
全ての関数で基本的にcatchも書くって、
そのcatch内でいったい何をしてるんよ?
finallyでいったい何してるんよ?
# まあ finallyの方はまだいいにしても


845 名前:デフォルトの名無しさん mailto:sage [2006/10/18(水) 02:14:46 ]
想定できない例外はこれでキャッチすればいいんでないの?
www.atmarkit.co.jp/fdotnet/dotnettips/320appexception/appexception.html

846 名前:デフォルトの名無しさん mailto:sage [2006/10/18(水) 02:21:40 ]
うんそうだね




847 名前:デフォルトの名無しさん mailto:sage [2006/10/18(水) 02:56:40 ]
>>845
なんだよ、これ。
こんなの思いつかねーよ

848 名前:デフォルトの名無しさん mailto:sage [2006/10/18(水) 03:42:47 ]
思いつくんじゃない、見つけるんだ。


849 名前:デフォルトの名無しさん mailto:sage [2006/10/18(水) 04:52:55 ]
びっくりさせるなよー
ThreadExceptionイベントをハンドルして処理してるのは俺だけかと思ったよ、まじで。
お前らの常識はほんとあてにならないな。

850 名前:デフォルトの名無しさん mailto:sage [2006/10/18(水) 07:57:17 ]
どんな常識かね?

851 名前:デフォルトの名無しさん mailto:sage [2006/10/18(水) 13:36:39 ]
>>844
catchで例外の詳細をログに落としてる。
finallyでオブジェクトの開放。

普通じゃん。

852 名前:デフォルトの名無しさん mailto:sage [2006/10/18(水) 13:52:48 ]
全メソッドで個別にログ出力かよ

853 名前:デフォルトの名無しさん mailto:sage [2006/10/18(水) 13:55:22 ]
でエラー状況はどうやって返してるんだ?
まさか再スローじゃないだろ?


854 名前:デフォルトの名無しさん mailto:sage [2006/10/18(水) 14:25:18 ]
>>852
全メソッドで個別ログを取らないと、詳細なログにならない。
いらなくなったら、ログるレベルを変えるだけ。

>>853
最上位がしっかり処理してるなら、
別に再スローでも良いんじゃない?

855 名前:デフォルトの名無しさん mailto:sage [2006/10/18(水) 15:08:48 ]
全メソッドでログ出力&再スローってありえんだろ。

856 名前:デフォルトの名無しさん mailto:sage [2006/10/18(水) 15:11:28 ]
catchされたもののログだろ?
全然ありえるじゃん。



857 名前:デフォルトの名無しさん mailto:sage [2006/10/18(水) 15:13:17 ]
メソッド呼び出しの深さ分同じ例外のログ出力するんかい!
あと詳細ログ出せないっていうけど、
各メソッドで出すことでどれだけ詳細度があげられるんだ?
全メソッドでそれはありえんだろ。


858 名前:デフォルトの名無しさん mailto:sage [2006/10/18(水) 16:39:00 ]
>>857
どのイベントから呼び出したどのメソッドの中にあるメソッドの…
と、経路と部位の特定が簡単になるのが、ダメなのか?
ユーザーが言うバグにも早く対応ができるし。

つーか、何に対してそこまでの否定を?

859 名前:デフォルトの名無しさん mailto:sage [2006/10/18(水) 16:39:16 ]
すいません、VB.NET(2003)で質問です。
フォーム上にTextBoxが20個配置されていて、
例えばそれらにTB_1, TB_2, …TB_20 というようなコントロール名がついているとします。
これらのTextBoxをForループなどで一律に処理する方法はあるでしょうか。

具体的なイメージとしては
For i = 1 To 20
 ["TB_" & CStr(i) をコントロール名に持つTextBox].Text = data(i)
Next
みたいなことができるといいのですが。
要はコントロール名からオブジェクトを取得できればいいわけなんですけれど。

860 名前:デフォルトの名無しさん mailto:sage [2006/10/18(水) 17:19:22 ]
>>859
Controlsプロパティでググれ

861 名前:デフォルトの名無しさん [2006/10/18(水) 17:25:02 ]
>>858
StackTraceとか。
そもそもその例外を外に出すのか、内部で処理するのか、どちらが正しいってのはその関数の責務の問題になるし。


862 名前:デフォルトの名無しさん mailto:sage [2006/10/18(水) 17:57:38 ]
>>861
StackTraceって>>858みたいな使い方できたっけだぜ?

あと、例外の処理は関数の責務というより、
プロジェクト全体、退いては会社などのポリシーによって統一されなければいけないもんだぜ。
派遣がたまに来て、ルールぶち壊す奴がいるが、
そういうのが一番アスホールになるんだべ?

863 名前:デフォルトの名無しさん mailto:sage [2006/10/18(水) 18:12:51 ]
スタックトレースでほぼ見えるだろ。
全メソッドでそういうことするのはおかしいて言ってる。
.NETでの例外処理において、やってはいけないこと、に挙げられてるよ。


864 名前:デフォルトの名無しさん mailto:sage [2006/10/18(水) 18:14:35 ]
>>863
誰が言ってるの?
何をやってはいけないの?

865 名前:デフォルトの名無しさん mailto:sage [2006/10/18(水) 18:17:33 ]
全メソッドでException型でキャッチして再スローするようなこと。


866 名前:デフォルトの名無しさん mailto:sage [2006/10/18(水) 18:20:44 ]
>>865
まあ、まずはソースだ。
MSが言ってるレベルだと信頼は無いからな。

大体、本当にやってはいけないことなら、コーディングレベルでエラーが出るだろ。




867 名前:デフォルトの名無しさん mailto:sage [2006/10/18(水) 18:23:09 ]
ソース出せ
ああ、ベンダのいうことは信用できないから駄目だよ

868 名前:デフォルトの名無しさん mailto:sage [2006/10/18(水) 18:24:05 ]
だったら.NETなんかつかわなけりゃいい

869 名前:デフォルトの名無しさん mailto:sage [2006/10/18(水) 18:26:53 ]
例外のスローや再スローが非常に高コストなのは
常識だと思ってた。
ていうか、全メソッドでやるなら例外なんて仕組みいらんだろ。

870 名前:デフォルトの名無しさん [2006/10/18(水) 18:27:56 ]
EUCコードのデータを取り込んで表示させるにはどうすればよろしいのでしょうか?
そのままだと文字化けしてしまうのでSJISやUTFに変換しないと駄目でしょうか?

871 名前:デフォルトの名無しさん mailto:sage [2006/10/18(水) 18:30:48 ]
ゲームでも作ってるんじゃないからコストなんか考えない。
バグが出ない、修正やカスタマイズがし易い、何か起こったとき直ぐに場所と原因が突きとめられる。
VB.NETで重要なのはこの3点だけ。

メモリが足りないのなら、メモリを積め。
遅いのなら、速いマシンを買え。

コストをシビアに考えるなら、VBなんか使わねーよ

872 名前:デフォルトの名無しさん mailto:sage [2006/10/18(水) 18:30:58 ]
独立したスレッド等、処理を断続させる場合だけ、TryCatch
それ以外は、イベントハンドルとして処理。
これでいいだろ。

全メソッドでTryCatchなんてありえん。
初心者と技術のない職場のポリシーだけだ。



873 名前:デフォルトの名無しさん mailto:sage [2006/10/18(水) 18:32:33 ]
>>871
それは単なるお前の自論だろ。


874 名前:デフォルトの名無しさん mailto:sage [2006/10/18(水) 18:34:56 ]
>>873
IBMで教わった持論なんだがな。

875 名前:デフォルトの名無しさん mailto:sage [2006/10/18(水) 18:36:02 ]
>>872
VB6のときは、イベント内のみにしかイベントハンドルを書かなかった口か?

876 名前:デフォルトの名無しさん mailto:sage [2006/10/18(水) 18:38:51 ]
>>871
try〜catch〜finally〜内にバグがないとも限らない。
一元管理されるほうが、どう考えても効率いいし、バグが入りにくい。




877 名前:デフォルトの名無しさん mailto:sage [2006/10/18(水) 18:40:02 ]
>>875
どう解釈しても意味不明だわな




878 名前:デフォルトの名無しさん mailto:sage [2006/10/18(水) 18:44:20 ]
グダグダだな

879 名前:デフォルトの名無しさん mailto:sage [2006/10/18(水) 18:46:36 ]
>>876
それはリスクポリシーの取り方だろ。
可読性の良いコードなら、catchやfinallyにバグが入り込む可能性は低い。
try内の問題が直ぐ判別できるから尚良い。

つーか、1メソッド、try〜catch〜finally〜含めても、
コードなんて20行も無いだろ?
catch内でも2〜3行なもんだろ?

880 名前:デフォルトの名無しさん mailto:sage [2006/10/18(水) 18:47:08 ]
>>870
ここ読んでみたら?
ttp://dobon.net/vb/bbs/log3-4/1733.html

881 名前:デフォルトの名無しさん mailto:sage [2006/10/18(水) 18:59:37 ]
お前有り得ない例外処理が反乱してるのを見たことないのか?

882 名前:デフォルトの名無しさん mailto:sage [2006/10/18(水) 19:02:07 ]
>>881
無いね。
危ない例外は完全に殺してしまうし、
例外処理用にかなりこなれた関数も用意してるし。

883 名前:デフォルトの名無しさん mailto:sage [2006/10/18(水) 19:10:21 ]
>>879
>コードなんて20行も無いだろ?
そうとは限らないだろ・・・どんだけ規模の小さいプログラムよ

884 名前:デフォルトの名無しさん mailto:sage [2006/10/18(水) 19:11:34 ]
>>882
例外処理用に関数用意するなら、

最初から、ThreadExceptionイベントをハンドルして処理するだけでいいだろが

885 名前:デフォルトの名無しさん mailto:sage [2006/10/18(水) 19:11:57 ]
>>883
1メソッド20行にも納められないのかよ。
どんだけ、汚いプログラムだよw

886 名前:デフォルトの名無しさん mailto:sage [2006/10/18(水) 19:13:34 ]
>>884
趣旨が間違えているぞ。
運用に入ってからでも、ユーザーに気付かれず、
簡単に且つ素早く、エラーを起こしている箇所を特定しなければならないんだよ。



887 名前:デフォルトの名無しさん mailto:sage [2006/10/18(水) 19:21:09 ]
>>879
>可読性の良いコードなら、catchやfinallyにバグが入り込む可能性は低い。
可読性は関係ないだろー
そこにバグがあると動作中のバグがどこにあるのかわからないことだってある。

888 名前:デフォルトの名無しさん mailto:sage [2006/10/18(水) 19:25:03 ]
>>886
ThreadExceptionイベントで、
簡単に且つ素早く、エラーを起こしている箇所を特定できない状況をおしえてくれよ。

そもそもユーザーに気づかれない機能って何だよ。


889 名前:デフォルトの名無しさん mailto:sage [2006/10/18(水) 19:26:55 ]
つか、スタックトレースを知らないってオチはないよな…


890 名前:デフォルトの名無しさん mailto:sage [2006/10/18(水) 19:29:05 ]
.NET the final frontier.

891 名前:デフォルトの名無しさん mailto:sage [2006/10/18(水) 19:31:54 ]
ThreadExceptionイベントで取れるわけだが・・・

892 名前:デフォルトの名無しさん mailto:sage [2006/10/18(水) 19:38:11 ]
スタックトレースは厳密な経路ではない

893 名前:デフォルトの名無しさん mailto:sage [2006/10/18(水) 19:42:18 ]
結局スタックとレース以外でcatchやfinallyは必要ないってオチですか?




894 名前:デフォルトの名無しさん mailto:sage [2006/10/18(水) 19:45:00 ]
厳密な経路ってどんなん?
スタックトレースでは困るほど異なるもんなのか?


895 名前:デフォルトの名無しさん mailto:sage [2006/10/18(水) 19:46:30 ]
そんなに場所特定したいならpbd付けとけ

896 名前:デフォルトの名無しさん mailto:sage [2006/10/18(水) 19:47:08 ]
pdbだorz



897 名前:デフォルトの名無しさん mailto:sage [2006/10/18(水) 19:47:53 ]
全メソッドでExceptionをキャッチ
経路の詳細情報をログ出力
そして再スローって
具体的にどんなコードになるんだ?


898 名前:デフォルトの名無しさん mailto:sage [2006/10/18(水) 19:48:36 ]
スタックトレースってReleaseとDebugで挙動が異なるんじゃなかった?

899 名前:デフォルトの名無しさん mailto:sage [2006/10/18(水) 19:50:41 ]
ソースのパスと行番号が出るだけ

900 名前:デフォルトの名無しさん mailto:sage [2006/10/18(水) 19:50:49 ]
>>897
あまりいじりたくないコードになりそうだなw


901 名前:デフォルトの名無しさん mailto:sage [2006/10/18(水) 19:51:24 ]
どこで例外が起きてるかそこまでして知らなくてはならないということは、
どうしようもないパゲッティで、どっちらけなコードではないか?


902 名前:デフォルトの名無しさん mailto:sage [2006/10/18(水) 19:56:15 ]
>>901
お前らのコードよりも見やすい自信はある。
但し、サブルーチンが多いので、奥まで入れてグチュグチュする必要はある。

903 名前:デフォルトの名無しさん mailto:sage [2006/10/18(水) 19:59:15 ]
スパゲッティじゃんw

904 名前:デフォルトの名無しさん mailto:sage [2006/10/18(水) 20:13:17 ]
>>903
なんだ?
お前はサブルーチンのないコードが正当だというのか?
普通、コメントや改行、宣言を除いて、メソッドで処理に書ける行は5〜10行だぞ。
それ以上長くなると、可読性のないコードになる。
それだと、一つ一つサブルーチンにしてしまった方が良い。


905 名前:デフォルトの名無しさん mailto:sage [2006/10/18(水) 20:16:00 ]
厳密もなにも、メソッド内で得れる経路情報なんて、
ThreadExceptionイベントでも取得できますよ。

それにさ、メソッドごとに特化した例外処理なんて入れてたら、
それこそ、そこにまでバグが潜む可能性があるんだからさ、
決まり文句かくならThreadExceptionイベントで十分だろ。


906 名前:デフォルトの名無しさん mailto:sage [2006/10/18(水) 20:18:54 ]
>>904
つまり、10000ステップのソースなら、
1000〜2000メソッドあるってことですね。



907 名前:デフォルトの名無しさん mailto:sage [2006/10/18(水) 20:20:29 ]
>>906
つ共通化

908 名前:デフォルトの名無しさん mailto:sage [2006/10/18(水) 20:20:59 ]
>>905
メソッド内の例外処理は全て同じ。

909 名前:デフォルトの名無しさん mailto:sage [2006/10/18(水) 20:22:52 ]
行数が少ないほど可読性が高いと思ってるのか?
DBの正規化でも、同じことが言えるだろ?

簡単な電卓プログラムじゃないんだから。


910 名前:デフォルトの名無しさん mailto:sage [2006/10/18(水) 20:25:12 ]
>>907
お前のステップ換算は共通化する前のソースなのか?

>>908
全て同じなのに、ThreadExceptionイベントでダメな理由は何?



911 名前:デフォルトの名無しさん mailto:sage [2006/10/18(水) 20:26:39 ]
ま、どうでもいいけど、
たった1000ステップに100も200もメソッド作らんね。

912 名前:デフォルトの名無しさん mailto:sage [2006/10/18(水) 20:28:34 ]
>>909
1024*768で、
一画面に収まるコードはマナーだろ。

>>910
関数化も共通化も終えての行数だ。
ステップ数じゃない。

913 名前:デフォルトの名無しさん mailto:sage [2006/10/18(水) 20:32:15 ]
ここにいる連中はステップ数と行数の違いもわからないのか?

マジあきれた。

914 名前:デフォルトの名無しさん mailto:sage [2006/10/18(水) 20:34:12 ]
一度その全て同じなコードを書いてみてくれ。


915 名前:デフォルトの名無しさん mailto:sage [2006/10/18(水) 20:36:10 ]
その全て同じなコードが処理行数5〜10行の全てのメソッドに書いてあるのか?

916 名前:デフォルトの名無しさん mailto:sage [2006/10/18(水) 20:39:04 ]
で、関数の数はいくつなん?



917 名前:デフォルトの名無しさん mailto:sage [2006/10/18(水) 20:39:36 ]
>>915
全て同じなコード自体が1行のコードだがな

918 名前:デフォルトの名無しさん mailto:sage [2006/10/18(水) 20:40:38 ]
>>916
言うほど多くない。
クラス設計できてたら大したことにならない。

919 名前:デフォルトの名無しさん mailto:sage [2006/10/18(水) 20:42:32 ]
練習で作った電卓プログラムですってオチですか?


920 名前:デフォルトの名無しさん mailto:sage [2006/10/18(水) 20:43:02 ]
なんかわけのわからんことで揉めてるな
正直、例外のトラップを一元化した方が好ましいって言う奴初めて見たよw
それ実践を踏まえて言ってるんだろうか。

それって、それこそN-BASICの時代のON ERROR GOTOじゃんw

いやそれならまだしも、その飛び先で例外オブジェクトをパースしないといけないんでしょ?
それじゃSDKのウィンドウプロシージャと一緒じゃんw

921 名前:デフォルトの名無しさん mailto:sage [2006/10/18(水) 20:44:24 ]
俺の場合は最終的な例外処理はThreadExceptionとかの共通ハンドラ。
まあここではユーザ用メッセージの表示とログ出力位だが。
メインなロジック部分は、ロジックの最上位辺りで自動補捉してログ出力、必要に応じてラップその他の処理。
あとは個別に特に例外処理が必要な箇所だけキャッチして処理。

他の部分はキャッチなし。finallyのみ。


922 名前:デフォルトの名無しさん mailto:sage [2006/10/18(水) 20:45:10 ]
ちゃんと.NETが提供してる機能があるんだから、
何も知らない初心者はすっこんでろ。


923 名前:デフォルトの名無しさん mailto:sage [2006/10/18(水) 20:48:28 ]
一行でどうやって再スローまでやるんだ?
しかもExceptionをキャッチしてだろ?
全然特化してない例外処理しか出来ないのに、
これじゃ各メソッドでやる意味があるように見えないんだが…

924 名前:デフォルトの名無しさん mailto:sage [2006/10/18(水) 20:56:43 ]
>>923
つ関数

925 名前:デフォルトの名無しさん mailto:sage [2006/10/18(水) 20:59:12 ]
単にThreadExceptionのハンドラを使ったことがないから、よく知らないってオチでいいよ。


926 名前:デフォルトの名無しさん mailto:sage [2006/10/18(水) 21:01:20 ]
Application.ThreadExceptionイベントスゲーウヒョー



927 名前:デフォルトの名無しさん mailto:sage [2006/10/18(水) 21:01:52 ]
>>924
>>884

928 名前:デフォルトの名無しさん mailto:sage [2006/10/18(水) 21:27:44 ]
           ∩_ 
          〈〈〈 ヽ
          〈⊃   }
  ∩___∩  |   |
  | ノ      ヽ !   !
  /  ●   ● |  /
  |    ( _●_)  ミ/ < 次いこうぜ〜
 彡、   |∪|  /
/ __  ヽノ /
(___)   /

929 名前:デフォルトの名無しさん mailto:sage [2006/10/18(水) 21:41:33 ]
そんな事したらスタックトレース消えるだろうがよ。
それに変なメソッドが例外のソースになるだろうがよ。

お、ひょっとしてそれでスタックトレースみれてないのか?
もし仮にそうだとしたらあほとしかいいようがない。

930 名前:デフォルトの名無しさん mailto:sage [2006/10/18(水) 21:45:39 ]
>>920個別に処理してしまう例外はその場でキャッチするに決まってるだろ。
それ以外の例外だよ、まとめて処理するのは。
全メソッドでExceptionをキャッチするなら、
同じようにパースが必要になるんじゃないのか?

931 名前:デフォルトの名無しさん mailto:sage [2006/10/18(水) 21:56:07 ]
もういいよ、既に決着はついてる。

932 名前:デフォルトの名無しさん mailto:sage [2006/10/18(水) 22:01:34 ]
>>920はあふぉうだから相手にするな

933 名前:デフォルトの名無しさん mailto:sage [2006/10/18(水) 22:03:46 ]
>>930
それ以外って何だよw

いや、@ITの記事にも書いてあった気がするが
想定外の例外が起きた場合の「保険」的な意義は大いにあるよ。

それにそういう想定外の例外の場合、いきなりあの無愛想なデフォの例外のダイアログが
出るより、別の何らかの表示をするようにした方がユーザーの心証もいいしね。

逆に言えばそれ以外の価値は一切認められないよ。

934 名前:デフォルトの名無しさん mailto:sage [2006/10/18(水) 22:08:21 ]
だからさー
ThreadExceptionイベントをハンドルすればいいだけだろ。

どうしてもメソッド内で処理しないと困る例外だけ try〜catch〜を使えばOKだろ。


935 名前:デフォルトの名無しさん mailto:sage [2006/10/18(水) 22:09:52 ]
そういうのを逆立ちした発想っていうんだよ

936 名前:デフォルトの名無しさん mailto:sage [2006/10/18(水) 22:12:02 ]
じゃあさ、最初から出てる全メソッドでExceptionキャッチってなんなのよ?
全部想定されるException型なのかよ。
全メソッドで想定されるExceptionがあるのかよ。
多くのメソッドでは想定される例外なんてそうないだろに。



937 名前:デフォルトの名無しさん mailto:sage [2006/10/18(水) 22:13:37 ]
誰も全ての例外を最上位でやるなんていってないのに。

938 名前:デフォルトの名無しさん mailto:sage [2006/10/18(水) 22:18:18 ]
まずさ、
メソッド内で取得できるExceptionは、
Application.ThreadExceptionのイベントハンドラでも取得できるというのは解ってるよな?

それで、わざわざ全メソッドに同じ例外処理の内容を書く理由はあるのか?



939 名前:デフォルトの名無しさん mailto:sage [2006/10/18(水) 22:20:30 ]
ネタかと思ったけど本当にパーなのね。
だから>>930の「それ以外」って何のこと?w
具体的に挙げてみ。

つーか、だいたい何のために構造化例外処理なんてものを導入した経緯が
あると思ってるんだ

940 名前:デフォルトの名無しさん mailto:sage [2006/10/18(水) 22:25:15 ]
「それ以外」
同じ例外処理のことだろ?

941 名前:デフォルトの名無しさん mailto:sage [2006/10/18(水) 22:31:17 ]
IDないからぐずぐずになってるスレ


942 名前:デフォルトの名無しさん mailto:sage [2006/10/18(水) 22:35:48 ]
コテハンつけるかもしくはアンカー打ってくれ。
何がなんだかさっぱりわからんw

943 名前:デフォルトの名無しさん mailto:sage [2006/10/18(水) 22:35:52 ]
だめだわけわかんね。
構造化例外は、全メソッドでException型をキャッチすることで何か意味があるとでも?
個別に処理してしまえる例外以外を具体的にって
いったいどういえと。

944 名前:デフォルトの名無しさん mailto:sage [2006/10/18(水) 22:37:02 ]
全メソッドで全例外をキャッチするなら
構造化例外なんていらん

945 名前:デフォルトの名無しさん mailto:sage [2006/10/18(水) 22:40:05 ]
>>939お前が個別に処理しなきゃならない例外を具体的に挙げろよ。
それで処理してしまえない残ったもの全部だよ。

パーとかいってんだからお前があげろ
ついでに全メソッドで例外をキャッチして再スローするメリットもな

946 名前:デフォルトの名無しさん mailto:sage [2006/10/18(水) 22:42:21 ]
あと、個別にキャッチしてする例外処理は全部同じ処理だぜ



947 名前:デフォルトの名無しさん mailto:sage [2006/10/18(水) 22:45:13 ]
意地張って、表現の仕方にケチつけるくらいしか出来ないんだよ。
実際まともな解答がひとつも無い。

948 名前:デフォルトの名無しさん mailto:sage [2006/10/18(水) 22:47:14 ]
>>934
>>934
>>934


949 名前:デフォルトの名無しさん mailto:sage [2006/10/18(水) 22:49:06 ]
まあ愚か者は経験からしか学ばないわけでw
いや経験から本当に学んでいるかどうかも怪しいわけだが。

構造化例外処理の意義がどこにあるか?
それはThreadExceptionで一元的にトラップするように書いた自分のコードを
一年後にメンテしてみればたぶんよくわかるよ。

まあそれでわからなきゃ本当にパーだわ。

950 名前:デフォルトの名無しさん mailto:sage [2006/10/18(水) 22:50:43 ]
>>949
根拠も具体例もないただの自論だな


951 名前:デフォルトの名無しさん mailto:sage [2006/10/18(水) 22:53:54 ]
誰も全て一元化するなんていってない

いいから全メソッドでExceptionをキャッチして以下省略のメリット書けや。
構造化例外はそのためにあるんだろ?
おかけでメンテも楽になるんだろ?
お前の経験でこんなメリットてのを書けよ


952 名前:デフォルトの名無しさん mailto:sage [2006/10/18(水) 22:53:58 ]
>>950
トンデモさんにとってはアインシュタインの相対性理論も「根拠のないただの持論」らしいからなw
まともなプログラマやソフトウエア工学の学者で構造化例外処理を否定してる奴が
一人でもいたら教えてくれよ。

953 名前:デフォルトの名無しさん mailto:sage [2006/10/18(水) 22:54:56 ]
ついに構造化例外処理を否定してることになったぜ。

954 名前:デフォルトの名無しさん mailto:sage [2006/10/18(水) 22:56:23 ]
>>951
何か勘違いしているようだが、メソッド全体をTry〜ブロックに入れろ、
なんてトンデモをいっている奴は一人もいないと思うぞw

ただThreadExceptionイベントなんぞには保険的な意味合いしかないと
言っている奴がいるだけだ。

955 名前:デフォルトの名無しさん mailto:sage [2006/10/18(水) 22:58:03 ]
>>952
お前は馬鹿か?

「全メソッドに同じ例外処理の内容を書く理由はあるのか? 」
この質問に、根拠のないただの持論で誰が納得するんだ?

メリデリをしっかり挙げてくれないとお話にならないだろ。


956 名前:デフォルトの名無しさん mailto:sage [2006/10/18(水) 22:58:39 ]
>>953
自分の言っていることがわからないんだから病膏肓だねw
ThreadExceptionイベントなるものに保険以上の意味を認めるってことは
構造化例外処理を否定しているってことだ。

だから>>930の「それ以外」とは何かと聞いているだろう



957 名前:デフォルトの名無しさん mailto:sage [2006/10/18(水) 23:01:56 ]
例外トラップとかはAOPしたいんだけど、catchの方はEventに投げるとしてもFinallyの方がやり様がないよね

958 名前:デフォルトの名無しさん mailto:sage [2006/10/18(水) 23:02:02 ]
構造化例外処理といいながら、全メソッドに関数呼ぶ同じ1行ですか?ワラカシテクレルゼ

959 名前:デフォルトの名無しさん mailto:sage [2006/10/18(水) 23:05:04 ]
>ThreadExceptionイベントなるものに保険以上の意味を認めるってことは
>構造化例外処理を否定しているってことだ。

面白いこと言うんだな。

Try-Catch構文だと、例外を正しくトラップできないケースは多々あるのに対して、
ThreadExceptionイベントは確実にトラップできる。 これは事実だ。

960 名前:デフォルトの名無しさん mailto:sage [2006/10/18(水) 23:06:08 ]
>>955
プログラミングの基本からわかってないようだから言っても無駄だと思うけど、
仮に例外処理に「共通の処理」があるとしたら普通はそれ自体をメソッドにして
「明示的に」それを呼び出すコードを書くんだよ。

馬鹿は自分の記憶力があてにならない、という事実すら忘れるんだろうけど
コードを書いたときには「ここで例外が発生した場合を俺は想定しているぞ。その場合は
ThreadExceptionのハンドラに飛んで・・・・・・」と思っていてもそんなことは
人は忘れてしまう。

まして最初からそんなこと知らない他人はどうなるんだよ。

961 名前:デフォルトの名無しさん mailto:sage [2006/10/18(水) 23:07:07 ]
だからさ、ユーザ用のつうちをThreadExceptionでやるだけだろが。
それだけで構造化例外処理の意味がなくなるのかよ。そんなに言うならお前の言葉で構造化例外のメリットを説明しろ。
ついでにThreadExceptionを上記の様に使うだけで
構造化例外を否定してることになるという具体的にな説明もな

962 名前:デフォルトの名無しさん mailto:sage [2006/10/18(水) 23:07:22 ]
なんでもかんでもCatchする方がよっぽど構造化例外処理を否定してると思うけどな

963 名前:デフォルトの名無しさん mailto:sage [2006/10/18(水) 23:09:33 ]
>>960
> コードを書いたときには「ここで例外が発生した場合を俺は想定しているぞ。その場合は
> ThreadExceptionのハンドラに飛んで・・・・・・」と思っていてもそんなことは
> 人は忘れてしまう。
アホ。例外を想定してないからThreadExceptionで受けるんだよ。
想定してたらそれに応じた型の例外をその場でCatchして処理するわ。
おまえ全然分かってないな。

964 名前:デフォルトの名無しさん mailto:sage [2006/10/18(水) 23:11:09 ]
全メソッドで共通なら全部書かなくても同じだろ
ついでだが、業務で開発とかだとまとめて一ヶ所で処理はやむをえないことも多い

965 名前:デフォルトの名無しさん mailto:sage [2006/10/18(水) 23:11:47 ]
>>963
何を的外れな仮の話をしているんだい?
それが全メソッドに同じ例外処理を書く理由ですか?

966 名前:デフォルトの名無しさん mailto:sage [2006/10/18(水) 23:12:24 ]
↑アンカーまちがい、>>960



967 名前:デフォルトの名無しさん mailto:sage [2006/10/18(水) 23:12:49 ]
>>963
それなら俺が>>933で書いたことを否定する理由はないはずだが。
ま、馬鹿は自分の言っていることも人の言っていることもよくわからないんだねw

968 名前:デフォルトの名無しさん mailto:sage [2006/10/18(水) 23:13:22 ]
見事に質問が埋もれてるな。

>>870
System.Text 名前空間の Encoding クラスを使って、
Encoding.GetString 使ったり StreamReader の引数に渡したりする。

969 名前:デフォルトの名無しさん mailto:sage [2006/10/18(水) 23:13:50 ]
全メソッドにtrycatch書くってひとは、悪いけどトリップつけてくんない?
どれが馬鹿か分からなくって困るから


970 名前:デフォルトの名無しさん mailto:sage [2006/10/18(水) 23:15:17 ]
>>969
だからそんな奴は最初からいません。


971 名前:デフォルトの名無しさん mailto:sage [2006/10/18(水) 23:17:18 ]
>>840
>>842
>>851


972 名前:デフォルトの名無しさん mailto:sage [2006/10/18(水) 23:18:52 ]
>>960
> コードを書いたときには「ここで例外が発生した場合を俺は想定しているぞ。その場合は
> ThreadExceptionのハンドラに飛んで・・・・・・」と思っていてもそんなことは
> 人は忘れてしまう。
意識する必要がないだろ。良く考えろよ。
全く同じ決まった処理なら、ThreadExceptionのイベントハンドラとして一箇所に書いてあるのだから意識不要。
そのメソッド内でどうしても必要なものだけ書けばいいんだから、よっぽど効率いいだろ?


973 名前:デフォルトの名無しさん mailto:sage [2006/10/18(水) 23:21:10 ]
>>972
話の通じない馬鹿だなw
もういいよ一生やってな別に止めないし

974 名前:デフォルトの名無しさん mailto:sage [2006/10/18(水) 23:23:17 ]
全メソッドにtrycatch書くってひとは、
具体的なメリデリが書けません。自論です。 ってオチですな。

975 名前:デフォルトの名無しさん mailto:sage [2006/10/18(水) 23:25:53 ]
要は全メソッドでCatchしないと正体不明の例外が処理できなかった時代の
手法をそのまま引きずってるだけじゃないの?
FrameWorkがそんなことしなくてもいいように設計されてるのに。

976 名前:デフォルトの名無しさん mailto:sage [2006/10/18(水) 23:26:02 ]
>>973
安心しろ、誰にも通じてない。




977 名前:デフォルトの名無しさん mailto:sage [2006/10/18(水) 23:26:03 ]
いや、書いてはある。
ただ君に理解できないだけだ。
そういえばトンデモさんの常套句もそうだ。

アインタインは間違っているに違いない!
この俺様に理解できないのだから!


978 名前:デフォルトの名無しさん mailto:sage [2006/10/18(水) 23:27:14 ]
せめて1人くらいには通じる話をしてくださいです〜

979 名前:デフォルトの名無しさん mailto:sage [2006/10/18(水) 23:29:03 ]
>>977お前もう痛すぎるから

980 名前:デフォルトの名無しさん mailto:sage [2006/10/18(水) 23:34:57 ]
関係ないけど、相対性理論の間違いは日本人によって正されつつある。
www.ni.bekkoame.ne.jp/tsuneizumi/
これくらいは解ってていってるんだろ?

981 名前:デフォルトの名無しさん mailto:sage [2006/10/18(水) 23:35:26 ]
あなたにアインタイン

982 名前:デフォルトの名無しさん mailto:sage [2006/10/18(水) 23:36:20 ]
AOPが一般化してるときになに一転だ。
全メソッドに同じ処理を書くべしって

983 名前:969 mailto:sage [2006/10/18(水) 23:39:52 ]
だからtry〜catchを前メソッドに書くのが良いんだよ。
ThreadException知らないやつでも、明示的に処理してるのが分かる。
チームプログラミングは、上のレベルであわせるのではなく、
VB.NET初めて3日のヤツでも理解できるように書いてやるんだよ。
いつまでも一定レベル以上の人間じゃないとメンテできないソースなんて、
人的コストが掛かりすぎてたまらんわ。
お前らみたいな優秀なやつらをメンテなんかで使いたくないんだぜ?

984 名前:デフォルトの名無しさん mailto:sage [2006/10/18(水) 23:42:16 ]
つまり低レベルの人間に合わせた低レベルの手法ということですね。納得。

985 名前:デフォルトの名無しさん mailto:sage [2006/10/18(水) 23:45:21 ]
明確にだめだと言われてるやりかただけどな。
て言うか、未だにその共通処理でなにやるのか分からん


986 名前:985 mailto:sage [2006/10/18(水) 23:46:37 ]
>>984
お前らみたいに視野の狭い連中は物作りさせるしか使い道が無いのよ。



987 名前:デフォルトの名無しさん mailto:sage [2006/10/18(水) 23:50:23 ]
まあいかにもVB6でOn Error ResumeNextとか多用してたような奴が
考えそうなことなんだけどね

988 名前:983 mailto:sage [2006/10/18(水) 23:52:42 ]

\               U         /
  \             U        /
             / ̄ ̄ ヽ,
            /        ',      /     _/\/\/\/|_
    \    ノ//, {0}  /¨`ヽ {0} ,ミヽ    /     \           /
     \ / く l   ヽ._.ノ   ', ゝ \       <   バーカ   >
     / /⌒ リ   `ー'′   ' ⌒\ \    /          \
     (   ̄ ̄⌒          ⌒ ̄ _)    ̄|/\/\/\/ ̄
      ` ̄ ̄`ヽ           /´ ̄
           |            |  
  −−− ‐   ノ           |
          /            ノ        −−−−
         /           ∠_
  −−   |    f\      ノ     ̄`丶.
        |    |  ヽ__ノー─-- 、_   )    − _
.        |  |            /  /
         | |          ,'  /
    /  /  ノ           |   ,'    \
      /   /             |  /      \
   /_ノ /              ,ノ 〈           \
    (  〈              ヽ.__ \        \
     ヽ._>              \__)




989 名前:989 mailto:sage [2006/10/18(水) 23:53:30 ]
          /            ノ        −−−−
         /           ∠_
  −−   |    f\      ノ     ̄`丶.
        |    |  ヽ__ノー─-- 、_   )    − _
.        |  |            /  /


990 名前:デフォルトの名無しさん mailto:sage [2006/10/18(水) 23:54:26 ]
>>983
だから、お前が言ってるのは、自論と、職場の規約や都合だけだろ・・・


991 名前:デフォルトの名無しさん mailto:sage [2006/10/18(水) 23:56:52 ]
お前ら、俺の言うことはアインシユタインの言うことだぞ
理解できないやつはトンデモなんだぞ

992 名前:デフォルトの名無しさん mailto:sage [2006/10/18(水) 23:58:14 ]
>>990
俺の職場のルールが正しければ、お前らが何て言おうと関係ない。
俺の会社はお前らみたいな零細とは違うんだからなqq

993 名前:デフォルトの名無しさん mailto:sage [2006/10/18(水) 23:58:20 ]
とりあえずきっかけを作った>>838が悪いってことで終わりにしようぜ。スレも終わるし。
誰か次スレプリーズ。

994 名前:デフォルトの名無しさん mailto:sage [2006/10/18(水) 23:59:56 ]
もう震度毛よ

995 名前:デフォルトの名無しさん mailto:sage [2006/10/19(木) 00:01:33 ]
素朴に疑問だ。ホントに全メソッドで全例外キャッチ?

996 名前:838 mailto:sage [2006/10/19(木) 00:06:33 ]
盛り上がったなwww



997 名前:デフォルトの名無しさん mailto:sage [2006/10/19(木) 00:15:45 ]
100ならVB.NETはメソッド内でTry〜Catch〜Finally〜が正しい。

998 名前:デフォルトの名無しさん mailto:sage [2006/10/19(木) 00:25:29 ]
コレでまたひとつ新しいトリビアが誕生した

999 名前:デフォルトの名無しさん mailto:sage [2006/10/19(木) 00:29:38 ]
今更だけどメリデリって何ですか?

1000 名前:デフォルトの名無しさん mailto:sage [2006/10/19(木) 00:29:42 ]
1000なら伊東怜と生でセックスできる

1001 名前:1001 [Over 1000 Thread]
このスレッドは1000を超えました。
もう書けないので、新しいスレッドを立ててくださいです。。。






[ 新着レスの取得/表示 (agate) ] / [ 携帯版 ]

前100 次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧]( ´∀`)<247KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef