B4A Routine umschreiben

  • Sonstige

Es gibt 2 Antworten in diesem Thema. Der letzte Beitrag () ist von kollimann.

    B4A Routine umschreiben

    Hallo, ich bräuchte mal Hilfe beim ändern einer Routine in Basic4Android.
    Wenn B4A keiner kennt, das ist eine IDE zum entwickeln von Android Apps an VB bzw. Basic angelehnt, leider bekomm ich da keine Antwort in diesem Forum.

    Also es geht um Serielle Kommunikation und den Teil für den Empfang von Daten.

    VB.NET-Quellcode

    1. Private Sub astreams_NewData (Buffer() As Byte)
    2. Dim newDataStart As Int = sb.Length
    3. sb.Append(BytesToString(Buffer, 0, Buffer.Length, charset))
    4. Dim s As String = sb.ToString
    5. Dim start As Int = 0
    6. For i = newDataStart To s.Length - 1
    7. Dim c As Char = s.CharAt(i)
    8. If i = 0 AND c = Chr(10) Then '\n...
    9. start = 1 'might be a broken end of line character
    10. Continue
    11. End If
    12. If c = Chr(10) Then '\n
    13. CallSubDelayed2(mTarget, mEventName & "_NewText", s.SubString2(start, i))
    14. start = i + 1
    15. Else If c = Chr(13) Then '\r
    16. CallSubDelayed2(mTarget, mEventName & "_NewText", s.SubString2(start, i))
    17. If i < s.Length - 1 AND s.CharAt(i + 1) = Chr(10) Then '\r\n
    18. i = i + 1
    19. End If
    20. start = i + 1
    21. End If
    22. Next
    23. If start > 0 Then sb.Remove(0, start)
    24. End Sub


    Problem ist hier das der Empfang wirklich nur Funktioniert wenn auch "13" "10" als Endzeichen ankommt, sonst passiert da nichts.
    Meine Gegenstelle sendet als Endzeichen "$" !
    Kann man das ändern in der Routine?
    Ich denke ein fähiger VB Progger kann fix die 5 Zeilen interpretieren und so ändern das es auf $ reagiert:..........................ich bin noch nicht so fähig ?(

    Danke Heiko