VB.NET質問スレ (Part18)at TECH
VB.NET質問スレ (Part18) - 暇つぶし2ch45:デフォルトの名無しさん
06/10/30 12:00:12
>>36
VBではなくVBSでやりたいのか?


46:デフォルトの名無しさん
06/10/30 12:28:12
質問する奴が非常識なら答える方も日本語もロクに読めない低能か

47:デフォルトの名無しさん
06/10/30 12:35:55
>>43
VB.NETにはSetステートメントなんて無いよ。スレ違い。

48:36
06/10/30 12:45:23
スレ違いですか。
了解しました、相応のスレを探してそこに書きます。
汚してすいませんでした。

49:36
06/10/30 12:52:02
しかし、どこのスレになるんでしょ・・・
CとかJAVAとか.netしか見当たらないんですが。

50:デフォルトの名無しさん
06/10/30 12:57:19
ここじゃね?VBScriptもOKらしい。

VBプログラマ質問スレ(6.0以前) Part50
スレリンク(tech板)

51:36
06/10/30 13:06:52
>>50
トン
すげえいい人、ありがとね。
ではそちらに書いてきます。

52:デフォルトの名無しさん
06/10/30 16:02:43
失礼します。
いまいろいろと調べながらVB2005の学習をはじめたのですが……、
フォームデザイナで作成されるコードで判らない箇所があります。

【判らない箇所】

Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
Dim iRet As Integer
Dim Api As New Calib.OBReadLibNet.Api
Dim Def As New Calib.OBReadLibNet.Def

iRet = Calib.OBReadLibNet.Api.OBRLoadConfigFile()'-----------①





End Sub


*******************************************************

以上のようなコードでDLLの呼び出しを行っているのですが、
①の箇所で次のような警告が表示されてしまいます。

【エラーメッセージ】
「インスタンスを経由する共有メンバ、定数メンバ、
列挙型メンバ、または入れ子にされた型へのアクセスです。
正規の式は評価されません」


どなたかご教授お願いできませんでしょうか?

53:デフォルトの名無しさん
06/10/30 19:17:17
馬鹿なの?少しは自分であがけよ。
googleで「正規の式は評価されません」で検索したら一発で答えが見つかったけど。


54:デフォルトの名無しさん
06/10/30 20:49:16

ボタン1を押すと”別ウィンドウに”グラフが描画されるようにしたいのですが、どなたか御教授ください。

Form1にはボタンがあって、それを押すと別のフォームが出現して、そこにあるpictureBoxにグラフが出力できるようにしたいのです。


55:デフォルトの名無しさん
06/10/30 20:54:54
で、何が分からないの?

56:デフォルトの名無しさん
06/10/31 12:54:56
VB2005ってVB.NETの発展型っすよね?

カラオケBOXみたいな部屋管理システムを試しに作ってみようと思ったんですが、
VB6とVB2005ならどっちのほうが向いてますかね~?

当方VB6は6年ぐらいやってますがVB.NETとVB2005は初です


57:デフォルトの名無しさん
06/10/31 15:14:35
テキストボックスに文章打ち込んでボタン押すと
左右逆向きで表示させるにはどうすれば良いんでしょうか?
[あいうえお]って打ってボタン押したら下に[おえういあ]って感じで
substringを使ってどうこうだったと思うけど思い出せない・・・・
[this is a pen]って打ったら[nep a si siht]ってlableに表示させたいです
エロイ人おすぃえてください><

58:デフォルトの名無しさん
06/10/31 15:32:08
>>57
Label1.Text = StrReverse(TextBox1.Text)

59:デフォルトの名無しさん
06/10/31 16:01:47
あれ、そんな簡単に出来たんだっけ・・・・orz
ありがとうございます><
ちなみによければsubstringとloopつかったコードも教えてもらえますか?

60:デフォルトの名無しさん
06/10/31 16:20:50
Substring使わんでもStringのn文字目は取れるんだが。

Dim sb As New System.Text.StringBuilder(TextBox1.TextLength)
For i As Integer = TextBox1.TextLength - 1 To 0 Step -1
  sb.Append(TextBox1.Text(i))
Next i
Label1.Text = sb.ToString()

