VB.NET質問スレ (Part ..
[2ch|▼Menu]
180:デフォルトの名無しさん
06/11/07 11:49:36
>>179
いよう。168。元気?

181:デフォルトの名無しさん
06/11/07 13:15:44
>>179
splitcontainer使えば?

182:デフォルトの名無しさん
06/11/07 13:40:37
>>181

splitocontainerは、それはそれで使用しています。
menustripやstatusstripなどをいろいろ組み合わせて配置したいので、
出来れば楽に設定できる方法が無いかと探しているところです。

みなさんは、dock機能は使わずに、アンカーやその他の方法を使用して
いるのでしょうか?

>>80
168とは別人ですが?



183:デフォルトの名無しさん
06/11/07 13:54:28
>>182
うそつけw >>168,173,179
お前以外誰がいるんだよw



正直にいったら、なんでも教えてやるぞ。

184:デフォルトの名無しさん
06/11/07 14:03:10
面白い奴だな。

185:179
06/11/07 14:05:14
まじ別人なんだけどw
書き込む時間帯が全然違うじゃないかボケwww

まぁ、同一人物扱いさせてどうするつもりなんだ?

正直に言ったから早く教えろよ馬鹿www


186:デフォルトの名無しさん
06/11/07 14:30:46
>>185
マジ、面白いやつだw

ヒント
 コントロールで右クリック。最(ry

ガンガレ!168!

187:デフォルトの名無しさん
06/11/07 14:38:58
お前の返事の前に判ったんで、そのことを書こうと思ったら、
先に書かれてた。
ふざんけんな、ボケ!!
もっとのんびりレスしやがれwww

でも、まぁ、先に返事を書いてもらってしまったからには
礼を書いておく。ありがとよ。

それと別人だと何度言ったらわかるんだ?www
俺は昨日の23時ごろは、くりいむなんとかを見てたっつーのw


188:デフォルトの名無しさん
06/11/07 15:26:30
(,,゚Д゚)∩先生方、質問です。
VB2005 Express Edition から、Oracle9iへの接続ってどうやったらいいのでしょうか?
いろいろ調べたところ、データベース エクスプローラーを利用できず、
コードなら使用できるということらしいのですが、その方法がぜんぜん分かりません。
どこか、参考になるサイトなどありましたら、紹介よろしくお願いします。



189:デフォルトの名無しさん
06/11/07 15:42:00
ODBC接続だから、
コンパネから設定が必要。


190:デフォルトの名無しさん
06/11/07 16:17:32
Editionてなんだ?

191:デフォルトの名無しさん
06/11/07 18:07:55
>>188
初心者にはADOがオススメだ。
udlという拡張子udlのテキストファイルを使って、どんなDBにも接続できる。


ADOでぐぐって、頑張って部品作れ

192:188
06/11/07 19:17:26
レス感謝です

>189
理由はよく分かりませんが、ODBC接続だとタイムスタンプを取得できないらしいので、ODBCは避けるつもりでした。

>191
udlファイルで試したところ、先ほど無事にADOで接続確立できました。
ありがとうございました。

193:デフォルトの名無しさん
06/11/07 21:13:46
ComboBoxをグレーダウンさせないで入力不可に出来ませんか?
そうですか・・・

194:デフォルトの名無しさん
06/11/07 21:25:45
>>176 いろいろ聞いた結果 モジュールを使わなくてもできるみたいです。
.NET2003でやってるのですが Meがうまく認識できないのですが使えないのかな?

195:デフォルトの名無しさん
06/11/07 21:36:14
>>193,194
オマイラ、オレは今日はもう酔っぱらったw

明日、会社から教えてやるよ

196:デフォルトの名無しさん
06/11/07 21:44:46
つーかフツーodp使わね?

197:デフォルトの名無しさん
06/11/08 00:06:01
MCADって、取る価値ある?

198:デフォルトの名無しさん
06/11/08 00:17:08
-----チラシの裏-----

C#やり始めてあまりの情報量(実用的な)が何無でやっぱVBなめちゃいかんなと
VBやり始めた初心者だけど構文とか自分にはとてもすっきりしてC#がすきだな。

でもC#の言語(Colsoleアプリ)中心のしか出回ってないから挫折しそう。。。

やっぱり初心者なら多数の本が出てるVBから入るほうがWindowsアプリ作るにしても早道かなと
自分を説得してがんばとっります。またはがんばってC#に移植するしかないですね。

ヘルプみてもどこうをどうみればいいのか・・

PCやWord&Excel等の実務Lvの操作方法には初心者というわけではないですが。

ちと愚痴と自分へのがんばれの意味をこめて。またC#に戻りそうだ。。orz

199:198
06/11/08 00:19:28
もしヘルプ見るにしてもこうやって見るんだよ!
というアドバイスがあればぜひ教えてほしいです。


200:デフォルトの名無しさん
06/11/08 00:45:23
>>198
とりあえずココ
URLリンク(school.topposystem.co.jp)

あとは英語だけれど、すばらしいサンプルが多い
URLリンク(www.codeproject.com)
URLリンク(www.codeguru.com)

自分はヘルプ見ないけど、上記3つのサイトでC#もVBも使えるレベルにはなったよ

201:デフォルトの名無しさん
06/11/08 06:24:01
VB.NETを1から勉強したいと思うのですが、お勧めの本などありますでしょうか?

202:デフォルトの名無しさん
06/11/08 09:00:46
>>193
適当で申し訳ないが、ドロップダウンイベントでイベントを
キャンセルできないのかな?

>>194
正確には、Meに対して、相手のフォームのインスタンスを格納している
オブジェクトにデータを渡すようにすればおk

すまんな。今日は朝からドカタ仕事が舞い込んできたから適当。

203:デフォルトの名無しさん
06/11/08 13:16:17
質問です。

Button1をクリックして、PicturoBox1に図形を描く事はできるのですが、
PicturoBox1上にウィンドウが重なっても図形が消えないようにしたいのですが
だれか御教授ください。

204:デフォルトの名無しさん
06/11/08 16:45:03
鳳ドロー

205:デフォルトの名無しさん
06/11/08 17:38:27
>>203
PictureBoxのImageにBitmapをセットしてそこに描画する

206:198
06/11/08 18:29:02
>>200 感動しました!!ありがとう!

ひとまず動かしてみる。これが一番・・・普段自分が言ってることでした・・
理解を深めるためにヘルプなり本なり読めばいいんだ。

しかし、英語サイトは情報豊富ですね。びっくりした



207:デフォルトの名無しさん
06/11/08 23:58:38
Perlで言うHTML::TemplateやTemplateToolkitみたいな
所定のルールで書かれたテンプレートファイルを読み込んで
プログラムから置換するようなのってVB.NETではどうすればいいの?

WindowsアプリケーションからHTMLを吐く用事があって探してる所
なんか簡単な事の筈なのに簡単に出来ないこの屈辱・・・

208:デフォルトの名無しさん
06/11/09 05:18:03
>>207
javaスクリプトでいいんじゃない?
Ajaxでぐぐってちょ。

209:デフォルトの名無しさん
06/11/09 07:51:44
VBでコールバック関数について知りたいのですが
載っている本はたはwebを教えてください

210:デフォルトの名無しさん
06/11/09 11:40:49
VB2005でPCからPDAにファイルをコピーするプログラムを作成しています。
その際、PCからPDAのフォルダを参照する方法がわかりません。
ローカルの場合だと、Dim SavePath As String = "C:\Data\"のように設定するかと
思いますが、PDAの場合はどのように指定すれば良いのでしょうか?
よろしくお願いしますm(_ _)m


211:デフォルトの名無しさん
06/11/09 12:15:39
PDAによる。

212:210
06/11/09 12:19:22
>>211

 レスありがとうございます。
 情報足らずでスミマセン。
 PDAはNTTのhTcZです。(Windows Mobile 5.0)


213:デフォルトの名無しさん
06/11/09 19:39:18
logフォルダに入っているlogファイル一覧を表示させるプログラムを作りたいのですが
パス指定がよくわからなくて困っています。
私は普段Dドライブで作業しているのですが、提出用のプログラムなので
提出後Cドライブや他の場所で実行されるかもしれないので、
ドライブ場所に影響されることのないパス指定をしたいのですが・・

最終的には
フォルダ--------exeファイル
      |
      ------logフォルダ-------logファイル

という形にしたいと思っています。

214:デフォルトの名無しさん
06/11/09 20:05:26
>>213
Application.StartupPath

215:デフォルトの名無しさん
06/11/09 20:09:37
Application.StartupPath とか
My にもなんかありそうだな

制限ユーザでは program files 以下には書き込めないと言う事実をどれくらいのホビープログラマが知っているだろう

216:デフォルトの名無しさん
06/11/09 20:35:52
>>214-215
ありがとうございます。
現在制作環境にいないのでアドバイス通りに制作してないのですが
先にお礼を言わせてください。

217:デフォルトの名無しさん
06/11/09 21:10:32
PictureBox1を縦横違うスケールに拡大,あるいは縮小すると,
図形と一緒にテキストまでゆがむんですがどうすればいいでしょうか

218:デフォルトの名無しさん
06/11/09 21:25:45
はぁ?
どうすればいいでしょう、ってそんなことでつまずく馬鹿はプログラムなんて
書かなければいいと思うよマジで。

219:デフォルトの名無しさん
06/11/09 21:51:36
>>214
お前、本当の意味でマヌケだな。


>>213
相対パスでぐぐれ。
あと、マヌケな回答が多いから注意汁。

>>217
まぁ、その、なんだ。
がんがれ。

しいていうなら、何がしたいんだ?


220:デフォルトの名無しさん
06/11/09 22:00:18
カレントディレクトリは常に exe のある位置であるという立場の人ですか?

221:デフォルトの名無しさん
06/11/09 22:06:08
なんていうか、口調が偉そうな奴は例外なく無能の法則って絶対だなw

222:デフォルトの名無しさん
06/11/09 22:07:48
>>220
いや、単に馬鹿なだけでしょう。

223:デフォルトの名無しさん
06/11/09 22:21:09
>>222
いや、「マヌケな」人でしょう。

224:デフォルトの名無しさん
06/11/09 22:21:40
>>220,222
理解してるな。


>>221
おまいは、ちょっと怪しいぞw

225:デフォルトの名無しさん
06/11/09 23:05:20
みなさま、すんません。
知ってたら教えてください。
VS2003でWebアプリをつくっております。(VB.NETです)
DBがオラクルなので
.NET Framework Data Provider for Oracle
(System.Data.OracleClient)
のクラスをつかってるのですが
タイムアウトの設定でできないのでしょうか?
すんません T_T

226:デフォルトの名無しさん
06/11/09 23:24:33
Microsoft FlexGrid Cotrol,version6.0を使っている
formをshowdialogで開くとForm_Loadで何をやっても反映されないんだけど
どうして?
ちなみにshowdialogを使わずに直接実行すると反映された

227:デフォルトの名無しさん
06/11/09 23:44:11
>>225
OracleCommand.CommandTimeout
メモ : このプロパティは、.NET Framework version 2.0 で新しく追加されたものです。

MSはボラクルに冷たいな〜
System.Data.OleDb使えば?

228:デフォルトの名無しさん
06/11/09 23:46:37
>>226
Form_Load時点でFlexGridが表示されてないから?

229:デフォルトの名無しさん
06/11/09 23:57:51
>>227

ありがとうございます。
現行の環境が1.1なもので…
やはりOleDbがいいですかね?
私の設定が悪かったのかもしれませんが
OleDb空間のクラスで接続しレコードを取得したら
ROWIDまでとってきちゃってたので
OracleClientにしたのです。
OleDbでもっかい試してみます。
どもです。

230:193
06/11/10 00:04:27
Win32APIを使わないと駄目っぽいな。Orz

231:デフォルトの名無しさん
06/11/10 01:05:39
何でODP使わないんだろ

232:デフォルトの名無しさん
06/11/10 06:13:28
>>231
しつけぇよw


おれが講師で初心者にDBアクセス教えるなら
絶対、ODPなんか使わない。

教える側もそう思ってるから、教えない。


ほんと、バカの一つ覚え(ry

233:デフォルトの名無しさん
06/11/10 07:02:34
>制限ユーザでは program files 以下には書き込めないと言う事実をどれくらいのホビープログラマが知っているだろう
制限ユーザでも program files 以下に書き込む方法があると言う事実をどれくらいの職業プログラマが知っているだろう



234:217
06/11/10 16:19:08
>219
pictureboxのスケールを変えてグラフを書きました.しかし,ラベルや目盛りが
drawstringではゆがんで掛けないんです.
横のスケール伸ばしたら文字も横に伸びるってことです.
どうか助けてください

235:デフォルトの名無しさん
06/11/10 17:28:59
>234
引き伸ばしてからdrawするのが普通だろ!


236:デフォルトの名無しさん
06/11/10 19:31:57
>>233
どうやるんだ? 教えれ!!

237:デフォルトの名無しさん
06/11/11 00:31:49
>>231

クライアントが8.1.7なんです。
バージョンアップの許可がおりるかどうか…

238:デフォルトの名無しさん
06/11/11 08:18:03
>>237
ハハハ、ウチなんか8.0.5ですぜw
OO4O以外テがありませんorz

239:デフォルトの名無しさん
06/11/11 09:15:01
>>238
つ OCI

240:デフォルトの名無しさん
06/11/11 09:22:16
Webサービス使えば?

241:デフォルトの名無しさん
06/11/11 09:46:38
別に、なんでアクセスしようがどうだっていい。

242:デフォルトの名無しさん
06/11/11 10:32:25
>>239
oci.dllを参照に追加しようとしたら「正しいdllでありません」と言われたが…

243:デフォルトの名無しさん
06/11/11 12:51:44
>>242
<Runtime.InteropServices.DllImport("oci.dll", ・・・以下省略

244:デフォルトの名無しさん
06/11/11 12:57:00
ドゥルル

245:デフォルトの名無しさん
06/11/11 13:56:23
管理ツールの中に
Microsoft .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
はひとつしかありません。
インストールに失敗したということですか?

246:デフォルトの名無しさん
06/11/11 14:00:53
Microsoft .NET Framework 1.1 Configuration
Microsoft .NET Framework 1.1 Wizards
Microsoft .NET Framework 1.1 構成
Microsoft .NET Framework 1.1 ウィザード
みんなひとつしかないと思うのだよ。


247:217
06/11/11 17:47:58
>235
すいません、その方法をどうか御教授ください。
おねがいします。

248:デフォルトの名無しさん
06/11/12 03:52:35

クソ言語 VB.NET




249:デフォルトの名無しさん
06/11/12 11:54:27
>247
どうやって描画してるのかしらんけど。。
描く順番と拡大縮小する順番を逆にするだけだろ!

250:デフォルトの名無しさん
06/11/12 14:04:38
>>245
Microsoft .NET Framework 2.0 構成 だね。

ランゲージパックのインスコは失敗してるな。w


251:デフォルトの名無しさん
06/11/13 05:26:27

クソ言語 VB.NET




252:デフォルトの名無しさん
06/11/14 12:39:05
フォームのデザインをやり直したいのですが、今フォーム上にある
コントロールをどこかに一時的に退避させておくことってできますか?

253:デフォルトの名無しさん
06/11/14 13:45:26
>>252
ソリューションエクスプローラでファイル選んで
コピー&ペーストしてから、コピーの方のコード開いて
クラス名変えたらええやん。

254:デフォルトの名無しさん
06/11/14 15:35:08
flexgrid.netについてですがやさしいかた教えてください。

CellのstyleにComboListを設定したのですが
実行時にそのセルをダブルクリックすると
ComboList内の値に順次変更されます。
これをやめたいのですがキャンセルする方法はありますか?

あと、一度に表示するリストの数の設定方法もわからないのですが
ご存知のかたおられましたら教えてください。

よろしくお願いします。

255:デフォルトの名無しさん
06/11/14 16:38:32
>>254
.NETってMSでフレックスグリッドあったっけ?
グレープシティのとは別?

あとフレームワークのバージョン教えれ。

256:デフォルトの名無しさん
06/11/14 16:44:08
>>255
グレープシティのです。すみません。

VB.net2003です。

257:デフォルトの名無しさん
06/11/14 19:56:18
textbox1.textと同じ文字列が、Listbox1のリストの中に存在するかどうかを調べ、
存在する場合はリストの中から消すという一連の動作を実装したいのですが、どのように書けば良いでしょうか?

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
よろしくお願いします。

258:デフォルトの名無しさん
06/11/14 20:10:37
ToString

259:デフォルトの名無しさん
06/11/14 23:28:57
>>257
なんつー気持ち悪いコードだ

String型の比較は、=にしやがれ

260:デフォルトの名無しさん
06/11/14 23:29:46
今日、.NET Framework SDK1.1をインストールしたのですが、
インストールすると見れる.NET Framework SDKドキュメントを
CDなどに焼いて他のネット環境の無いPCでも見ることは可能でしょうか?

もしスレ違いなら誘導していただけると助かります。


261:デフォルトの名無しさん
06/11/14 23:33:39
しかもこれ該当する場所が複数あって
最後のほうにもっかい見つかったら例外起こすよなw

For文も step -1 で逆順にして

>>259の意見には同意するなw
if listbox1.items(i).ToString = textbox1.text then
だよなぁ

たしかListboxで読み取るだけならitems(i)までで文字列取得できたかと

262:デフォルトの名無しさん
06/11/15 09:18:15
URLリンク(www.amazon.co.jp)

URLリンク(www.amazon.co.jp)
読んだ。
次は何読めばいい?

263:デフォルトの名無しさん
06/11/15 09:41:23
>>259,261
カスめ。
OOPわからないんだったら、VB6.0で遊んでろ。


>>257
.NETでの文字列比較はオブジェクトから派生したStringクラスが持つ
Equals メソッドを使うのが一番いい。レスポンスも高い。
だから、お前はちょっとおしい。

If TextBox1.Text.Equals(ListBox1.Items.Item(1).ToString()) Then
’ここに処理既述
End If

で、おまいがやろうとしている事は知恵をつかわないとできない。
たとえば、いきなり消すんじゃなくて、ループの中で消したいアイテムを
選択状態にして、ループの終了後に選択項目だけを削除するようにするとか。

ガンガレ。


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

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

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

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

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

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


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

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


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


267:デフォルトの名無しさん
06/11/15 11:15:04
逆順にしてケツから消していくのは定石じゃない?

268:デフォルトの名無しさん
06/11/15 11:28:43
定石だよ

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

270:デフォルトの名無しさん
06/11/15 11:56:55
フラグ立てて刈り取りじゃないか

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
そうだね〜

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

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


次ページ
最新レス表示
スレッドの検索
類似スレ一覧
話題のニュース
おまかせリスト
▼オプションを表示
暇つぶし2ch

4988日前に更新/273 KB
担当:undef