1 名前:デフォルトの名無しさん mailto:sage [2009/11/19(木) 10:06:09 ] 前スレ VB.NET質問スレ(Part31) pc12.2ch.net/test/read.cgi/tech/1250930696/l50 テンプレは >>2-4 あたり
263 名前:デフォルトの名無しさん mailto:sage [2009/12/03(木) 08:21:45 ] さすがにメンテ云々までMSのガイドラインは無いんじゃないかな? もし、あったらごめんね
264 名前:デフォルトの名無しさん mailto:sage [2009/12/03(木) 09:28:19 ] VB.NETっていきなりWindowsアプリじゃなく C言語が一番最初コマンドプロンプトでprintfだのから始まったように初歩の初歩から学べないの?
265 名前:デフォルトの名無しさん mailto:sage [2009/12/03(木) 09:35:51 ] >>264 プロジェクト作成時に、コンソールアプリケーションを選べばいいと思います。 場合によっては、VB.NETから離れて、BASICを学ぶという選択肢で考えた方が いいかもしれません。
266 名前:デフォルトの名無しさん mailto:sage [2009/12/03(木) 09:45:00 ] そもそも Visual なのだから、基本はフォームにコマンドボタンと テキストボックスを配置して、コマンドボタンクリック時のイベントに コードを書いていくというのが、初歩という考え方でもあると思う。 (GUIを作るまでの過程がマウスによる操作で出来るので簡単っていう 意味合いで、Visualです。)
267 名前:デフォルトの名無しさん mailto:sage [2009/12/03(木) 10:07:59 ] とりあえずこれで ' save hello.vb module Program sub main Console.WriteLine("Hello World !") end sub end module vbc hello.vb hello
268 名前:デフォルトの名無しさん mailto:sage [2009/12/03(木) 10:39:07 ] デバッグはドM作業っていうのがよくわかったよ 2時間悩んでもわからなかったのに寝て起きたらあっさり見つかったり
269 名前:デフォルトの名無しさん mailto:sage [2009/12/03(木) 11:57:53 ] 俺はシャワーのとき解決策を思いつくよ
270 名前:デフォルトの名無しさん mailto:sage [2009/12/03(木) 12:05:12 ] 俺はいつも丑三つ時に閃くな
271 名前:デフォルトの名無しさん mailto:sage [2009/12/03(木) 14:40:33 ] 正規表現難しいな 数字の桁数が定まってないのは\dでは探せないしなぁ
272 名前:デフォルトの名無しさん mailto:sage [2009/12/03(木) 14:44:14 ] いつからここは愚痴をいうスレになり下がったんだ?w
273 名前:デフォルトの名無しさん mailto:sage [2009/12/03(木) 15:20:31 ] オレは、トイレ入ってる時だな。。 一番思いつくのは
274 名前:デフォルトの名無しさん mailto:sage [2009/12/03(木) 15:56:25 ] >>271 +とか*の量子指定じゃ駄目なの? せっかくの質スレなんだから聞いてみろよw
275 名前:デフォルトの名無しさん mailto:sage [2009/12/03(木) 17:08:18 ] 質問 homepage1.nifty.com/rucio/main/kiso/Scope.htm このサイトを読んでいたのですが、「2.適用範囲」の Friend を 使う場合はどんなケースであるのがいまいちわかりませんでした。 同じプロジェクトであればということですが、基本的にモジュールは 自分が今作成しているプロジェクトに組み込んで使うものではないの でしょうか。 例えば、AさんがJisakuクラスを作成し、Jisaku.vbファイルに保存。 それをBさんが、新規プロジェクトを作成し、Jisaku.vbファイルをその プロジェクトフォルダの中にコピーしてForm.vbを記述。 Cさんが自分のPCにて、それとは別に新規プロジェクトを作成し、 Jisaku.vbファイルをそのプロジェクトフォルダの中にコピーして Form.vbを記述。 という感じにやるのだと思っていたのですが、この考え方が間違いなのでしょうか。
276 名前:デフォルトの名無しさん mailto:sage [2009/12/03(木) 17:40:01 ] >>275 プロジェクト内でも間違いではないが、同一アセンブリ内というのが正確だな。 アセンブリが異なれば例え同じ名前のクラスでも別のクラスという扱いになる。 .NETでは基本的にソースレベルでコピーや共有はしない。
277 名前:デフォルトの名無しさん mailto:sage [2009/12/03(木) 19:01:37 ] >>263 レスありがとうございます。 使う人が使い方を間違えないような感じの名前をつけておきたいと思います。
278 名前:デフォルトの名無しさん mailto:sage [2009/12/03(木) 19:18:40 ] 現在VB.NET2005にて データベースの接続及びSQL文発行を行う DLLを作成しており、 接続には『SqlDataReader』を使用しています。 Transactionを指定しない場合に 排他制御がどのように行われているのか、がわかりません。 一切排他が行われないのでしょうか? また、排他制御を実装する場合はどのようにすれば良いのでしょうか? 行いたい制御としては、 @データ取得中(SELECT)にデータ更新を抑止する Aデータ更新中(INSERT/UPDATE/DELETE)にはデータの取得/更新を抑止する です。
279 名前:デフォルトの名無しさん mailto:sage [2009/12/03(木) 19:42:34 ] データベースによる
280 名前:278 mailto:sage [2009/12/03(木) 19:47:40 ] >>279 すみません、書き忘れました。 使用するデータベースは 『SQLServer2005 Workgroup Edition』です。
281 名前:デフォルトの名無しさん mailto:sage [2009/12/03(木) 19:49:24 ] その質問の答えは回答者による。
282 名前:デフォルトの名無しさん mailto:sage [2009/12/03(木) 19:52:59 ] SqlDataReader では接続できないんだが (SqlDataConnection だろ、ってのは置いといて) MS SQL Server の Isolation Level の設定次第。
283 名前:デフォルトの名無しさん mailto:sage [2009/12/03(木) 20:04:11 ] select * from tab with(xlock)
284 名前:デフォルトの名無しさん mailto:sage [2009/12/03(木) 20:04:14 ] >>278 とりあえず元スレに移動したことを書いとけよ。 マルチとかいわれんぞ。
285 名前:デフォルトの名無しさん mailto:sage [2009/12/03(木) 21:19:35 ] 皆プログラミングになんのエディタ使ってる? 俺はPCがカスだから動作が重いけど楽で便利だからVBの統合開発環境をそのまま使ってるんだけど
286 名前:デフォルトの名無しさん mailto:sage [2009/12/03(木) 21:21:43 ] VBでVB使わないとかただのアホかマゾ
287 名前:デフォルトの名無しさん mailto:sage [2009/12/03(木) 21:24:04 ] メモ帳でやりたいけどやり方わからんから仕方なくVisual Basic 2008 Express使ってる
288 名前:デフォルトの名無しさん mailto:sage [2009/12/03(木) 21:26:29 ] edlin
289 名前:デフォルトの名無しさん mailto:sage [2009/12/03(木) 21:35:22 ] .NETのクラスライブラリの糞長い型名やメンバ名なんかいちいちタイプしてられるか もともとインテリセンス前提で作られてるんであってPythonみたいな書きやすさ重視の言語とはわけが違う
290 名前:デフォルトの名無しさん mailto:sage [2009/12/04(金) 07:50:49 ] >>276 レスありがとうございます。 分かりやすい説明でした。
291 名前:デフォルトの名無しさん mailto:sage [2009/12/04(金) 09:34:54 ] ランダム関数についての質問です。 ランダムに数字を取得する方法は、googleで検索するとすぐに 出てきたりしますが、(例えば以下のサイトなど) www.atmarkit.co.jp/bbs/phpBB/viewtopic.php?topic=21547&forum=7 ある数字の幅を指定して、その範囲で数字を1回ずつ重複せずに取得する ことはできないのでしょうか? (同じ数字であるかのチェックを行うプログラムを書いて工夫をする しかないのでしょうか) (例)0〜5の数字をランダムに取得する 1回目:2 2回目:1 3回目:4 4回目:0 5回目:3 6回目:5 このような感じに数字が取得でき、6回目の数字の取得まで、 一度出た数字が重複することが無い。
292 名前:デフォルトの名無しさん mailto:sage [2009/12/04(金) 09:45:05 ] dobon.net/vb/dotnet/programing/arrayshuffle.html 「シャッフル」というキーワードで調べてみるとよかったようですね。 自己解決しました。
293 名前:デフォルトの名無しさん mailto:sage [2009/12/04(金) 09:49:11 ] 年末ジャンボシミュレータ作る気ですね? 解ります。(゚ー゚ )(。_。)(゚ー゚ )(。_。)ウンウン 私も考えたのですが、どっかにメモしておくしか考えつかないです。 数学板かアルゴリズムのスレで聞いてみようかと思ってました。
294 名前:デフォルトの名無しさん mailto:sage [2009/12/04(金) 14:17:31 ] 質問です。 VB.NETの変数には、値型と参照型がありますが、変数にこういう二つの 概念を持たせて、プログラミングの際に使い分けをさせたりするメリット とはどういうものがあるのでしょうか? homepage1.nifty.com/rucio/main/dotnet/shokyu/standard34.htm 実際にプログラミングをする際に感じるものがいまいち見えませんでしたので 質問をしてみました。こういうプログラミングをしてみるとわかるよという ものの紹介でも結構です。よろしくお願い致します。
295 名前:デフォルトの名無しさん [2009/12/04(金) 14:22:59 ] 未定のType変数を用意し、それを後から必要に応じてセットしてから 後でそれを使ってオブジェクトを設定したい場合、 たとえば Dim TypeA as Type = GetType(Integer) ・・・ Dim ObjectA as TypeA = CType(obj, TypeA) ・・・・・(*) このようにすると(*)でエラーします。こういう使い方はNGのようで、 どういう仕方で行なうものか教えてください。
296 名前:295 [2009/12/04(金) 14:25:05 ] (*)ではコーディング状態で「TypeAは定義されていない」となります。
297 名前:デフォルトの名無しさん mailto:sage [2009/12/04(金) 14:32:16 ] >>294 値型の理由は主にパフォーマンス ただし分かって使わないと却って悪化する 自分で定義する分には値型を作ることは(列挙体以外)まずないよ >>295 Dim ObjectAのところでTypeAはプログラム上確定してないんだろ? 実行時に初めて確定する ならTypeAにキャストしてどうするの? 何もできないじゃん?
298 名前:295 [2009/12/04(金) 14:43:11 ] >>297 >Dim ObjectAのところでTypeAはプログラム上確定してないんだろ? そうなんですが、たとえば、親のオブジェクトからプロパティで型を受け取って それを使ってキャストしたいと思いました。それで元々定義されたメソッドを 子の方で叩くなどしたいと。こういうのは無理なものですか?
299 名前:デフォルトの名無しさん mailto:sage [2009/12/04(金) 14:55:25 ] だからさ、TypeAが何型かコーディング時に分からないのに、 どうキャストすんのよ? VBならレイトバインドでも使っとけ。 おすすめしないけど。 何がしたいか具体的に書けばもっと真っ当な方法がある可能性が高い。
300 名前:295 [2009/12/04(金) 15:23:55 ] >>299 コーディング時には実はわかっているのですが、クラス型は親の方で宣言して おきたく、子の方はいろんな種類があって実行時に型を受け取りたいということ でした。 ただ、どうも(*)という方法自体が不可能なような感じですかね?Type型のもので オブジェクトを宣言したりキャストすること自体が間違いなのかなあ・・・
301 名前:デフォルトの名無しさん mailto:sage [2009/12/04(金) 16:12:35 ] 親が分かってるからとかそういう問題じゃないんだ。 コーディング時にってのは子のコーディング部分で分かってるかって意味だ。
302 名前:デフォルトの名無しさん mailto:sage [2009/12/04(金) 16:19:09 ] マウスカーソルがフォーム上の指定した座標上に移動したときに その座標にグラフィックが描画されるようにしたいのですが、 そのようなイベント(?)はあるのでしょうか? どのようにすればいいのでしょうか? 現在はピクチャーボックスとマウスエンターイベントで実現しているのですが、 たくさんのピクチャーボックスを使うとものすごく重くなってしまうそうで ダメと言われてしまいました。
303 名前:デフォルトの名無しさん mailto:sage [2009/12/04(金) 16:20:26 ] ひとつのピクチャーボックスでいいだろ なんでたくさん使うの
304 名前:デフォルトの名無しさん mailto:sage [2009/12/04(金) 16:28:33 ] ポトペタ脳ってうざいよね
305 名前:デフォルトの名無しさん mailto:sage [2009/12/04(金) 16:30:37 ] >>303 レスありがとうございます 現在はフォームにフォームのクライアント領域と同じ大きさのピクチャーボックスをすでに貼り付けていて その上に一個ずつ麻雀牌のピクチャーボックスを貼り付けている形になっています。 麻雀パイにマウスエンターすると牌が浮き上がって見えるようにしたいのですが、 これもひとつのピクチャーボックスで実現できますか?
306 名前:デフォルトの名無しさん mailto:sage [2009/12/04(金) 16:32:37 ] >>302 こんな感じで領域を指定するんじゃないの? If MousePosition.X > 250 And MousePosition.Y > 250 Then Me.PictureBox1.BackColor = Color.Aqua Else Me.PictureBox1.BackColor = Color.Blue End If
307 名前:デフォルトの名無しさん mailto:sage [2009/12/04(金) 16:37:10 ] データとビューはわけろよー
308 名前:デフォルトの名無しさん mailto:sage [2009/12/04(金) 16:44:26 ] >>300 CType や DirectCast は「型名」を指定するものであって、 Type型で指定するわけじゃない。 >キャストすること自体が 動的な型変換は面倒だぞ。 つ[TypeDescriptor.GetConverter]
309 名前:デフォルトの名無しさん mailto:sage [2009/12/04(金) 16:48:26 ] >>305 MouseEnter と MouseLeave のときだけ捕まえて描画したらええやん。
310 名前:デフォルトの名無しさん mailto:sage [2009/12/04(金) 16:49:29 ] >>308 たぶん型変換したいわけではなくてどっちかというとレイトバインディングの方だと思う
311 名前:295 [2009/12/04(金) 16:55:31 ] >>308 >CType や DirectCast は「型名」を指定するものであって、 >Type型で指定するわけじゃない。 やっぱりそうだったのですか。わかりました。ありがとうございます。 >動的な型変換 >TypeDescriptor.GetConverter こういうものがあったのですね。勉強します、またよろしくです。
312 名前:295 [2009/12/04(金) 17:00:55 ] >>301 >>310 >レイトバインディング 子のコーディング時にも親を見ているのでわかっているのですが、 子の方ではそのクラスを宣言できないので、クラスの宣言自体をオブジェクト にして受け取りたいということなのでした。しかしそういうことは簡単では なさそうな感じので、とりあえず別の方法も考えてみます。
313 名前:デフォルトの名無しさん mailto:sage [2009/12/04(金) 17:01:39 ] >>305 がイメージしていることって、例えて言うと、ホームページで Flashでデザインされたメニューのようなものか? マウスを動かすとリアルタイムでボタンの色や形が若干変わるという。
314 名前:デフォルトの名無しさん [2009/12/04(金) 17:30:16 ] あるイベントに対して、すでになんらかのハンドラが AddHandler されていることを知るにはどうすればよいでしょう?それらを全て 列挙することはできるでしょうか。
315 名前:デフォルトの名無しさん mailto:sage [2009/12/04(金) 17:35:57 ] できないと言っていい そもそもそんなのが必要になるのってどんなときよ
316 名前:デフォルトの名無しさん mailto:sage [2009/12/04(金) 17:44:26 ] ListBox を Form に貼り付けてプログラミングする場合の質問です。 ListBox は、1行につき1件のデータしか表示出来ないのでしょうか? Access の場合は、ListBox に対してテーブルそのものを貼り付けることが 出来、さらに1件目のデータを非表示にしておいて、クリックした時に そのデータを取得するということもできたりしたのですが、 そういったことができなさそうなので確認のため、書き込みました。
317 名前:デフォルトの名無しさん mailto:sage [2009/12/04(金) 17:47:51 ] [質問] Panel の中に複数の RadioButton を貼り付けた場合、 現在、どの RadioButton が選択されているかをチェックするには、 Panel のプロパティからでは確認は出来ない? 貼り付けているすべての RadioButtion において If Me.RadioButton1.Checked = True Then みたいなコードを書いてチェックするしかない?
318 名前:デフォルトの名無しさん mailto:sage [2009/12/04(金) 17:51:00 ] >>316 標準のListBoxはそう まあListBoxだってDataTableをDataSourceにして DisplayMemberとValueMemberを指定するぐらいならできる それで不満ならネットでMultiColumnListBoxでも探せば
319 名前:デフォルトの名無しさん mailto:sage [2009/12/04(金) 17:53:40 ] >>317 うん まあ関数化しとけば便利だね >>316 ListViewとかDataGridViewとか使うのは?
320 名前:デフォルトの名無しさん mailto:sage [2009/12/04(金) 17:54:11 ] >>318 すばやい回答ありがとうございました。 とりあえずは DisplayMember と ValueMember を使う方法でやってみます。 それでうまくできない場合は、紹介していただいたコントロールや Grid を使うなど別な方法を検討してみます。
321 名前:デフォルトの名無しさん mailto:sage [2009/12/04(金) 17:57:26 ] >>319 回答ありがとうございます。 紹介していただいた ListView とか DataGridView の機能について 詳しく調べてみます。 初心者にも親切にありがとうございました。
322 名前:デフォルトの名無しさん mailto:sage [2009/12/04(金) 17:58:58 ] arraylist(listbox.listindex)でいいじゃん
323 名前:デフォルトの名無しさん mailto:sage [2009/12/04(金) 18:07:24 ] >>322 arraylist を工夫して使えば、 listbox でクリックした名前に相当する 数値データを取得することが出来るっていう意味かな? ちょっと私の頭がついていけてなくてどういうコードを書いていけば いいのかのイメージはついていませんが、いろいろとやってみます。 ありがとうございました。
324 名前:317 mailto:sage [2009/12/04(金) 18:09:15 ] >>319 レスありがとうございます。独りで考えていて不安だったけれど、 他の人の考えを聞く事が出来てすっきりとしました。
325 名前:デフォルトの名無しさん mailto:sage [2009/12/04(金) 19:24:38 ] DataSetとDataGridでできるだろ。 DataGridViewじゃなくてDataGridな。