61:デフォルトの名無しさん
06/10/31 18:47:59
textboxが10個あるとして、それぞれを1から順番に処理したい場合、forやwhileでループさせる事は出来ますか?
要するにtextbox(i)みたいな感じで番号部分だけ変えて同じ処理を使いまわす事は可能かという事なのですが・・・
可能であればどのように指定すれば良いか教えて下さい、お願いします。

62:デフォルトの名無しさん
06/10/31 18:56:12
VB6のコントロール配列ね。
だから散々既出だけど、自分で配列なりコレクションなりにぶち込みましょう。

ほかにもっと覚えるべきことたくさんあるから、VB6のやり方に固執して
無駄に時間を使わない方がいいよ。

63:61
06/10/31 22:44:08
調べてみました。自分はVBの勉強を始めたのも.NETからだったので知らなかったのですが、
以前のバージョンではコントロール配列なんて便利なものがあったんですね。
自分なりに色々やってみたけどもう訳わかんねぇ・・・

64:デフォルトの名無しさん
06/11/01 01:03:05
>>61
どっちが便利かは微妙。
動的に扱うことを考えると.NETのようにコレクション化して自由にやれるほうがよい。
それ自体をデザイナで自由にいじれる何かがあればもっと良いとは思うけどね。

どちらにしても今更VB6なんて使う気になれん。

65:デフォルトの名無しさん
06/11/01 12:21:19
Dim a As New Integer
とせずに、
Dim a As Integer
と、Newがいらないのは何故ですか?

66:デフォルトの名無しさん
06/11/01 13:05:45
何故どちらも0に初期化されるのかという意味ならIntegerが値型だから

67:デフォルトの名無しさん
06/11/01 14:33:05
DataGridViewでTOPの2行を固定行とし、ソートの対象外に
したいのですが、froznで固定してもソートの対象になってし
まいます。
どうすればいいでしょうか?


68:デフォルトの名無しさん
06/11/01 17:55:08
VB.NETでIE上で動作するActiveXコンポーネントのようなものを
作る事は可能なのでしょうか?
何処か参考になるサイトがありましたら教えて下さい。

69:デフォルトの名無しさん
06/11/01 18:34:08
delegateがよーわからん。厳しく教えて。

70:デフォルトの名無しさん
06/11/01 18:59:16
WindowsCEのエミュレータの作り方って……、

1、Platform Builder5.0でWindowsCEのエミュを作成
2、出来上がったものを叩いてエミュレータをインストール

からどうするか判る方いませんか?

71:デフォルトの名無しさん
06/11/01 20:27:06
>>69
ぐぐれ


72:デフォルトの名無しさん
06/11/01 23:22:34
デバッガ上で動かすと最初に起動するフォームにTry~Catchを入れておけば
子フォームの例外もキャッチしてくれるのにEXEにすると各フォームの
イベントにTry~Catch入れないと駄目なんでしょ?

73:デフォルトの名無しさん
06/11/02 07:54:31
プログラムを実行したときに、コンボボックスにあらかじめ+が表示されてるようにしたいんですが、
イベントプロシージャに、
ComboBox1.SelectedIndex = "+"
と書いたんですが、ダメだったので、答えを教えて下さい。

74:デフォルトの名無しさん
06/11/02 08:00:19
>>73
インデックスって何か分かってる?

75:デフォルトの名無しさん
06/11/02 08:05:22
よく分かりません、
コンボボックスのSelectedIndexプロパティに値を設定すればいいとヒントにあったので

76:デフォルトの名無しさん
06/11/02 08:05:44
SelectedIndexに設定するんなら突っ込んであるアイテムの何個目が"+"かと言う数値を入れる

たぶんおまえさんがやりたいのはこっち
ComboBox1.SelectedItem = "+"


77:デフォルトの名無しさん
06/11/02 08:13:19
Dim A As hoge = New hoge
Dim B As hoge = New hoge

B=A

ってやるとBの参照が入れ替わるんだけどBの実体はどこにいってしまうの?

78:デフォルトの名無しさん
06/11/02 08:13:40
ComboBox1.SelectedItem = "+" をやってみましたがダメでした

79:デフォルトの名無しさん
06/11/02 08:15:13
>>77
どこか触れないところ

80:デフォルトの名無しさん
06/11/02 08:22:34
>>78
Public Class Form1

Private Sub ComboBox1_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ComboBox1.SelectedIndexChanged

End Sub

Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load

ComboBox1.SelectedItem = "+"

