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


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

VB.NET質問スレ (Part18)



1 名前:デフォルトの名無しさん mailto:sage [2006/10/19(木) 18:41:18 ]
[前スレ]VB.NET質問スレ (Part17)
pc8.2ch.net/test/read.cgi/tech/1155292844/

264 名前:デフォルトの名無しさん mailto:sage [2006/11/15(水) 09:55:42 ]
>>254
面倒くさいからためしてないけど、ダブルクリックイベントで
イベントをキャンセルするか、現在選択している項目を再選択
させるかで実現できない?

あと、一度に表示できる行数だけど、プロパティにないなら、APIじゃないと
だめなんじゃないの?

最後に、スキルがあるなら、セルに合わせて通常のコンボボックスを
ぴったり描画してやると、グレープシティのウンコグリッドよりも余程使い勝手が
いいと思うよ。

265 名前:デフォルトの名無しさん mailto:sage [2006/11/15(水) 10:15:10 ]
>>257
String.Equalsメソッドは、引数オブジェクトのToStringメソッドをコールする癖をつけないと、
痛い目見るぞ

それがいやなら=使っとけ

あと>>261の言うとおり、
ListItemCollectionのitemをRemoveすると、Collectionの中身が前詰めされるので、気をつけろ


266 名前:デフォルトの名無しさん mailto:sage [2006/11/15(水) 11:11:18 ]
>>265
2個前のレス(>>263)くらい読めよ。

第一、step -1 で逆順にしてもループする回数がかわらねぇだろうが。


本当の意味で救いようがない。
バカなんだから、半年ROMってろ。


267 名前:デフォルトの名無しさん mailto:sage [2006/11/15(水) 11:15:04 ]
逆順にしてケツから消していくのは定石じゃない?

268 名前:デフォルトの名無しさん mailto:sage [2006/11/15(水) 11:28:43 ]
定石だよ

269 名前:デフォルトの名無しさん mailto:sage [2006/11/15(水) 11:34:57 ]
>>263
> たとえば、いきなり消すんじゃなくて、ループの中で消したいアイテムを
> 選択状態にして、ループの終了後に選択項目だけを削除するようにするとか。
コードで書いてくれ

270 名前:デフォルトの名無しさん mailto:sage [2006/11/15(水) 11:56:55 ]
フラグ立てて刈り取りじゃないか

271 名前:デフォルトの名無しさん mailto:sage [2006/11/15(水) 11:57:32 ]
質問させてけれ〜。

VS2003
VB.NET
.NET Framework1.1

で開発してるんだけども、VB6以前で比較的よく使われてたフォームの表示の仕方

Load frmObj
frmObj.Show

と同じようなことってVB.NETで出来ないかな?
過去同じような質問がでてれば、ポインタかキーワード
がもらえると助かります…。

