Разбор различной длины ввода из Com порта - PullRequest
0 голосов
/ 10 февраля 2020

Как мне изменить этот код, чтобы он принимал вход от последовательного порта COM, длина которого варьируется от 3 до 7 цифр. Это работает нормально, если я указываю длину подстроки, но я не могу получить ее как Dynami c и принять любую строку длины. Есть ли другой способ сделать это?

If (newCommand.Substring (0, 1) = "1") Тогда итоговое значение CREDIT от AVR

                    Label1.Text = Val(newCommand.Substring(1, 4))

работает с вводом 100,00, но происходит сбой до тех пор, пока строка ввода не станет 100000.00 если я не изменю его на ...

Label1.Text = Val (newCommand.Substring (1, 7)) Как мне заставить его выполнять обе входные строки динамически?

    Function ParseData()

    Dim pos1 As Integer
    Dim pos2 As Integer
    Dim length As Integer
    Dim newCommand As String
    Dim done As Boolean = False
    Dim receivedData As String = ""

    While (Not done)

        pos1 = receivedData.IndexOf("<") + 1
        pos2 = receivedData.IndexOf(">") + 1
        If (pos2 < pos1) Then
            receivedData = Mid(receivedData, pos2 + 1)
            pos1 = receivedData.IndexOf("<") + 1
            pos2 = receivedData.IndexOf(">") + 1
        End If
        If (pos1 = 0 Or pos2 = 0) Then
            done = True
        Else

            length = pos2 - pos1 + 1
            If (length > 0) Then

                newCommand = Mid(receivedData, pos1 + 1, length - 1)
                receivedData = Mid(receivedData, pos1 + 2, length - 1)

                If (newCommand.Substring(0, 1) = "5") Then
                    My.Computer.Audio.Play(My.Resources.sound1, AudioPlayMode.WaitToComplete)

                End If

                If (newCommand.Substring(0, 1) = "1") Then  
                    Label1.Text = Val(newCommand.Substring(1, 4))

                End If
            End If
        End If
    End While

End Function
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...