End Sub
End Class
試験用に上のコードで試したが正しく動作するぞ?
あらかじめコンボボックスの中身をフォームで設定済みって事前条件があるが
VB2005.netな

81:デフォルトの名無しさん
06/11/02 08:23:24
>>72
イベントにTry~Catchなんて不要
答えは前スレ

82:デフォルトの名無しさん
06/11/02 08:28:43
>>80
できました。
ありがとうございました。

83:デフォルトの名無しさん
06/11/02 09:50:54
そこで止まるけどなw

84:デフォルトの名無しさん
06/11/02 10:27:06
>>77
ガベージコレクタ行き。

85:デフォルトの名無しさん
06/11/02 10:29:46
>>67
ソート用の項目を設ける。第一Keyと第二Keyとして。

86:デフォルトの名無しさん
06/11/02 21:22:21
>>81
Application.ThreadExceptionイベントを使うのか~
知らんかった。アリガトン

87:デフォルトの名無しさん
06/11/02 21:52:46
この繰言馬鹿いつまで同じことやってるつもりだろうね。
っていうか、ここ1年ぐらいボケ老人みたいにひたすら同じこと書き続ける奴が
異常に増えた気がする。

こういう奴って自分で自分の繰言にバカウケしてるんかな

88:デフォルトの名無しさん
06/11/02 21:59:47
全メソッドにtry~catch~finally~
当然の処理だよな

89:デフォルトの名無しさん
06/11/02 22:07:13
>>88
エラーのthrowされるメソッドには1ステップ毎にtry~catchでしょ?

90:デフォルトの名無しさん
06/11/02 22:20:31
もちろんちまちま捕まえずに As Exception でごっそり頂きだよな

91:デフォルトの名無しさん
06/11/02 22:31:19
>>88-90
>>6


92:デフォルトの名無しさん
06/11/02 23:29:09
>全メソッドにtry~catch~finally~
>当然の処理だよな

もうこのネタじゃ誰も釣れない。

93:デフォルトの名無しさん
06/11/02 23:41:07
クマー


94:デフォルトの名無しさん
06/11/03 00:09:57
ま、エラーの起きる可能性がある箇所をきちんと対処していれば、
必要以外try~catch~finally~なんていらないのは事実。
つまり、しっかりバグを潰せということだ。
ただ、バグが無くても例外が起きる可能性はあるので、
例外処理が全て同じならApplication.ThreadExceptionイベントだけあればよく、
特別な処理をさせる必要があるメソッドがあるなら、上記+そのメソッドだけtry~catch~finally~を記述。
これで完璧だろ。コストも低くて無駄もない。メモリ使用量も激減。
そのうえ、コーディング時に例外を意識する必要もなくなる。

例外が起きても続行というのは絶対にありえないしね。

>>6はVBに限った話じゃないから議論にならない。

95:デフォルトの名無しさん
06/11/03 00:14:53
まあtry-finallyはいっぱい使うがな


96:デフォルトの名無しさん
06/11/03 00:42:30
> 例外が起きても続行というのは絶対にありえないしね。
原理主義者はこれだから…
ユーザビリティとかって死ぬまで分からんのだろうな…

97:デフォルトの名無しさん
06/11/03 01:10:42
>>96
もし例外(予想外の事態)が起きたとき、気づかずに処理を続けていたらやばすぎるだろ?
もし例外(予想外の事態)が起きてることに気づけるアプリなら、気づいたら止めるだろ普通!

どんなユーザビリティか教えてくれよ。

98:デフォルトの名無しさん
06/11/03 01:23:13
>>96が言ってるのは、
バグが沢山あるひどいプログラムだから、
何かあっても、まるでバグが無いかのように続行させるための手法で、
結果が正しくない等、バグ報告があったらバグフィックスすればいいという発想。
つまりちゃんとバグとれってことなんだよな。




99:デフォルトの名無しさん
06/11/03 01:33:19
tryと打ったら、馬鹿の一つ覚えみたいに、Catch節を補完するIDEが悪い。
tryと打ったら、finally節だけを補完しやがれ糞が

せめて設定で変えられるようにしやがれ

100:デフォルトの名無しさん
06/11/03 03:10:18
>原理主義者はこれだから…
>ユーザビリティとかって死ぬまで分からんのだろうな…
痛々しい。
だからThreadExceptionって以下省略。


