tuple_chrt
— Konvertieren eines Tupels von ganzen Zahlen in ein Tupel von Strings.
tuple_chrt
konvertiert das Eingabetupel T
, bestehend aus
ganzen Zahlen, in ein Tupel aus Strings und Einträgen mit der Zahl 0.
Alle anderen Zahlen im Eingabetupel werden in Zeichen konvertiert,
die bis zur nächsten 0 im Eingabetupel jeweils zu einem String
zusammengefasst werden.
Wenn die Stringkodierung der HALCON Bibliothek UTF-8 ist (siehe
set_system('filename_encoding','utf8')
) und die String-Operatoren
auf der Basis von Codepoints arbeiten (siehe
set_system('tuple_string_operator_mode','codepoint')
), was für beide
Optionen die Standardeinstellung ist, interpretiert der Operator die
Eingabezahlen als Unicode-Zeichencodes und wandelt diese in die entsprechende
UTF-8 Darstellung der jeweiligen Zeichen um.
Wenn die Stringkodierung der HALCON Bibliothek 'locale' ist oder
die String-Operatoren im Modus 'byte' arbeiten, akzeptiert der
Operator nur ganze Zahlen zwischen 0 und 256.
Diese werden als ANSI-Code interpretiert und Byte für Byte zu einem String
zusammengesetzt.
In diesem Modus wird nicht überprüft, ob die Bytefolgen in den
Ergebnisstrings gültige Zeichen entsprechend der eingestellten
Stringkodierung ergeben.
Detailliertere Informationen zu den verschiedenen Modi und weitere Aspekte
zur Stringkodierung sind unter Tupel / String-Operationen zu finden.
Der Operator versucht so viele Eingabezahlen wie möglich in einem String
zusammenzufassen.
Ist das nächste Element im Eingabetupel eine 0, wird der aktuelle
String abgeschlossen und die Zahl 0 zum Ausgabetupel hinzugefügt.
Folgen im Eingabetupel weitere Zahlen ungleich 0, wird ein neuer String
angefangen.
Der Operator tuple_chrt
kann benutzt werden, um mit
read_serial
eingelesene Daten in Strings umzuwandeln.
Dieses Vorgehen erlaubt auch das Lesen von Bytes mit dem Wert 0.
Falls das Eingabetupel leer ist, gibt der Operator ein leeres Tupel zurück.
HDevelop unterstützt eine Inline-Operation für tuple_chrt
,
die innerhalb eines Ausdrucks in der folgenden Syntax verwendet werden
kann:
T
(input_control) integer(-array) →
(integer)
Eingabetupel mit ganzen Zahlen.
Restriktion: 0 <= T
Chrt
(output_control) string(-array) →
(string / integer)
Ausgabetupel mit Strings, welche durch die Zahl 0 voneinander getrennt sind.
read_serial (SerialHandle, 100, Data) tuple_chrt (Data, Strings)
tuple_ord
,
tuple_ords
,
read_serial
Foundation