このコードのエラーを見つけてください。1時間以上かけて探しました。ここにコードがあります..
Public Class Form1
Dim incomingip() As String
Dim incomingopt() As String
Private Sub btnloadall_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnloadall.Click
Timer1.Start()
rtb.Clear()
End Sub
Private Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer1.Tick
ProgressBar1.Increment(5)
If ProgressBar1.Value = 10 Then
sPort.Write("get ip" & vbCr)
End If
If ProgressBar1.Value = 20 Then
Call btnip_Click(sender, New System.EventArgs)
End If
If ProgressBar1.Value = 30 Then
rtb.Clear()
End If
If ProgressBar1.Value = 40 Then
sPort.Write("get opt" & vbCr)
End If
If ProgressBar1.Value = 50 Then
Call btnopt_Click(sender, New System.EventArgs)
End If
'If ProgressBar1.Value = 40 Then
' rtb.Clear()
'End If
If ProgressBar1.Value = ProgressBar1.Maximum Then
Timer1.Stop()
End If
End Sub
ここでは、rtb に何かを書き込むたびに、常にそれをクリアするので、変数は最初に表示される変数を読み取らないようにします。
Private Sub btnip_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnip.Click
incomingip = stringOfRtb.Split(ControlChars.CrLf.ToCharArray) ''vcrlf splitter
''ip parameters
ip = incomingip(2).Split("="c)
txtIP.Text = ip(1)
ip = incomingip(3).Split("="c)
txtMask.Text = ip(1)
ip = incomingip(5).Split("="c)
txtHost.Text = ip(1)
ip = incomingip(4).Split("="c)
txtDfg.Text = ip(1)
ip = incomingip(10).Split("="c)
txtBackupIP.Text = ip(1)
ip = incomingip(1).Split("="c)
cboDhcp.Text = ip(1)
End Sub
分割された文字列が rtb から別のテキスト ボックスに正常に表示されるようになりました。
Private Sub btnopt_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnopt.Click
incomingopt = stringOfRtb.Split(ControlChars.CrLf.ToCharArray) ''vcrlf splitter
opt = incomingopt(0).Split("="c)
txtJointimer.Text = opt(1)
opt = incomingopt(1).Split("="c)
txtReplace.Text = opt(1)
opt = incomingopt(2).Split("="c)
txtDeviceID.Text = opt(1)
opt = incomingopt(3).Split("="c)
txtPassword.Text = opt(1)
opt = incomingopt(4).Split("="c)
txtFormat.Text = opt(1)
opt = incomingopt(5).Split("="c)
txtSignal.Text = opt(1)
opt = incomingopt(6).Split("="c)
txtAverage.Text = opt(1)
End Sub
このイベントは同じ文字列を表示します! 異なるインスタンスを宣言しましたが、このイベントは btnip から文字列を取得します。私がこれから得たいものではありません。ここでincomingipを使用したようです。私は何かを見ていませんか?