101:デフォルトの名無しさん
06/11/03 08:37:25
>>99
try~catch~finallyと全部補完して欲しいな。
ま、catchの方は消すけど。

102:デフォルトの名無しさん
06/11/03 10:02:31
>>99,101
tryf、trycfのコードスニペット使えばいいのに
と思ったけど2005にしか無いんだっけ

103:デフォルトの名無しさん
06/11/03 10:50:45
>>102
trycf <Enter> ってやったら trycf() ってなって怒られるが
                 ^^^^^
trycf <Tab> でやるとちゃんと出るスゲェ~
コードオナペットって便利だな。

104:デフォルトの名無しさん
06/11/03 11:17:44
コードスニペットってTabで移動する所に色が付いてるけど
あれってどうやったら消えるの?
C#だとEnterで消えるんだが。

105:デフォルトの名無しさん
06/11/03 17:29:15
初心者向けの参考書って何?

106:デフォルトの名無しさん
06/11/03 20:49:57
vb.net 2005では、Application.ThreadExceptionイベントの代わりに
My.Application.UnhandledException イベントを使えばよいのですか~?

C#からも使えるらしいけどVB2005のMy機能ってなんかVB独自路線。

107:デフォルトの名無しさん
06/11/03 21:01:48
2005は使ったこと無いけど、色んな情報を
見る限り、デグレートした気分。

Myって初めて聞いたけど、なんか曖昧な感じがする。


108:デフォルトの名無しさん
06/11/03 21:58:04
System.DateTime.Now.Ticks
Now.Ticks
Date.Now.Ticks
My.Computer.Clock.LocalTime.Ticks

System.Environment.TickCount
My.Computer.Clock.TickCount

上の4つと下の2つが同じものか?
Tick値を取得するのが6つもあってVB厨は混乱するばかりだな。。

C#だとSystem.~の2つだけになるのか

109:デフォルトの名無しさん
06/11/03 22:05:05
>>107
デグレート? VB6.0への回帰現象か。

110:デフォルトの名無しさん
06/11/03 22:22:28
>>109
そう。

VB6.0以降はオブジェクトを知らない人でも
上手に使えるように設計されてるけど、逆に
曖昧さが出来てしまってる。

その証拠にインスタンスなんて知らなくても、
なんでもできるじゃん。


そこで、Myって何?って思わない?

111:デフォルトの名無しさん
06/11/03 22:39:13
昔の鶴太郎の持ちネタにマイ爺さんっていうのがあった。
単に「マイ?」しかいえない爺さんのネタなんだが。。

112:デフォルトの名無しさん
06/11/03 22:49:11
>>110
VB6.0からVB.Netに切り替わった時にVB6.0の関数なんか全部切り捨てればよかったのにね~
同じ名前の関数でVB6.0とVB.Netで微妙に動きの違うのなんか百害あって一利なし。混乱の元。

>>108のなんかNow, Date, MyはVB独自のものだから無くなればすっきりする。

113:デフォルトの名無しさん
06/11/03 22:51:10
これ以上、VB6.0への回帰現象が進むと.NetでもVB6.0のような怪奇現象が起きる様になるかも。w

114:デフォルトの名無しさん
06/11/04 03:03:47
>>102
2005使いだけど、初めて知った。サンクス!!
これは便利だわ。

115:デフォルトの名無しさん
06/11/04 03:09:41
みんな思ってるが、慣れてくると
テキストエディタにタイプした方が
全然早い。

「2005使いだけど」という時点で、なんか素人くさい。

116:デフォルトの名無しさん
06/11/04 03:22:52
>>115
みんなって誰?

117:デフォルトの名無しさん
06/11/04 05:11:10
>>115お前はあほくさい。


118:デフォルトの名無しさん
06/11/04 09:47:07
>>116
みんなと言うのは、その人物の器によって決まる。
>>115 の場合は自分と他数人だけでみんな。
オレの場合のみんなは全人類だな。人類の罪を背負ってVBプログラマやってんだ。

119:デフォルトの名無しさん
06/11/04 09:49:47
やっぱりあほだったね。

120:デフォルトの名無しさん
06/11/04 10:02:37
VB.NET 2003なのですが、ComboBoxのテキストを中央揃えにするには
どうすればよいのでしょうか。

TextBoxみたいにTextAlignプロパティってないんですね・・・

