# ID 8 – Input string – ISO 11783-6 – B.8.3 ```{index} single: ID 8 – Input string – ISO 11783-6 – B.8.3 ``` Das **Input String** Objekt mit der **ID 8** dient zur Eingabe und Anzeige von Textzeichenfolgen durch den Bediener. ### Attribute und Record Format (Tabelle B.17) Die folgende Tabelle beschreibt den Aufbau des Input String Objekts im Objektpool. | AID | Name | Typ | Größe (Bytes) | Bereich / Wert | Record Byte | Beschreibung | | :--- | :--- | :--- | :--- | :--- | :--- | :--- | | - | **Object ID** | Integer | 2 | 0 – 65534 | 1 – 2 | Eindeutige ID im Objektpool. | | [0] | **Type** | Integer | 1 | 8 | 3 | Objekttyp = Input String. | | [1] | **Width** | Integer | 2 | 0 – 65535 | 4 – 5 | Breite des Eingabefeldes in Pixeln. Clipping erfolgt außerhalb dieses Bereichs. | | [2] | **Height** | Integer | 2 | 0 – 65535 | 6 – 7 | Höhe des Eingabefeldes in Pixeln. Clipping erfolgt außerhalb dieses Bereichs. | | [3] | **Background colour** | Integer | 1 | 0 – 255 | 8 | Hintergrundfarbe (nur bei deaktivierter Transparenz). | | [4] | **Font attributes** | Integer | 2 | 0 – 65534 | 9 – 10 | Objekt-ID eines Font Attributes Objekts (Farbe, Größe, Font). | | [5] | **Input attributes** | Integer | 2 | 0 – 65534, 65535 | 11 – 12 | Objekt-ID eines Input Attributes Objekts zur Validierung oder NULL. | | [6] | **Options** | Bitmask | 1 | 0 – 7 | 13 | Bit 0: Transparent
Bit 1: Auto-Wrap (Automatischer Zeilenumbruch)
Bit 2: Wrap on Hyphen (Umbruch bei Bindestrich). | | [7] | **Variable reference** | Integer | 2 | 0 – 65534, 65535 | 14 – 15 | Verweis auf ein String Variable Objekt. Wenn NULL, wird der Wert direkt im Attribut "Value" gespeichert. | | [8] | **Justification** | Integer | 1 | 0 – 15 | 16 | Textausrichtung: Bits 0-1 (Horiz.): 0=Links, 1=Mitte, 2=Rechts.
Bits 2-3 (Vert.): 0=Oben, 1=Mitte, 2=Unten. | | - | **Length** | Integer | 1 | 0 – 255 | 17 | Max. Länge in Bytes. Wenn Variable Reference != NULL, kann dies 0 sein. | | - | **Value** | String | Length | - | 18 ... | Initialer Wert des Strings (nur wenn Variable Reference == NULL). | | [9] | **Enabled** | Integer | 1 | 0 oder 1 | var. | 0 = Deaktiviert, 1 = Aktiviert. Position im Record ist abhängig von der Länge des Value-Feldes. | | - | **Number of macros to follow** | Integer | 1 | 0 – 255 | var. | Anzahl der folgenden Makro-Referenzen. | | - | **Repeat:** {Event ID} | Integer | 1 | 0 – 255 | var. | Event ID, die das Makro auslöst. | | - | {Macro ID} | Integer | 1 | 0 – 255 | var. | Makro ID des auszuführenden Makros. | ## Funktionsweise und Optionen Das Input String Objekt bietet flexible Möglichkeiten zur Textdarstellung: * **Auto-Wrap:** Wenn aktiviert (Bit 1), bricht das VT den Text automatisch um, wenn die Breite des Feldes überschritten wird. * **Justierung:** Über AID 8 wird sowohl die horizontale als auch die vertikale Ausrichtung gesteuert. * **Validierung:** Durch die Verknüpfung mit einem `Input Attributes` Objekt kann die Eingabe auf bestimmte Zeichensätze begrenzt werden. ## Ereignisse (Events - Tabelle B.15) Das Input String Objekt reagiert auf folgende Ereignisse: * **On Enable:** Wenn das Objekt aktiviert wird. * **On Disable:** Wenn das Objekt deaktiviert wird. * **On Input Field Selection:** Bei Fokus/Auswahl durch den Bediener. * **On Input Field De-selection:** Bei Fokusverlust. * **On Entry of Value:** Wenn der Bediener die Texteingabe bestätigt (ENTER). Sendet `Change String Value`. * **On Change Value:** Wenn der Wert (z.B. durch Variable) geändert wird. * **On ESC:** Wenn der Bediener die Eingabe abbricht. * **On Change Background Colour:** Reaktion auf Farbänderung. * **On Change Attribute:** Reaktion auf generelle Attributänderungen. ## Bedeutung für die Implementierung Input Strings werden häufig für Namen (z. B. Feldnamen, Kundendaten) oder Passwörter verwendet. Da die Texteingabe auf Terminals ohne Tastatur (nur Touch oder Dreh-Drück-Steller) mühsam sein kann, sollten Standardwerte oder Auswahllisten (Input List) bevorzugt werden, wenn der Wertevorrat begrenzt ist. Weitere Informationen und Beispiele finden sich im [ISOBUS Wiki - String (Input)](https://isobus-studio.com/isobus-wiki/isobus-objectpool-objects/string-input) von Tobias Tenberg. ---- *Hinweis: Für detaillierte Spezifikationen zu Datentypen und Nachrichtenformaten wird auf die offizielle ISO 11783-6:2018 verwiesen.*