Visual Basic 中学校 掲示板 投稿内容
タグのない投稿を抽出 統計 RSS

Visual Basic 中学校 > 投稿一覧 >

文字列抽出

タグの編集...

投稿者 三浦   (社会人)   投稿日時 2016/12/27 18:05:26
テキストボックス1
テキストボックス2

ボタン1

テキストボックス3

このように配置して、ボタンを押したときにテキストボックス3に
テキストボックス1テキストボックスと2に入力した文字が連結されるプログラムを作ったのですが
できませんでした。(テキストボックス1の名前はX、テキストボックス2の名前はYにしました。)

Dim X As String = TextBox1.Text
Dim Y As String = TextBox2.Text

X = TextBox1.Text
Y = TextBox2.Text

TextBox3.Text = X + Y

どこが違うかご指摘いただきたいです。



投稿者 ねぼすけ   (社会人)   投稿日時 2016/12/27 19:16:17
私の場合、何も問題ありませんでした。思惑通りにできました。
もしや、
Public Class Form1
    Dim X As String = TextBox1.Text
    Dim Y As String = TextBox2.Text
    Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
        X = TextBox1.Text
        Y = TextBox2.Text
        TextBox3.Text = X + Y
    End Sub
End Class


ですか。これは、エラーしますよね。わたしも、あまり考えたことはなかったですけど、うっかりしていました。何かイベントを起こさなければコントロールにはその旨伝わりませんよね。
ですから、
Public Class Form1
    Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
        Dim X As String = TextBox1.Text
        Dim Y As String = TextBox2.Text
        TextBox3.Text = X + Y
    End Sub
End Class


としてみてください。三浦さんの思惑通りになると思いますよ。
ただ、好みの問題かもしれませんが、
>TextBox3.Text = X + Y
ではなくて、TextBox3.Text = X & Y のほうが良いのでは…
魔界の仮面弁士さんより、private内での変数は頭文字は小文字、publicでは大文字という風に決めておくと後で見直したとき楽です。ですから、Dim x As String ですね。




投稿者 魔界の仮面弁士   (社会人)   投稿日時 2016/12/27 21:40:47
題名は「文字列抽出」でしたが、
質問は「文字列連結」なのでしょうか。

文字列連結なら、「+ 演算子」ではなく「& 演算子」を使った方が良いですよ。



> ですから、Dim x As String ですね。

えぇと、なんだか私の名前が呼ばれたような気がしますが、
何のことか分からないです…。(^^;

http://rucio.cloudapp.net/CommentDetail.aspx?ThreadId=10667&CommentId=22542
でるきおさんが書かれているような、
小文字始まり(camel形式)や大文字始まり(Pascal形式)の命名規約について
触れたことはあろうかと思いますが、メソッド内の Dim 変数 について、
Private/Public で変化するという話は思い当たらないです。