2013-10-25 55 views
0

我有以下代碼:分割字符串,然後將它傳遞給函數

Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click 

    If Not TextBox1.Text = "" Then 
     If TextBox1.Text.Contains("ping") Then 
      Dim PingSplit = TextBox1.Text.Split(" ") 
     End If 

     Select Case TextBox1.Text 

      Case "ping" 
       MsgBox(PingSplit(2).ToString)' debug 
       ' If Not Regex.Match(PingSplit(2), "\A(\d{1,2}/(1[0-99]\d)/(2[0-55]\d)).(\d{1,2}/(1[0-99]\d)/(2[0-55]\d)).(\d{1,2}/(1[0-99]\d)/(2[0-55]\d)).(\d{1,2}/(1[0-99]\d)/(2[0-55]\d))\Z").Success Then 
       MsgBox("Invalid address!") 
       Else 
       MsgBox(GetPingMs(PingSplit(2))) 
       End If 
     End Select 

    Else 
     MsgBox("System: Please insert a command!") 
    End If 
End Sub 

但是我不能工作,如何讓代碼分裂在TextBox1中的文字和下半年傳遞到GetPingMs函數,我知道這個函數起作用,我只是無法弄清楚如何傳遞數據。任何幫助將不勝感激。

+1

'PingSplit(2 )'是第三部分而不是「下半部分」。 –

+0

嘗試PingSplit(1)而不是PingSplit(2) – VladL

+0

什麼是「後半部分」 - 舉例說明數據。 – NoChance

回答

0

您的PingSplitIf內聲明,並且在Select中不可用。

此外,我一直不明白if前TextBox1.Text

選擇你的「PingSplit」的

移動宣佈這情況下,你的嘗試,但仍然是函數內部:

Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click 
     Dim PingSplit as String 
If Not TextBox1.Text = "" Then 
     If TextBox1.Text.Contains("ping") Then 
      PingSplit = TextBox1.Text.Split(" ") 
     End If 

     Select Case TextBox1.Text 

      Case "ping" 
       MsgBox(PingSplit(1).ToString)' debug 

       ' Commented if by question author. 
       ' If Not Regex.Match(PingSplit(1), "\A(\d{1,2}/(1[0-99]\d)/(2[0-55]\d)).(\d{1,2}/(1[0-99]\d)/(2[0-55]\d)).(\d{1,2}/(1[0-99]\d)/(2[0-55]\d)).(\d{1,2}/(1[0-99]\d)/(2[0-55]\d))\Z").Success Then 
       'MsgBox("Invalid address!") 
       'Else 
       'MsgBox(GetPingMs(PingSplit(1))) 
       'End If 
     End Select 

    Else 
     MsgBox("System: Please insert a command!") 
    End If 
End Sub 
+0

我認爲問題在於,當我嘗試選擇案例時,我不知道如何過濾textbox1的文本,以便它接受「ping *」,我不確定是否必須使用通配符或一些東西。 – SCGB

相關問題