121:デフォルトの名無しさん
06/11/04 11:46:39
>>118
多分だが、俺は含まれてないと思う。

122:デフォルトの名無しさん
06/11/04 12:30:23
>>120
面白い発想だけど、難しいね。

中央揃えって、文字の長さとコントロールの幅を
考慮して、勝手に真ん中にしてくれてるじゃん。

あれをオーナードローで、表示文字とコンボボックスの
幅を考慮して適切な位置に描画する処理を実装。

123:デフォルトの名無しさん
06/11/04 18:03:21
天才ハッカーさんたちお願いしまふ。


(Diskette Tips)


Create a Diskette Tips application that displays one of the following messages when Tip is clicked:

*Keep diskettes away from electrical and magnetic devices.
*Do not expose diskettes to either extreme cold or heat.
*Store diskettes away from dust, dirt, and moisture.
*Never touch the diskette's magnetic surface.

The program code should include a DisplayTip() procedure that uses RndInt() from Review 10 to
randomly display one of the tips in a label.

124:デフォルトの名無しさん
06/11/04 21:57:50
>>123
(ディスケット・チップス)
先端がクリックされるとき、以下のメッセージのうちの1つを表示するディスケット先端アプリケーションを作成しなさい:
ディスケットを電気で磁気装置から遠ざけなさい。
ディスケットをどちらの極端な寒さもまたは熱にさらすな。
ちり、ほこりと湿気から離れてディスケットを保存しなさい。
ディスケットの磁気表面に決して触れるな。
プログラム・コードは、ラベルでランダムに先端のうちの1つを表示するために再検討10からRndInt()を使うDisplayTip()手順を含まなければならない。


125:デフォルトの名無しさん
06/11/04 21:58:44
VB2005を勉強中なのですが、質問させてください。
別の人が作ったTCPサーバーアプリケーションに接続するクライアントアプリケーションを作っているのですが、
接続は、

Dim (クライアント名) As New System.Net.Sockets.TcpClient
(クライアント名).Connect("(ローカルに接続できればいいので)Localhost", (ポート番号))

Dim networkStream As System.Net.Sockets.NetworkStream = (クライアント名).GetStream()

でいいんでしょうか。
その後、確認のため

Dim kakunin As String = "(クライアント名)が接続しました"

というメッセージをサーバーアプリケーション側に流す場合、
kakuninをByte型に変換する必要があるのか、それともそのまま送れるのかがよくわかりません。
よろしければご教授ください。

126:デフォルトの名無しさん
06/11/04 22:34:33
まあ試してみろよ

127:デフォルトの名無しさん
06/11/04 23:49:19

'エンコードを指定
Dim sysenc As System.Text.Encoding = System.Text.Encoding.UTF8
'バイト型配列に変換
Dim bytes As Byte() = sysenc.GetBytes("ここに変換したい文字")
'君が宣言したネットワークストリームでデータを送信
networkStream.Write(bytes, 0, sendBytes.Length)


サーバー側がリスナーを開始してないと何にもならないけどな

128:デフォルトの名無しさん
06/11/05 00:04:33
すいません。教えてください。
テキストエディタを作っているのですが、ファイルを開くときにシフトjisで読み込むようにしたいのですが、
'Dim reader As New StreamReader(fn, False, System.Text.Encoding.GetEncoding("shift-jis"))←のコードを下のコードのどこに入れればいいのかわかりません。
よろしくお願いします。


    Private Sub FileOpen()
        OpenFileDialog1.Filter = "CSVファイル|*.csv|テキストファイル|*.txt|HTMLファイル|*.html;*.htm|すべてのファイル|*.*"
        If OpenFileDialog1.ShowDialog = DialogResult.OK Then
            Dim reader As StreamReader
            Try
                reader = New StreamReader(OpenFileDialog1.FileName)
                main.Text = reader.ReadToEnd
            Catch ex As Exception
                MessageBox.Show(ex.Message)
            Finally
                If Not reader Is Nothing Then
                    reader.Close()
                End If

            End Try
        End If
    End Sub

129:デフォルトの名無しさん
06/11/05 00:10:40
はぁ?
面と向かってこんなアホな質問する奴がいたら俺なら頭殴るなマジで。
つーかプログラミング向いてない奴が無理にやることないと思うんだが

130:デフォルトの名無しさん
06/11/05 00:13:15
流石にこれはネタだよな

