2016-07-22 5 views
0

私はビジュアルベーシック2010を使用しています。下のフォーマットの文字列があります。コンマの分割値を分割して個別のテキストボックスに入れたいと思います。最後に Temp_read:348 、HV_Read:647、SPD:0、DIS:0」私は一人で値を分割し、テキストボックスに入れたい文字列を分割してテキストボックスに入れます

誰かがどのように私はそれを行うことができ、私を提案することができます任意のコード例はあります

。。。。
Public Class Form1 

    Dim selectedItem1 As String 
    Dim Data As String 
    Private Sub SMCB1_clientIP_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles SMCB1_clientIP.TextChanged 

    End Sub 


    Private Sub SMCB1_Connect_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles SMCB1_Connect.Click 

     Dispay_Show.Text = SMCB1_clientIP.Text 
     Dispay_Show.Text = SMCB1_clientIP.Text & vbNewLine & SMCB1_Port.Text & vbNewLine 
     Data = "SMCB3,3,0,0,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,Temp_read:348,HV_Read:647,SPD:0,DIS:0" 
     Dispay_Show.Text = SMCB1_clientIP.Text & vbNewLine & SMCB1_Port.Text & vbNewLine & Data 
     Data.Split() 





    End Sub 


    Private Sub SMCB1_Disconnect_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles SMCB1_Disconnect.Click 

    End Sub 




End Class 

Image

データ= "SMCB3,3,0,0,0,0,0,0,0,0,0,0,0,0,0 、0,0,0,0、Temp_read:348、HV_Read:647、SPD:0、DIS:0 "

+0

あなたが追加したイメージの予想される出力を指定してください。 – Siva

答えて

0

私は以下のようにコードを書いています。値は各テキストボックスに記録されるはずです。以下のコードでは、最大28の値を記録することができました。 しかし、24からPARAMTERは TEMP_READ含まれています0" は別の文字列する必要があります ":348、HV_Read:647、SPD:0、DISの。" と、特定のテキストボックスに読み入れ

Option Explicit On 

Public Class Form1 

    Dim selectedItem1 As String 
    Dim Data As String 
    Dim WrdArray() As String 
    Dim line As String 

    Private Sub SMCB1_clientIP_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles SMCB1_clientIP.TextChanged 

    End Sub 


    Private Sub SMCB1_Connect_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles SMCB1_Connect.Click 

     ' Dispay_Show.Text = SMCB1_clientIP.Text 
     'Dispay_Show.Text = SMCB1_clientIP.Text & vbNewLine & SMCB1_Port.Text & vbNewLine 
     Data = "SMCB3,3,0,0,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,Temp_read:348,HV_Read:647,SPD:0,DIS:0" 
     ' Dispay_Show.Text = SMCB1_clientIP.Text & vbNewLine & SMCB1_Port.Text & vbNewLine & Data 
     Dispay_Show.Text = Data 

     Dim strArray() As String 
     Dim intCount As Integer 
     Dim Tempr_read As String 
     Dim voltage As String 
     Dim SPD As String 
     Dim Dis_value As String 

     Data = "SMCB3,3,0,0,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,Temp_read:348,HV_Read:647,SPD:0,DIS:0" 
     strArray = Split(Data, ",") 
     SMCB1_Name.Text = strArray(0) 
     SMCB1_DeviceId.Text = strArray(1) 
     SMCB1_String1.Text = strArray(2) 
     SMCB1_String2.Text = strArray(3) 
     SMCB1_String3.Text = strArray(4) 
     SMCB1_String4.Text = strArray(5) 
     SMCB1_String5.Text = strArray(6) 
     SMCB1_String6.Text = strArray(7) 
     SMCB1_String7.Text = strArray(8) 
     SMCB1_String8.Text = strArray(9) 
     SMCB1_String9.Text = strArray(10) 

     SMCB1_String10.Text = strArray(11) 
     SMCB1_String11.Text = strArray(12) 
     SMCB1_String12.Text = strArray(13) 
     SMCB1_String13.Text = strArray(14) 
     SMCB1_String14.Text = strArray(15) 
     SMCB1_String15.Text = strArray(16) 
     SMCB1_String16.Text = strArray(17) 
     SMCB1_String17.Text = strArray(18) 
     SMCB1_String18.Text = strArray(19) 
     SMCB1_String19.Text = strArray(20) 

     SMCB1_String20.Text = strArray(21) 
     SMCB1_String21.Text = strArray(22) 
     SMCB1_String22.Text = strArray(23) 
     SMCB1_String23.Text = strArray(24) 
     SMCB1_String24.Text = strArray(25) 

     ' Tempr_read = Split(Data(strArray(26),":") 


     SMCB1_Temp.Text = strArray(26) 
     SMCB1_Hvread.Text = strArray(27) 
     SMCB1_SPD.Text = strArray(28) 
     SMCB1_DIS.Text = strArray(29) 


     For intCount = LBound(strArray) To UBound(strArray) 
      Debug.Print(Trim(strArray(intCount))) 
     Next 
    End Sub 



    Private Sub SMCB1_Disconnect_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles SMCB1_Disconnect.Click 

    End Sub 

End Class 
0

I InStrRev関数の2つのインスタンスを使用することをお勧めします。コロンの場合は1つ、コンマの場合はもう一方は、文字列を逆向きにループして配列を構築します。

この方法では、コロン(とコンマの前)は、カンマとコロンの間のラベルを無視します(実際にはあなたがやろうとしている場合)。

実例をご希望の場合は、私を打つようにしてください。

大変ありがとうございます

+0

ストローク。サンプルコードはありますか? – Ajit

関連する問題