VB.NET質問スレ (Part18)
■ このスレッドは過去ログ倉庫に格納されています
0001デフォルトの名無しさん
2006/10/19(木) 18:41:18http://pc8.2ch.net/test/read.cgi/tech/1155292844/
0232デフォルトの名無しさん
2006/11/10(金) 06:13:28しつけぇよw
おれが講師で初心者にDBアクセス教えるなら
絶対、ODPなんか使わない。
教える側もそう思ってるから、教えない。
ほんと、バカの一つ覚え(ry
0233デフォルトの名無しさん
2006/11/10(金) 07:02:34制限ユーザでも program files 以下に書き込む方法があると言う事実をどれくらいの職業プログラマが知っているだろう
0234217
2006/11/10(金) 16:19:08pictureboxのスケールを変えてグラフを書きました.しかし,ラベルや目盛りが
drawstringではゆがんで掛けないんです.
横のスケール伸ばしたら文字も横に伸びるってことです.
どうか助けてください
0235デフォルトの名無しさん
2006/11/10(金) 17:28:59引き伸ばしてからdrawするのが普通だろ!
0236デフォルトの名無しさん
2006/11/10(金) 19:31:57どうやるんだ? 教えれ!!
0237デフォルトの名無しさん
2006/11/11(土) 00:31:49クライアントが8.1.7なんです。
バージョンアップの許可がおりるかどうか…
0238デフォルトの名無しさん
2006/11/11(土) 08:18:03ハハハ、ウチなんか8.0.5ですぜw
OO4O以外テがありませんorz
0239デフォルトの名無しさん
2006/11/11(土) 09:15:01つ OCI
0240デフォルトの名無しさん
2006/11/11(土) 09:22:160241デフォルトの名無しさん
2006/11/11(土) 09:46:380242デフォルトの名無しさん
2006/11/11(土) 10:32:25oci.dllを参照に追加しようとしたら「正しいdllでありません」と言われたが…
0243デフォルトの名無しさん
2006/11/11(土) 12:51:44<Runtime.InteropServices.DllImport("oci.dll", ・・・以下省略
0244デフォルトの名無しさん
2006/11/11(土) 12:57:000245デフォルトの名無しさん
2006/11/11(土) 13:56:23Microsoft .NET Framework 1.1 Configuration
Microsoft .NET Framework 1.1 Wizards
Microsoft .NET Framework 1.1 構成
Microsoft .NET Framework 1.1 ウィザード
の四つがあるのに
Microsoft .NET Framework 2.0 Configuration
はひとつしかありません。
インストールに失敗したということですか?
0246デフォルトの名無しさん
2006/11/11(土) 14:00:53Microsoft .NET Framework 1.1 Wizards
Microsoft .NET Framework 1.1 構成
Microsoft .NET Framework 1.1 ウィザード
みんなひとつしかないと思うのだよ。
0247217
2006/11/11(土) 17:47:58すいません、その方法をどうか御教授ください。
おねがいします。
0248デフォルトの名無しさん
2006/11/12(日) 03:52:35クソ言語 VB.NET
0249デフォルトの名無しさん
2006/11/12(日) 11:54:27どうやって描画してるのかしらんけど。。
描く順番と拡大縮小する順番を逆にするだけだろ!
0250デフォルトの名無しさん
2006/11/12(日) 14:04:38Microsoft .NET Framework 2.0 構成 だね。
ランゲージパックのインスコは失敗してるな。w
0251デフォルトの名無しさん
2006/11/13(月) 05:26:27クソ言語 VB.NET
0252デフォルトの名無しさん
2006/11/14(火) 12:39:05コントロールをどこかに一時的に退避させておくことってできますか?
0253デフォルトの名無しさん
2006/11/14(火) 13:45:26ソリューションエクスプローラでファイル選んで
コピー&ペーストしてから、コピーの方のコード開いて
クラス名変えたらええやん。
0254デフォルトの名無しさん
2006/11/14(火) 15:35:08CellのstyleにComboListを設定したのですが
実行時にそのセルをダブルクリックすると
ComboList内の値に順次変更されます。
これをやめたいのですがキャンセルする方法はありますか?
あと、一度に表示するリストの数の設定方法もわからないのですが
ご存知のかたおられましたら教えてください。
よろしくお願いします。
0255デフォルトの名無しさん
2006/11/14(火) 16:38:32.NETってMSでフレックスグリッドあったっけ?
グレープシティのとは別?
あとフレームワークのバージョン教えれ。
0256デフォルトの名無しさん
2006/11/14(火) 16:44:08グレープシティのです。すみません。
VB.net2003です。
0257デフォルトの名無しさん
2006/11/14(火) 19:56:18存在する場合はリストの中から消すという一連の動作を実装したいのですが、どのように書けば良いでしょうか?
For i = 0 To x
If String.Equals ( textbox1.text, listbox1.Items,Item ( i ) ) = True Then
listbox1.Items.RemoveAT ( i )
End If
Next
これでいけるかと思ったのですが2行目でエラーが出ます。
どうやら引数の2つ目がStringではなくObjectだからなんだと思うのですが、
どうすれば良いのか判りませんorz
よろしくお願いします。
0258デフォルトの名無しさん
2006/11/14(火) 20:10:370259デフォルトの名無しさん
2006/11/14(火) 23:28:57なんつー気持ち悪いコードだ
String型の比較は、=にしやがれ
0260デフォルトの名無しさん
2006/11/14(火) 23:29:46インストールすると見れる.NET Framework SDKドキュメントを
CDなどに焼いて他のネット環境の無いPCでも見ることは可能でしょうか?
もしスレ違いなら誘導していただけると助かります。
0261デフォルトの名無しさん
2006/11/14(火) 23:33:39最後のほうにもっかい見つかったら例外起こすよなw
For文も step -1 で逆順にして
>>259の意見には同意するなw
if listbox1.items(i).ToString = textbox1.text then
だよなぁ
たしかListboxで読み取るだけならitems(i)までで文字列取得できたかと
0262デフォルトの名無しさん
2006/11/15(水) 09:18:15と
ttp://www.amazon.co.jp/gp/product/4891005262/
読んだ。
次は何読めばいい?
0263デフォルトの名無しさん
2006/11/15(水) 09:41:23カスめ。
OOPわからないんだったら、VB6.0で遊んでろ。
>>257
.NETでの文字列比較はオブジェクトから派生したStringクラスが持つ
Equals メソッドを使うのが一番いい。レスポンスも高い。
だから、お前はちょっとおしい。
If TextBox1.Text.Equals(ListBox1.Items.Item(1).ToString()) Then
’ここに処理既述
End If
で、おまいがやろうとしている事は知恵をつかわないとできない。
たとえば、いきなり消すんじゃなくて、ループの中で消したいアイテムを
選択状態にして、ループの終了後に選択項目だけを削除するようにするとか。
ガンガレ。
0264デフォルトの名無しさん
2006/11/15(水) 09:55:42面倒くさいからためしてないけど、ダブルクリックイベントで
イベントをキャンセルするか、現在選択している項目を再選択
させるかで実現できない?
あと、一度に表示できる行数だけど、プロパティにないなら、APIじゃないと
だめなんじゃないの?
最後に、スキルがあるなら、セルに合わせて通常のコンボボックスを
ぴったり描画してやると、グレープシティのウンコグリッドよりも余程使い勝手が
いいと思うよ。
0265デフォルトの名無しさん
2006/11/15(水) 10:15:10String.Equalsメソッドは、引数オブジェクトのToStringメソッドをコールする癖をつけないと、
痛い目見るぞ
それがいやなら=使っとけ
あと>>261の言うとおり、
ListItemCollectionのitemをRemoveすると、Collectionの中身が前詰めされるので、気をつけろ
0266デフォルトの名無しさん
2006/11/15(水) 11:11:182個前のレス(>>263)くらい読めよ。
第一、step -1 で逆順にしてもループする回数がかわらねぇだろうが。
本当の意味で救いようがない。
バカなんだから、半年ROMってろ。
0267デフォルトの名無しさん
2006/11/15(水) 11:15:040268デフォルトの名無しさん
2006/11/15(水) 11:28:430269デフォルトの名無しさん
2006/11/15(水) 11:34:57> たとえば、いきなり消すんじゃなくて、ループの中で消したいアイテムを
> 選択状態にして、ループの終了後に選択項目だけを削除するようにするとか。
コードで書いてくれ
0270デフォルトの名無しさん
2006/11/15(水) 11:56:550271デフォルトの名無しさん
2006/11/15(水) 11:57:32VS2003
VB.NET
.NET Framework1.1
で開発してるんだけども、VB6以前で比較的よく使われてたフォームの表示の仕方
Load frmObj
frmObj.Show
と同じようなことってVB.NETで出来ないかな?
過去同じような質問がでてれば、ポインタかキーワード
がもらえると助かります…。
0272263
2006/11/15(水) 12:21:30そういう時は先生にエロ画像でも提供汁。気がきかねぇ。
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()
0273デフォルトの名無しさん
2006/11/15(水) 12:31:38もし、それがドトネトでできないなら、OOPとは言わない。
うんこから帰ってきたら、教えてやるよ。
0274デフォルトの名無しさん
2006/11/15(水) 12:36:59Equalsが一番レスポンスがいいとか言ってるくせに
非常に無駄なことをしているように見えるのは俺だけ?
0275デフォルトの名無しさん
2006/11/15(水) 12:39:53このスレらしいけど。
.NETでは文字列の等価性の検査に= とか==演算子使え、っていうの自体は正論だけど
Equalsが気持ち悪いっていうのはどうかね。
気持ち悪いっていうのは不自然と言い換えていいと思うが、文字列の等価性が
=で検査できちゃうことの方が(便利ではあるが)不自然で気持ち悪いんだよ本来は。
それからコレクションのアイテムをシークして削除するときに
シークしてるループの中で直接削除しちゃうデザインっていうのはどうなの?w
ループカウンタをデクリメントで回すとかそういう問題か?
そういうのは普通、あらかじめ削除する(または逆に「削除せず残す」)アイテムのコレクションを
作成しておいてからまとめて削除(あるいは総とっかえ)するコードを書くでしょ。
0276263
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
ちょっと吊ってきます。
0277デフォルトの名無しさん
2006/11/15(水) 13:01:00dim f As frmObj
’この時点で画面にあるコントロールのイニシャライズが走る。
Set f = New frmObj
#Region " Windows フォーム デザイナで生成されたコード "
↑この中のNewのメソッド(オブジェクトのコンストラクタ)が走る。
次に自分がフォームに事前にやらせたい処理、例えば、VBの頃に
ロードイベントに書いていたような処理をやらせたいのであれば、
その処理を外部に公開するメソッドとしてフォームに書いておいて
Set f = New frmObj
Call f.初期化処理
のようにメソッドをCallする。
もしくは、あまり進めないが、オブジェクトのコンストラクタ配下に書いても
処理は走る。
最後にShowすればおk。
0278271
2006/11/15(水) 13:03:520279デフォルトの名無しさん
2006/11/15(水) 13:07:18Items.RemoveAtによってSelectedIndicesも削除されるのを知ってて言ってるんだよな?
直接逆順ループでRemoveするのと何が違うんだ?
0280デフォルトの名無しさん
2006/11/15(水) 13:20:32気にするな。
デザパタをちょっと勉強して、コードにデザインを持たせようと
してるようだけど、全てが当てはまるわけじゃない良い例がコイツ>>275
ちなみに、>>275はjava糞くせぇにおいがする。
C房はそんなことしない。
0281デフォルトの名無しさん
2006/11/15(水) 13:27:57定番中の定番なんだから、デクリメントで回せばいいって問題以外の何者でもないと
思うが。どうしてもインデックスループ中での削除が嫌ってのなら、効率は
落ちるが
Dim count As Integer
Do
count = ListBox1.Items.Count
ListBox1.Items.Remove(TextBox1.Text)
Loop While count <> ListBox1.Items.Count
とかもありだな。ListBoxで扱う量が大した事無ければ、実際には効率が
問題になることもないだろうし。
しかし、インデックスループがアレだからといいつつ、結局インデックスループを
してるし、意図がよくわからん。
0282デフォルトの名無しさん
2006/11/15(水) 13:46:21こんなものに知恵なんか使うか、理屈ばっかりで頭は良くないな。
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)
0283デフォルトの名無しさん
2006/11/15(水) 15:05:46志村・・・あ、アンカー・・・
それに、お前のコードよりもまだ>>281の方がマシ。
お前は理屈すら屁がついてる。
0284デフォルトの名無しさん
2006/11/15(水) 16:15:53なぜ>275のようにした方が良いのかという点からしてわかりませんが・・・
良い教科書無いかなぁ
0285デフォルトの名無しさん
2006/11/15(水) 16:18:07でも結局>284の質問は変わらないのでよろしくお願いします
0286デフォルトの名無しさん
2006/11/15(水) 16:19:410287デフォルトの名無しさん
2006/11/15(水) 16:22:23オブジェクト指向を身につけて、デザインパターンを勉強汁。
参考までに
ttp://www.objectclub.jp/
ガンガレ。
0288デフォルトの名無しさん
2006/11/15(水) 17:18:46P2Pのチャットソフト作ろうと思ってるんだけど
使う両者が特定の人間ならIPでつながる?
0289デフォルトの名無しさん
2006/11/15(水) 19:19:16ttp://up2.viploader.net/pic2d/src/viploader2d156023.jpg
0290デフォルトの名無しさん
2006/11/15(水) 20:10:30志村〜。やっぱ知恵は使ったほうがいいとおもうよ?
あからさまにバグってるぞ。
0291デフォルトの名無しさん
2006/11/15(水) 21:15:350292デフォルトの名無しさん
2006/11/15(水) 21:23:22空のリストで動かせば一発。
0293デフォルトの名無しさん
2006/11/15(水) 21:24:11ごめんなんでもない
0294デフォルトの名無しさん
2006/11/15(水) 21:28:260295デフォルトの名無しさん
2006/11/15(水) 21:29:29本来ってなんだ本来って
0296デフォルトの名無しさん
2006/11/15(水) 21:36:56いや、それに関しては否定できないと思う。
0297デフォルトの名無しさん
2006/11/15(水) 21:40:540298デフォルトの名無しさん
2006/11/15(水) 21:52:50ちなみになんのことをいってるの?
0299275
2006/11/15(水) 22:01:19正しい正しくないという問題というより、
どちらがシンプルで直観的であるか、あるいは応用が利くか、という問題だね。
まあどういう方法がより直観的かはあるいは意見が分かれるかもしれないけど、
応用度の方は自明だね。
例えば後から「文字列が一致するアイテムの前後のアイテムも削除する」という
仕様変更があった場合、>>261みたいなプログラマは困るんじゃないの?w
デザパタとか言ってる人がいるけど俺はいわゆるデザパタにこういうパターンが
あるのかどうか知らない。
ただある程度まともなPGならこういう場合は>>275のように考えるだろう。
0300デフォルトの名無しさん
2006/11/15(水) 22:04:21OOPらしくというなら、ListBox1に対し「○○をリストから消せ」と指示して
Itemsの何番目かとかの細かい話はListBox1にやらせる>281の方が、言ってることと
やってることがデタラメな>275よりずっと近いよ。
0301デフォルトの名無しさん
2006/11/15(水) 22:52:16これの事を言ってるのだが。違うのか? スマンカッタ。Orz
http://www.microsoft.com/japan/msdn/vs05/vbasic/vboperatoroverloading.aspx
0302デフォルトの名無しさん
2006/11/16(木) 01:06:01その時点で完全に変えてしまうようなコードの部分に
応用度を最初から用意しておくのは、悪くはないけど、
そうしないのが馬鹿みたいなのはどうか。
XPの理念にも反する。
0303デフォルトの名無しさん
2006/11/16(木) 01:35:04さらに副作用やらバグありやらだしなー。
悪くはないじゃなくて、率直に言ってダメコードの見本だ。
0304デフォルトの名無しさん
2006/11/16(木) 06:34:45いやいや!
本当に演算子の\だの=だのをオーバーロードしてるね!
オレは2005はまだ案件も来てないし使ってないけど
こんな機能が追加されたのか〜・・・
う〜ん?2005のフレームワークを逆コンパイルすると
演算子のクラスでもあるのかな?
そこはちょっと興味ある。
0306デフォルトの名無しさん
2006/11/16(木) 08:58:32もうお前飽きたから、雑談がしたいなら雑談板にいけ
0307デフォルトの名無しさん
2006/11/16(木) 09:07:08度し難しなのはお前。反論するならコードでも出してやるこった。
単なる俺様マンセーな話を続けるなら他所でやってくれ。
0308デフォルトの名無しさん
2006/11/16(木) 09:53:58と言うことで一件落着、次いってみよう。
0309デフォルトの名無しさん
2006/11/16(木) 12:41:36馬鹿な癖に馬鹿を自覚してないし、物事をシンプルに考える能力がない。
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
0310デフォルトの名無しさん
2006/11/16(木) 12:49:17何度も同じ事を言わせんなよ。
>>306-308
もう終わったんだよ。
バカなのか?
失せろ。
0311デフォルトの名無しさん
2006/11/16(木) 12:59:24あのさ、さんざん指摘されてるが、そのコードでは削除対象に含まれない
SelectedItem(s)とかもクリアされちゃうとか、リストビューが必要以上に
スクロールしちゃうケースが出てくるとかの影響なんかは理解してる?
実務経験が少ないのなら仕方ないけど、リストボックスみたいな
UIコントロールは見た目の動きも重要なんですよ。
0312デフォルトの名無しさん
2006/11/16(木) 14:59:210313デフォルトの名無しさん
2006/11/16(木) 15:05:49見ろよ。こいつ>>309
>馬鹿な癖に馬鹿を自覚してない
一段どころか、モノホンのバカなんだよ。
で、もうこの話題は飽きたんだ。
0314デフォルトの名無しさん
2006/11/16(木) 17:12:24文字列どうしの比較はEquals()を使えって行ってるだろ。
まさかおまえ275と同一人物じゃないだろうな。
もういい、次、次、次。
0315デフォルトの名無しさん
2006/11/16(木) 17:47:110316デフォルトの名無しさん
2006/11/16(木) 18:09:19( ・ω・)・・・イコールだよ・・・・
0317デフォルトの名無しさん
2006/11/16(木) 19:51:39Equals使えってじゃばじゃないし。
0318デフォルトの名無しさん
2006/11/16(木) 19:52:420319デフォルトの名無しさん
2006/11/16(木) 19:55:34それはアミノサプリだろ!
…???あれ????
0320デフォルトの名無しさん
2006/11/16(木) 20:14:020321デフォルトの名無しさん
2006/11/16(木) 20:41:190322デフォルトの名無しさん
2006/11/16(木) 20:49:500323デフォルトの名無しさん
2006/11/16(木) 20:56:37フレームワークは?
0324デフォルトの名無しさん
2006/11/16(木) 21:25:41苦しゅうないよきに計らえ。
0325デフォルトの名無しさん
2006/11/16(木) 21:57:18プロパティから「編集、更新、キャンセル」
ボタンを追加したのですが、編集モードに
切り替わらないのです。もちろん、EditCommandの
イベントハンドラにコードは記述してあります。
ステップ実行すると、イベントとして認識されて
いないように思えるのですが。(Page_loadメソッドを見にいく)
教えてください、神様。
0326デフォルトの名無しさん
2006/11/16(木) 22:12:25「物事をシンプルに考える能力がない」には同意。
簡単な事を小難しくコーディングするヤツが大杉。
物事の本質的な部分がわかってないからそうなるんだな。たぶん。
0327デフォルトの名無しさん
2006/11/17(金) 00:10:120328デフォルトの名無しさん
2006/11/17(金) 00:28:59既出の動きが変わる件やら、DataSourceにbindingされていたらダメじゃんとか、
応用応用いいながらListboxコントロールをCheckedListBoxに変更されたら
やり直しじゃんとか、突っ込みどころ満載なのはもう十分わかってるから、
せっかく逃亡しているんだからそっとしておいて、次の質問に備えようよ。
で、いまいち説明がよくわからんので、出せる範囲でいいのでコードを
つけて説明してもらえるとコメントがつきやすいぞ >325
あと、DataGridなのか、DataGridViewなのかもね。
0329デフォルトの名無しさん
2006/11/17(金) 04:08:12そういうやつらは少ない時間に多量のコーディングができると思われるので逆に評価が高い
0330デフォルトの名無しさん
2006/11/17(金) 08:20:37突っ込みどころ満載、って
それこそ突っ込みどころ満載だな。
馬鹿な癖に馬鹿を自覚してない、とはこういうことを言うんだけどねえw
0331デフォルトの名無しさん
2006/11/17(金) 08:50:06■ このスレッドは過去ログ倉庫に格納されています