131:デフォルトの名無しさん
06/11/05 01:45:13
好きな所に入れればいいんじゃないの?単なるコメントなんだから。
ただそれじゃShift-JISでは読み込まんけどな。

132:デフォルトの名無しさん
06/11/05 03:10:07
VS2005のプロパティウィンドウみたいなコントロールってありますか?
、、、探しても見つからなくて。

133:デフォルトの名無しさん
06/11/05 03:17:55
PropertyGrid
みたいなではなくてそのまんまだが

134:デフォルトの名無しさん
06/11/05 03:19:30
>>131
ほんとにコメントだwwワロタwww



135:132
06/11/05 03:48:26
あ、ありました。
「すべてのWindowsフォーム」隠してたから分からなかったorz

136:デフォルトの名無しさん
06/11/05 09:58:01
"shift-jis"って書いてあるのを良くみかけるがMSDNでは"shift_jis"になってるんだがな。
"shift-jis"でも動くようだが間違った記述で解説しているWebページ多杉。

IANA的には"Shift_JIS"が正しいようだが。

137:136
06/11/05 10:10:52
こいつらも"shift_jis"の別名として使えるのか。orz

csShiftJIS
csWindows31J
ms_Kanji
shift-jis
x-ms-cp932
x-sjis

138:デフォルトの名無しさん
06/11/05 10:48:48
GetEncoding(932)が最強

139:デフォルトの名無しさん
06/11/05 11:36:58
おまいら、こんなのどうよ。

コンボボックスが5個。
選択項目も5個

しかし、一つ選択するとすべてのコンボボックスで
選択肢が一つ減る ダイナミックな作り。
逆に、選択を解除するとその分選択肢が増える。

どう、実装するよ?

140:デフォルトの名無しさん
06/11/05 12:05:38
>>139
全てのコンボボックスの選択肢が1つ減るということは
自分自身も1つ減るのではないか。

141:デフォルトの名無しさん
06/11/05 12:31:23
>>139
まずその舌足らずな仕様説明をなんとかすべきだろうね。
少なくとも俺はエスパーじゃないんで、そんな説明では不十分な理解しかできない。


142:デフォルトの名無しさん
06/11/05 12:51:29
>>140,141
失せろ。

1から10まで説明しないと実装できないのがお前ら
ブービー坊がカスだと言われる所以なんだよ。

現場で、詳細設計書はどこですか~?なんて言うのか?

ダイナミックってなんだよ?わからないんだろ?


143:デフォルトの名無しさん
06/11/05 12:54:01
お前の頭の中がダイナミックなことだけは分かった

144:デフォルトの名無しさん
06/11/05 13:01:42
そうか、詳細設計も無しに作るのか…



何が出来ることやら…w

145:デフォルトの名無しさん
06/11/05 13:07:00
言語にもよるけど、ブービーで詳細設計書まで作ってもらってる
PGって、上流工程の人間から見ると本物のカス。

まぬけなロジックを多大な工数をかけて作らせるのを防止する
ために、親切丁寧な詳細設計書を書いてあげる。

少しはできる人間なら、基本設計書ないし、要件定義をみれば
詳細におこせるから。

ここは少し難しい問題がでると、とりあえずなんとかしてごまかすよネ。

146:デフォルトの名無しさん
06/11/05 13:10:41
まあ139がネタかマジがわからんけど、
日本人のコミュニケーション能力の低さは問題だよね。

とにかく上から末端まで、意思疎通の重要さと難しさが認識されてない。
仕事でも2chのこういう板でも、読み手の視点に立てない奴が独りよがりに書きなぐった
要領を得ない説明文ばかりなわけで。

147:デフォルトの名無しさん
06/11/05 13:23:03
>>139
選択肢が減らないとして 5 x 5 x 5 x 5 x 5 = 3125通り
ひとつ選ぶ毎に減るとしても 5 x 4 x 3 x 2 x 1 x 5 = 600通り

こんなもん実装してなんに使うんだ?
UIとしては糞だと思うが。

148:デフォルトの名無しさん
06/11/05 13:50:07
>>147
ネタにマジレスあんがと。

しかし、600通りの場合、なんで最後にx5?
順列だから5の階乗=5・4・3・2・1=120通り。

UIは、ある選択肢の中から、優先順位を選択させる
ためにコンボボックスが5つ配置してあるとしよう。

