Konverter
Der Baustein konvertiert einen Wert oder Text in einen Dynamischen Text oder umgekehrt. Außerdem unterstützt er das Kopieren "Dynamischer Texte“.
Für die Konvertierung numerischer Werte (außer BIT) kann ein Format-String angegeben werden, um eine spezielle Zahlendarstellung (z.B. hexadezimale Werte oder begrenzte Anzahl von Nachkommastellen) auszuwählen. Ohne Format-String wird die Standard-Konvertierung durchgeführt.
Im Normalfall werden nur Einzelwerte konvertiert. Nur beim Datentyp TEXT kann auch mit Vektoren gearbeitet werden. Zum Konvertieren eines Vektors in einen Dynamischen Text werden die einzelnen Texte hintereinander und ohne Trennung durch die abschließende 0 in den zuvor reservierten Speicherbereich geschrieben. Die maximale Länge von 4095 Zeichen kann jedoch nicht überschritten werden. Im umgekehrten Fall wird der Dynamische Text in Teiltexte mit abschließender 0 zerlegt, die dann auf die Vektorelemente geschrieben werden.
Bei Zielsystemen mit Unicode-Unterstützung ist zu beachten, dass die Inhalte von Dynamischen Texten mit UTF8 kodiert sind. Deshalb werden Standard-Texte nur bei UTF8 konformer Kodierung verlustfrei übernommen. Anderenfalls werden Zeichen, die einen Wert von 127 überschreitenden, durch ein Fragezeichen ersetzt. Die Rückkonvertierung von "Dynamischen Texten“ in Standard-Texte ist ebenfalls nur begrenzt möglich. Anstelle von Unicode-Zeichen mit einem Wert über 127 werden nur Fragezeichen geschrieben.
Formatierung
Der bei der Konvertierung von numerischen Werten optional definierbare Format-String muss den zielsystemspezifischen Konventionen für die C-Funktion sprintf entsprechen. Hier sollen die wichtigsten Angaben kurz dargestellt werden.
Die Formatierungsanweisung beginnt immer mit dem Prozentzeichen (%), gefolgt von einer Reihe optionaler Parameter und wird mit dem Typ-Bezeichner für die Eingangsdaten abgeschlossen. Die Parameter müssen in der korrekten Reihenfolge und ohne Leerzeichen angegeben werden, um korrekt erkannt zu werden. Die formale Beschreibung ist;
%[Flags][(min.)Länge][.Genauigkeit][Größe (des Datentyps)]Typ
Ein Beispiel wäre: %.2f
Es ist ebenfalls möglich vor und/oder nach der Formatierungsangabe beliebigen Text zu schreiben, der direkt mit in die Ausgabe übernommen wird. Dabei ist zu beachten, dass der Eingang format nur eine begrenzte Anzahl von Zeichen erlaubt. Hier ist eher der Anfügen Baustein zu empfehlen.
Typ:
Der Parameter für den Typ ist notwendig und beschreibt sowohl den erwarteten Datentyp als auch die grundlegende Darstellung der Eingangsdaten.
- d oder i - für ganzzahlige Werte
- x - für hexadezimale Darstellung von ganzzahligen Werten
- f - für Fließkomma-Werte
- e - für Fließkomma-Werte in Exponentialdarstellung
- g - für die kürzeste Darstellung von Fließkomma-Werten (f oder e)
Flags:
Über die einführenden Flags werden bestimmte Formatierungen der Ausgabe eingestellt. Diese Parameter werden eher selten eingesetzt.
- Minus (-): Linksbündig innerhalb des gegebenen Textbereiches (Default ist rechtsbündig)
- Plus (+): Die Darstellung eines Vorzeichens wird erzwungen (auch bei positiven Werten)
- Leerzeichen: Wenn kein Vorzeichen dargestellt wird, wird an dieser Stelle dennoch Leerzeichen gelassen
Minimale Länge:
Der zweite optionale Parameter gibt an wie viele Zeichen mindestens dargestellt werden sollen. Wenn der Wert kürzer als diese Angabe ist, wird mit Leerzeichen aufgefüllt.
Genauigkeit:
Dieser Parameter beginnt immer mit einem Punkt und ist eine Zahl, die je nach Typ unterschiedlich interpretiert.
- Bei d, i oder x: Gibt die minimale Anzahl von Ziffern an - wenn der Wert kürzer als diese Angabe ist wird mit führenden Nullen aufgefüllt.
- Bei e oder f: Gibt die Anzahl an Nachkommastellen an – wenn nötig wird mit nachfolgenden Nullen aufgefüllt.
- Bei g: Gibt die maximale Anzahl signifikanter Zeichen an.
Datentypgröße:
Dieser Parameter spezifiziert den Wertebereich bei Datentypen, die unterschiedlich groß sein können. Für unser System ist hier eigentlich nur ein Eintrag von Bedeutung.
- I64 (bei i oder d:): 64 Bit ganzzahliger Wert – wird benötigt um den gesamten Wertebereich des Datentyps LONGLONG abdecken zu können.
Parameter
Über den Parameter-Dialog werden die Datentypen am Ein- und am Ausgang festgelegt. Bei der Konvertierung in den Datentyp TEXT kann die Größe des Ausgangsvektors festgelegt werden.
Signale
Name | I/O | Typ(en) | Funktion |
---|---|---|---|
in | I | BIT, UCHAR, WORD, LONG, LONGLONG, FLOAT, DOUBLE, TEXT, DYNTEXT | Eingangssignal |
format | I | TEXT | Formatierung (optional) |
out | O | BIT, UCHAR, WORD, LONG, LONGLONG, FLOAT, DOUBLE, TEXT, DYNTEXT | Ausgangssignal |
Visualisierung
Die ausgewählten Datentypen werden direkt auf dem Baustein dargestellt.
Bemerkung
Der Parameter-Dialog kann nur im Editier-Modus geöffnet werden.