VB.NET質問スレ (Part ..
271:デフォルトの名無しさん
06/11/15 11:57:32
質問させてけれ〜。
VS2003
VB.NET
.NET Framework1.1
で開発してるんだけども、VB6以前で比較的よく使われてたフォームの表示の仕方
Load frmObj
frmObj.Show
と同じようなことってVB.NETで出来ないかな?
過去同じような質問がでてれば、ポインタかキーワード
がもらえると助かります…。
272:263
06/11/15 12:21:30
>>269
そういう時は先生にエロ画像でも提供汁。気がきかねぇ。
Dim x As Integer
Dim y As System.Windows.Forms.SelectionMode = ListBox1.SelectionMode
'描画停止
ListBox1.BeginUpdate()
'選択解除
ListBox1.ClearSelected()
'複数選択可に変更
ListBox1.SelectionMode = SelectionMode.MultiExtended
For x = 0 To ListBox1.Items.Count - 1
If TextBox1.Text.Equals(ListBox1.Items.Item(x).ToString()) Then
ListBox1.SetSelected(x, True)
End If
Next x
'選択されている項目を削除
For x = ListBox1.SelectedIndices.Count - 1 To 0 Step -1
ListBox1.Items.RemoveAt(ListBox1.SelectedIndices(x))
Next x
'選択モードを退避前に戻す。
ListBox1.SelectionMode = y
'描画再開
ListBox1.EndUpdate()
273:デフォルトの名無しさん
06/11/15 12:31:38
>>271
もし、それがドトネトでできないなら、OOPとは言わない。
うんこから帰ってきたら、教えてやるよ。
274:デフォルトの名無しさん
06/11/15 12:36:59
>>272
Equalsが一番レスポンスがいいとか言ってるくせに
非常に無駄なことをしているように見えるのは俺だけ?
275:デフォルトの名無しさん
06/11/15 12:39:53
なんか馬鹿と馬鹿が争ってる感じだねw
このスレらしいけど。
.NETでは文字列の等価性の検査に= とか==演算子使え、っていうの自体は正論だけど
Equalsが気持ち悪いっていうのはどうかね。
気持ち悪いっていうのは不自然と言い換えていいと思うが、文字列の等価性が
=で検査できちゃうことの方が(便利ではあるが)不自然で気持ち悪いんだよ本来は。
それからコレクションのアイテムをシークして削除するときに
シークしてるループの中で直接削除しちゃうデザインっていうのはどうなの?w
ループカウンタをデクリメントで回すとかそういう問題か?
そういうのは普通、あらかじめ削除する(または逆に「削除せず残す」)アイテムのコレクションを
作成しておいてからまとめて削除(あるいは総とっかえ)するコードを書くでしょ。
276:263
06/11/15 12:52:49
本当にごめんなさい。
これですんでしまいました。
Dim x As Integer
For x = ListBox1.Items.Count - 1 To 0 Step -1
If TextBox1.Text.Equals(ListBox1.Items.Item(x).ToString()) Then
ListBox1.Items.Remove(ListBox1.Items.Item(x))
End If
Next x
ちょっと吊ってきます。
277:デフォルトの名無しさん
06/11/15 13:01:00
>>271
dim f As frmObj
’この時点で画面にあるコントロールのイニシャライズが走る。
Set f = New frmObj
#Region " Windows フォーム デザイナで生成されたコード "
↑この中のNewのメソッド(オブジェクトのコンストラクタ)が走る。
次に自分がフォームに事前にやらせたい処理、例えば、VBの頃に
ロードイベントに書いていたような処理をやらせたいのであれば、
その処理を外部に公開するメソッドとしてフォームに書いておいて
Set f = New frmObj
Call f.初期化処理
のようにメソッドをCallする。
もしくは、あまり進めないが、オブジェクトのコンストラクタ配下に書いても
処理は走る。
最後にShowすればおk。
278:271
06/11/15 13:03:52
ありがとう。助かったデス。
279:デフォルトの名無しさん
06/11/15 13:07:18
>>275
Items.RemoveAtによってSelectedIndicesも削除されるのを知ってて言ってるんだよな?
直接逆順ループでRemoveするのと何が違うんだ?
280:デフォルトの名無しさん
06/11/15 13:20:32
>>279
気にするな。
デザパタをちょっと勉強して、コードにデザインを持たせようと
してるようだけど、全てが当てはまるわけじゃない良い例がコイツ>>275
ちなみに、>>275はjava糞くせぇにおいがする。
C房はそんなことしない。
281:デフォルトの名無しさん
06/11/15 13:27:57
>275
定番中の定番なんだから、デクリメントで回せばいいって問題以外の何者でもないと
思うが。どうしてもインデックスループ中での削除が嫌ってのなら、効率は
落ちるが
Dim count As Integer
Do
count = ListBox1.Items.Count
ListBox1.Items.Remove(TextBox1.Text)
Loop While count <> ListBox1.Items.Count
とかもありだな。ListBoxで扱う量が大した事無ければ、実際には効率が
問題になることもないだろうし。
しかし、インデックスループがアレだからといいつつ、結局インデックスループを
してるし、意図がよくわからん。
282:デフォルトの名無しさん
06/11/15 13:46:21
>>264
こんなものに知恵なんか使うか、理屈ばっかりで頭は良くないな。
Dim i As Integer = 0
Do
If ListBox1.Items(i).ToString.Equals(TextBox1.Text) Then
ListBox1.Items.RemoveAt(i)
Else
i += 1
End If
Loop While (i < ListBox1.Items.Count)
283:デフォルトの名無しさん
06/11/15 15:05:46
>>282
志村・・・あ、アンカー・・・
それに、お前のコードよりもまだ>>281の方がマシ。
お前は理屈すら屁がついてる。
284:デフォルトの名無しさん
06/11/15 16:15:53
>275の9行目以降のような合理的というか効率的な(?)考え方ってどうやって身に着けるものなんでしょうか
なぜ>275のようにした方が良いのかという点からしてわかりませんが・・・
良い教科書無いかなぁ
285:デフォルトの名無しさん
06/11/15 16:18:07
>275を読んだ時点で書き込んだけど後についてるレス見ると>275が正しいとも云えないみたいですね
でも結局>284の質問は変わらないのでよろしくお願いします
286:デフォルトの名無しさん
06/11/15 16:19:41
すぐ教科書を欲しがるのは良くないですよ。
287:デフォルトの名無しさん
06/11/15 16:22:23
>>284
オブジェクト指向を身につけて、デザインパターンを勉強汁。
参考までに
URLリンク(www.objectclub.jp)
ガンガレ。
288:デフォルトの名無しさん
06/11/15 17:18:46
VB.netのくだしつスレが見当たらなかったからここで質問してみる
P2Pのチャットソフト作ろうと思ってるんだけど
使う両者が特定の人間ならIPでつながる?
289:デフォルトの名無しさん
06/11/15 19:19:16
URLリンク(up2.viploader.net)
URLリンク(up2.viploader.net)
290:デフォルトの名無しさん
06/11/15 20:10:30
>282
志村〜。やっぱ知恵は使ったほうがいいとおもうよ?
あからさまにバグってるぞ。
291:デフォルトの名無しさん
06/11/15 21:15:35
ループの中で要素数が変わるんじゃないか
292:デフォルトの名無しさん
06/11/15 21:23:22
つか、境界条件。
空のリストで動かせば一発。
293:デフォルトの名無しさん
06/11/15 21:24:11
空の境界。
ごめんなんでもない
294:デフォルトの名無しさん
06/11/15 21:28:26
>>272があほにしか見えない
295:デフォルトの名無しさん
06/11/15 21:29:29
本来=で比較できるのがおかしいって
本来ってなんだ本来って
296:デフォルトの名無しさん
06/11/15 21:36:56
>>295
いや、それに関しては否定できないと思う。
297:デフォルトの名無しさん
06/11/15 21:40:54
演算子のオーバーロードはデグレードなのか?
298:デフォルトの名無しさん
06/11/15 21:52:50
演算子のオーバーロードと言う言い方は良くない。
ちなみになんのことをいってるの?
299:275
06/11/15 22:01:19
>>284-285
正しい正しくないという問題というより、
どちらがシンプルで直観的であるか、あるいは応用が利くか、という問題だね。
まあどういう方法がより直観的かはあるいは意見が分かれるかもしれないけど、
応用度の方は自明だね。
例えば後から「文字列が一致するアイテムの前後のアイテムも削除する」という
仕様変更があった場合、>>261みたいなプログラマは困るんじゃないの?w
デザパタとか言ってる人がいるけど俺はいわゆるデザパタにこういうパターンが
あるのかどうか知らない。
ただある程度まともなPGならこういう場合は>>275のように考えるだろう。
300:デフォルトの名無しさん
06/11/15 22:04:21
>284-285
OOPらしくというなら、ListBox1に対し「○○をリストから消せ」と指示して
Itemsの何番目かとかの細かい話はListBox1にやらせる>281の方が、言ってることと
やってることがデタラメな>275よりずっと近いよ。
301:デフォルトの名無しさん
06/11/15 22:52:16
>>298
これの事を言ってるのだが。違うのか? スマンカッタ。Orz
URLリンク(www.microsoft.com)
302:デフォルトの名無しさん
06/11/16 01:06:01
根本的に後で修正がきかないような箇所ならともかく、
その時点で完全に変えてしまうようなコードの部分に
応用度を最初から用意しておくのは、悪くはないけど、
そうしないのが馬鹿みたいなのはどうか。
XPの理念にも反する。
303:デフォルトの名無しさん
06/11/16 01:35:04
応用にもなんにもなってない上に、>>272にしても>>282にしてもどっちも不必要に複雑にして
さらに副作用やらバグありやらだしなー。
悪くはないじゃなくて、率直に言ってダメコードの見本だ。
304:デフォルトの名無しさん
06/11/16 06:34:45
>>301
いやいや!
本当に演算子の\だの=だのをオーバーロードしてるね!
オレは2005はまだ案件も来てないし使ってないけど
こんな機能が追加されたのか〜・・・
う〜ん?2005のフレームワークを逆コンパイルすると
演算子のクラスでもあるのかな?
そこはちょっと興味ある。
305:275
06/11/16 08:15:10
>>302-303
まあ縁なき衆生は度し難しというからね。
俺は>>272とか>>282みたいなのが良いなんていってないしw
306:デフォルトの名無しさん
06/11/16 08:58:32
>>275
もうお前飽きたから、雑談がしたいなら雑談板にいけ
307:デフォルトの名無しさん
06/11/16 09:07:08
>>275
度し難しなのはお前。反論するならコードでも出してやるこった。
単なる俺様マンセーな話を続けるなら他所でやってくれ。
308:デフォルトの名無しさん
06/11/16 09:53:58
>>307 同意、書けるんだったら初めから書いてる罠。
と言うことで一件落着、次いってみよう。
309:デフォルトの名無しさん
06/11/16 12:41:36
こんな奴らばっかりだからVBプログラマは一段下に見られるんだよね。
馬鹿な癖に馬鹿を自覚してないし、物事をシンプルに考える能力がない。
Private Sub RemoveMatchItems(ByVal Text As String)
Dim aliveItems As New ArrayList
For Each item As Object In ListBox1.Items
If item.ToString <> Text Then
aliveItems.Add(item)
End If
Next
ListBox1.Items.Clear()
ListBox1.Items.AddRange(aliveItems.ToArray)
End Sub
まあ>>261のような考え方で書いたコードとどちらがより可読性があり
どちらがより仕様変更に強いかの判断は任せるよ。
まあその判断能力自体がビッグクエスチョンなんだけどw
310:デフォルトの名無しさん
06/11/16 12:49:17
>>309
何度も同じ事を言わせんなよ。
>>306-308
もう終わったんだよ。
バカなのか?
失せろ。
311:デフォルトの名無しさん
06/11/16 12:59:24
>309
あのさ、さんざん指摘されてるが、そのコードでは削除対象に含まれない
SelectedItem(s)とかもクリアされちゃうとか、リストビューが必要以上に
スクロールしちゃうケースが出てくるとかの影響なんかは理解してる?
実務経験が少ないのなら仕方ないけど、リストボックスみたいな
UIコントロールは見た目の動きも重要なんですよ。
312:デフォルトの名無しさん
06/11/16 14:59:21
だから>>309は一段下に見られちゃうってことでFA?
313:デフォルトの名無しさん
06/11/16 15:05:49
>>312
見ろよ。こいつ>>309
>馬鹿な癖に馬鹿を自覚してない
一段どころか、モノホンのバカなんだよ。
で、もうこの話題は飽きたんだ。
314:デフォルトの名無しさん
06/11/16 17:12:24
>>309
文字列どうしの比較はEquals()を使えって行ってるだろ。
まさかおまえ275と同一人物じゃないだろうな。
もういい、次、次、次。
315:デフォルトの名無しさん
06/11/16 17:47:11
エクアルスとか面倒なだけだろ
316:デフォルトの名無しさん
06/11/16 18:09:19
>>315
( ・ω・)・・・イコールだよ・・・・
317:デフォルトの名無しさん
06/11/16 19:51:39
>>314
Equals使えってじゃばじゃないし。
318:デフォルトの名無しさん
06/11/16 19:52:42
ポカリスエットとはちがうのか
319:デフォルトの名無しさん
06/11/16 19:55:34
>>318
それはアミノサプリだろ!
…???あれ????
320:デフォルトの名無しさん
06/11/16 20:14:02
エアリスのことかーーー!!
321:デフォルトの名無しさん
06/11/16 20:41:19
>309が話題を流そうと必死になっているようだ。
322:デフォルトの名無しさん
06/11/16 20:49:50
データグリッドについてきいてもいいか
323:デフォルトの名無しさん
06/11/16 20:56:37
標準の?
フレームワークは?
324:デフォルトの名無しさん
06/11/16 21:25:41
>>322
苦しゅうないよきに計らえ。
325:デフォルトの名無しさん
06/11/16 21:57:18
データグリッドで、
プロパティから「編集、更新、キャンセル」
ボタンを追加したのですが、編集モードに
切り替わらないのです。もちろん、EditCommandの
イベントハンドラにコードは記述してあります。
ステップ実行すると、イベントとして認識されて
いないように思えるのですが。(Page_loadメソッドを見にいく)
教えてください、神様。
326:デフォルトの名無しさん
06/11/16 22:12:25
>>309
「物事をシンプルに考える能力がない」には同意。
簡単な事を小難しくコーディングするヤツが大杉。
物事の本質的な部分がわかってないからそうなるんだな。たぶん。
327:デフォルトの名無しさん
06/11/17 00:10:12
マッチする項目がなくても全部消して追加すんのかよ
328:デフォルトの名無しさん
06/11/17 00:28:59
>327
既出の動きが変わる件やら、DataSourceにbindingされていたらダメじゃんとか、
応用応用いいながらListboxコントロールをCheckedListBoxに変更されたら
やり直しじゃんとか、突っ込みどころ満載なのはもう十分わかってるから、
せっかく逃亡しているんだからそっとしておいて、次の質問に備えようよ。
で、いまいち説明がよくわからんので、出せる範囲でいいのでコードを
つけて説明してもらえるとコメントがつきやすいぞ >325
あと、DataGridなのか、DataGridViewなのかもね。
329:デフォルトの名無しさん
06/11/17 04:08:12
>>326
そういうやつらは少ない時間に多量のコーディングができると思われるので逆に評価が高い
330:デフォルトの名無しさん
06/11/17 08:20:37
>>328
突っ込みどころ満載、って
それこそ突っ込みどころ満載だな。
馬鹿な癖に馬鹿を自覚してない、とはこういうことを言うんだけどねえw
331:デフォルトの名無しさん
06/11/17 08:50:06
具体的に突っ込んでくれないと説得力ないよ
332:デフォルトの名無しさん
06/11/17 12:15:37
>>331
ウホッ!
333:デフォルトの名無しさん
06/11/17 13:25:15
>>330
せっかく逃亡したのなら、そのまま逃げてりゃいいのに。
なんでわざわざ恥をさらしに戻ってきたがるのやら。
334:デフォルトの名無しさん
06/11/17 14:34:15
>>333
>>330は実は女でツンデレ。
このスレが好き。
もう少し、デレを出して欲しいよ。
335:デフォルトの名無しさん
06/11/17 20:56:46
別にあんたたちのために帰ってきたんじゃないんだからね
336:デフォルトの名無しさん
06/11/18 03:37:15
>>314
まだこんなこと言ってるやつがいるのか……
>>325
まさかまた、Page_LoadでPostBack時にもDataGridの中身をBindしている、
とかいうオチじゃないだろうな?
編集ボタンが押された後は
Page.PageLoadイベント
↓
DataGrid.EditCommandイベント
の順でイベントが発生するけど、
PageLoadイベントのイベントハンドラーで、DataGridの中身を、再バインドしてたら、
DataGridのイベントは、発生しないぞ
337:デフォルトの名無しさん
06/11/18 18:48:23
初めての質問です。プログラムを書いていて何点か質問です。
ビルドしたbin の中に ja ってフォルダがあるのですが、これも配布しなくては
いけないものでしょうか?なくても動く気がしたので。
また、同様にFrameWorkに依存するのではなかろうかというDLL関係は
一緒に配布したほうがよいのでしょうか?
Microsoft.VisualBasic.dll
System.Web.dll
他 よろしくお願いします。
338:デフォルトの名無しさん
06/11/18 19:06:05
>>337
jpフォルダはFormのLanguageプロパティを日本語にするなどで、日本語リソースを作るとできる。
要配布。もしその中が空なら無視してよい。
Microsoft.VisualBasic.dll 、System.Web.dll は.NETフレームワークが入っていれば必ずあるのもで、
配布したいなら再頒布可能パッケージ(dotnetfx.exe)を添付するべし。
339:337
06/11/18 19:32:13
>338 ありがとうございます。
もう一つ質問させてください。
.net 2003 使用してますが、SP1 を当てた場合。
配布先に新しくビルドしたプログラムを入れた場合、なにか注意点ありますか?
FrameWork に準ずると思ってるので関係ないとおもってるのですが確信が
なくて。また、Framework1.1 にも微妙にバージョン違いのものがあるかと
思いますが、開発環境ビルドものPCのFramework1.1 のバージョンと配布先
クライアントのFramework1.1のバージョンは合せて置くものでしょうか?
グレープシティの製品のDLLが微妙にアップデートがあったりで
統一した方が良いのでしょうけど台数が数百台とかある場合みなさま
どうされてるんだろうと思いまして・・・
340:337
06/11/18 19:36:58
読み直したらめちゃくちゃ理解しがたい文章書いてしまいました。
すいません。
よろしくお願いします。
341:デフォルトの名無しさん
06/11/18 20:02:41
理解しがたいと自覚したならリライトしようよ。
SP はバグつぶしのためのものなので当然当てるべき。
SP 当ててりゃ .NET Framework のバージョンは悩まないで良い。同じ。
サードパーティのはサードパーティにバージョン管理のポリシを聞くべきだな。
Microsoft はマイナーバージョンまでが同じなら相互互換性を達成させておくべきだというガイドラインを示してるけど。
342:デフォルトの名無しさん
06/11/18 20:19:39
NetworkStreamクラスのWriteメソッドについて質問させてください
Writeメソッドは書き込むデータをbyteの配列で指定するようなのですが
byte型だと負の値が使用できません
NetworkStreamクラスで負の値を使用したい場合はどうすればいいんでしょうか?
343:デフォルトの名無しさん
06/11/18 20:25:47
何をしたいのかさっぱり分からんが、BinaryWriter 使えば?
344:デフォルトの名無しさん
06/11/18 20:33:33
>>343
JavaのDataOutputStreamクラスのwriteメソッドと同じ機能を.NETで実現したいんです
BinaryWriterだとファイルIOにしか使えなくないですか?
ネットワークIOでbyte型の負の値を使用したいです
345:デフォルトの名無しさん
06/11/18 21:25:06
BinaryWriter は Stream に対するバイナリ書き込み用クラスだ。
意味は分かるな?
言っておくが StreamWriter もそうだぞ。> Stream に対する
346:デフォルトの名無しさん
06/11/18 23:16:11
つーか正か負かなんて関係ないんじゃね?
347:デフォルトの名無しさん
06/11/19 00:02:02
>BinaryWriterだとファイルIOにしか使えなくないですか?
何を見てそう思ったのか不思議だ。
348:デフォルトの名無しさん
06/11/20 03:56:11
VB.NET 2003でボタンを押すたびに音声ファイル(WAV)が流れるように
するにはどんなコードを書けばいいんでしょうか?
349:337
06/11/20 09:11:54
いつも、開発環境とクライアントの環境で意味不明のエラーがでてまして
どうやらそのあたりに関係がありそうです。
これから調べはじめます。
.dll とかそのた依存ファイルがBin の中にうんざりするほど
入れてたのでそれの整理からはじめます。
いろいろありがとう御座いました。
350:デフォルトの名無しさん
06/11/20 10:49:16
あまりに初歩的な質問で恐縮なのですが、子供の為にボタンを使ったゲームを作っています。
ボタンが複数ある場合で任意のボタンの色を変えたいのですが、その際10個のボタンがある場合に
b=変えたいボタンの番号
if b=1 then Button1.BackColor = System.Drawing.Color.Blue
if b=2 then Button2.BackColor = System.Drawing.Color.Blue
・
・
・
のようなコードになるのでしょうか。
配列変数のように
button(b).BackColor = System.Drawing.Color.Blue
のようなボタンの指定の出来れば一行ですむのですが、VBでは出来ないのでしょうか?
351:デフォルトの名無しさん
06/11/20 11:15:13
>>350
Buttonをあらかじめ配列やリストにつっこんどいてループ。
あるいはform1.Controlsをループでまわして当該ボタンと比較
352:350
06/11/20 11:23:05
>>351
>Buttonをあらかじめ配列やリストにつっこんどいてループ。
回答ありがとうございます。
Buttonを配列変数に代入するということなのでしょうか?
353:デフォルトの名無しさん
06/11/20 12:19:16
Private btn(9) As System.Windows.Forms.Button
とかでもいいんでね?
で、最初に上の変数にボタンオブジェクトを代入しておいて
変えたい場合に
btn(0).BackColor = System.Drawing.Color.AliceBlue
354:337
06/11/20 12:24:45
度々すいません よく、Binの中に
AxInterop.・・・
Infragistics.・・・
Interop.・・・
という、ある程度ルールに基づいてファイルができているかとおもいますが
この3つのファイルの名前の付け方の意味をご教授願えますでしょうか
検索したのですが詳しくわかるページがなかったもので・・・
よろしくお願いします。
355:350
06/11/20 12:33:34
>>353
回答ありがとうございます。
ボタンのそれぞれの名前をbtn(0)〜btn(9)のようにしておけばよい
ということなのでしょうか。
大昔の行番号のあるBASICしかやったことがないのでオブジェクトというものが理解出来ておらず
要領を得ない質問ですいません。
356:デフォルトの名無しさん
06/11/20 12:43:54
>>355
いやいや。
ドトネトになってコントロール配列は不可になったんだよ
ボタンの名前はなんでもおk。
試しにボタンのオブジェクト名が【btnTest】【btnHoge】 として
最初の起動時にでもさっきのPrivateの変数に対して
btn(0) = btnTest
btn(1) = btnHoge
・
・
・
というように10個分変数に代入。
そのあとは変数を参照して5個目のボタンなら
btn(4).BackColor = System.Drawing.Color.AliceBlue
見たいにすればおk
357:デフォルトの名無しさん
06/11/20 12:45:40
>>355
URLリンク(dobon.net)
の下の方
358:350
06/11/20 13:34:59
>>356
>>357
ありがとうございます!
さっそくやってみます
359:デフォルトの名無しさん
06/11/20 13:44:30
>>354
フレームワーク以外の参照が必要なDLLとか、プロジェクトでbin配下に
ファイルを入れてるなら、それがそこに入る。
ただそれだけ。
360:350
06/11/20 13:57:00
またひとつ疑問が。
今度は色の指定なんですが、こっちは配列変数には出来ないのでしょうか?
c(0)=”red”
c(1)="blue"
c(2)="green"
for i = 0 to 2
Button1.BackColor = System.Drawing.Color.c(i)
時間待ち
next
などとするとエラーになってしまいます。
算数で正解するとボタンがイルミネーションのようにくるくる色が変わるようにしたいのですが。
しかしVBってBASICって名ですが昔のとはかなり違いますね。
361:デフォルトの名無しさん
06/11/20 14:06:47
>>360
c(2) が、どう型を宣言しているかによる。
ボタンで勉強した応用だよ
Private c(2) As System.Drawing.Color
と今度は色の型宣言をして、この変数にいれるのもちゃんと
色の型を持つもの。
c(0) = System.Drawing.Color.AliceBlue
みたいに。
362:350
06/11/20 15:02:50
>>361
そんな型宣言も出来るんですか。
変数にボタンやらを代入してそれを操作出来る、それがオブジェクト指向っていう理解でいいのかな???
厨房の頃趣味でBASICとアセンブラをちょこっとやっただけなんで、すっかり様変わりした環境にとまどうばかりです。
ありがとうございました。がんばってみます。
363:デフォルトの名無しさん
06/11/20 16:07:00
>>362
そうだね〜
原点をオブジェクトとして、全てをオブジェクトから派生させたのが
オブジェクト指向なのかなぁ
フレームワークをみると、全てはオブジェクトから派生しているから
その考え方はとってもスマートで、いい感じ。
364:337
06/11/20 20:44:09
bin の中身の件 いろいろありがとうございます。
もう一つ質問させてださい。
全部で10個くらいのEXEで運用してるアプリケーションです。
クライアントフォルダはC:\D-AP で固定としまして
このフォルダの中にEXEを10個入れてます。
で、各EXEでコンパイルしたbinの中身をあわせた物を入れています。
ただ、新しくコントロールを追加した際DLLが足りない等の警告を極力
少なくしたいため、購入した.net ツールは前もって入れておきたい
(NetAdvantege とかInputMan ) で、インストールされている関係する
DLLやJaフォルダの中身を前もって全部入れて置くってのはありですか?
いつもありがとうございます。
よろしくお願いします。
365:デフォルトの名無しさん
06/11/21 09:03:42
>>364
ソリューションで、その今のところは使う予定はない.NETツールも
参照設定を入れておいて、インストーラで一緒に
配布してもいいんじゃないかな。
366:337
06/11/21 11:28:51
> 365
ありがとうございます。
そういえばそのパターン前にVB6.0の時それやったことありました。
今回もその手で行こうとおもいます。
ただ、プロジェクトに6.0からアップグレードしたのが結構あるので
依存関係やらなにやらいろいろありすぎて6.0のランタイムも
走らせてます。なかなかきれいなものができなくて
現在も格闘中です。
最近気がついたのですが .net のプロジェクトに参照設定がフルパスで
書いてあったのでそれを参考に.netツールは余分にいれたりしています。
いろいろとありがとうございました。
367:デフォルトの名無しさん
06/11/21 22:43:29
クラスとかオブジェクトとかインスタンスとかよくわからないので基礎からじっくり理解していきたいと思うのですが、
何かお勧めの本はありませんか?
368:デフォルトの名無しさん
06/11/21 22:50:24
じっくりやってる暇なんてないお
369:デフォルトの名無しさん
06/11/22 11:38:00
フォーム1で相対パスのアドレスが入ったstring形式の「pass」
というデータをフォーム2で使うようにしたいんですけど
どのようなプログラムをすればいいのでしょうか?
プログラムの仕様はフォーム1にあるボタンを押すとフォーム2に遷移。
その後フォーム2でフォーム1で取得した「pass」の中にあるtxtデータを元にプログラムを作っていく予定です。
ぐぐっても検索ワードが悪いのか上手く引っかかりませんでした。
ヒントだけでもいいのでよろしくお願いします。
370:デフォルトの名無しさん
06/11/22 11:41:32
>>369
passの内容をレジストリに登録
form2でレジストリを読む
371:デフォルトの名無しさん
06/11/22 12:01:12
いやいや、form1がメールで送ってform2で受け取ればいいだろ
372:デフォルトの名無しさん
06/11/22 12:10:19
>>371
ばかだなぁ
form1でソケットを生成して、form2で受信すればいいだろw
373:デフォルトの名無しさん
06/11/22 12:50:19
今風にするならWebサービスかな
374:369
06/11/22 13:34:05
>>370
即レス感謝です。
おかげさまで実装したい通りのものを作ることが出来ました。
他の方々もレス感謝です。
375:デフォルトの名無しさん
06/11/22 13:38:30
URLリンク(www.vector.co.jp)
作者の方へ
VisualBasicの学習者たちのためにソース公開してください
376:デフォルトの名無しさん
06/11/22 14:01:06
>>374
ほかの人をやきもきさせないように、
ネタかマジかかいとくんだ。
377:デフォルトの名無しさん
06/11/22 14:02:02
>>369
最大の問題は「pass」だな。
378:デフォルトの名無しさん
06/11/22 14:03:45
pathがpasswordになるのかもしれないじょのいこ
379:デフォルトの名無しさん
06/11/22 14:34:26
>>374
しかも、なんでよりによってレジを選ぶんだw
万が一、削除処理なんていれてたら・・・ヽ(ill゚д゚)ノ
380:デフォルトの名無しさん
06/11/22 14:38:59
shared って staticのこと?
381:369
06/11/22 15:17:17
>>376
ネタじゃなくてマジです。
>>377-378
すみません。プログラム内ではpathを使っていたのですが
こちらではpassで質問していました。お恥ずかしい。
パスワードはとは一切関係ないです。
>>379
他に方法があるのですか?
もしよろしければ参考にしたいので教えていただけると嬉しい。
ちなみに削除処理は入れてません。入れるとまずいのですか?
無学で申し訳ないです。作りながら学んでいるのですが難しいですね…。
382:デフォルトの名無しさん
06/11/22 15:29:09
>>380
まぁ、にたようなもの。
スコープが違って、sharedはクラス間でも共有されちゃうよよよよん。
383:デフォルトの名無しさん
06/11/22 15:33:31
>>382
マジで?
じゃあstaticの代わりになるものってなんですか?
384:デフォルトの名無しさん
06/11/22 15:41:02
>>381
dim f as new form2
f.pass = pass
f.show
385:デフォルトの名無しさん
06/11/22 16:12:05
>>383
staticは無くなってないよ(´・∀・` )
>>384
それは、form2がpassというメンバ変数かプロパティを
もっていないと使えない。。。。
386:デフォルトの名無しさん
06/11/22 16:29:03
だからそう書けって>>384は言いたいんだろうが
387:デフォルトの名無しさん
06/11/22 16:32:47
C#のstaticに該当するのはsharedでいいんですか?
388:デフォルトの名無しさん
06/11/22 16:34:47
>>387
C#のstaticはいくつか意味があるから、どれのよ
389:デフォルトの名無しさん
06/11/22 16:37:31
>>387
最初からそう書けよ。
C丼でソース書いて、
URLリンク(authors.aspalliance.com)
で変換すると、大体何が何に変わってるか、わかるよ。
390:デフォルトの名無しさん
06/11/22 16:41:51
C#のstaticはいろんな意味があるんですか?
これは驚いた。
VBでは意味が違うとワードも変わるということですか?
すげー
391:デフォルトの名無しさん
06/11/22 18:20:16
そういやC#のstatic classはどう書くのだろう。
NotInheritedで継承を禁止して、あとインスタンス化を抑制するのが見当たらない。
プライベートのコンストラクタでも書くのかいな。Moduleでもいいけどなんかいやだ。
392:デフォルトの名無しさん
06/11/22 18:38:04
>>391
>>389 でやってみたらShared Class と書けるんだ。ありがとん。
393:デフォルトの名無しさん
06/11/22 18:46:57
>>392
VBに(今のところ)Shared Classはないよ。
>>389の変換結果は常に正しいわけじゃない。
394:デフォルトの名無しさん
06/11/22 18:55:45
Reflectorだと以下のようになった
static class Class1
{
public static int sum(int a, int b)
{
return a + b;
}
}
↓
Friend MustInherit NotInheritable Class Class1
Public Shared Function sum(ByVal a As Integer, ByVal b As Integer) As Integer
Return (a + b)
End Function
End Class
395:デフォルトの名無しさん
06/11/22 19:09:27
まんどくさいから、シングルトンに汁。
396:デフォルトの名無しさん
06/11/22 19:29:23
>>395
それがいいね
397:デフォルトの名無しさん
06/11/22 22:10:35
まあ、動けばなんだもいいさ
398:デフォルトの名無しさん
06/11/23 13:30:35
>>394
MSILレベルでは抽象クラス宣言と継承禁止宣言の2つを行うことで静的クラスを実現しているからね。
でもこれをVB.NETでやろうとしてもコンパイル通らない。
>>391
継承禁止にして、コンストラクタの隠蔽によるインスタンス化禁止でほぼ同等のことが実現できる。
>Moduleでもいいけどなんかいやだ。
Moduleと静的クラスは全く別物だからダメだよ。
ModuleにはStandardModule属性が付いているからね。これだけでもう全く別物。
399:デフォルトの名無しさん
06/11/23 20:06:35
VBAのスレが立っていないのでここで質問させてください
組込み定数でタブはvbTab改行はvbCRとかあるのですが
スペースとカンマと括弧()の組込み定数を教えてください
もし無ければJISコードでも結構ですのでお願いします。
400:デフォルトの名無しさん
06/11/23 20:42:41
なぜスレがたつまで待てないのか
なぜヘルプを見ないのか
なぜAsc()で調べないのか
401:デフォルトの名無しさん
06/11/23 20:50:36
怠惰で傲慢で愚昧だから
402:デフォルトの名無しさん
06/11/23 22:16:45
>>398
>Moduleと静的クラスは全く別物だからダメだよ。
>ModuleにはStandardModule属性が付いているからね。これだけでもう全く別物。
何が困るわけ?
ああ、クラス名での修飾がいらんとかそういう話?
403:デフォルトの名無しさん
06/11/24 01:53:11
>>402
そういう話。
404:デフォルトの名無しさん
06/11/24 22:23:28
テキストファイルにある数字を一つずつ2次元配列で格納したいんですが
上手くいきません(ノД`)誰かご教授お願いします。とりあえず恥さらしソースのせてみます
Dim sr As New System.IO.StreamReader("ファイルパス", System.Text.Encoding.Default)
Dim buf As String
Dim retu As Integer = 0
buf = sr.ReadLine
retu = Len(buf)
Dim gyo As Integer = 0
Do Until sr.Peek = -1
gyo += 1
buf = sr.ReadLine
Loop
Dim array(retu, gyo) As Integer
Dim i , j As Integer
Do Until sr.Peek
For i = 0 To gyo
For j = 0 To retu
array(i, j) = sr.read
Next
Next
Loop
sr.Close()
効率的な方法もあるんでしょうがとりあえず行と列を求めて(テキストファイルの列数と行数は同じの前提)
ためしにテキストボックスでretuとgyoを表示させたところ
ちゃんとした数字が入ってるんで一応そこまでは合っているようなんですが配列が全くできません(ノД`)誰かよろしくお願いします
405:デフォルトの名無しさん
06/11/24 22:27:02
>>404
うへへははははwww
い、いんてじゃぁwww
406:デフォルトの名無しさん
06/11/24 22:28:48
もしかしてIntegerが違うんですか?
ご存知でしたら教えてください
お願いします(ノД`)
407:デフォルトの名無しさん
06/11/24 22:40:09
>>406
うへへははwww
もう、酔っぱらってよく分かんねww
でも、デバッグでbufを見たらちゃんと出てただろw
arrayはなんでいんでじゃぁなんだよw
うへwうへへへへww
408:デフォルトの名無しさん
06/11/24 22:54:33
レスありがとう
でも Dim array(retu, gyo) As Stringでも上手くいかない(ノД`)
409:デフォルトの名無しさん
06/11/24 22:59:54
integer、string以外で試して見れば?
410:デフォルトの名無しさん
06/11/24 23:15:18
>409
ぶはははっはwww
あほだw
あほがいるwwww
peekに達したんだからよめね〜だろwww
あほだwwwwwwwwうわははははははwwww
411:デフォルトの名無しさん
06/11/24 23:16:07
いやそれ以前におかすぃだろ
412:最凶VB厨房
06/11/24 23:32:26
Dim sr As New System.IO.StreamReader("c:\data.txt", System.Text.Encoding.Default)
Dim buf As String
Dim retu As Integer
buf = sr.ReadLine 'よーしおにいさん1行よんじゃうぞー。
retu = Len(buf) '列の長さはどの行も一緒。と仮定しちゃうぞー。
Dim gyo As Integer = 1 '既に1行読んでるからなー
Do Until sr.Peek = -1
gyo += 1
sr.ReadLine()
Loop
sr.Close()
sr = New System.IO.StreamReader("c:\data.txt", System.Text.Encoding.Default)
'いったん閉じて開きなおす。よーしまた最初から読み直しだぞー。
Dim array(gyo, retu) As Char 'おにいさんは文字と数値の区別をつけるぞー。行と列逆やんか。
Dim i, j As Integer
Do Until sr.Peek = -1
For i = 1 To gyo 'よーしおにいさん0オリジンなんか嫌いだぞー
buf = sr.ReadLine '↑早くも撤回。
For j = 1 To retu
array(i, j) = buf(j - 1) 'bufは0個目から
Console.WriteLine(array(i, j)) '出力ウィンドウで確認だぞー。
Next
Next
Loop
sr.Close()
413:最凶VB厨房
06/11/24 23:37:53
3686
4556
6784
1883
1868
1118
1587
c:\data.txt
VB.NET久しぶりすぎる。
ってかVB.NETだよな?
414:デフォルトの名無しさん
06/11/24 23:42:40
VB.NET使ってます
最凶VB厨房先生、超親切な解答ありがとう
説明文も丁寧で嬉しいです
本当にありがとう(ノ∀`)
415:407
06/11/24 23:45:00
>>414
なぁんだよぉ
俺には感謝の言葉はないのかよぉ?うん?
416:デフォルトの名無しさん
06/11/24 23:46:05
酔っ払いの兄ちゃんもありがとう(ノ∀`)
みんな優しくて嬉しいです
本当ありがとう
417:デフォルトの名無しさん
06/11/25 01:47:17
VBにジャグ配列ってないの?
418:デフォルトの名無しさん
06/11/25 01:54:44
あるよ
URLリンク(msdn2.microsoft.com)(VS.80).aspx
419:デフォルトの名無しさん
06/11/25 16:34:29
VBAでEXCELのワークシートからCのenum構造体に変換するマクロ作らされたんだが
あっさりと出来てしまった
VBもこんな感じなの?
VC8でヒーヒーいわされただけに物凄く簡単に思えてしまう漏れは勘違いなのでしょうか?
420:デフォルトの名無しさん
06/11/26 00:05:23
>>404
VS2005/.NetFramework2.0以降を使用してたらジェネリックメソッドを使用して
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
Dim sr As New System.IO.StreamReader("c:\data.txt")
Dim intArray() As Integer = Array.ConvertAll(sr.ReadToEnd().Split(vbLf), New Converter(Of String, Integer)(AddressOf StringToInteger))
sr.Close()
End Sub
Private Function StringToInteger(ByVal value As String) As Integer
Return Integer.Parse(value)
End Function
というかんじでもできる
(vbLfのところは、テキストファイルの文字コードによってvbCrLfに変更汁)
421:デフォルトの名無しさん
06/11/26 01:46:30
>>404
ごめ、2次元配列だったな
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
Dim sr As New System.IO.StreamReader("c:\data.txt")
Dim buf() As String = sr.ReadToEnd().Split(vbCrLf.ToCharArray())
Dim gyo As Integer = buf.Length - 1
Dim retu As Integer = buf(0).Length - 1
Dim arrbuf() As Integer = Array.ConvertAll(Join(buf, "").ToCharArray(), New Converter(Of Char, Integer)(AddressOf CharToInteger))
Dim arr(gyo, retu) As Integer
Dim p As IntPtr = Marshal.UnsafeAddrOfPinnedArrayElement(arr, 0)
Marshal.Copy(arrbuf, 0, p, arrbuf.Length)
sr.Close()
End Sub
Private Function CharToInteger(ByVal value As Char) As Integer
Return Integer.Parse(value)
End Function
422:デフォルトの名無しさん
06/11/26 02:37:41
簡単なことを難しくやる典型的な例ですね
423:デフォルトの名無しさん
06/11/26 02:47:06
PinnedArray とか言いつつどこにも Pin している形跡がない件について
424:デフォルトの名無しさん
06/11/26 12:24:22
>>421
うははwどこのサイトで調べたかわからないけど、
お前のスキルじゃ、使いこなす事はできないよw
425:デフォルトの名無しさん
06/11/26 13:38:13
>>423
ヘルプみるとメソッドが、GCHandleに対してpinを発行してるんだってさ
426:デフォルトの名無しさん
06/11/26 13:47:41
そりゃ誤読だ
427:デフォルトの名無しさん
06/11/26 14:17:30
>>426
ありゃ誤爆ちゃたのか俺
まあ、読解力低いからな
428:デフォルトの名無しさん
06/11/26 17:01:42
プロセスのアイコンを取得することは出来ませんか。(taskmgr.exeのアプリケーションタブにあるように)
やはりAPIが必要なんですかね、、、
429:デフォルトの名無しさん
06/11/27 19:11:28
C#でのstatic classがShared Classって書けないのはモジュールがあるから?
430:デフォルトの名無しさん
06/11/27 21:08:16
C#で作ったstatic classをReflectorでVB.NETとして開いたら、
Friend MustInherit NotInheritable Class
ってなったよ。意味は分からないけど。
431:デフォルトの名無しさん
06/11/27 21:33:07
絶対に継承しろよ
ただし継承はできないぞ
432:デフォルトの名無しさん
06/11/27 22:17:45
>>430
コンパイル通らないんじゃね?
433:デフォルトの名無しさん
06/11/27 22:20:32
VB では未サポートだってば。>静的クラス
434:デフォルトの名無しさん
06/11/27 22:38:27
モジュール>>>>越えられない壁>>>>静的クラス
435:デフォルトの名無しさん
06/11/27 22:48:23
頼むから、モジュールは死んでほしい。
VB厨と仕事をする度に思う。
死んでほしい。
436:デフォルトの名無しさん
06/11/28 16:08:11
ブラウザのリンク上で特定のキーを押したら
タイトルとアドレスをコピーというものを実装させたいのですが、
ヘルプを見る際どういったキーワードで検索を
すればいいのか教えてください。
437:デフォルトの名無しさん
06/11/28 16:15:43
>>436
javaスクリプト
438:デフォルトの名無しさん
06/11/28 16:21:31
>>436
BHO
439:トリビア
06/11/28 23:30:51
VB2005で、ゼロで除算するとエラーじゃなくて∞が返る
440:デフォルトの名無しさん
06/11/28 23:31:27
>>439
デバッグとexeで報告よろ。
441:デフォルトの名無しさん
06/11/29 00:17:37
明日からVB.NETの研修が1ヶ月間はじまります。
テキストでの座学(独学)3日間→インベーダーゲーム作成
→オリジナルゲーム作成(題材は自由)
です。
VB.NETという言語がいまいちわからないのですが、
ゲーム作成などに優れた言語なのでしょうか?
オリジナルゲーム作成ではテトリスかリバーシを考えております。
グラフィカルな部分でも相当頑張らないといけないみたいで、
今から気が重いです。
442:デフォルトの名無しさん
06/11/29 00:33:39
御愁傷様
443:デフォルトの名無しさん
06/11/29 01:13:58
>>441
何やってる会社?
VB使うゲーム会社はないだろうし・・・
444:デフォルトの名無しさん
06/11/29 01:37:11
>>443
基幹システム設計・開発
ウェブサイト構築・デザイン
携帯電話アプリケーション開発
などなど。正直良くわかっていません。
ゲーム会社ではないのですが、
VB.NETは主にどんな分野で使用されている言語なのでしょうか?
445:デフォルトの名無しさん
06/11/29 05:00:43
>>444
>VB.NETは主にどんな分野で使用されている言語なのでしょうか?
答えは自分で書いてるジャン
446:デフォルトの名無しさん
06/11/29 05:19:23
っていうか言語の研修なんだろ?
構文や制御くらいしか説明する時間がないから
テーマは簡単なゲームになることが多い。
VB.NETに限らず、なんにも知らんヤツに2〜3日で
データアクセスまで説明できんだろ。
よってVBがゲームに向くとかどうとか関係なし。
447:デフォルトの名無しさん
06/11/29 07:18:32
ゲームのほうがロジカルだからいいんじゃね?
448:デフォルトの名無しさん
06/11/29 07:28:16
んなこたーない。
449:デフォルトの名無しさん
06/11/29 08:48:06
ゲームづくりっつー課題は、道具の使い方を覚えるには適切な教材だよ。
450:デフォルトの名無しさん
06/11/29 12:36:49
オセロとテトリス、
初心者が作るとしたらどちらが難しいと思いますか?
451:デフォルトの名無しさん
06/11/29 12:48:31
オセロ <<< テトリス
オセロは、ユーザーからのアクションをただ待てば
いいだけだから、簡単そう。
452:デフォルトの名無しさん
06/11/29 13:25:44
ComboBoxにReadOnlyプロパティがあればなぁって誰もが1度は考えるよね!?
テンプレにあったサイトの中にこれがあったんだけど
URLリンク(jeanne.wankuma.com)
まだ不完全ぽい。
ReadOnlyプロパティ変更すると右側の矢印ボタンが消えちゃう。
プロパティは一切変えずにUpdateStyles()だけしても消える。
どういうことなんだろう?
だれかわかる人いませんか?
453:デフォルトの名無しさん
06/11/29 13:37:56
.DropDownStyle = ComboBoxStyle.DropDownList;
じゃ駄目なのか?
454:452
06/11/29 13:50:21
いや、選択されたリストの変更もさせたくないのよ
次ページ最新レス表示スレッドの検索類似スレ一覧話題のニュースおまかせリスト▼オプションを表示暇つぶし2ch
4989日前に更新/273 KB
担当:undef