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


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

VB.NET質問スレ (Part12)



1 名前:前スレ972 [2005/07/17(日) 20:33:58 ]
VB.NETの質問全般です

過去スレ
VB.NET質問スレ (Part11)
pc8.2ch.net/test/read.cgi/tech/1114217190/
VB.NET質問スレ (Part10)
pc8.2ch.net/test/read.cgi/tech/1109343613/
VB.NET質問スレ (Part9)
pc5.2ch.net/test/read.cgi/tech/1106577850/
VB.NET質問スレ (Part8)
pc5.2ch.net/test/read.cgi/tech/1102512868/
VB.NET質問スレ (Part7)
pc5.2ch.net/test/read.cgi/tech/1096683017/
VB.NET質問スレ (Part6)
pc5.2ch.net/test/read.cgi/tech/1088812165/
VB.NET質問スレ (Part5)
pc5.2ch.net/test/read.cgi/tech/1078134703/
VB.NET質問スレ (Part4)
pc2.2ch.net/test/read.cgi/tech/1065269043/
【老若】VB.net質問スレ【男女】 (Part3)
pc5.2ch.net/tech/kako/1056/10562/1056281084.html
【老若】VB.net質問スレ【男女】 (Part2)
pc2.2ch.net/tech/kako/1043/10436/1043629429.html
【老若】VB.net質問スレ【男女】
pc2.2ch.net/tech/kako/1025/10258/1025848458.html

962 名前:デフォルトの名無しさん mailto:sage [2005/11/10(木) 12:27:53 ]
ケースバイケースだろうけど俺は>>960の設計の方をむしろ推すね。
要するに読み込みを非同期にすりゃいいだけでしょ?
客から注文もらってから問屋に注文だすような店なら最初からイラネ。

963 名前:デフォルトの名無しさん mailto:sage [2005/11/10(木) 12:58:49 ]
コンストラクタではまず重い処理はやるべきではない。
次に、どっちにも対応すればいいんだから・・・。

上司コンストラクタ − インスタンス生成だけ
>>960コンストラクタ − 生成して検索関数呼ぶ
検索ぱぶりっく関数 − 検索実行

面子潰さず、自分の意見通しつつ。

964 名前:デフォルトの名無しさん mailto:sage [2005/11/10(木) 16:32:06 ]
textboxコントロールがフォーカスを受け取った時にコントロールの
背景色を変えようと思っているのですが、
フォーカスを受け取ったイベントとして、
Enter を使うべきか、GotFocus を使うべきか、どちらを
使うべきでしょうか?


965 名前:デフォルトの名無しさん mailto:sage [2005/11/10(木) 16:39:18 ]
Enterを使うべきだとあちこちに書かれてると思うんだが。
GotFocus使ったらフォームをアクティブにしたときも発生したりするぞ。

966 名前:デフォルトの名無しさん mailto:sage [2005/11/10(木) 17:09:41 ]
VB.NETのIF文で最初の条件がFALSEの場合2番目以降の比較は行なわないように
記述する方法はありますか?
dim x as boolean = false
dim y as boolean = true
if(x and y = nothing) then
の場合、xがFALSEなのでyの値が何であっても条件に該当しないので
このように最初の条件がFALSEになった場合、それ以降の条件判断を
して欲しくないのですが。IF文を2つにわけるしかないでしょうか?
よろしくお願いします。

967 名前:デフォルトの名無しさん mailto:sage [2005/11/10(木) 17:15:09 ]
AndAlso
ちょっとはリファレンス見ようぜ

968 名前:960 mailto:sage [2005/11/10(木) 17:48:52 ]
>>961
>>962
>>963
レス感謝です。

「コンストラクタには重い処理を書くべきではない」ってのを今日まで知りませんでした。
1万件のレコードを、960に書いた2通りの方法でそれぞれ試してみましたが時間的な差は無かったです。
なにか実感できるようなサンプルってありますか?

969 名前:デフォルトの名無しさん mailto:sage [2005/11/10(木) 18:02:03 ]
厳密にはデバッグできなくなるって理由でないの?>コンストラクタに書かない

