トップページ⇒tech
1001コメント350KB

VB.NET質問スレ (Part18)

■ このスレッドは過去ログ倉庫に格納されています
0001デフォルトの名無しさん2006/10/19(木) 18:41:18
[前スレ]VB.NET質問スレ (Part17)
http://pc8.2ch.net/test/read.cgi/tech/1155292844/
0357デフォルトの名無しさん2006/11/20(月) 12:45:40
>>355
http://dobon.net/vb/dotnet/control/buttonarray.html
の下の方
03583502006/11/20(月) 13:34:59
>>356
>>357
ありがとうございます!
さっそくやってみます
0359デフォルトの名無しさん2006/11/20(月) 13:44:30
>>354
フレームワーク以外の参照が必要なDLLとか、プロジェクトでbin配下に
ファイルを入れてるなら、それがそこに入る。

ただそれだけ。
03603502006/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って名ですが昔のとはかなり違いますね。
0361デフォルトの名無しさん2006/11/20(月) 14:06:47
>>360

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

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

Private c(2) As System.Drawing.Color

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

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

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

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

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





0365デフォルトの名無しさん2006/11/21(火) 09:03:42
>>364
ソリューションで、その今のところは使う予定はない.NETツールも
参照設定を入れておいて、インストーラで一緒に
配布してもいいんじゃないかな。
03663372006/11/21(火) 11:28:51
> 365
ありがとうございます。
そういえばそのパターン前にVB6.0の時それやったことありました。
今回もその手で行こうとおもいます。

ただ、プロジェクトに6.0からアップグレードしたのが結構あるので
依存関係やらなにやらいろいろありすぎて6.0のランタイムも
走らせてます。なかなかきれいなものができなくて
現在も格闘中です。
最近気がついたのですが .net のプロジェクトに参照設定がフルパスで
書いてあったのでそれを参考に.netツールは余分にいれたりしています。
いろいろとありがとうございました。

0367デフォルトの名無しさん2006/11/21(火) 22:43:29
クラスとかオブジェクトとかインスタンスとかよくわからないので基礎からじっくり理解していきたいと思うのですが、
何かお勧めの本はありませんか?
0368デフォルトの名無しさん2006/11/21(火) 22:50:24
じっくりやってる暇なんてないお
0369デフォルトの名無しさん2006/11/22(水) 11:38:00
フォーム1で相対パスのアドレスが入ったstring形式の「pass」
というデータをフォーム2で使うようにしたいんですけど
どのようなプログラムをすればいいのでしょうか?

プログラムの仕様はフォーム1にあるボタンを押すとフォーム2に遷移。
その後フォーム2でフォーム1で取得した「pass」の中にあるtxtデータを元にプログラムを作っていく予定です。

ぐぐっても検索ワードが悪いのか上手く引っかかりませんでした。
ヒントだけでもいいのでよろしくお願いします。
0370デフォルトの名無しさん2006/11/22(水) 11:41:32
>>369
passの内容をレジストリに登録
form2でレジストリを読む
0371デフォルトの名無しさん2006/11/22(水) 12:01:12
いやいや、form1がメールで送ってform2で受け取ればいいだろ
0372デフォルトの名無しさん2006/11/22(水) 12:10:19
>>371
ばかだなぁ

form1でソケットを生成して、form2で受信すればいいだろw
0373デフォルトの名無しさん2006/11/22(水) 12:50:19
今風にするならWebサービスかな
03743692006/11/22(水) 13:34:05
>>370
即レス感謝です。
おかげさまで実装したい通りのものを作ることが出来ました。
他の方々もレス感謝です。
0375デフォルトの名無しさん2006/11/22(水) 13:38:30
http://www.vector.co.jp/soft/win95/util/se072729.html
作者の方へ

VisualBasicの学習者たちのためにソース公開してください
0376デフォルトの名無しさん2006/11/22(水) 14:01:06
>>374
ほかの人をやきもきさせないように、
ネタかマジかかいとくんだ。
0377デフォルトの名無しさん2006/11/22(水) 14:02:02
>>369
最大の問題は「pass」だな。
0378デフォルトの名無しさん2006/11/22(水) 14:03:45
pathがpasswordになるのかもしれないじょのいこ
0379デフォルトの名無しさん2006/11/22(水) 14:34:26
>>374
しかも、なんでよりによってレジを選ぶんだw

万が一、削除処理なんていれてたら・・・ヽ(ill゚д゚)ノ
0380デフォルトの名無しさん2006/11/22(水) 14:38:59
shared って staticのこと?
03813692006/11/22(水) 15:17:17
>>376
ネタじゃなくてマジです。

>>377-378
すみません。プログラム内ではpathを使っていたのですが
こちらではpassで質問していました。お恥ずかしい。
パスワードはとは一切関係ないです。

