1read 100read
2013年01月プログラム74: VB.NET質問スレ(Part39) (656)
TOP カテ一覧 スレ一覧 2ch元 削除依頼 ▼
ニートの俺が何か開発して食いつなぐスレ (880)
MFC、Win32++を超えるライブラリを作るスレ (962)
新言語を開発したい (417)
人気プログラミング言語ランキング (778)
Ruby 初心者スレッド Part 50 (947)
プログラム板 自治スレッド Part5 (853)
VB.NET質問スレ(Part39)
1 :2012/06/28 〜 最終レス :2013/01/13 一応立てておいた 前スレ VB.NET質問スレ(Part38) http://toro.2ch.net/test/read.cgi/tech/1325083428/
2 : >>1 俺も建てようと思ってたから乙
3 : なにこの過疎?すごす・・・w
4 : おい、テンプレぐらいちゃんとつくれ 今の時代、小手先の技術=プログラマーじゃ飯くえねーぞ ばーか
5 : ちゅーことて手本を示してやるぜ ワイルドだろぅ〜 公式 Visual Basic デベロッパー センター: 開発 | MSDN msdn.microsoft.com/ja-jp/vbasic/ms789056 Visual Basic 2010 Express 日本語版 ダウンロード (無料) http://www.microsoft.com/japan/msdn/vstudio/express/ 入門・解説サイト Visual Basic/C# - @IT http://www.atmarkit.co.jp/channel/vbcs/vbcs.html DOBON.NET プログラミング道 - .NET Tips http://dobon.net/vb/dotnet/index.html C# と VB.NET の入門サイト http://jeanne.wankuma.com/
6 : 過去スレ(降順) VB.NET質問スレ(Part38) http://toro.2ch.net/test/read.cgi/tech/1325083428/l50 VB.NET質問スレ(Part37) http://toro.2ch.net/test/read.cgi/tech/1317448996/l50 VB.NET質問スレ(Part36) http://toro.2ch.net/test/read.cgi/tech/1301828549/l50 VB.NET質問スレ(Part34) http://toro.2ch.net/test/read.cgi/tech/1270998481/l50 VB.NET質問スレ(Part33) http://toro.2ch.net/test/read.cgi/tech/1263738929/l50 VB.NET質問スレ(Part32) http://toro.2ch.net/test/read.cgi/tech/1258592769/l50 VB.NET質問スレ(Part31) http://toro.2ch.net/test/read.cgi/tech/1250930696/l50 VB.NET質問スレ(Part30) http://toro.2ch.net/test/read.cgi/tech/1242522019/l50
7 : VB.NET質問スレ(Part27) http://toro.2ch.net/test/read.cgi/tech/1222612480/l50 VB.NET質問スレ(Part26) http://toro.2ch.net/test/read.cgi/tech/1212570454/l50 VB.NET質問スレ(Part25) http://toro.2ch.net/test/read.cgi/tech/1203650042/l50 VB.NET質問スレ (Part24) http://toro.2ch.net/test/read.cgi/tech/1197507828/l50
8 : MSDN http://msdn.microsoft.com/ja-jp/library/ms229284.aspx どぼん!のVB道のトップページとTipsページ http://dobon.net/vb/ http://dobon.net/vb/dotnet/index.html Insider.NET http://www.atmarkit.co.jp/fdotnet/index.html 宇宙仮面の C# プログラミング http://uchukamen.com/ .NET TIPS http://www.atmarkit.co.jp/fdotnet/dotnettips/index/index.html 緑のバイク ★ 初めてのC# プログラム全般 http://homepage3.nifty.com/midori_no_bike/CS/ VB.NETとC#でデザインパターン http://hccweb1.bai.ne.jp/tsune-1/ 匣の向こう側 http://www.ne.jp/asahi/nami/mei/index.html WisdomSoft http://wisdom.sakura.ne.jp/ じゃんぬねっと http://jeanne.wankuma.com/ どっとねっとふぁん - C# Tips And Samples - http://homepage3.nifty.com/dotnetfan/index.html http://dotnetfan.org/ C#プログラミングTips http://www.atmarkit.co.jp/fdotnet/csharptips/index/csharptips_index.html
9 : VB.NETはすげーな あれもできるし、これもできる
10 : まるっきり同じことをやっていても、なぜか簡単そうに見えるのがVBのいいところだよね ただし、VB6のPGがあーだこーだ口出ししてくる所は好きじゃない
11 : vbはifとかEndでくくるのをやめて欲しい
12 : >>11 それ俺も同じこと思った
13 : いいこと考えた{}で囲ったらわかりやすくね?
14 : >>11 バカだろ ネストが見やすいのがVBのいいところなのに
15 : VBで何が一番許せないかというと、Meが一番嫌だな thisと比べると気持ち悪い気がする 最近、すごいことに気がついたんだけど フォントをCourier NewにするとVBなのに凄くかっこいい言語に見えるから不思議
16 : >>14 あれがあるから見づらいんだよw C#みたいに{}でくくれば良い
17 : じゃあC#やっててくれよw
18 : 今わ2012年なのにVBわ2010とゆーことわ?
19 : C#にもSelect Case文があれば、以降するんだけれどね。 なんでツケないんだろう・・・
20 : >>17 やってるよw >>19 え?switch …
21 : switch case は Select Case に置き換えられるけど、 Select Case は switch case に置き換えられない場合がある。
22 : breakの記述が強制されるからswitchがSelect Case相当になっても微妙にうれしくない
23 : >>21 > Select Case は switch case に置き換えられない場合がある。 例えば?
24 : Case 1 To 4 Case GetType(String)
25 : >>23 select caseは、引数に数字以外が指定できる。それこそ条件も可能。 対して、switch caseは数字のみ。 なんで、非常に使い勝手が悪い、
26 : 条件に指定できるのを適当に書くとこんな感じか。 switch case : 整数と文字列、しかも定数のみ Select Case : なんでもOK
27 : >>26 C#で使えるようなクラスでもなんでもあったらすごく助かるよ。 定数化するために、ルーチンを別途用意しないといけないのが、移植の際に 辛い。
28 : >>25 > 対して、switch caseは数字のみ。 使った事ないのね >>26 > switch case : 整数と文字列、しかも定数のみ 定数ってなんだよw 列挙型の事か? switch は変数だろうが条件だろうが指定できる select case と何ら変わらないよ
29 : >>28 > 定数ってなんだよw > 列挙型の事か? つ CS0150 > switch は変数だろうが条件だろうが指定できる select case と何ら変わらないよ つ CS0151
30 : >>29 このエラーの意味分ってる? 未初期化の配列指定したり、キャストしなかったり、voidメソッド指定してエラーとか当り前 これはやっちゃいけない書き方、だからエラーになるの switchが〜selectが〜以前の問題 本来はVBでも、ダメなんだけど暗黙的に初期化やキャストが行われてるから通ってるだけ まずは Option Strict を ON にするクセをつけよう
31 : ……間違いを認めるのは恥ずかしいことじゃないよ
32 : 何の話をしてるよかよく分からんけど、VBのSelect...CaseとC#のswitch...caseって 結構違うのは確かだよ。 例えばC#のcaseの後にはswitchの()の中の値と比較(==)する定数式を一つしか書けないが、VBの場合はCaseの後は 定数式である必要もないし、比較する値は複数でもよいし、そもそも==以外の評価もできる。
33 : >>32 それは、本来IFで書く事を無理やりselect caseにハメて書いてるだけの事 通常の書き方していればswitchもselectも同じ事ができるし これに関してC#ユーザーが文句言った事ないだろ? それはコード書いてて困る事がないからだよ
34 : 言ってる事に無理がありすぎて悲しくなってくるな
35 : >>33 だから何の話をしてるの?何の話がしたいの? 俺は単に両者の機能には違いがあるといってるだけ。 現にある機能に無理矢理も糞もあるか。そんなのあんたの価値判断だろう。 馬鹿じゃないのか。
36 : 面白いのは、switchは上記のようにC#がシンプルでVBの方がよく言えば柔軟、悪く言えば無駄に多機能なんだが、 forに関してはVBの方がシンプルになってる。 >>33 みたいな人は、C#(というよりC系統の言語)のfor文を指して「本来whileで書くことを 無理やり(ママ)forにハメてるだけの事」とか言うのかしらんw
37 : C#ユーザーが文句言わないのはC系言語はそれが普通だからというのが一番の理由だろうな まあif並べるのと変らないから実質別に困らないのも事実だが
38 : C系のswitchってコンパイラに最適化を促すための目印に過ぎないからな VBのselect caseとはわりと意味的にも違うと思う
39 : でもVB.NETで書いたコードをC#に置き換える時 C#にはSELECTがないから無理ーとはならない
40 : まあ変換でどっちが難しいかといえば圧倒的にVB->C#なんだけどな 言語的な意味でもコードの質的な意味でも
41 : なるほど目印か
42 : VB.NET も C# も若干書き方は違っても最終的な IL は同じ 結局俺らは .NET Framework サブセットの中で騒いでるだけなのさ
43 : DataGridViewについて質問があります。 DataGridView1.DataSource = prDs.Tables(0) Table(0)には、 からむ1 からむ2 からむ3 があるとします。 からむ2の列の型はBooleanで、チェックボックスとなっています。 このチェックボックスがTrueの場合は、"済"を、 そうでない場合は、""を入れたい、 要はDatagridViewのからむ2の列のセルの型をstring型に変更したいのですが 型を変える方法をご教授下さい。 DataGridViewTextBoxColumn型のカラムを追加すれば実現が可能のようですが、 元々datasetで定義しているからむ2を抽出して抽出したからむ2 の型を変更するような方法はないでしょうか? 宜しくお願いします。
44 : エディットコントロールはチェックボックスにして表示はテキストボックスにするって事?
45 : データはPostgresから抽出してきています。 指定したテーブルからSELECT文で抽出するのですが、 からむ2に該当するデータがTRUE、FALSE表記となっており、 抽出したデータを構造体に編集し、 編集した構造体をDatagridView.DataSourceに編集し 表示しています。 そのチェックボックス(Boolean型)の表示をString型に型変換して表示するように 変更したいのです。 表示はテキストボックスにして、
46 : C#のネイティブコンパイラが欲しいな ソース丸見えとか
47 : スレチ ngen
48 : >>45 AutoGenerateColumns = falseにして手動で全列追加ですな 独自の構造体扱ってるのが良く見えないが DataSetかDataTable使った方が楽な気はする
49 : Net Frameworkになってから CプログラマもVBプログラマも等価になったんでしょ?
50 : 今日VB.NETでラムダ式書いた... これだけは、C#に合わしてほしかったわ
51 : 質問です VB2010でアプリを作ってるんですが、フォームに配置したボタン(ボタンAとします)にフォーカスが合っている時にスペースキーを押すと、 Aが押された時のイベントプロシージャが意図せず実行されてしまい困っています Aはマウスでクリックするかフォーカスが合っている時にEnterキーを押すかのどちらかでしか機能しないようにしたいんですが 何かいい方法はないでしょうか? ↓のような、ボタンAのKeyDownイベント発生時にSuppressKeyPressプロパティをTrueに変更するコードではうまくいきませんでした Private Sub Button_KeyDown(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyEventArgs) Handles Button1.KeyDown e.SuppressKeyPress = True End Sub
52 : >>51 適当に書くとこんな感じか。 Private Sub Button_KeyUp(ByVal sender As Object, ByVal e As KeyEventArgs) Handles Button.KeyUp If (e.KeyCode = Keys.Enter) Then Button_MouseClick(Button, New MouseEventArgs(MouseButtons.None, 1, Button.Location.X, Button.Location.Y, 0)) End If End Sub Private Sub Button_MouseClick(ByVal sender As Object, ByVal e As MouseEventArgs) Handles Button.MouseClick クリック時に実行したいコード End Sub これでマウスとEnterキーにしか反応しないように出来るべ。 Clickイベントには何も書かないように。
53 : >>52 サンクスです Clickイベントに何も書くなということですが、このClickイベントとは>>52 のMouseClickイベントではなく、 デザイナー上でボタンAをダブルクリックした時に自動生成されるClickイベントのイベントプロシージャには 何も書くなという意味でいいでしょうか?
54 : と思ったけど自己解決しました >>53 の考え方で合ってたっぽいです おかげで上手くいきました しかしこのくらいボタンのプロパティとかでサクッと設定できるようにして欲しかったなぁ・・・
55 : 一般的な操作から逸脱しようとしたら、自分で工夫するしかないさ。
56 : スペースでボタンクリックできないなんて標準に全く沿わない操作なんかどうでもよし
57 : コマンドボタンのMouseClickイベントなんて滅多に使わないからね
58 : サブフォルダの名前一覧を取得したいのですが ネットワークで接続された他のPCの共有フォルダを対象とした場合 どういった処理をさせれば良いでしょうか。 Directory.GetDirectoriesメソッドやGetSubfoldersメソッドでは 取得できませんでした。 他のPCへはエクスプローラからなら認証なしで接続可能な状態です。
59 : GetSubfoldersってのは知らないけど、 Directory.GetDirectoriesで普通に取得できるな。
60 : >>59 確認してくれてありがとうございます。 Directory.GetDirectoriesで可能とのことなら ネットワークの設定に問題があるのでしょうから そちらを確認してみます。
61 : >>60 ですが、原因わかりました。 サブフォルダ内のファイルが多いと 取得に時間がかかるようです。 サブフォルダ自体は18個しかないのですが。 3分ほど待ってたら取得できました。 ありがとうございました。
62 : 自演も甚だしいなw ttp://rucio.cloudapp.net/ThreadDetail.aspx?ThreadId=10912
63 : 古い仕様で申し訳ないのですが COMについて分かりやすく解説してあるサイトか書籍をご存じないでしょうか? 旧VBの時代には使われていたようですが・・・ よんどころない事情でCOMを覚えるハメになったのですが 手がかりなしに覚えられるほど優秀じゃないので>< 猿でも分かる程度に噛み砕いた本かサイトをご存知ないでしょうか?
64 : 前あったけど消えてるな
65 : と思ったけどあった http://atata.sakura.ne.jp/
66 : ありがとうございます
67 : >>63 俺の本棚に、こんな本があるな 日経BPソフトプレス Microsoft Visual Basic 6.0 コンポーネント プログラミング ISBN4-89100-071-6 今でも入手できるかどうかは知らんが、VB6でやるんでなければ買うほどの価値はないかも
68 : ListBox1.Items.Item(i) ListBox1.Items(i) どっちがええの?
69 : コードの見やすさと量の違いだけ。
70 : >>55 >一般的な操作から逸脱しようとしたら、自分で工夫するしかないさ。 経験上、一般的な操作から逸脱することをやたらと顧客が強要してきたらデスマフラグだな。 無理だと言っても、偉そうな奴が出てきて「金出してるんだから言われたように作れ」とか騒ぎだすw
71 : 無茶させた事を忘れて、さらに仕様変更とかあるよね
72 : 「やれ」って言われてその通り作ったら、「なんでやったの?」って言われた事がある。
73 : そんなの自業自得。 仕様を口頭でやり取りして文章も残さないってどんだけ素人仕事なんだよ。
74 : 新システム構築プロジェクト 第625回打ち合わせ議事録 (〜中略〜) お客A「あっ!今のはオフレコで、議事録に書かないでね。」 担当B「はい。了解しました。」 (〜中略〜) ・本日の決定事項 D画面の仕様は〜とする。 〜の件はオフレコとする。
75 : AM1:00:00になったら、画面にメッセージを出す処理を 作りたいと思いました。 ア)timerのインターバルを1秒に設定して、毎秒AM1:00:00になったかチェックする イ)AM1:00:00から今の時間を差し引いて、AM1:00:00間での時間を求め、 その時間をインターバルにセットする。 この2つが浮かんできたのですが、他にいい方法はないでしょうか。 言い方がおかしいかもしれませんが、timerに直接、「AM1:00:00になったら起動」 という設定方法はないですよね?
76 : タスクスケジューラを使うのが定石
77 : >>75 タイマーで頑張るんじゃなくて、Windowsのタスクスケジューラで その時間にプログラム起動するのオヌヌメ
78 : >>75 俺ならアだな
79 : タスクスケジューラがいいと思うけど、タイマ使うならWinFormsのタイマじゃなくて System.Timers.Timer使えよ
80 : 普通のフォームアプリケーションですが 普段使わないフォームを開くとHDDがアクセスしまくって 時間がかかります。これはフォームをコンパイルでも しているんでしょうか? 初回起動が遅いのはいいのですがフォーム単位でまで 初回起動が遅いのはいかがなものかと思うのですが
81 : HDDアクセスがボトルネックになっている場合、コンパイルは全く関係ない 嘘だと思うならNGenを試してもいいけど、たぶん改善しない 単にディスクからコードやリソースを読み込むのに時間がかかっている可能性が高いからな 普段使う方のフォームが開かれている間にバックグラウンドでロードするようにしたら? フォーム開かなくても、別のスレッドでGetType(普段使わないフォーム).Assembly.GetTypes()とかやればロードされるよ
82 : >>81 なるほどー。 じゃあメインフォームが起動したらスレッド起こして その中で全フォームgettypesしてみます。
83 : すいませんが、助けてください。 1つのフォームの中にWebbrowserを2個貼り付け、URL1,URL2をそれぞれ参照しています。 URL1のWeb参照が出来なくなるとメールを送信してWebが見えなくなった事を知らせて 自分自身をMe.Close()し5秒waitしてから、Loadイベントで再度Webbrowser.Navigate()する Web監視ソフトを作りました。 長時間URL1が見えなくなると何度もMe.Close()、Webbrowser.Navigate()を繰り返すことに なり、やがて勝手に別のIEが立ち上がってくるのです。 このIEが立ち上がってくるのを抑止したいのですが、どうやってもうまく行きません どなたか知恵を貸してください 試しにWebbrowserを1個にすると、何度もMe.Close(),Webbrowser.Navigate()を繰り返しても IEは立ち上がってきません。 なぜこのような動作になるのでしょう?よろしくお願いします。 WindowsXP SP3 + VB2010expressです。
84 : とりあえずwebbrowserコントロールで監視ってのがいまいちすぎる
85 : 勝手に別のIEが立ち上がってくるって、エロサイトか?
86 : さすがにクソすぎる お願いだからWebRequestを使ってくれ
87 : >>83 なんかよくわからないが、closeしきれてないうちに Webbrowser.Navigateしようとするからとか・・・ フォームのインスタンス自体消すようにme.disposeするとか formclosedイベント内でWebbrowser.Navigateしてみてどうなるか?
88 : >>83 なぜこのようなアプリを作るのでしょう?よろしくお願いします。
89 : なぜかVBって文法覚えられないよね C系の言語だとVBより細かい所まで覚えているのに
90 : 質問です メインのフォームでOpenFileDialogを使ってCSVファイルを読ませ、別フォームを開いてそこで逐次 CSVファイルの行を読み込みながら処理を行うアプリケーションをVB2010で作ってます 使用時にCSVファイルのフォーマットが想定外のものを間違って読ませてしまう可能性があるので、 TryステートメントのCatchにエラー発生時の例外処理を記述し、そこで使用していたオブジェクトを Disposeした後Me.Close()でフォームを閉じてメインフォームに戻すようにしたいのですが、実際に リリースビルドして不正なCSVファイルを読ませてみると 「オブジェクト参照がオブジェクト インスタンスに設定されていません。」 という例外発生のダイアログボックスが出てきます 試しにCatchのDisposeしている部分を削っていきなりMe.Close()すると意図した動作(ダイアログとかが 出ずにそのままフォームが閉じてメインフォームに戻る)になるんですが、実際のところDisposeしないで いきなりMe.Close()してしまっても問題ないんでしょうか?
91 : オブジェクトがあったらDisposeするようにしたらいい
92 : >>91 オブジェクトはいくつか使ってるんで最初はDispose() → Me.Close()するようにしてたんですが、 そうすると>>90 で書いた例外のダイアログボックスが出ます 一応使われてるオブジェクトは ・画面表示に使うfontオブジェクト数個(変数font) ・画面表示に使ったグラフィックスオブジェクト(変数g) ・CSVファイル読み込みに使ったStreamReader(変数sr) なんで、Catchの部分を Catch font.Dispose() g.Dispose() sr.Dispose() Me.Close() Finally と記述してます Dispose()の行を削ってMe.Close()だけにすれば表面上の動作は意図した通りになるけど、 それだとオブジェクトの解放処理がちゃんとされてるのかどうか分からなくて
93 : オブジェクトのインスタンスがあったらの間違いだった
94 : UsingつかえUsing
95 : 無いものをdispose出来る訳がないだろうに… つーかdisposeはfinallyに書くもんだろに
96 : 全体的に見直そう 1.Disposeは呼び出し元でするもの 2.Disposeはクローズ後にするもの 3.Disposeが必要なメンバの解放はFormのDisposeをオーバーライドしてその中で行なう 4.モーダルフォームならDisposeの手動呼び出しが必要。モードレスなら不要。
97 : 非同期処理なんだけど backgroundworkerとtaskどっちつかえばいいのん? やりやすい方でいい?
98 : レスありがとうございます 前レスでは書き忘れてましたがsrはDisposeする前にCloseしてます srは複数のプロシージャにまたがって使い、それ以外のgやfontについては1つのプロシージャだけで使うので いろいろ試行錯誤してみた結果 ・Catch部分ではエラー発生フラグを立てるだけにする ・Try〜End Tryの後の処理は全部If〜End Ifの中に入れて、エラー発生フラグがFalseの時のみ実行 ・プロシージャの最後でgとfontをDispose ・エラー発生フラグが立ってたらMe.Close() ・クラス内にFormClosedイベントプロシージャを追加し、そのプロシージャ内でsrをClose→Dispose という記述に変えたら一応イメージした通りに動作するようになりました 正直腑に落ちない部分は残ってますが・・・ 自分としてはMe.Close()が実行されるとその場ですぐ終了処理が行われ、そのプロシージャ内のMe.Close() 以降のコードは無視されるものだと思ってたのですがひょっとして違うんでしょうか?
99 : 下記エラーが時々発生するのですが 回避する方法はありませんでしょうか? Clipboard.Clear() Clipboard.SetDataObject(txt_target.Text, True) 要求されたクリップボード操作に成功しませんでした。
100read 1read 1read 100read TOP カテ一覧 スレ一覧 2ch元 削除依頼 ▲
C言語なら俺に聞け(入門編)Part 111 (1001)
雑談スレ 4 (946)
C#で仕事ある? (816)
D言語 Part30 (915)
雑談スレ 4 (946)
バージョン管理システムについて語るスレ9 (312)
--log9.info------------------
■Windows8深夜発売イベントの盛り下がりに笑った (270)
Windows8でサクサク快適に動く99BASICとDarkBASIC (336)
[誤算] Nexus7馬鹿売れでSuface脂肪、思わぬ戦術ミス (359)
プラットフォーム・ウォーズ: MSXエミュレーターを動かす (342)
【警戒態勢発令】Windows Phoneの巻き返しに注意せよ【Apple信者に告ぐ】 2 (737)
発売間近。Windows 8関連製品の話題で盛り上がる。新製品ぞくぞく発表。 (350)
【セキュリティ】『Linux』を脅かす『Windows 8』のセキュア ブート機能(11/09/22) (350)
5年前のバルマーが言いました「iPhoneがそこそこの市場シェアを獲得する可能性はゼロだ。あり得ない」 (580)
120GバイトSSDが超特価の5980円…ショップからは困惑の声も (221)
MSはなぜ赤字にまで落ちぶれたのか?その原因を推測する。2 (253)
「無線LAN普及の父でもあった」、Steve Jobs氏の隠れた功績 (612)
オンキヨー、「世界初」Core i7搭載した11.6型Windowsタブレット (613)
新型Xbox360、旧モデルと同じくディスクにキズが付くことが明らかに (287)
【製品】MSの無償ウイルス対策ソフトウェア、Microsoft Update経由の配布に批判の声(10/11/09) (267)
IE10はWindows Vistaに対応せず (483)
【パクリ】マイクロソフト製スレートPC、Surface発表。メーカー死亡へ 3 (433)
--log55.com------------------
【食戟のソーマ】薙切えりな・えりな信者アンチスレ
【SB69】SHOW BY ROCK!!で男女カプを語るスレ
月姫 VS Dies irae
魔法先生ネギま!のSSを語るスレ4
【デュラララ!!】 まったりノマカプ萌え語りスレ
IDで高町なのはを倒すスレ 模擬戦48回目
【遊戯王GX】1〜3期を懐かしむスレ【白ズボン十代】
こんならきすたは嫌だ