970 名前:デフォルトの名無しさん mailto:sage [2005/11/10(木) 18:29:26 ]
>>968
>「コンストラクタには重い処理を書くべきではない」ってのを今日まで知りませんでした
単に961の俺様ルールだと思うよそれ。
だってそんなルールに何の合理性のないじゃん。
すくなくとも無条件にいつでも合理的とはいえないよ。

というか、重いなら単に非同期で処理すればいいだけの話で
どうせ必須の引数なら最初から受け取っておく、必須の処理なら最初からやっておく
これが普通の考え方でしょう。
もちろん「特に理由がない限りにおいては」ね。



971 名前:デフォルトの名無しさん mailto:sage [2005/11/10(木) 18:35:08 ]
つ コンストラクタの使用方法のガイドライン

972 名前:デフォルトの名無しさん mailto:sage [2005/11/11(金) 01:03:50 ]
Cで作った xxx.dll 中の

typedef struct {
  int a;
  int b[50];
} X;
int test(X *z) {}

な関数を、VBで、

Structure X
  Dim a As Integer
  Dim b(50) As Integer
End Structure
Declare Function test Lib "xxx.dll" (ByRef z As X) As Integer

として使おうとしたのですが、VBでは構造体に固定長配列が使えないらしく、
エラーが出てしまいます。
構造体の中では b() だけ宣言して後でReDim b(50) しても、
アドレス的に a に連続しないのか、test を呼び出したときに落ちます。
どうしたらいいでしょうか。

973 名前:デフォルトの名無しさん mailto:sage [2005/11/11(金) 03:50:01 ]
C#.NETでは書けて、VB.NETで書けないものってありますか?

974 名前:デフォルトの名無しさん mailto:sage [2005/11/11(金) 04:40:09 ]
>>972
Imports System.Runtime.InteropServices 'コードの先頭で宣言

<MarshalAs(UnmanagedType.ByValArray, SizeConst:=50)> _
Dim b() As Integer

>>973
VB2005で可能になるけど、カスタムイベント、演算子のオーバーロード、XMLドキュメントあたり。

975 名前:デフォルトの名無しさん mailto:sage [2005/11/11(金) 09:27:36 ]
つうか、コンストラクタで非同期処理なんてしてほしくないよな。


976 名前:デフォルトの名無しさん mailto:sage [2005/11/11(金) 12:58:19 ]
>>973
unsafe コード

977 名前:デフォルトの名無しさん [2005/11/11(金) 15:05:20 ]
質問です。

データグリッドで、1つのセルに文字を打ったとき、
打たれた文字を判別することはできますか?

データベースと連携させていて、aと打たれたらaから始まるコード(商品コードなど)を
そのセルの部分でコンボボックスで表示させたいのですが。

978 名前:デフォルトの名無しさん mailto:sage [2005/11/11(金) 22:33:10 ]
>>973
using

979 名前:デフォルトの名無しさん mailto:sage [2005/11/11(金) 22:54:59 ]
>>977
データグリッドの編集中のセルの正体はTextBoxだから
そのTextBoxへの参照を取得すればなんでもできるんじゃない?

TextBoxへの参照を取得する方法は・・・忘れたけど別に難しくないというか
裏技的なものは何もなく、なにかのオブジェクトのプロパティで明示的だったと思う。

ていうかデータグリッドの使い方紹介してるサイトなんていっぱいあるでしょ。
こんなところで質問しなくても。

980 名前:デフォルトの名無しさん mailto:sage [2005/11/11(金) 23:19:59 ]
>>968
常に全件を抱え込むオブジェクトならどっちで実装しても差は無いと思う。
けれど、Formで使用するマスタデータを管理するクラスなんかだと常に全件が必要なわけ
でもないからメソッドやプロパティが呼び出された時に初めて実際にDBへアクセスするとい
うProxyパターンを適用するのも一つのやり方。
Formを開くたびにマスタ読み込みで数秒待たされるというのはUIの設計としてもマズイ。




981 名前:最凶VB厨房 mailto:sage [2005/11/12(土) 09:38:46 ]
次のスレッドはこちら

VB.NET質問スレ (Part13)
pc8.2ch.net/test/read.cgi/tech/1131755402/






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

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

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