当たり前だけど、120個もSELECE CASE文を書いたりしない。

どうするよ?


149:デフォルトの名無しさん
06/11/05 14:03:46
>>148
選択したものに対して残りの選択肢の内容が替わると考えて x5 だが。計算が違うか・・・

>当たり前だけど、120個もSELECE CASE文を書いたりしない。

120個くらいならSELECE CASE文で済ませるが。
それの方が単純明快だろ?

多いときはコレクションでも使うかな。

150:デフォルトの名無しさん
06/11/05 14:14:23
>>149
話が終わっちゃうじゃん(´;ω;`)

それに、120個もcaseがあるソースをみたら、死にたくなる。
先々、コンボボックスが増えたら・・・

コレクションという考えはわるくはないけど・・・

有名なダイナミック・プログラミングの簡単な応用だよ。
二次元配列を使うから、コレクションだと出来なくないけど
わかりにくい。



151:デフォルトの名無しさん
06/11/05 14:17:53
やっぱり馬鹿の考えることはわからん。
どうするよ?ってなんのこっちゃw

どうすべきか、は目的(何を実現したいのか)から導かれるもの。
目的が一切提示されていないのに一体何をいっているんだこの馬鹿は。

152:デフォルトの名無しさん
06/11/05 14:39:48
>>151
何度も同じ事をいわせるなよ。

お前の脳みそじゃ、理解できない事も世の中には
たぁぁぁぁあくさん、あるんだよ。

153:デフォルトの名無しさん
06/11/05 14:46:47
txtファイルに
00010
11000
01001
01101
このような0と1の羅列があるんですけど
これをVBのプログラムで読み込んで、これらの数字を二次元配列に入れるという場合は
どういったプログラムを作ればよいのでしょうか?
ぐぐったりしてみたものの、全くわからず困っております。

154:デフォルトの名無しさん
06/11/05 14:47:49
流れをぶったぎってスマン。
VB2005でReportViewerを使って印刷用の帳票を作成しているんですが、
A4用紙の設定ってどこを設定すればいいの?
エロい人教えてください。

155:デフォルトの名無しさん
06/11/05 14:54:44
>>150
ダイナミック・プログラミングってのでぐぐったらアカデミックなのが沢山ヒットしたが
厨房プログラマーの多い実務のVBプログラムにそんな高尚なものを実装されたらメンテする方が迷惑だな~

それに、コンボ5個を同じ画面に並べると期待した順番に選んでくれるとは限らんしな。
UIにするのならウイザード画面にする方が良くないか。ま、選択肢120個は同じだが。

156:デフォルトの名無しさん
06/11/05 15:20:22
>>153
'テキストを読み込んだ後に、何を二次元の配列に
'したいか考えろ。
dim sr as System.IO.StreamReader
dim strLine as string
sr = New System.IO.StreamReader("ここに対象のファイルをフルパス指定")
Do Until sr.Peek() < 0'ファイルが終了するまでループする
strLine = sr.ReadLine()
Loop
sr.Close()'ファイルのクローズ処理

>>154
ReportPageSettings クラス

>>155
たまには、おもしろいネタがあってよくない?


157:デフォルトの名無しさん
06/11/05 15:21:13
そういうコンボボックスリアルで作ったことあるなあ。

エクセルVBAでだけど

158:154
06/11/05 15:38:47
>>156
レスサンクス
そのReportPageSettingsクラスって
Microsoft.Reporting.WinForms.ReportPageSettings.PaperSizeをいじるってことですよね?
これ読み取り専用ですが・・・

159:デフォルトの名無しさん
06/11/05 15:54:32
>>158
ごめん。適当にいった。

もしかしたらPaperSourceクラスかもしれん。

160:154
06/11/05 17:49:39
>>159
PaperSourceは用紙トレイの指定では?
まだ模索中・・・できない。。。orz

161:デフォルトの名無しさん
06/11/05 17:54:52
帳票はクリレポとか使うからな~

162:デフォルトの名無しさん
06/11/05 17:58:33
クリレポなら、
CrystalDecisions.Shared.PaperSize
とかであるんだけどなぁ?

163:デフォルトの名無しさん
06/11/05 18:00:09
ReportDocumentクラスとかつかっちゃだめなの?

164:154
06/11/05 18:14:01
>>161>>162
スタンダードなのでクリレポ使えないんです。。。orz
>>163
ReportDocumentで行けそうなんですけど、
VB2005初心者なので、
ReportViewerとReportDocumentクラスの関係がいまいちわかってないのです。。。
お恥ずかしい限りです。

165:デフォルトの名無しさん
06/11/05 19:08:23
>>164
ブビー坊って文句をたれるヤシは多いんだけど、
教えるだけのスキルが居るヤシは少ないんだ(´;ω;`)

