文字列連結がうまくいかない


HTML-M  2008-07-06 02:56:40  No: 140028

strという変数のなかには、ggという文字列がはいっています。

Dim strB As String

strB=Mid(str, 8) & "が参加しました。"

StrBには、ggしか入っていませんでした。
なぜでしょうか?


HTML-M  2008-07-06 02:58:59  No: 140029

すみません。

訂正します。

strの中身は、実際には"半角スペース7"に「gg」です。
(str="       gg")


Blue  2008-07-06 10:46:09  No: 140030

VB6とVB2005で下記のコードを試しましたが問題ないようです。

    Dim str As String
    Dim strB As String
    
    str = "       gg"
    strB = Mid(str, 8) & "が参加しました。"
    MsgBox strB & vbCrLf & _
           "文字数:" & Len(strB)

どのような確認の仕方をしたのでしょうか?

それと開発環境は必ず明記しましょう。
書くのが面倒であれば、ここではなくVB6用の掲示板・VB.NET用の掲示板が
それぞれあるのでそちらで質問してください。


HTML-M  2008-07-06 17:13:21  No: 140031

すみません。
開発環境は、VB2008・WinXPです。

本当は、

Dim str As String = encode.GetString(receivedDATA.ToArray())
        If Mid(str, 1, 3) = "MSG" Then
            msgAdd(Mid(str, 10, Mid(str, 8, 1)) & ">>" & Mid(str, 11 + Mid(str, 8, 1)))
        ElseIf Mid(str, 1, 7) = "NAMES  " Then
            MsgBox(Mid(str, 8) & "が参加しました。")
        End If

こんな感じのコードです。
わかりやすくしようと・・・。

receivedDATAは、IO.MemoryStreamです。

本当は、strは、"NAMES  gg"です。


HTML-M  2008-07-06 18:01:21  No: 140032

修正します

msgAddはMsgBoxです


HTML-M  2008-07-06 18:49:10  No: 140033

Mid関数のlengthを設定すると、結合できました。
なぜでしょうか?


我龍院  2008-07-07 17:58:47  No: 140034

先ずコードの行頭に
Option Strict On
と入れることをお奨めします。


  2008-07-08 00:15:23  No: 140035

我龍院氏が書かれてる内容に関係することだが
プログラムする時は常に「データ型」を意識しながら
するようにしよう
データ型の認識が いい加減な初心者プログラマは、
わりと ちょっとした事で引っ掛かりがちな気がする
(逆を言えば、「たまたま動いてるだけ」なプログラムを
  する人も、VB初心者には少なくない気がする)
こういう細かい部分も能力の差となる場合があるよ


※返信する前に利用規約をご確認ください。




  


  このエントリーをはてなブックマークに追加