>>379
他に方法があるのですか?
もしよろしければ参考にしたいので教えていただけると嬉しい。
ちなみに削除処理は入れてません。入れるとまずいのですか?
無学で申し訳ないです。作りながら学んでいるのですが難しいですね…。
0382デフォルトの名無しさん2006/11/22(水) 15:29:09
>>380
まぁ、にたようなもの。

スコープが違って、sharedはクラス間でも共有されちゃうよよよよん。
0383デフォルトの名無しさん2006/11/22(水) 15:33:31
>>382
マジで?
じゃあstaticの代わりになるものってなんですか?
0384デフォルトの名無しさん2006/11/22(水) 15:41:02
>>381

dim f as new form2
f.pass = pass
f.show
0385デフォルトの名無しさん2006/11/22(水) 16:12:05
>>383
staticは無くなってないよ(´・∀・` )

>>384
それは、form2がpassというメンバ変数かプロパティを
もっていないと使えない。。。。
0386デフォルトの名無しさん2006/11/22(水) 16:29:03
だからそう書けって>>384は言いたいんだろうが
0387デフォルトの名無しさん2006/11/22(水) 16:32:47
C#のstaticに該当するのはsharedでいいんですか?
0388デフォルトの名無しさん2006/11/22(水) 16:34:47
>>387
C#のstaticはいくつか意味があるから、どれのよ
0389デフォルトの名無しさん2006/11/22(水) 16:37:31
>>387
最初からそう書けよ。

C丼でソース書いて、
ttp://authors.aspalliance.com/aldotnet/examples/translate.aspx
で変換すると、大体何が何に変わってるか、わかるよ。
0390デフォルトの名無しさん2006/11/22(水) 16:41:51
C#のstaticはいろんな意味があるんですか?
これは驚いた。
VBでは意味が違うとワードも変わるということですか?
すげー
0391デフォルトの名無しさん2006/11/22(水) 18:20:16
そういやC#のstatic classはどう書くのだろう。
NotInheritedで継承を禁止して、あとインスタンス化を抑制するのが見当たらない。
プライベートのコンストラクタでも書くのかいな。Moduleでもいいけどなんかいやだ。
0392デフォルトの名無しさん2006/11/22(水) 18:38:04
>>391
>>389 でやってみたらShared Class と書けるんだ。ありがとん。
0393デフォルトの名無しさん2006/11/22(水) 18:46:57
>>392
VBに(今のところ)Shared Classはないよ。
>>389の変換結果は常に正しいわけじゃない。
0394デフォルトの名無しさん2006/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
0395デフォルトの名無しさん2006/11/22(水) 19:09:27
まんどくさいから、シングルトンに汁。
0396デフォルトの名無しさん2006/11/22(水) 19:29:23
>>395
それがいいね
0397デフォルトの名無しさん2006/11/22(水) 22:10:35
まあ、動けばなんだもいいさ
0398デフォルトの名無しさん2006/11/23(木) 13:30:35
>>394
MSILレベルでは抽象クラス宣言と継承禁止宣言の2つを行うことで静的クラスを実現しているからね。
でもこれをVB.NETでやろうとしてもコンパイル通らない。

>>391
継承禁止にして、コンストラクタの隠蔽によるインスタンス化禁止でほぼ同等のことが実現できる。
>Moduleでもいいけどなんかいやだ。
Moduleと静的クラスは全く別物だからダメだよ。
ModuleにはStandardModule属性が付いているからね。これだけでもう全く別物。
0399デフォルトの名無しさん2006/11/23(木) 20:06:35
VBAのスレが立っていないのでここで質問させてください
組込み定数でタブはvbTab改行はvbCRとかあるのですが
スペースとカンマと括弧()の組込み定数を教えてください
もし無ければJISコードでも結構ですのでお願いします。
0400デフォルトの名無しさん2006/11/23(木) 20:42:41
なぜスレがたつまで待てないのか
なぜヘルプを見ないのか
なぜAsc()で調べないのか
0401デフォルトの名無しさん2006/11/23(木) 20:50:36
怠惰で傲慢で愚昧だから
0402デフォルトの名無しさん2006/11/23(木) 22:16:45
>>398
>Moduleと静的クラスは全く別物だからダメだよ。
>ModuleにはStandardModule属性が付いているからね。これだけでもう全く別物。
何が困るわけ?
ああ、クラス名での修飾がいらんとかそういう話?
0403デフォルトの名無しさん2006/11/24(金) 01:53:11
>>402
そういう話。
0404デフォルトの名無しさん2006/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を表示させたところ
ちゃんとした数字が入ってるんで一応そこまでは合っているようなんですが配列が全くできません(ノД`)誰かよろしくお願いします
0405デフォルトの名無しさん2006/11/24(金) 22:27:02
>>404
うへへははははwww