272 名前:263 mailto:sage [2006/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 名前:デフォルトの名無しさん mailto:sage [2006/11/15(水) 12:31:38 ]
>>271
もし、それがドトネトでできないなら、OOPとは言わない。

うんこから帰ってきたら、教えてやるよ。

274 名前:デフォルトの名無しさん mailto:sage [2006/11/15(水) 12:36:59 ]
>>272
Equalsが一番レスポンスがいいとか言ってるくせに
非常に無駄なことをしているように見えるのは俺だけ?

275 名前:デフォルトの名無しさん mailto:sage [2006/11/15(水) 12:39:53 ]
なんか馬鹿と馬鹿が争ってる感じだねw
このスレらしいけど。

.NETでは文字列の等価性の検査に= とか==演算子使え、っていうの自体は正論だけど
Equalsが気持ち悪いっていうのはどうかね。
気持ち悪いっていうのは不自然と言い換えていいと思うが、文字列の等価性が
=で検査できちゃうことの方が(便利ではあるが)不自然で気持ち悪いんだよ本来は。

それからコレクションのアイテムをシークして削除するときに
シークしてるループの中で直接削除しちゃうデザインっていうのはどうなの?w
ループカウンタをデクリメントで回すとかそういう問題か?

そういうのは普通、あらかじめ削除する(または逆に「削除せず残す」)アイテムのコレクションを
作成しておいてからまとめて削除(あるいは総とっかえ)するコードを書くでしょ。

276 名前:263 mailto:sage [2006/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 名前:デフォルトの名無しさん mailto:sage [2006/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 mailto:sage [2006/11/15(水) 13:03:52 ]
ありがとう。助かったデス。

279 名前:デフォルトの名無しさん mailto:sage [2006/11/15(水) 13:07:18 ]
>>275
Items.RemoveAtによってSelectedIndicesも削除されるのを知ってて言ってるんだよな?
直接逆順ループでRemoveするのと何が違うんだ?

280 名前:デフォルトの名無しさん mailto:sage [2006/11/15(水) 13:20:32 ]
>>279
気にするな。
デザパタをちょっと勉強して、コードにデザインを持たせようと
してるようだけど、全てが当てはまるわけじゃない良い例がコイツ>>275

ちなみに、>>275はjava糞くせぇにおいがする。
C房はそんなことしない。

281 名前:デフォルトの名無しさん mailto:sage [2006/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 名前:デフォルトの名無しさん [2006/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 名前:デフォルトの名無しさん mailto:sage [2006/11/15(水) 15:05:46 ]
>>282
志村・・・あ、アンカー・・・


それに、お前のコードよりもまだ>>281の方がマシ。

お前は理屈すら屁がついてる。

284 名前:デフォルトの名無しさん mailto:sage [2006/11/15(水) 16:15:53 ]
>275の9行目以降のような合理的というか効率的な(?)考え方ってどうやって身に着けるものなんでしょうか
なぜ>275のようにした方が良いのかという点からしてわかりませんが・・・
良い教科書無いかなぁ

285 名前:デフォルトの名無しさん mailto:sage [2006/11/15(水) 16:18:07 ]
>275を読んだ時点で書き込んだけど後についてるレス見ると>275が正しいとも云えないみたいですね
でも結局>284の質問は変わらないのでよろしくお願いします

286 名前:デフォルトの名無しさん mailto:sage [2006/11/15(水) 16:19:41 ]
すぐ教科書を欲しがるのは良くないですよ。

287 名前:デフォルトの名無しさん mailto:sage [2006/11/15(水) 16:22:23 ]
>>284
オブジェクト指向を身につけて、デザインパターンを勉強汁。

参考までに
ttp://www.objectclub.jp/

ガンガレ。

288 名前:デフォルトの名無しさん mailto:sage [2006/11/15(水) 17:18:46 ]
VB.netのくだしつスレが見当たらなかったからここで質問してみる
P2Pのチャットソフト作ろうと思ってるんだけど
使う両者が特定の人間ならIPでつながる?

289 名前:デフォルトの名無しさん mailto:sage [2006/11/15(水) 19:19:16 ]
ttp://up2.viploader.net/pic2d/src/viploader2d156038.jpg
ttp://up2.viploader.net/pic2d/src/viploader2d156023.jpg

290 名前:デフォルトの名無しさん mailto:sage [2006/11/15(水) 20:10:30 ]
>282
志村〜。やっぱ知恵は使ったほうがいいとおもうよ?
あからさまにバグってるぞ。


291 名前:デフォルトの名無しさん mailto:sage [2006/11/15(水) 21:15:35 ]
ループの中で要素数が変わるんじゃないか

292 名前:デフォルトの名無しさん mailto:sage [2006/11/15(水) 21:23:22 ]
つか、境界条件。
空のリストで動かせば一発。




293 名前:デフォルトの名無しさん mailto:sage [2006/11/15(水) 21:24:11 ]
空の境界。




ごめんなんでもない

294 名前:デフォルトの名無しさん mailto:sage [2006/11/15(水) 21:28:26 ]
>>272があほにしか見えない

295 名前:デフォルトの名無しさん mailto:sage [2006/11/15(水) 21:29:29 ]
本来=で比較できるのがおかしいって
本来ってなんだ本来って

296 名前:デフォルトの名無しさん mailto:sage [2006/11/15(水) 21:36:56 ]
>>295
いや、それに関しては否定できないと思う。


297 名前:デフォルトの名無しさん mailto:sage [2006/11/15(水) 21:40:54 ]
演算子のオーバーロードはデグレードなのか?

298 名前:デフォルトの名無しさん mailto:sage [2006/11/15(水) 21:52:50 ]
演算子のオーバーロードと言う言い方は良くない。

ちなみになんのことをいってるの?

299 名前:275 mailto:sage [2006/11/15(水) 22:01:19 ]
>>284-285
正しい正しくないという問題というより、
どちらがシンプルで直観的であるか、あるいは応用が利くか、という問題だね。

まあどういう方法がより直観的かはあるいは意見が分かれるかもしれないけど、
応用度の方は自明だね。
例えば後から「文字列が一致するアイテムの前後のアイテムも削除する」という
仕様変更があった場合、>>261みたいなプログラマは困るんじゃないの?w

デザパタとか言ってる人がいるけど俺はいわゆるデザパタにこういうパターンが
あるのかどうか知らない。
ただある程度まともなPGならこういう場合は>>275のように考えるだろう。

300 名前:デフォルトの名無しさん mailto:sage [2006/11/15(水) 22:04:21 ]
>284-285

OOPらしくというなら、ListBox1に対し「○○をリストから消せ」と指示して
Itemsの何番目かとかの細かい話はListBox1にやらせる>281の方が、言ってることと
やってることがデタラメな>275よりずっと近いよ。


301 名前:デフォルトの名無しさん mailto:sage [2006/11/15(水) 22:52:16 ]
>>298
これの事を言ってるのだが。違うのか? スマンカッタ。Orz

www.microsoft.com/japan/msdn/vs05/vbasic/vboperatoroverloading.aspx

302 名前:デフォルトの名無しさん mailto:sage [2006/11/16(木) 01:06:01 ]
根本的に後で修正がきかないような箇所ならともかく、
その時点で完全に変えてしまうようなコードの部分に
応用度を最初から用意しておくのは、悪くはないけど、
そうしないのが馬鹿みたいなのはどうか。
XPの理念にも反する。




303 名前:デフォルトの名無しさん mailto:sage [2006/11/16(木) 01:35:04 ]
応用にもなんにもなってない上に、>>272にしても>>282にしてもどっちも不必要に複雑にして
さらに副作用やらバグありやらだしなー。
悪くはないじゃなくて、率直に言ってダメコードの見本だ。


304 名前:デフォルトの名無しさん mailto:sage [2006/11/16(木) 06:34:45 ]
>>301
いやいや!


本当に演算子の\だの=だのをオーバーロードしてるね!

オレは2005はまだ案件も来てないし使ってないけど
こんな機能が追加されたのか〜・・・


う〜ん?2005のフレームワークを逆コンパイルすると
演算子のクラスでもあるのかな?

そこはちょっと興味ある。

305 名前:275 mailto:sage [2006/11/16(木) 08:15:10 ]
>>302-303
まあ縁なき衆生は度し難しというからね。
俺は>>272とか>>282みたいなのが良いなんていってないしw

306 名前:デフォルトの名無しさん mailto:sage [2006/11/16(木) 08:58:32 ]
>>275
もうお前飽きたから、雑談がしたいなら雑談板にいけ


307 名前:デフォルトの名無しさん mailto:sage [2006/11/16(木) 09:07:08 ]
>>275
度し難しなのはお前。反論するならコードでも出してやるこった。
単なる俺様マンセーな話を続けるなら他所でやってくれ。


308 名前:デフォルトの名無しさん [2006/11/16(木) 09:53:58 ]
>>307 同意、書けるんだったら初めから書いてる罠。
と言うことで一件落着、次いってみよう。

309 名前:デフォルトの名無しさん mailto:sage [2006/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 名前:デフォルトの名無しさん mailto:sage [2006/11/16(木) 12:49:17 ]
>>309
何度も同じ事を言わせんなよ。


>>306-308
もう終わったんだよ。



バカなのか?
失せろ。

311 名前:デフォルトの名無しさん mailto:sage [2006/11/16(木) 12:59:24 ]
>309

あのさ、さんざん指摘されてるが、そのコードでは削除対象に含まれない
SelectedItem(s)とかもクリアされちゃうとか、リストビューが必要以上に
スクロールしちゃうケースが出てくるとかの影響なんかは理解してる?

実務経験が少ないのなら仕方ないけど、リストボックスみたいな
UIコントロールは見た目の動きも重要なんですよ。


312 名前:デフォルトの名無しさん mailto:sage [2006/11/16(木) 14:59:21 ]
だから>>309は一段下に見られちゃうってことでFA?



313 名前:デフォルトの名無しさん mailto:sage [2006/11/16(木) 15:05:49 ]
>>312

見ろよ。こいつ>>309
>馬鹿な癖に馬鹿を自覚してない

一段どころか、モノホンのバカなんだよ。

で、もうこの話題は飽きたんだ。

314 名前:デフォルトの名無しさん [2006/11/16(木) 17:12:24 ]
>>309
文字列どうしの比較はEquals()を使えって行ってるだろ。
まさかおまえ275と同一人物じゃないだろうな。
もういい、次、次、次。

315 名前:デフォルトの名無しさん mailto:sage [2006/11/16(木) 17:47:11 ]
エクアルスとか面倒なだけだろ

316 名前:デフォルトの名無しさん mailto:sage [2006/11/16(木) 18:09:19 ]
>>315
( ・ω・)・・・イコールだよ・・・・

317 名前:デフォルトの名無しさん mailto:sage [2006/11/16(木) 19:51:39 ]
>>314
Equals使えってじゃばじゃないし。

318 名前:デフォルトの名無しさん mailto:sage [2006/11/16(木) 19:52:42 ]
ポカリスエットとはちがうのか

319 名前:デフォルトの名無しさん [2006/11/16(木) 19:55:34 ]
>>318
それはアミノサプリだろ!

…???あれ????

320 名前:デフォルトの名無しさん mailto:sage [2006/11/16(木) 20:14:02 ]
エアリスのことかーーー!!

321 名前:デフォルトの名無しさん mailto:sage [2006/11/16(木) 20:41:19 ]
>309が話題を流そうと必死になっているようだ。


322 名前:デフォルトの名無しさん [2006/11/16(木) 20:49:50 ]
データグリッドについてきいてもいいか



323 名前:デフォルトの名無しさん mailto:sage [2006/11/16(木) 20:56:37 ]
標準の?
フレームワークは?

324 名前:デフォルトの名無しさん mailto:sage [2006/11/16(木) 21:25:41 ]
>>322
苦しゅうないよきに計らえ。

325 名前:デフォルトの名無しさん [2006/11/16(木) 21:57:18 ]
データグリッドで、
プロパティから「編集、更新、キャンセル」
ボタンを追加したのですが、編集モードに
切り替わらないのです。もちろん、EditCommandの
イベントハンドラにコードは記述してあります。
ステップ実行すると、イベントとして認識されて
いないように思えるのですが。(Page_loadメソッドを見にいく)
教えてください、神様。

326 名前:デフォルトの名無しさん mailto:sage [2006/11/16(木) 22:12:25 ]
>>309
「物事をシンプルに考える能力がない」には同意。

簡単な事を小難しくコーディングするヤツが大杉。
物事の本質的な部分がわかってないからそうなるんだな。たぶん。

327 名前:デフォルトの名無しさん mailto:sage [2006/11/17(金) 00:10:12 ]
マッチする項目がなくても全部消して追加すんのかよ

328 名前:デフォルトの名無しさん mailto:sage [2006/11/17(金) 00:28:59 ]
>327
既出の動きが変わる件やら、DataSourceにbindingされていたらダメじゃんとか、
応用応用いいながらListboxコントロールをCheckedListBoxに変更されたら
やり直しじゃんとか、突っ込みどころ満載なのはもう十分わかってるから、
せっかく逃亡しているんだからそっとしておいて、次の質問に備えようよ。

で、いまいち説明がよくわからんので、出せる範囲でいいのでコードを
つけて説明してもらえるとコメントがつきやすいぞ >325
あと、DataGridなのか、DataGridViewなのかもね。


329 名前:デフォルトの名無しさん mailto:sage [2006/11/17(金) 04:08:12 ]
>>326
そういうやつらは少ない時間に多量のコーディングができると思われるので逆に評価が高い

330 名前:デフォルトの名無しさん mailto:sage [2006/11/17(金) 08:20:37 ]
>>328
突っ込みどころ満載、って
それこそ突っ込みどころ満載だな。

馬鹿な癖に馬鹿を自覚してない、とはこういうことを言うんだけどねえw

331 名前:デフォルトの名無しさん mailto:sage [2006/11/17(金) 08:50:06 ]
具体的に突っ込んでくれないと説得力ないよ

332 名前:デフォルトの名無しさん mailto:sage [2006/11/17(金) 12:15:37 ]
>>331
ウホッ!



333 名前:デフォルトの名無しさん mailto:sage [2006/11/17(金) 13:25:15 ]
>>330
せっかく逃亡したのなら、そのまま逃げてりゃいいのに。
なんでわざわざ恥をさらしに戻ってきたがるのやら。


334 名前:デフォルトの名無しさん mailto:sage [2006/11/17(金) 14:34:15 ]
>>333
>>330は実は女でツンデレ。
このスレが好き。

もう少し、デレを出して欲しいよ。

335 名前:デフォルトの名無しさん mailto:sage [2006/11/17(金) 20:56:46 ]
別にあんたたちのために帰ってきたんじゃないんだからね

336 名前:デフォルトの名無しさん mailto:sage [2006/11/18(土) 03:37:15 ]
>>314
まだこんなこと言ってるやつがいるのか……

>>325
まさかまた、Page_LoadでPostBack時にもDataGridの中身をBindしている、
とかいうオチじゃないだろうな?

編集ボタンが押された後は
Page.PageLoadイベント

DataGrid.EditCommandイベント
の順でイベントが発生するけど、
PageLoadイベントのイベントハンドラーで、DataGridの中身を、再バインドしてたら、
DataGridのイベントは、発生しないぞ

337 名前:デフォルトの名無しさん [2006/11/18(土) 18:48:23 ]
初めての質問です。プログラムを書いていて何点か質問です。
ビルドしたbin の中に ja ってフォルダがあるのですが、これも配布しなくては
いけないものでしょうか?なくても動く気がしたので。
また、同様にFrameWorkに依存するのではなかろうかというDLL関係は
一緒に配布したほうがよいのでしょうか?
Microsoft.VisualBasic.dll
System.Web.dll
他 よろしくお願いします。


338 名前:デフォルトの名無しさん mailto:sage [2006/11/18(土) 19:06:05 ]
>>337
jpフォルダはFormのLanguageプロパティを日本語にするなどで、日本語リソースを作るとできる。
要配布。もしその中が空なら無視してよい。
Microsoft.VisualBasic.dll 、System.Web.dll は.NETフレームワークが入っていれば必ずあるのもで、
配布したいなら再頒布可能パッケージ(dotnetfx.exe)を添付するべし。 


339 名前:337 [2006/11/18(土) 19:32:13 ]
>338 ありがとうございます。
もう一つ質問させてください。
.net 2003 使用してますが、SP1 を当てた場合。
配布先に新しくビルドしたプログラムを入れた場合、なにか注意点ありますか?
FrameWork に準ずると思ってるので関係ないとおもってるのですが確信が
なくて。また、Framework1.1 にも微妙にバージョン違いのものがあるかと
思いますが、開発環境ビルドものPCのFramework1.1 のバージョンと配布先
クライアントのFramework1.1のバージョンは合せて置くものでしょうか?
グレープシティの製品のDLLが微妙にアップデートがあったりで
統一した方が良いのでしょうけど台数が数百台とかある場合みなさま
どうされてるんだろうと思いまして・・・



340 名前:337 [2006/11/18(土) 19:36:58 ]
読み直したらめちゃくちゃ理解しがたい文章書いてしまいました。
すいません。
よろしくお願いします。



341 名前:デフォルトの名無しさん mailto:sage [2006/11/18(土) 20:02:41 ]
理解しがたいと自覚したならリライトしようよ。

SP はバグつぶしのためのものなので当然当てるべき。
SP 当ててりゃ .NET Framework のバージョンは悩まないで良い。同じ。
サードパーティのはサードパーティにバージョン管理のポリシを聞くべきだな。
Microsoft はマイナーバージョンまでが同じなら相互互換性を達成させておくべきだというガイドラインを示してるけど。

342 名前:デフォルトの名無しさん [2006/11/18(土) 20:19:39 ]
NetworkStreamクラスのWriteメソッドについて質問させてください
Writeメソッドは書き込むデータをbyteの配列で指定するようなのですが
byte型だと負の値が使用できません
NetworkStreamクラスで負の値を使用したい場合はどうすればいいんでしょうか?



343 名前:デフォルトの名無しさん mailto:sage [2006/11/18(土) 20:25:47 ]
何をしたいのかさっぱり分からんが、BinaryWriter 使えば?

344 名前:デフォルトの名無しさん mailto:sage [2006/11/18(土) 20:33:33 ]
>>343
JavaのDataOutputStreamクラスのwriteメソッドと同じ機能を.NETで実現したいんです
BinaryWriterだとファイルIOにしか使えなくないですか?
ネットワークIOでbyte型の負の値を使用したいです


345 名前:デフォルトの名無しさん mailto:sage [2006/11/18(土) 21:25:06 ]
BinaryWriter は Stream に対するバイナリ書き込み用クラスだ。
意味は分かるな?

言っておくが StreamWriter もそうだぞ。> Stream に対する

346 名前:デフォルトの名無しさん mailto:sage [2006/11/18(土) 23:16:11 ]
つーか正か負かなんて関係ないんじゃね?

347 名前:デフォルトの名無しさん mailto:sage [2006/11/19(日) 00:02:02 ]
>BinaryWriterだとファイルIOにしか使えなくないですか?
何を見てそう思ったのか不思議だ。


348 名前:デフォルトの名無しさん mailto:sage [2006/11/20(月) 03:56:11 ]
VB.NET 2003でボタンを押すたびに音声ファイル(WAV)が流れるように
するにはどんなコードを書けばいいんでしょうか?

349 名前:337 [2006/11/20(月) 09:11:54 ]
いつも、開発環境とクライアントの環境で意味不明のエラーがでてまして
どうやらそのあたりに関係がありそうです。
これから調べはじめます。
.dll とかそのた依存ファイルがBin の中にうんざりするほど
入れてたのでそれの整理からはじめます。
いろいろありがとう御座いました。

350 名前:デフォルトの名無しさん mailto:sage [2006/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 名前:デフォルトの名無しさん mailto:sage [2006/11/20(月) 11:15:13 ]
>>350
Buttonをあらかじめ配列やリストにつっこんどいてループ。
あるいはform1.Controlsをループでまわして当該ボタンと比較

352 名前:350 mailto:sage [2006/11/20(月) 11:23:05 ]
>>351
>Buttonをあらかじめ配列やリストにつっこんどいてループ。

回答ありがとうございます。
Buttonを配列変数に代入するということなのでしょうか?



353 名前:デフォルトの名無しさん mailto:sage [2006/11/20(月) 12:19:16 ]
Private btn(9) As System.Windows.Forms.Button

とかでもいいんでね?


で、最初に上の変数にボタンオブジェクトを代入しておいて
変えたい場合に
btn(0).BackColor = System.Drawing.Color.AliceBlue


354 名前:337 [2006/11/20(月) 12:24:45 ]
度々すいません よく、Binの中に
AxInterop.・・・
Infragistics.・・・
Interop.・・・
という、ある程度ルールに基づいてファイルができているかとおもいますが
この3つのファイルの名前の付け方の意味をご教授願えますでしょうか
検索したのですが詳しくわかるページがなかったもので・・・


よろしくお願いします。



355 名前:350 mailto:sage [2006/11/20(月) 12:33:34 ]
>>353
回答ありがとうございます。
ボタンのそれぞれの名前をbtn(0)〜btn(9)のようにしておけばよい
ということなのでしょうか。
大昔の行番号のあるBASICしかやったことがないのでオブジェクトというものが理解出来ておらず
要領を得ない質問ですいません。

356 名前:デフォルトの名無しさん mailto:sage [2006/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 名前:デフォルトの名無しさん mailto:sage [2006/11/20(月) 12:45:40 ]
>>355
dobon.net/vb/dotnet/control/buttonarray.html
の下の方

358 名前:350 mailto:sage [2006/11/20(月) 13:34:59 ]
>>356
>>357
ありがとうございます!
さっそくやってみます


359 名前:デフォルトの名無しさん mailto:sage [2006/11/20(月) 13:44:30 ]
>>354
フレームワーク以外の参照が必要なDLLとか、プロジェクトでbin配下に
ファイルを入れてるなら、それがそこに入る。

ただそれだけ。

360 名前:350 mailto:sage [2006/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 名前:デフォルトの名無しさん mailto:sage [2006/11/20(月) 14:06:47 ]
>>360

c(2) が、どう型を宣言しているかによる。

ボタンで勉強した応用だよ

Private c(2) As System.Drawing.Color

と今度は色の型宣言をして、この変数にいれるのもちゃんと
色の型を持つもの。

c(0) = System.Drawing.Color.AliceBlue

みたいに。


362 名前:350 mailto:sage [2006/11/20(月) 15:02:50 ]
>>361
そんな型宣言も出来るんですか。
変数にボタンやらを代入してそれを操作出来る、それがオブジェクト指向っていう理解でいいのかな???
厨房の頃趣味でBASICとアセンブラをちょこっとやっただけなんで、すっかり様変わりした環境にとまどうばかりです。
ありがとうございました。がんばってみます。



363 名前:デフォルトの名無しさん mailto:sage [2006/11/20(月) 16:07:00 ]
>>362
そうだね〜

原点をオブジェクトとして、全てをオブジェクトから派生させたのが
オブジェクト指向なのかなぁ

フレームワークをみると、全てはオブジェクトから派生しているから
その考え方はとってもスマートで、いい感じ。

364 名前:337 [2006/11/20(月) 20:44:09 ]
bin の中身の件 いろいろありがとうございます。
もう一つ質問させてださい。
全部で10個くらいのEXEで運用してるアプリケーションです。
クライアントフォルダはC:\D-AP で固定としまして
このフォルダの中にEXEを10個入れてます。
で、各EXEでコンパイルしたbinの中身をあわせた物を入れています。
ただ、新しくコントロールを追加した際DLLが足りない等の警告を極力
少なくしたいため、購入した.net ツールは前もって入れておきたい
(NetAdvantege とかInputMan ) で、インストールされている関係する
DLLやJaフォルダの中身を前もって全部入れて置くってのはありですか?
いつもありがとうございます。
よろしくお願いします。












[ 続きを読む ] / [ 携帯版 ]

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

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