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)

#SSP

Obj-ID, TextStyle-Nr., x, y, Anker, Text

Zeichenkette ändern

(String Static Change)

#SSC

Obj-ID, Text

Formatierte Zeichenketten

Formatierte Zeichenkette platzieren

(String Formated Place)

#SFP

Obj-ID, TextStyle-Nr., x, y, Anker, "Formatstring"; Wert1, Wert2, ...., WertN, Wert1 ...,WertN,...

Parameter aus formatierter Zeichenkette ändern

(String Formated Change)

#SFC

Obj-ID, Wert1, Wert2, ...., WertN

Zeichenkette in formatierte Zeichenkette umwandeln

(String Formated Format)

#SFF

Obj-ID, "Formatstring"; Wert1, Wert2, ...., WertN

Formatierte Zeichenketten mit automatischer Update Funktion

Formatierte Zeichenkette mit Auto Update platzieren

(String Automatic Place)

#SAP

Obj-ID, TextStyle-Nr., x, y, Anker, "Formatstring";  (Kalkulation), Wert1 ...., WertN

Kalkulation aus formatierter Zeichenkette mit Auto Update ändern

(String Automatic Change)

#SAC

Obj-ID, (Kalkulation)

Zeichenkette in formatierte Zeichenkette mit Auto Update umwandeln

(String Automatic Format)

#SAF

Obj-ID, "Formatstring"; (Kalkulation), Wert1 ...., WertN

Zeichenkette mit Datum / Uhrzeit

Zeichenkette mit Datum/Uhrzeit platzieren

(String Date Place)

#SDP

Obj-ID, TextStyle-Nr., x, y, Anker, "Datumsformat"; date (aktuelle Zeit); 1/100sec

Datum/Uhrzeit in Zeichenkette ändern

(String Date Change)

#SDC

Obj-ID, date (aktuelle Zeit); 1/100sec

Zeichenkette in Zeichenkette mit Datum/Uhrzeit umwandeln

(String Date Format)

#SDF

Obj-ID, "Datumsformat"; date (aktuelle Zeit); 1/100sec

EditBox

EditBox platzieren

(String Edit Place)

#SEP

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)

#SED

Obj-ID, "Standardtext"; "Standardtext (Obj-ID+1)"; "Standardtext (Obj-ID+2)";....

Strings/Codes an EditBox senden

(String Edit Codes)

#SEC

Obj-ID, "String";  "String (Obj-ID+1)"; "String (Obj-ID+2)";....

EditBox mit Keyboard verbinden

(String Edit Keyboard)

#SEK

Keyboard-ID, Obj-ID, Obj-ID+1, ...

EditBox aktivieren/deaktivieren

(String Edit Activate)

#SEA

Obj-ID(0), Keyboard-ID(0)

Zulässinge Eingaben für EditBox festlegen

(String Edit Range)

#SER

Obj-ID, Codes

Eingabemaske für EditBox definieren

(String Edit Mask)

#SEM

Obj-ID, "Eingabemaske"; Platzhalter

Passwortmodus für EditBox definieren

(String Edit Wildcard)

#SEW

Obj-ID, Ersatzzeichen

StringBox

StringBox platzieren

(String Box Place)

#SBP

Obj-ID, x, y, Anker, Breite, Höhe, Radius, ScrollbarBreite(Texthöhe)

Style für StringBox definieren

(String Box Styles)

#SBS

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)

#SBA

Obj-ID, Absatz, "Text";  "Text (Zeile+1)"; "Text (Zeile+2)";....

Absatz in der StringBox entfernen

(String Box Delete)

#SBD

Obj-ID, Absatz, Zeile1. ...

Hinzufügen einer Textdatei in der StringBox

(String Box File)

#SBF

Obj-ID, Absatz, <Textdatei>

In StringBox zu Zeile springen

(String Box Offset)

#SBO

Obj-ID, Zeile, Zeit (0), Aktionskurve-Nr (0)

Einfache Zeichenkette

Diese Gruppe umfasst Befehle zur Platzierung und Änderung einfacher Zeichenketten.


Zeichenkette platzieren

#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";

...


Zeichenkette ändern

#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 1,1,20,20,7,250,70,10,1,2,2

#SEK 2,1

#TID 1,1

...


EditBox platzieren

#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


...

#SBP 1,20,20,7,250,200,10

#SBS 1,1,2,4,5,5

#SBA 1,1,"Lorem ipsum dolor ...";

...


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.