プロジェクト→参照の追加とかで、クリレポの参照って
追加できなかったっけ?

ごめんけど、家にVSいれてないから曖昧な記憶しか
提供できないんだけど・・・

その二つのオブジェクトをDirectCastとかで
キャストできない??

166:デフォルトの名無しさん
06/11/05 21:29:39
みんなリアルキティに付き合いがいいなあ…

167:デフォルトの名無しさん
06/11/06 16:06:55
>>166
おまいも寂しいんだろ?
カマって欲しいんだろ?









                     やらないか?

168:デフォルトの名無しさん
06/11/06 23:05:07
VS2005でこうマウスが乗っかると現れて、マウスが離れると消える、
スタートメニューみたいな物を作りたいんだけども
PanelのMouseHoverイベントでPanelのVisibleをEnableにして
PanelのMouseLeaveイベントでPanelのVisibleをFalseにするような風にプログラムを書くと
消す事は出来るけど復活しないんだ。
何でだろう?

169:デフォルトの名無しさん
06/11/06 23:09:57
VisibleがFalseじゃイベント起きないだろ

170:デフォルトの名無しさん
06/11/06 23:11:03
赤青のジャージ着た芸人?
確かに消えたまま復活しないな

171:168
06/11/06 23:12:01
×VisibleをEnable(意味不明)
○VisibleをTrue

EnableがTrueだったらイベントは拾うんじゃなかったのか!
そしたらどうやって消えたり付いたりするの作ればいいんだろう?

172:デフォルトの名無しさん
06/11/06 23:30:31
VisibleをFalseにすれば、イベント拾わないよ。

、、、そもそも、ある場所に来たら突然コントロールが表示されるって、どんなUIだよ。
素直にBackColor変える程度にすればいいのに。

173:168
06/11/06 23:33:57
Panelを二重にして、下側のパネルで上側のパネルが
Visible=Falseの時のイベントを拾うようにした。ちょっと動きがギコチナイけども

> どんなUI
とりあえず見た目だけニョキニョキうごきまくって、何か凄そう!言うのを
前面に押し出したUI


174:デフォルトの名無しさん
06/11/07 00:11:24
form1に入力したtextbox1のテキストをform2のlabelに表示したいのですが
モジュールで設定した以外に設定がわかりません。
ご教授お願いします。

やりたいことは

表示クライアント画面       管理クライアント画面
     ↓        ←管理        ↓
45型プラズマ出力          プラズマへ出力する内容入力

病院の外来担当表なんですが、外注するにももったいなので
つくってます。

175:デフォルトの名無しさん
06/11/07 00:46:15
もう釣りなのかマジで聞いてるのか訳がわからんw

176:デフォルトの名無しさん
06/11/07 01:06:02
>>174
label.text=form1.textbox1.text

177:デフォルトの名無しさん
06/11/07 08:26:03
>>176 ありがとうございます そのコードは入力したのですが
通らないと言うことはモジュールの設定がおかしいと言うことですね

もうちょっと勉強します。

178:デフォルトの名無しさん
06/11/07 09:40:11
>>177
まぁ、その、なんだ。がんがれ。

>>168
お前が実装しようとしているのは、世に言うドッキングコントロール。
IDEなんか、そうだろ?

ドッキングコントロールはせめてC#じゃないとつくれねぇ。
つくったソースあるけど、お前じゃ使い方さえもわからねぇ

179:デフォルトの名無しさん
06/11/07 11:36:13
VB2005でパネルの優先順位(Zorder?)を指定したいのですが、どうす
ればいいのでしょうか?

例えば、フォームにパネル1とパネル2を置き、パネル1をのdocをTopに
パネル2にdocをFillにすると、パネル2がパネル1の下に入り込んでしま
います。パネル1をパネル2の下に入り込まないように設定するには
どうすればよいでしょうか?



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

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

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

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に変更汁)


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