Textausgabe / Zeichenketten #S
Die Gruppe umfasst Befehle um einfache,sowie formatierte und sich selbst ändernde Zeichenketten darzustellen. Darüber hinaus gibt es die Möglichkeit mit Hilfe von EditBoxen (einzeilige Eingaben) und StringBoxen (mehrzeilige Ausgaben) Texte zu platzieren. |
Einfache Zeichenketten
Zeichenkette platzieren (String Static Place) |
Obj-ID, TextStyle-Nr., x, y, Anker, Text |
|
Zeichenkette ändern (String Static Change) |
Obj-ID, Text |
Formatierte Zeichenketten
Formatierte Zeichenkette platzieren (String Formated Place) |
Obj-ID, TextStyle-Nr., x, y, Anker, "Formatstring"; Wert1, Wert2, ...., WertN, Wert1 ...,WertN,... |
|
Parameter aus formatierter Zeichenkette ändern (String Formated Change) |
Obj-ID, Wert1, Wert2, ...., WertN |
|
Zeichenkette in formatierte Zeichenkette umwandeln (String Formated Format) |
Obj-ID, "Formatstring"; Wert1, Wert2, ...., WertN |
Formatierte Zeichenketten mit automatischer Update Funktion
Formatierte Zeichenkette mit Auto Update platzieren (String Automatic Place) |
Obj-ID, TextStyle-Nr., x, y, Anker, "Formatstring"; (Kalkulation), Wert1 ...., WertN |
|
Kalkulation aus formatierter Zeichenkette mit Auto Update ändern (String Automatic Change) |
Obj-ID, (Kalkulation) |
|
Zeichenkette in formatierte Zeichenkette mit Auto Update umwandeln (String Automatic Format) |
Obj-ID, "Formatstring"; (Kalkulation), Wert1 ...., WertN |
Zeichenkette mit Datum / Uhrzeit
Zeichenkette mit Datum/Uhrzeit platzieren (String Date Place) |
Obj-ID, TextStyle-Nr., x, y, Anker, "Datumsformat"; date (aktuelle Zeit); 1/100sec |
|
Datum/Uhrzeit in Zeichenkette ändern (String Date Change) |
Obj-ID, date (aktuelle Zeit); 1/100sec |
|
Zeichenkette in Zeichenkette mit Datum/Uhrzeit umwandeln (String Date Format) |
Obj-ID, "Datumsformat"; date (aktuelle Zeit); 1/100sec |
EditBox
EditBox platzieren (String Edit Place) |
Obj-ID, DrawStyle-Nr., x, y, Anker, Breite, Höhe, Radius, TextStyle-Nr., RandX(0), RandY(0) |
|
Defaultstring für EditBox festlegen (String Edit Default) |
Obj-ID, "Standardtext"; "Standardtext (Obj-ID+1)"; "Standardtext (Obj-ID+2)";.... |
|
Strings/Codes an EditBox senden (String Edit Codes) |
Obj-ID, "String"; "String (Obj-ID+1)"; "String (Obj-ID+2)";.... |
|
EditBox mit Keyboard verbinden (String Edit Keyboard) |
Keyboard-ID, Obj-ID, Obj-ID+1, ... |
|
EditBox aktivieren/deaktivieren (String Edit Activate) |
Obj-ID(0), Keyboard-ID(0) |
|
Zulässinge Eingaben für EditBox festlegen (String Edit Range) |
Obj-ID, Codes |
|
Eingabemaske für EditBox definieren (String Edit Mask) |
Obj-ID, "Eingabemaske"; Platzhalter |
|
Passwortmodus für EditBox definieren (String Edit Wildcard) |
Obj-ID, Ersatzzeichen |
StringBox
StringBox platzieren (String Box Place) |
Obj-ID, x, y, Anker, Breite, Höhe, Radius, ScrollbarBreite(Texthöhe) |
|
Style für StringBox definieren (String Box Styles) |
Obj-ID, DrawStyle-Nr. Hintergrund, DrawStyle-Nr. Scrollbar, TextStyle-Nr., RandX(0), RandY(0), AutoWrap(1) |
|
Absatz in der StringBox hinzufügen (String Box Add) |
Obj-ID, Absatz, "Text"; "Text (Zeile+1)"; "Text (Zeile+2)";.... |
|
Absatz in der StringBox entfernen (String Box Delete) |
Obj-ID, Absatz, Zeile1. ... |
|
Hinzufügen einer Textdatei in der StringBox (String Box File) |
Obj-ID, Absatz, <Textdatei> |
|
In StringBox zu Zeile springen (String Box Offset) |
Obj-ID, Zeile, Zeit (0), Aktionskurve-Nr (0) |
Einfache Zeichenkette
Diese Gruppe umfasst Befehle zur Platzierung und Änderung einfacher Zeichenketten.
#SSP |
Obj-ID, TextStyle-Nr., x, y, Anker, Text |
Eine Zeichenkette wird mit dem gegebenen Anker an die Position x, y platziert. Mit dem TextStyle wird das Aussehen der Zeichenkette bestimmt (TextStyle-Nr.). Im Unterkapitel TextStyle ist dies genauer erläutert.
... #SSP 1,1,20,20,7,"Hello World"; ... |
#SSC |
Obj-ID, Text |
Der Befehl ändert eine vorhandene Zeichenkette. Andere Objekteigenschaften (Position, Style, usw.) bleiben dabei unverändert.
... #SSC 1,"New String"; ... |
Formatierte Zeichenketten
Diese Gruppe enthält Befehle zur Platzierung und Änderung formatierter Zeichenketten.
Formatierte Zeichenkette platzieren
#SFP |
Obj-ID, TextStyle-Nr., x, y, Anker, "Formatstring"; Wert1, Wert2, ...., WertN, Wert1 ...,WertN,... |
Eine formatierte Zeichenkette wird mit dem gegebenen Anker an die Position x, y platziert. Mit dem TextStyle wird das Aussehen der Zeichenkette bestimmt (TextStyle-Nr.). Im Unterkapitel TextStyle ist dies genauer erläutert. Wiederholt sich der Variablensatz, wird der Formatstring erneut verwendet. Im Unterkapitel Formatierte Zeichenkette ist der Aufbau näher beschrieben.
... #SFP 1,1,20,20,7,"Formatstring %d"; 42 ... |
Parameter aus formatierter Zeichenkette ändern
#SFC |
Obj-ID, Wert1, Wert2, ...., WertN |
Dieser Befehl ändert die Parameter einer formatierten Zeichenkette. Die Objekteigenschaften (Position, Style, usw.) bleiben dabei unverändert.
... #SFC 1,25 ... |
Zeichenkette in formatierte Zeichenkette umwandeln
#SFF |
Obj-ID, "Formatstring"; Wert1, Wert2, ...., WertN |
Eine vorhandene Zeichenkette wird in eine formatierte Zeichenkette geändert. Andere Objekteigenschaften (Position, Style, usw.) bleiben dabei unverändert. Im Kapitel Formatierte Zeichenkette ist der Aufbau genauer erläutert.
... #SFF 1,"Hello World %d"; 25 ... |
Formatierte Zeichenketten mit automatischer Update Funktion
In dieser Gruppe sind Befehle zur Platzierung von formatierten Zeichenketten, deren Wert sich automatisch ändert, zusammengefasst.
Formatierte Zeichenkette mit Auto Update platzieren
#SAP |
Obj-ID, TextStyle-Nr., x, y, Anker, "Formatstring"; (Kalkulation), Wert1 ...., WertN |
Es wird eine formatierte Zeichenkette mit dem gegebenen Anker an die Position x, y platziert. Mit dem TextStyle wird das Aussehen der Zeichenkette bestimmt (TextStyle-Nr.). Im Unterkapitel Formatierte Zeichenkette ist der Aufbau des Strings näher beschrieben. Die Ausgabe wird erneuert, sobald sich die Kalkulation ändert. Sind die weiteren Parameter (Wert1, ... WertN) ebenfalls Kalkulationen wird auch ihr Wert neu berechnet (nur wenn sich der Wert der ersten Kalkulation ändert).
... #SAP 1,1,20,20,7,"Analog %d";(analog(0)) ... |
Kalkulation aus formatierter Zeichenkette mit Auto Update ändern
#SAC |
Obj-ID, (Kalkulation) |
Der Befehl ändert die Kalkulation einer formatierten Zeichenkette mit Auto Update. Die neue Kalkulation bestimmt nur den Zeitpunkt der erneuten Ausgabe der Zeichenkette, ohne die angezeigten Werte/Kalkulation zu beeinflussen.
... #SAP 1,1,20,20,7,"Zufallswert %d";(rand()) /**Ausgabe eines Zufallswertes #SAC 1,(time()) /**Änderung des Zufallswertes nur alle Sekunde ... |
|
Zeichenkette in formatierte Zeichenkette mit Auto Update umwandeln
#SAF |
Obj-ID, "Formatstring"; (Kalkulation), Wert1 ...., WertN |
Eine vorhandene Zeichenkette wird in eine formatierte Zeichenkette mit Auto Update Funktion geändert. Andere Objekteigenschaften (Position, Style, usw.) bleiben dabei unverändert. Im Unterkapitel Formatierte Zeichenkette ist der Aufbau genauer erläutert. Die Zeichenkette erneuert die Ausgabe, sobald sich die Kalkulation ändert. Sind die weiteren Parameter (Wert1, ... WertN) ebenfalls Kalkulationen wird auch ihr Wert neu berechnet (nur wenn sich der Wert der ersten Kalkulation ändert).
... #SAF 1,"Analog %d";(analog(0)) ... |
Zeichenkette mit Datum / Uhrzeit
In dieser Gruppe sind Befehle zur Platzierung von Zeichenketten mit Ausgabe des Datums und/oder Uhrzeit zusammengefasst.
Zeichenkette mit Datum/Uhrzeit platzieren
#SDP |
Obj-ID, TextStyle-Nr., x, y, Anker, "Datumsformat"; date (aktuelle Zeit); 1/100sec |
Es wird eine Zeichenkette mit Datum und Uhrzeit und dem gegebenen Anker an die Position x, y platziert. Die Darstellungsweise richtet sich nach dem Datumsformat. Der Aufbau ist im Unterkapitel Datumsformate näher beschrieben. Wird die aktuelle Uhrzeit ausgegeben passt sich die Ausgabe der aktuellen Uhrzeit automatisch an. Mit dem TextStyle wird das Aussehen der Zeichenkette bestimmt (TextStyle-Nr.). Im Unterkapitel TextStyle ist dies genauer erläutert.
... #SDP 1,1,20,20,7,"%D.%M.%Y|%h:%m:%s"; ... |
Datum/Uhrzeit in Zeichenkette ändern
#SDC |
Obj-ID, date (aktuelle Zeit); 1/100sec |
Der angezeigte Zeit des Datumsformat wird geändert. Andere Objekteigenschaften (Position, Style, usw.) bleiben dabei unverändert. Der Aufbau ist im Unterkapitel Datumsformate näher beschrieben.
... #SDC 1,(datetime(14,36,20,24,09,2031)) ... |
Zeichenkette in Zeichenkette mit Datum/Uhrzeit umwandeln
#SDF |
Obj-ID, "Datumsformat"; date (aktuelle Zeit); 1/100sec |
Eine vorhandene Zeichenkette wird in eine Zeichenkette mit Datum/Uhrzeit geändert. Andere Objekteigenschaften (Position, Style, usw.) bleiben dabei unverändert. Der Aufbau ist im Unterkapitel Datumsformate näher beschrieben.
... #SDF 1,"%h:%m:%s"; ... |
EditBox
EditBoxen werden für die Eingabe von Zeichen verwendet. Die Eingabe erfolgt dabei in der Regel mit Hilfe eines Keyboards. Die Definition einer Tastatur ist im Unterkapitel Keyboard/Tastatur näher erläutert. Darüber hinaus kann die Eingabe auch per Befehl erfolgen (siehe #SEC). Damit Eingaben über die Tastatur in der EditBox landen, muss die Box mit dem Keyboard verbunden sein (siehe #SEK). Zudem muss die EditBox aktiv sein. Dies kann entweder per Befehl (#SEA) oder per Touch (#TID) erfolgen. Im Folgenden Beispiel wird eine EditBox platziert, mit einem Keyboard verbunden und per Touch aktiviert. Die Definition der Tastatur ist in diesem Beispiel nicht enthalten.
#SEP |
Obj-ID, DrawStyle-Nr., x, y, Anker, Breite, Höhe, Radius, TextStyle-Nr., RandX(0), RandY(0) |
Eine EditBox wird mit dem gegebenen Anker an die Position x, y mit definierter Höhe und Breite platziert. Sie wird in der Regel zusammen mit einem Keyboard für die Eingabe von Zeichen verwendet. Der DrawStyle definiert das Aussehen des Hintergrundes der EditBox (DrawStyle-Nr.). Der Aufbau ist im Unterkapitel DrawStyle näher beschrieben. Der Parameter Radius gibt die Eckenabrundung an. Mit dem TextStyle wird das Aussehen der Zeichenkette bestimmt (TextStyle-Nr.). Im Unterkapitel TextStyle ist dies genauer erläutert. Mit den beiden optionalen Parametern (RandX und RandY) kann der Abstand des Textes zum Rand der Box angegeben werden.
... #SEP 1,1,20,20,7,250,70,10,1,2,2 ... |
Defaultstring für EditBoxfestlegen
#SED |
Obj-ID, "Standardtext"; "Standardtext (Obj-ID+1)"; "Standardtext (Obj-ID+2)";.... |
Ein Standardtext wird für die EditBox festgelegt. Weitere Strings geben den Defaultstring für weitere EditBoxen mit den Objekt-IDs Obj-ID+1, ..., Obj-ID+n an.
... #SED 1,"Default"; ... |
Strings/Codes an EditBox senden
#SEC |
Obj-ID, "String"; "String (Obj-ID+1)"; "String (Obj-ID+2)";.... |
Mit dem Befehl können Strings und Codes an die EditBox gesendet werden. Weitere String werden an die EditBoxen mit den Objekt-IDs Obj-ID+1, ..., Obj-ID+n gesendet.
... #SEC 1,"Hello"$21; ... |
EditBox mit Keyboard verbinden
#SEK |
Keyboard-ID, Obj-ID, Obj-ID+1, ... |
Dieser Befehl verbindet ein Keyboard (Keyboard-ID) mit einer oder mehreren EditBoxen (Obj-ID)
EditBox aktivieren/deaktivieren
#SEA |
Obj-ID(0), Keyboard-ID(0) |
Der Befehl aktiviert bzw. deaktiviert EditBoxen.
Aktivieren:
Obj-ID |
Objekt ID der EditBox |
Keyboard-ID |
nicht notwendig |
Deaktivieren:
Obj-ID |
0 |
|
Keyboard-ID |
0 |
alle EditBoxen werden deaktiviert |
Keyboard-ID |
alle EditBoxen, die dem Keyboard zugeordnet sind, werden deaktiviert |
Zulässige Eingaben für EditBox festlegen (ab V1.2)
#SER |
Obj-ID, Codes |
Der Befehl legt zulässige Eingaben fest, die in der EditBox angezeigt werden. Gültige Zeichen (Codes) werden durch Komma getrennt oder als Bereichstring angegeben (z.B. "0-9A-Za-z", welcher alle Ziffern und das lateinische Alphabet erlaubt).
... #SER 1,"A-Za-z,4" #SEC 1,"Value 42"; ... |
Eingabemaske für EditBox definieren (ab V1.2)
#SEM |
Obj-ID, "Eingabemaske"; Platzhalter |
Für die EditBox wird eine Eingabemaske definiert. Der Parameter Platzhalter definiert den sichtbaren Charaktercode (z.B. '_'). Folgende Masken sind möglich:
Typ |
Maske |
Beispiel |
Integer |
%MaximalwertI oder %Von;BisI |
"%42I"; oder "%10;25I"; |
Float |
%MaximalwertF oder %Von;BisF |
"%23.4I"; oder "%0.5;7.9I"; |
ASCII |
%StellenanzahlA |
"%4A" (maximal 4 Zeichen aus dem ASCII Bereich) |
Unicode |
%StellenanzahlU |
"%4U" (maximal 4 Zeichen aus dem Unicode Bereich) |
Bereich |
%StellenanzahlR |
"%4R" (maximal 4 Zeichen aus dem Bereich #SER) |
... #SEM 1,"%42I";?_ ... |
Passwortmodus für EditBox definieren (ab V1.2)
#SEW |
Obj-ID, Wildcardcorde |
Anstelle der eingegebenen Zeichen wird das Wildcardcode angezeigt.
... #SEW 1,$25cf ... |
StringBox
In StringBoxen können größere Mengen an Text angezeigt werden. Es kann jederzeit zusätzlicher Text hinzugefügt aber auch gelöscht werden. Jeder neu hinzugefügte Text (#SBA, #SBF) wird als neuer Absatz eingefügt. Ist die AutoWrap (siehe #SBS) Funktion deaktiviert, so ist die Absatznummer gleich der Zeilennummer. Ansonsten können sich beide unterscheiden. Es gibt jedoch Kalkulationen um sie ineinander um zurechnen. Im nachfolgenden Beispiel wird eine StringBox erzeugt und ein Absatz hinzugefügt
StringBox platzieren (ab V1.3)
#SBP |
Obj-ID, x, y, Anker, Breite, Höhe, Radius, ScrollbarBreite(Texthöhe) |
Eine StringBox wird mit dem gegebenen Anker an die Position x, y mit definierter Höhe und Breite platziert. Optional kann noch die Breite der Scrollbar angegeben werden (ScrollbarBreite). Wird kein Wert angegeben, wird die Texthöhe als Breite verwendet. Damit die StringBox sichtbar ist, muss zwingend ein Style zugewiesen werden (siehe #SBS).
Style für StringBox definieren (ab V1.3)
#SBS |
Obj-ID, DrawStyle-Nr. Hintergrund, DrawStyle-Nr. Scrollbar, TextStyle-Nr., RandX(0), RandY(0), AutoWrap(1) |
Mit dem Befehl wird das Aussehen der StringBox festgelegt. Es werden zwei DrawStyles benötigt. Zum einen wird der Hintergrund der EditBox und zum anderen der Balken des Schiebereglers (Scrollbar) definiert.Der Aufbau ist im Unterkapitel DrawStyle näher beschrieben. Mit dem TextStyle wird das Aussehen der Zeichenkette bestimmt (TextStyle-Nr.). Im Unterkapitel TextStyle ist dies genauer erläutert. Mit den beiden optionalen Parametern (RandX und RandY) kann der Abstand des Textes zum Rand der Box angegeben werden. AutoWrap bestimmt den Zeilenumbruch:
AutoWrap |
|
0 |
Text wird am Ende der Zeile abgeschnitten |
1 |
Automatischer Zeilenumbruch aktiv |
Absatz in der StringBox hinzufügen (ab V1.3)
#SBA |
Obj-ID, Absatz, "Text"; "Text (Zeile+1)"; "Text (Zeile+2)";.... |
Mit dem Befehl können weitere Zeilen zu der StringBox hinzugefügt werden. Der Parameter Absatz gibt die Position in der Box vor. Die erste Zeile hat die Nummer 1. Wird als Absatz 0 ausgewählt, so wird der Text am Ende hinzugefügt.
... #SBA 1,1,"Hello World"; ... |
Absatz in der StringBox entfernen (ab V1.3)
#SBD |
Obj-ID, Absatz, Zeile1. ... |
Aus der StringBox werden einzelne oder mehrere Absätze entfernt. Wird 0 als Absatz übergeben, so werden alle Strings aus der StringBox entfernt und die Box ist leer. Zudem können auch Bereiche angegeben werden, z.B. 1-5.
Hinzufügen einer Textdatei in die StringBox (ab V1.3)
#SBF |
Obj-ID, Absatz, <Textdatei> |
Eine StringBox kann auch komplette Textdateien anzeigen. Dabei gibt der Parameter <Textdatei> den Pfad zur Datei an. Der Parameter Absatz gibt die Position in der Box vor. Die erste Zeile hat die Nummer 1. Wird als Absatz 0 ausgewählt, so wird der Text am Ende hinzugefügt.
... #SBF 1,1,<P:Testfile.txt> ... |
In StringBox zu Zeile springen (ab V1.3)
#SBO |
Obj-ID, Zeile, Zeit (0), Aktionskurve-Nr (0) |
Der Inhalt der StringBox springt zur angegeben Zeile. Mit den optionalen Parametern kann der Sprung animiert werden. Der Parameter Zeit wird in 1/100s angegeben. Ist der Wert positiv, wird die Zeitdauer für den gesamten Scrollbereich verwendet. Die Geschwindigkeit ist somit konstant. Ein negativer Wert bestimmt dagegen die Zeit bis die neue Zeile erreicht ist. Somit ist die Geschwindigkeit abhängig von der zu scrollenden Zeilenanzahl. Die Aktionskurve-Nr bestimmt den zeitlichen Ablauf. Im Unterkapitel Aktionskurven und Aktionspfade ist dies näher erläutert.
Formatierte Zeichenkette
Formatierte Strings werden in Zeichenkettenausgaben verwendet. Das Format ist an die C-Funktion "printf" angelehnt. Die Funktion besteht aus einem Format-String und den konkret dazugehörigen Argumenten.Für die verschiedenen Datentypen werden folgende Platzhalter im Format-String verwendet:
Typ |
Platzhalter |
Beispiel |
Festkommawert Dezimal |
%d |
42 |
Oktalwert |
%o |
645 |
Hexwert |
%x, %X |
7a, 7A |
Float |
%f, |
299.57 |
Wissenschaftliche Notation |
%e, %E |
2.9957e+2, 2.9957E+2 |
Kürzeste Notation: Float oder Wissenschaftlich |
%g, %G |
299.57 |
Character |
%c |
a |
Jeder Platzhalter kann genauer spezifiziert werden: Flags, Feldbreite und Genauigkeit - in dieser Reihenfolge:
Flag |
Erklärung |
- |
Wert innerhalb Feldbreite linksbündig ausrichten. Rechtsbündig ist die Standardausgabe |
+ |
Ausgabe von '+' bei positiven, '-' bei negativen Werten |
(space) |
Ausgabe von ' ' (space) bei positiven, '-' bei negativen Werten |
# |
Bei Hex- und Oktalausgabe wird das 0x, 0X bzw. 0 bei Werten ≠ 0. Bei Float und wissenschaftlicher Notation wird immer ein '.' ausgegeben - auch wenn nur noch 0 folgt. Default wird das Komma nur ausgegeben wenn Werte folgen |
0 |
Innerhalb der Feldbreite wird Linksbündig nicht benötigter Platz mit 0 aufgefüllt. |
Feldbreite |
Erklärung |
(number) |
Mindestbreite des Feldes für die Ausgabe |
* |
Feldbreite wird aus der Argumentenliste übernommen. Wobei die Feldbreite direkt vor dem eigentlich Argument in der Liste steht. |
Genauigkeit |
Erklärung |
.number |
Für Integer: Minimum Anzahl an Stellen (default =1) Float: Minimum Anzahl nach dem Komma (default =6) |
.* |
Anzahl der Stellen wird aus der Argumentenliste übernommen. Wobei die Anzahl der Stellen direkt vor dem eigentlich Argument in der Liste steht. |