Stringausdrücke, -operationen und - funktionen
Die alphanumerischen Variablen $A bis $Z sowie die Systemvariablen $@ bis $@9 können ebenfalls in einem Ausdruck benutzt werden. Der Formelinterpreter unterscheidet, ob die eingegebenen alphanumerischen Zeichen als Stringvariablen oder Stringkonstanten zu interpretieren sind. Ferner können numerische in alphanumerische Variable umgewandelt werden. Hauptsächlich das erste Zeichen entscheidet darüber, als welcher Stringtyp die Eingabe interpretiert wird. Es können auch Funktionsaufrufe mit Stringvariablen durchgeführt werden, die numerische Ergebnisse liefern.
- Stringkonstante
- Numerische Variable in String umwandeln
- Stringbeginn mit $
- Stringoperationen
- Stringfunktionen
Stringkonstante
Ist das erste Zeichen der Zeichenkette das $- oder %-Zeichen, dann werden alle folgenden Zeichen als Stringkonstante übernommen, z. B. bedeutet $A=Test, dass $A eine Stringkonstante ist.
Numerische Variable in String umwandeln
Besteht der Eingabestring nur aus den %-Zeichen und dem Namen einer numerischen Variablen, z. B. %A1, dann wird der Inhalt dieser numerischen Variablen in einen String umgewandelt. Bei dieser Prozedur hat die Systemvariable $@ eine besondere Bedeutung. Der Inhalt dieser Systemvariablen wird als FORTRAN-Format aufgefasst und zur Umwandlung verwendet. Der Formatstring muss in runde Klammern eingeschlossen sein und kann neben einem numerischen Format auch noch andere Formatanweisungen, beispielsweise einen Zusatztext in Form eines Hollerith-Formates enthalten. Die Verwendung der Variablen $@ kann vor allem für Beschriftungen in der Zeichnung und im Zusammenhang mit der automatischen Stücklistengenerierung vorteilhaft sein.
Wird der Variablen $@ beispielsweise der String (4HFl.: , F8.2 , 5H m^^2) zugeordnet und dann der Inhalt der Systemvariablen Z0 als Text in die Zeichnung eingefügt, so erscheint die Ausgabe in der Form Fl.: 148.25 m2
Die Systemvariable $@ sollte anschließend wieder gelöscht werden.
Ein String, der mit dem %-Zeichen beginnt, dem aber kein Variablenname folgt, wird ohne Änderung als Stringkonstante übernommen.
Stringbeginn mit $
Im einfachsten Fall besteht der Eingabestring nur aus dem Namen einer Stringvariablen, beispielsweise $A. Der Inhalt der entsprechenden Stringvariablen wird dann für die weitere Verarbeitung zur Verfügung gestellt. Sie haben aber auch die Möglichkeit, nicht den ganzen Inhalt einer Stringvariablen, sondern nur einen Teil zu verwenden. Dazu geben Sie hinter dem Variablennamen in runden Klammern die Anfangs- und die Endstelle des Teilstrings an. Anfangs- und Endstelle können beliebige arithmetische Ausdrücke sein und müssen mit einem Doppelpunkt: voneinander getrennt sein.
$N= C:DATEI1 -> $N(3:7) -> DATEI
Stringoperationen
Strings können mit dem Operator + verknüpft werden, wobei zwischen den Operanden und dem + Zeichen keine Leerzeichen stehen dürfen.
$A=Text1 und $B=Text2
- "Dies ist"+$A -> Dies ist Text1
- $A+$B -> Text1Text2
Stringfunktionen
Folgende Stringfunktionen stehen in HiCAD zur Verfügung:
Funktion |
Beispiel: $A=Test, A1=84 |
|
---|---|---|
LEN(string) Länge des Strings. Der String kann dabei eine Stringkonstante oder eine Stringvariable sein. Das Ergebnis ist numerisch. |
LEN($A) -> 4 |
|
ASC(string) ASCII-Code des ersten Zeichens des Strings. |
ASC($A) 84 |
|
CHR$(num) ASCII-Zeichen, das dem Ergebnis des numerischen Ausdrucks num entspricht. Der Wert von num darf nur ganzzahlige Werte zwischen 0 und 255 annehmen. |
CHR$(A1) T |
|
VAL(string)
Umwandeln eines Strings in einen numerischen Wert. Voraussetzung ist, dass der Inhalt des Strings numerisch interpretiert werden kann. Unter Umständen kann für die Umwandlung nur ein Teil des Strings verwendet werden. |
VAL($A) nicht definiert, |
|
TIM$ aktuelle Zeit in der Form HH:MM:SS. Das Ergebnis ist ein String. |
TIM$ 13:52:18 |
|
DAT$
aktuelles Datum in dem im Konfigurationsmanagement unter Systemeinstellungen > Einheiten gewählten Datumsformat. Dies gilt auch für die Verwendung von DAT$ in Makros. |
DAT$ 96:09:27 |
Stringoperationen- und funktionen • Systemvariablen • Benutzervariablen