い、いんてじゃぁwww
0406デフォルトの名無しさん2006/11/24(金) 22:28:48
もしかしてIntegerが違うんですか?
ご存知でしたら教えてください
お願いします(ノД`)
0407デフォルトの名無しさん2006/11/24(金) 22:40:09
>>406
うへへははwww
もう、酔っぱらってよく分かんねww

でも、デバッグでbufを見たらちゃんと出てただろw
arrayはなんでいんでじゃぁなんだよw

うへwうへへへへww
0408デフォルトの名無しさん2006/11/24(金) 22:54:33
レスありがとう
でも Dim array(retu, gyo) As Stringでも上手くいかない(ノД`)
0409デフォルトの名無しさん2006/11/24(金) 22:59:54
integer、string以外で試して見れば?
0410デフォルトの名無しさん2006/11/24(金) 23:15:18
>409
ぶはははっはwww

あほだw

あほがいるwwww


peekに達したんだからよめね〜だろwww


あほだwwwwwwwwうわははははははwwww
0411デフォルトの名無しさん2006/11/24(金) 23:16:07
いやそれ以前におかすぃだろ
0412最凶VB厨房2006/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()
0413最凶VB厨房2006/11/24(金) 23:37:53
3686
4556
6784
1883
1868
1118
1587

c:\data.txt

VB.NET久しぶりすぎる。
ってかVB.NETだよな?
0414デフォルトの名無しさん2006/11/24(金) 23:42:40
VB.NET使ってます
最凶VB厨房先生、超親切な解答ありがとう
説明文も丁寧で嬉しいです
本当にありがとう(ノ∀`)
04154072006/11/24(金) 23:45:00
>>414
なぁんだよぉ


俺には感謝の言葉はないのかよぉ?うん?
0416デフォルトの名無しさん2006/11/24(金) 23:46:05
酔っ払いの兄ちゃんもありがとう(ノ∀`)
みんな優しくて嬉しいです
本当ありがとう
0417デフォルトの名無しさん2006/11/25(土) 01:47:17
VBにジャグ配列ってないの?
0418デフォルトの名無しさん2006/11/25(土) 01:54:44
あるよ
http://msdn2.microsoft.com/ja-jp/library/hkhhsz9t(VS.80).aspx
0419デフォルトの名無しさん2006/11/25(土) 16:34:29
VBAでEXCELのワークシートからCのenum構造体に変換するマクロ作らされたんだが
あっさりと出来てしまった
VBもこんな感じなの?
VC8でヒーヒーいわされただけに物凄く簡単に思えてしまう漏れは勘違いなのでしょうか?
0420デフォルトの名無しさん2006/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に変更汁)
0421デフォルトの名無しさん2006/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
0422デフォルトの名無しさん2006/11/26(日) 02:37:41
簡単なことを難しくやる典型的な例ですね
0423デフォルトの名無しさん2006/11/26(日) 02:47:06
PinnedArray とか言いつつどこにも Pin している形跡がない件について
0424デフォルトの名無しさん2006/11/26(日) 12:24:22
>>421
うははwどこのサイトで調べたかわからないけど、
お前のスキルじゃ、使いこなす事はできないよw
0425デフォルトの名無しさん2006/11/26(日) 13:38:13
>>423
ヘルプみるとメソッドが、GCHandleに対してpinを発行してるんだってさ
0426デフォルトの名無しさん2006/11/26(日) 13:47:41
そりゃ誤読だ
0427デフォルトの名無しさん2006/11/26(日) 14:17:30
>>426
ありゃ誤爆ちゃたのか俺
まあ、読解力低いからな
0428デフォルトの名無しさん2006/11/26(日) 17:01:42
プロセスのアイコンを取得することは出来ませんか。(taskmgr.exeのアプリケーションタブにあるように)
やはりAPIが必要なんですかね、、、
0429デフォルトの名無しさん2006/11/27(月) 19:11:28
C#でのstatic classがShared Classって書けないのはモジュールがあるから?
0430デフォルトの名無しさん2006/11/27(月) 21:08:16
C#で作ったstatic classをReflectorでVB.NETとして開いたら、

 Friend MustInherit NotInheritable Class

ってなったよ。意味は分からないけど。
0431デフォルトの名無しさん2006/11/27(月) 21:33:07
絶対に継承しろよ
ただし継承はできないぞ
0432デフォルトの名無しさん2006/11/27(月) 22:17:45
>>430
コンパイル通らないんじゃね?
0433デフォルトの名無しさん2006/11/27(月) 22:20:32
VB では未サポートだってば。>静的クラス
0434デフォルトの名無しさん2006/11/27(月) 22:38:27
モジュール>>>>越えられない壁>>>>静的クラス
0435デフォルトの名無しさん2006/11/27(月) 22:48:23
頼むから、モジュールは死んでほしい。

