tuple_chrttuple_chrtTupleChrtTupleChrt (Operator)

Name

tuple_chrttuple_chrtTupleChrtTupleChrt — Konvertieren eines Tupels von ganzen Zahlen in ein Tupel von Strings.

Signatur

tuple_chrt( : : T : Chrt)

Herror tuple_chrt(const Hlong T, char* Chrt)

Herror T_tuple_chrt(const Htuple T, Htuple* Chrt)

void TupleChrt(const HTuple& T, HTuple* Chrt)

HTuple HTuple::TupleChrt() const

static void HOperatorSet.TupleChrt(HTuple t, out HTuple chrt)

HTuple HTuple.TupleChrt()

Beschreibung

tuple_chrttuple_chrtTupleChrtTupleChrtTupleChrt konvertiert das Eingabetupel TTTTt, 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')set_system("filename_encoding","utf8")SetSystem("filename_encoding","utf8")SetSystem("filename_encoding","utf8")SetSystem("filename_encoding","utf8")) und die String-Operatoren auf der Basis von Codepoints arbeiten (siehe set_system('tuple_string_operator_mode','codepoint')set_system("tuple_string_operator_mode","codepoint")SetSystem("tuple_string_operator_mode","codepoint")SetSystem("tuple_string_operator_mode","codepoint")SetSystem("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'"locale""locale""locale""locale" ist oder die String-Operatoren im Modus 'byte'"byte""byte""byte""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_chrttuple_chrtTupleChrtTupleChrtTupleChrt kann benutzt werden, um mit read_serialread_serialReadSerialReadSerialReadSerial 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 Inline-Operation

HDevelop unterstützt eine Inline-Operation für tuple_chrttuple_chrtTupleChrtTupleChrtTupleChrt, die innerhalb eines Ausdrucks in der folgenden Syntax verwendet werden kann:

Chrt := chrt(T)

Ausführungsinformationen

Parameter

TTTTt (input_control)  integer(-array) HTupleHTupleHtuple (integer) (int / long) (Hlong) (Hlong)

Eingabetupel mit ganzen Zahlen.

Restriktion: 0 <= T

ChrtChrtChrtChrtchrt (output_control)  string(-array) HTupleHTupleHtuple (string / integer) (string / int / long) (HString / Hlong) (char* / Hlong)

Ausgabetupel mit Strings, welche durch die Zahl 0 voneinander getrennt sind.

Beispiel (HDevelop)

read_serial (SerialHandle, 100, Data)
tuple_chrt (Data, Strings)

Alternativen

tuple_chrtuple_chrTupleChrTupleChrTupleChr

Siehe auch

tuple_ordtuple_ordTupleOrdTupleOrdTupleOrd, tuple_ordstuple_ordsTupleOrdsTupleOrdsTupleOrds, read_serialread_serialReadSerialReadSerialReadSerial

Modul

Foundation