Hallöchen,
ich lese von einem seriellen Port die Daten ein, ein Großteil soll
einfach in eine RichTextBox geschrieben werden, mit Regex habe ich diese
Daten entsprechend gruppiert bzw. lasse sie in die Box schreiben.
Ich lese erstmal alles von ReadExisting in einen String.
Jetzt gibt es aber auch noch Daten, die ich als Hex Bytes brauche, und
die sich als Text nicht darstellen lassen (Sonderzeichen wie ¢ (a2 als
Hex) oder Þ (DE als Hex). Ich sammle die Daten per Regex auf (matche
alles Zwischen Begin-of-Line und End-of-line) und speichere sie in eine
Variable (as Char), ich denke das Problem liegt hier!?
Aussehen soll das am Ende so: AA (Start of text) A2 20 DE FF (End of
text), da will ich auslesen was als zweites Byte eingelesen wird, in
diesem Fall a2. Die A2 und DE würden "ungültige Konvertierung in der
Zeichenfolge" bringen, wenn ich sie in eine "as Byte" Variable einlese.
Ich will sie später als Line haben und auslesen was z.B. das dritte
Zeichen im Hex Format ist.
die Variable "as byte" funktioniert wie gesagt nicht, da "ungültige
Konvertierung in der Zeichenfolge".
Daher also as char...wollte ich dann zu Bytes konvertieren:
1 | Dim charvariable As Char
|
2 | Dim byteausgabe As Byte = Convert.ToByte(charvariable)
|
Fehler kommen keine, aber zu funktionieren scheint es nicht:
Ein abschließendes
1 | If byteausgabe > 0 Then MsgBox("123")
|
als Test bleibt ohne Reaktion.
Das Encoding des SerialPort steht auf ISO-8859-1 weil das für die
RichTextBox mit den Umlauten funktioniert.
Ist mein Ansatz so umsetzbar, oder müsste ich vom SerialPort erstmal
alles als Byte einlesen? Dann aber zwischenspeichern und die Daten für
die RichTextBox wieder in String umwandeln? Oder liegt mein Fehler beim
konvertieren von Char -> Byte?
Vielen Dank