VB.NET質問スレ (Part ..
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
いや、選択されたリストの変更もさせたくないのよ
455:デフォルトの名無しさん
06/11/29 13:53:19
コントロール派生させて作ればいいじゃん。
DataBindingとか上手く使えば別に50ステップも無く作れる。
456:452
06/11/29 14:22:40
うーん、DataBindingをどう使えばConboBoxを変更不可にできるのか、
いまいちピンときません。
もうちょっとヒントお願い。
457:デフォルトの名無しさん
06/11/29 17:38:41
コンボから離れろ。
普通のラベルで内部にHashMapなり、値・表示値を保持。
初期化でコンボと同じようにそれを与えて、設定されたValueに対してText表示を変える。
458:デフォルトの名無しさん
06/11/29 20:34:53
>>452
いまだにこういう人っているんだね。
WinのGUIの思想が全然わかってない人。
いや、コントロールなんて所詮道具なんだから別に思想に反したって
結局使いやすけりゃそれでOKなんだが、どう考えてもそんなコンボボックスは
ユーザーにストレス与えると思うわ。ス元みたいなGUI使いたくないわ
459:デフォルトの名無しさん
06/11/29 21:00:17
いやホント、それってどうしてラベルじゃいけないのか分からん
入力させない、選択させないって時にコンボ使う理由は?
460:デフォルトの名無しさん
06/11/29 22:12:31
>>459
保護したときにグレーダウンして字が薄くなるのがだめなんでしょ?
461:デフォルトの名無しさん
06/11/29 22:22:36
だからそれが発想が逆立ちしてるんだよ。
ユーザー目線で物考えられないのかな。
見た目普通なのに入力も選択もできないコンボボックスなんて
イライラ製造機以外のなんでもねえだろう
462:デフォルトの名無しさん
06/11/29 22:27:56
VB.NETでウィザードページみたいなのを作っているのですが
沢山のテキストボックスの内容をチェックして、NextボタンをTrueにしたり
間違いがあるならその項目の文字列を赤にするなどのフォーマットチェック
の凄いバージョンをしたいのですが、どのようにするとスマートなのでしょうか
今はCheck()と言うサブルーチンを作って、それですべてのテキストボックスの
内容を調べて、ボタンをEnableにしたりFalseにしたり、文字を赤にする等を行
なうようにして、すべてのテキストボックスのイベントでCheckが発生するよう
にしています。
463:デフォルトの名無しさん
06/11/29 22:40:46
>>461
ほっとけばいいんでない?
>>452
コンボボックスを継承したクラスをつくって、イベント内で
処理をキャンセルするようなプロパティをついくればおk
プロパティ名はIsReadOnlyでおk。
>>462
コントロールチェック用のクラスを作る。
コントロールをオブジェクト配列にでも格納。
チェックを行いたいタイミングで、そのクラス内でチェックを
行えばいいんでない?
464:デフォルトの名無しさん
06/11/29 22:58:02
>>461
見難いから見やすくしろというユーザーも少なからずいるんだけどな
465:最凶VB厨房
06/11/29 22:59:36
Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
AddHandler Application.Idle, AddressOf Check 'Check開始してみるてすつ
End Sub
Private Sub Check(ByVal sender As System.Object, ByVal e As System.EventArgs)
'ずらずらと
End Sub
Private Sub Button3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button3.Click
RemoveHandler Application.Idle, AddressOf Check 'Check終了してみるてすつ
End Sub
466:デフォルトの名無しさん
06/11/29 23:09:19
>>465
お前、意外とバカというか、マヌケだな。
467:最凶VB厨房
06/11/29 23:16:30
模範解答どうぞ。
468:デフォルトの名無しさん
06/11/29 23:54:57
最凶VB厨房が怒ったw
今回の要件は
>すべてのテキストボックスの内容を調べて
>すべてのテキストボックスのイベントでCheckが発生する
の二点かな。
チェック関数をそのままつかったら、意味ないじゃん。
cpuのアイドリングをまって、描画がちょっと良くなるくらいじゃない?
ドトネトになって、イベントの集約が可能になったのは知ってる?
Handles と続けて。
で、チェック用にオブジェクトを格納するクラスを作って、
やりたいチェックを行うメソッドを作れば、いいじゃん。
おれなら、ControlCheckクラスとかなんとかいって作る。
他でも使い回しができるし。
酔いちくれが言える事はこのくらいかな。
469:461
06/11/30 00:11:02
>>452
まあ文句言うだけだとアレなんで一応方法考えてみたよ。
試したところこれで一応可能なようだけど。
Win32のメッセージに明るくないんでどこかおかしいかもしれないが。
ReadOnlyってプロパティが既に実装されていることを前提としている。
Protected Overrides Sub WndProc(ByRef m As System.Windows.Forms.Message)
Const WM_LBUTTONDOWN As Integer = &H201
Const WM_LBUTTONDBLCLK As Integer = &H203
If Me.ReadOnly = True Then
Select Case m.Msg
Case WM_LBUTTONDBLCLK, WM_LBUTTONDOWN
'MyBase.WndProc(m)
Case Else
MyBase.WndProc(m)
End Select
Else
MyBase.WndProc(m)
End If
End Sub
470:461
06/11/30 00:11:33
Protected Overrides Sub OnKeyPress(ByVal e As System.Windows.Forms.KeyPressEventArgs)
If Me.ReadOnly = True Then
e.Handled = True
End If
MyBase.OnKeyPress(e)
End Sub
Protected Overrides Sub OnKeyDown(ByVal e As System.Windows.Forms.KeyEventArgs)
If Me.ReadOnly = True Then
If e.KeyData = Keys.Delete Then
e.Handled = True
End If
End If
MyBase.OnKeyDown(e)
End Sub
471:最凶VB厨房
06/11/30 00:14:36
>>462の前半は要件(やりたいこと)。後半は現状じゃないのか?
いまいち言ってることがわからん。
472:461
06/11/30 00:14:37
ああ↑↓キーも禁止しないと不完全だね
473:デフォルトの名無しさん
06/11/30 00:31:56
VBってC,JAVAでいうところの演算子「%」ってないんですか?
文字では有効ではありませんと怒られたんですけど
474:デフォルトの名無しさん
06/11/30 00:33:53
>>471
違う違う。
オレら回答者にとっての要件という意味。
なんてったて、スマートにしたいんだろw
sub ちぇっく()
handles てきすとぼくす.leave, ちがうてきすとぼくす.leave
でも、なんでもやってとりあえず一個にまとめたらどう。
475:デフォルトの名無しさん
06/11/30 00:36:45
>>473
Mod
もう寝る。
476:デフォルトの名無しさん
06/11/30 01:08:19
>>475
おk把握した
ありがとう
477:デフォルトの名無しさん
06/11/30 14:18:10
グローバル変数みたいなのはどうやれば使えますか?
あとでオブジェクト指向にのっとった作法どおりのコーディングに
直しますので、とりあえず勉強しなくても使えるやりかたを教えてください。
478:デフォルトの名無しさん
06/11/30 15:36:49
どっかのクラスにSharedでPublicな変数?
使おうとも思わないから良く判らんが。
OOでやるなら、しんぐるとん実装したクラスから取れば同じでしょ。
479:デフォルトの名無しさん
06/11/30 15:45:08
>>477
そんな素敵な君に
System.Reflection クラス
を教えよう!
これを極めれば、どんなスコープだろうとも、どこからでも
参照できます!
MethodInfoなんて取得できれば、関数だって実行できちゃいます!
480:デフォルトの名無しさん
06/11/30 15:59:15
リフレクションとグローバル変数はちがうべさ。
しったかこくでねー。
リフレクションは単に動的にオブジェクト実体を名前(型)から生成できるだけ。
アドイン機能とか、可変メニューで使うが吉。
481:デフォルトの名無しさん
06/11/30 16:21:20
>>480
ネタに(ry
お前空気(ry
482:デフォルトの名無しさん
06/11/30 16:27:26
まあ空気以前に間違っとるわな。
483:デフォルトの名無しさん
06/11/30 19:18:53
ラベルの配列を作ってフォームに並べる処理を行った後で、
「ラベルの上でクリック」をイベント発生の条件にしたいのですがどのように書けば良いのでしょうか?
ラベルは二次元配列です。クリックされたラベルの添え字をどうやって検出すれば良いのかが判りません・・・
484:デフォルトの名無しさん
06/11/30 22:01:18
>>470
Win32 API を使えば、もっと簡単に出来るぞ
ComboBox1.Enabled = False
ComboBox1.DropDownStyle = ComboBoxStyle.DropDown
EnableWindow(GetWindow(ComboBox1.Handle, 5), 1)
485:デフォルトの名無しさん
06/11/30 22:10:35
>>483
AddHandler
486:452
06/11/30 22:17:51
急な用事で1日ぶりにやってきたら、なんかえらい不評かってる・・・。
絶対みんな欲しがってると思ってたのに。
ラベルとコンボの切り替えなんて、そんなのVB4.0の時からやってたけど、めんどくせーじゃん。
逆に.netでまだそんなことしてるのかよと笑われるかと思ったら、皆さんベタなのがお好きなようで。
今回やろうとしてることとラベルの違いなんて、右端に矢印ボタンがあるかどうかの違いだけだし、
矢印ボタン1つでそこまでGUIの思想とやらが狂うものかね。
ちなみに見た目普通じゃないぞ。バックカラーも変えてるぞ。
ともあれ、>>469、470 のソースいただきました。
ソース完璧でございました。
ありがとうございました。
希望通りのものが出来たよ。
>>484も勉強になったけど、APIはあんまり使いたくなかったの。
487:デフォルトの名無しさん
06/11/30 22:17:55
>>484
「簡単」とはコードの短さのことじゃないだろうw
それに、その方式だとユーザーがEnabledの動作もオーバライドする必要があり、
しかもそのコードは非直観的なものにならざるをえないんじゃないの?
488:デフォルトの名無しさん
06/11/30 22:29:00
>>487
ComboBoxをDisableにして中のEditBoxをEnableにしているだけだから簡単だろ?
戻すときはComboBoxをEnableにするだけで戻ったはず。
で、どこが直感的でないんだ? Win32 Api を知らない人にとってはって意味?
489:デフォルトの名無しさん
06/11/30 22:37:47
>>488
ああ今わかったよ。
>>484はある意味非OOP的な考え方をしてるんだね。
ComboBoxを継承して新機能を付加する、って発想じゃないわけだ。
そうじゃなくて、あくまでComboBoxを使うユーザーのコードのなかでComboBoxをいじる、という発想。
話が噛合わないわけだ。
490:デフォルトの名無しさん
06/11/30 22:39:42
ついでに言えば、やっぱりそういう発想はスパゲティ的であって「簡単」とは言わんでしょう
491:最凶VB厨房
06/11/30 22:44:09
何をおっしゃっているのかマジでわからんw
どこをどうみたらスパゲティ的なのか。
492:デフォルトの名無しさん
06/11/30 22:46:49
ふふふ
うへへははw
やっぱり、ブービー厨を酒のつまみにするのは最高w
493:デフォルトの名無しさん
06/11/30 22:47:38
>>492
コテハンにしてくれませんか?
494:酔いちくれ ◆J0rwikii8c
06/11/30 23:09:04
うん??
なぁんだよ。
495:デフォルトの名無しさん
06/11/30 23:31:23
どなたか教えて下さい。
環境はORACLE9iでVS2003です。
DBからテーブルをDaTaSetに落とし、そのDataSetをDataGridViewに表示させると少数が近似値をとってしまうようです。
例…0.02が0.02000000002みたいになります。
DataGridColumnの型をなおすにはどうすればよいでしょうか。
496:デフォルトの名無しさん
06/11/30 23:36:04
>>489
お前はいったい何を言ってる?
497:デフォルトの名無しさん
06/12/01 00:05:32
>>495
基本的には必要な桁までに丸めればいいんじゃないの?
あるいはDataSetにぶち込むオブジェクトのToStringをオーバーライドして
必要な桁までの文字列になるようにするか。
498:デフォルトの名無しさん
06/12/01 00:15:02
>>489
ComboBoxを継承して中の人をオーバーライドすれば簡単にOOPという物になるだろ?
応用が利かないのか。
オレは、スパゲティ好きのWin32 SDKな人だが文句あるか?
499:デフォルトの名無しさん
06/12/01 00:26:52
>>489
OOP以前に>>469-470のロジックは強引過ぎやしないか〜
500:デフォルトの名無しさん
06/12/01 00:31:33
>>498
文句とかそういうガキ臭いこと言わないの。
まあもし>>487の話読んで何言ってるのかピンとこないなら、
実際にComboBoxをオーバライドしてReadOnlyの機能を実装する際に>>484みたいな
やり方で実装してみればたぶんわかるよ。
その感じだとひょっとしてコーディングしてるうちには能天気にも
問題に気づかないかもしれないけど。
501:酔いちくれ ◆J0rwikii8c
06/12/01 09:20:30
コンボボックスをおーばーらいどするという表現で
おれは、ジョッキ一杯は飲めるw
502:デフォルトの名無しさん
06/12/01 11:53:53
なにをジョッキ一杯れすか
503:デフォルトの名無しさん
06/12/01 14:04:13
ル・ラーダ・フォルオル!
504:デフォルトの名無しさん
06/12/01 18:41:39
>>503
マホカンタ
505:酔いちくれ ◆J0rwikii8c
06/12/01 21:40:07
>>502
びーる以外のものがジョッキに入ってたら
たまげるぜ。
お前のそのかわいさで、もう一杯はいけるな。
しかし、ドットネットは便利だ。
506:デフォルトの名無しさん
06/12/01 22:49:08
System.Diagnostics.Process.GetCurrentProcessのCPU使用率を取得したいのですが、どうしたら良いのでしょうか。
TotalProcessorTimeから取得できそうですが、どうすれば取得できるのか、、、分かりませんorz
507:デフォルトの名無しさん
06/12/01 23:00:48
プロパティに無けりゃ無理だろ
NT 系限定で良いなら PerformanceCounter とか使えるかも知れんな
508:デフォルトの名無しさん
06/12/01 23:13:18
>>500
>>484みたいなやりかたでComboBoxをオーバライドするとどんな問題が起きるのだ?
VB厨にわかるように教えてくれ!
509:酔いちくれ ◆J0rwikii8c
06/12/01 23:16:49
もう、オレのパトスは限界だ!
びゅっ!とでる!
コンボボックスをオーバーライドするんだ!
510:デフォルトの名無しさん
06/12/01 23:30:36
wwwww次元が歪んだ世界wwwwwww
511:デフォルトの名無しさん
06/12/01 23:36:22
どこの世界も心の働きがズレている、というか幼いのが増えたよな。
何が楽しいんだかねまったくw
俺には理解できんセンスだ。
>>508
継承、な。
まずやってみれば?
話はそれから。
512:デフォルトの名無しさん
06/12/01 23:45:27
皮肉も理解できん奴も増えたよな
513:デフォルトの名無しさん
06/12/01 23:46:32
ガクガク(((゜Д゜)))ブルブル
514:デフォルトの名無しさん
06/12/01 23:49:43
>>508
つ s/ComboBox1/MyBase/
515:デフォルトの名無しさん
06/12/01 23:49:51
>>512
それが「皮肉」として成立すると思っちゃうような感性を、人は幼稚と呼ぶんだよw
516:デフォルトの名無しさん
06/12/02 00:02:50
(゜∀゜)(∀゜)(゜ )( )( ゜)( ゜∀)(゜∀゜)
517:デフォルトの名無しさん
06/12/02 03:15:26
【使用環境】VB.NET2003
string形式の文字列を配列使わないで
ループで一文字ずつ取り出していく方法ってありませんか?
518:デフォルトの名無しさん
06/12/02 03:35:58
a(i)
519:デフォルトの名無しさん
06/12/02 04:30:31
>>518
それすると配列じゃないってエラー出るんですよね
2005なら全く同じソースで動いたんですけども
520:デフォルトの名無しさん
06/12/02 08:31:43
a.Chars(i)
521:デフォルトの名無しさん
06/12/02 10:28:01
for i=0 to len(str)-1
part=str.substring(i,1)
next
じゃあかんのか?
522:デフォルトの名無しさん
06/12/02 10:36:54
あほか
523:低脳無能な愚民
06/12/02 15:27:14
MP3とWAVEとWAVEを3つ同時に流したいのだが、どーすりゃいいんだぁー??泣泣泣
524:デフォルトの名無しさん
06/12/02 15:28:10
お前には無理。
525:デフォルトの名無しさん
06/12/02 20:40:50
GUI作成中にラベルの境界が見えないのは改悪だろ
常識的に考えて
526:デフォルトの名無しさん
06/12/02 21:14:19
.textに識別がつくようになんか入れとけばいいじゃん。
527:デフォルトの名無しさん
06/12/02 22:18:03
超初心者ですみません
図形を描写するプログラムはPictureBox1_Paintに書かないといけないんですか?
Form1_Loadだと描写できないんですかね?
528:デフォルトの名無しさん
06/12/02 22:24:32
マジレスすると超初心者のまずすべきことはこんなところで人に質問することじゃなく、
入門書をあさることだろう。
まあ、すでにこうやって質問してる時点で見込みがない人だと思うけど
529:デフォルトの名無しさん
06/12/02 22:29:56
入門サイトは見てるんですけど調べたいことは載ってないんですよね
ボタンクリックすると表示されるソースはあるのに
フォームロードで作ってみても描画されないしもう諦めて寝ます
530:デフォルトの名無しさん
06/12/02 22:35:11
だから初心者のクセにやりたいことだけピンポイントで調べよう、なんて考えが間違ってるんだよ。
そんなの10年早いわw
現にお前さんがそうであるように、初心者の思う「やりたいこと」っていうのは
的外れなことだったりするからな。
531:デフォルトの名無しさん
06/12/02 22:46:45
ぶっちゃけ
Loadイベントで描画
→CreateControlされた時等にだけ呼ばれる
→Formが表示されたときに消える
Paintイベントで描画
→画面がInvalidateされるたびに呼ばれる
→ずっと表示されてるように見える
532:デフォルトの名無しさん
06/12/02 23:04:41
>>530
一通り書かれている入門書は読むべきだな。
そうでなければ、入門サイトを調べるのとは別に、各コントロールのイベント、メソッド、プロパティを見る事。
>>530 が言ってるように、ピンポイント情報ではなく全般的に知識を持つ事が重要。
533:532
06/12/02 23:05:31
最初の >>530 は >>529 のミス。すまぬ。
次ページ最新レス表示スレッドの検索類似スレ一覧話題のニュースおまかせリスト▼オプションを表示暇つぶし2ch
4988日前に更新/273 KB
担当:undef