VB厨と仕事をする度に思う。


死んでほしい。
0436デフォルトの名無しさん2006/11/28(火) 16:08:11
ブラウザのリンク上で特定のキーを押したら
タイトルとアドレスをコピーというものを実装させたいのですが、
ヘルプを見る際どういったキーワードで検索を
すればいいのか教えてください。
0437デフォルトの名無しさん2006/11/28(火) 16:15:43
>>436
javaスクリプト
0438デフォルトの名無しさん2006/11/28(火) 16:21:31
>>436
BHO
0439トリビア2006/11/28(火) 23:30:51
VB2005で、ゼロで除算するとエラーじゃなくて∞が返る
0440デフォルトの名無しさん2006/11/28(火) 23:31:27
>>439
デバッグとexeで報告よろ。
0441デフォルトの名無しさん2006/11/29(水) 00:17:37
明日からVB.NETの研修が1ヶ月間はじまります。
テキストでの座学(独学)3日間→インベーダーゲーム作成
→オリジナルゲーム作成(題材は自由)
です。

VB.NETという言語がいまいちわからないのですが、
ゲーム作成などに優れた言語なのでしょうか?

オリジナルゲーム作成ではテトリスかリバーシを考えております。
グラフィカルな部分でも相当頑張らないといけないみたいで、
今から気が重いです。
0442デフォルトの名無しさん2006/11/29(水) 00:33:39
御愁傷様
0443デフォルトの名無しさん2006/11/29(水) 01:13:58
>>441
何やってる会社?
VB使うゲーム会社はないだろうし・・・
0444デフォルトの名無しさん2006/11/29(水) 01:37:11
>>443
基幹システム設計・開発
ウェブサイト構築・デザイン
携帯電話アプリケーション開発

などなど。正直良くわかっていません。
ゲーム会社ではないのですが、
VB.NETは主にどんな分野で使用されている言語なのでしょうか?
0445デフォルトの名無しさん2006/11/29(水) 05:00:43
>>444
>VB.NETは主にどんな分野で使用されている言語なのでしょうか?

答えは自分で書いてるジャン
0446デフォルトの名無しさん2006/11/29(水) 05:19:23
っていうか言語の研修なんだろ?
構文や制御くらいしか説明する時間がないから
テーマは簡単なゲームになることが多い。
VB.NETに限らず、なんにも知らんヤツに2〜3日で
データアクセスまで説明できんだろ。

よってVBがゲームに向くとかどうとか関係なし。
0447デフォルトの名無しさん2006/11/29(水) 07:18:32
ゲームのほうがロジカルだからいいんじゃね?
0448デフォルトの名無しさん2006/11/29(水) 07:28:16
んなこたーない。
0449デフォルトの名無しさん2006/11/29(水) 08:48:06
ゲームづくりっつー課題は、道具の使い方を覚えるには適切な教材だよ。
0450デフォルトの名無しさん2006/11/29(水) 12:36:49
オセロとテトリス、
初心者が作るとしたらどちらが難しいと思いますか?
0451デフォルトの名無しさん2006/11/29(水) 12:48:31
オセロ <<< テトリス

オセロは、ユーザーからのアクションをただ待てば
いいだけだから、簡単そう。
0452デフォルトの名無しさん2006/11/29(水) 13:25:44
ComboBoxにReadOnlyプロパティがあればなぁって誰もが1度は考えるよね!?

テンプレにあったサイトの中にこれがあったんだけど
ttp://jeanne.wankuma.com/library/readonlycombobox/source.html
まだ不完全ぽい。
ReadOnlyプロパティ変更すると右側の矢印ボタンが消えちゃう。

プロパティは一切変えずにUpdateStyles()だけしても消える。
どういうことなんだろう?
だれかわかる人いませんか?
0453デフォルトの名無しさん2006/11/29(水) 13:37:56
.DropDownStyle = ComboBoxStyle.DropDownList;

じゃ駄目なのか?
04544522006/11/29(水) 13:50:21
いや、選択されたリストの変更もさせたくないのよ
0455デフォルトの名無しさん2006/11/29(水) 13:53:19
コントロール派生させて作ればいいじゃん。
DataBindingとか上手く使えば別に50ステップも無く作れる。
04564522006/11/29(水) 14:22:40
うーん、DataBindingをどう使えばConboBoxを変更不可にできるのか、
いまいちピンときません。
もうちょっとヒントお願い。
■ このスレッドは過去ログ倉庫に格納されています