F-Script Funktion: X Variable

X Variable

Notiz
Notiz
Zur Verwendung in F-Scipt Blöcken siehe hier: X Variable
Funktion
Parameter
Beschreibung
X
X als Befehl resp. Funktion dient dazu Variablen oder Werte zwischenzuspeichern. Man kann hinter das X einen beliebigen Namen setzen, was die Identifikation der Variablen im Sourcecode sehr vereinfacht.
VariablenName = Wert
Die Variable wird definiert und gleichzeitig wird ihr ein Wert zugewiesen.
Beispiel
«X(LetzteAdrNr=1267)»
Achtung
Achtung
Im Variablen-Name dürfen die Zeichen * , + < > = nicht vorkommen!
VarName < VarName
Der Inhalt einer Variable wird einer anderen Variable zugewiesen.
Beispiel
«X(newText<textToSave)»
«(assign(<variable>, <Expression>))\E»
Der Inhalt einer Variable wird einer anderen Variable zugewiesen. Der Befehl assign verhindert dabei das Expandieren der Variable welche zugewiesen werden soll.
Mit diesem Befehl ist es möglich, mit X-Variablen zu arbeiten die mehr als 4096 Zeichen enthalten.
Beispiel:
# ---------------------------------------------------
# Initialisieren der Variablen
«X(Summe=)»
«X(Wert1=123)»
«X(Wert2=456)»
# ---------------------------------------------------
# Verketten von X-Variablen (String)
«(assign(Summe, Wert1 + Wert2))\E»
# Ausgabe:
Resultat der String-Verkettung: «X(Summe)»
# ---------------------------------------------------
# Addition von X-Varialblen (integer
«(assign(Summe, integer(Wert1) + integer(Wert1)))\E»
# ---------------------------------------------------
# Ausgabe:
Resultat der Addition: «X(Summe)\N»
VarName + VarName
Eine Variable wird um den Inhalt einer anderen Variable ergänzt.
Beispiel
«X(newText+moreText)»
VarName, TextParameter
Falls in der Variable ein Textblock steht, können bei der Ausgabe dieser Variable folgende Parameter verwendet werden:
(Es handelt sich hier um die üblichen Textblock Parameter)
Wnn
Textblock mit Breite nn drucken.
+1
Nach Ausgabe des Textblockes eine Leerzeile drucken.
#nn
Seitenkontrolle auf nn Zeilen ab der zweiten Zeile des Textblockes.
m>xx
Textblock mit linkem Rand xx ab der ersten Zeile des Textblockes.
Mxx
Textblock mit linkem Rand xx ab der zweiten Zeile des Textblockes.
OUTxxxx
Textblock in Datei xxxx speichern.
APPxxxx
Textblock an Datei xxxx anhängen.
Bei der Ausgabe mit ...\N» , wird die Anzahl Zeilen des Textblockes zurückgegeben.
Die Funktion «READ(ZeilenNr)» steht ebenfalls zur Verfügung.
Beispiel
«X(myAddrText,W80)»
VariablenName
Die Variable wird abgefragt und der darin abgelegte Wert wird zurückgegeben.
Beispiel
«X(LetzteAdrNr)»
«READ(<Kanal>:MEM>XVarName)»
Daten welche mit dem READ-Befehl gelesen werden, können direkt einer X-Variable zugewiesen werden. Dabei sind auch Zuweisungen von mehr als 4096 Zeichen möglich.
Beispiele
# Puffer auslesen:
«READ(<Kanal>:MEM>XVarName)»

# Puffer auslesen bis zum nächsten Trennzeichen:
«READ(<Kanal>:MEM>XVarName -<Trennzeichen>)»

# Anzahl Zeichen ab Position aus Puffer lesen:
«READ(<Kanal>:MEM>XVarName <Anzahl Zeichen>,<Position>)»
«nz ADR-ACTIVE(2020)\I»
«nm1KUNDEN-BEM(1)\N»
«REPEAT»
«nNO(1)»
«READ(«NO(1,0)»>TextBlock)»
«X(TextBlock)»
«nz NO(1,0)<«MEM(1)\N»\N»«LOOP»
Der Zugriff auf X-Variablen innerhalb von Expressions ist auch über den Namen der Variable möglich. Damit können Sie Expressions auf X-Variablen anwenden die Quotes oder Double-Quotes enthalten.
«X(MyVar=Dies ist ein "F-Script")»

# Inhalt der Variable ausgeben (wie bisher)
«X(MyVar)»

# Expression auf die Variable anwenden (neu):
«(length(MyVar))\E»
Wichtig
Wichtig
Beachten Sie, dass die Anwendung dieser Funktionalität ist nur möglich ist, solange das Resultat weniger als 4096 Zeichen umfasst.
Wird ohne Expand gearbeitet, d.h. nur mit dem Variablennamen, dann kann auch mit Resultaten (Strings) gearbeitet werden die mehr als 4096 Zeichen umfassen.

X-Variablen aus Library erzeugen

Der Befehl «X(<LIB:meinelibrary.lb)» bietet Ihnen die Möglichkeit, X-Variablen die auf F-Script-Libraries basieren, automatisch zu erzeugen. Dabei wird die Library zeilenweise gelesen und die Einträge jeweils beim Pipe-Zeichen | (AltGr-7 resp. ASCII 124) gesplittet. Der Wert vor der Pipe wird automatisch als Name/Bezeichner der entsprechenden X-Variable verwendet. Der Wert nach der Pipe wird der X-Variable als Wert zugeteilt. Zeilen der Library welche mit "#" beginnen oder Zeilen ohne "|" werden ignoriert.
Funktion
Parameter
Beschreibung
X(<LIB)
«X(<LIB:meinelibrary.lb)»
Automatisches Erzeugen von X-Variablen basierend auf einer F-Script Library.
Wichtig
Wichtig
Enthalten die Library-Einträge F-Script-Befehle, werden diese erst bei der Verwendung der X-Variable ausgewertet!
Beispiel
VerMA|Verantwortlich: «VORNAME(«ADRNR»)» «NAME(«ADRNR»)»
Da die Adresse erst zur Laufzeit der Verwendung der X-Variable ausgewertet wird, ist sicherzustellen, dass zu diesem Zeitpunkt auch die richtige Adresse aktiv ist.
Beispiel:
Aktive Adresse = 1000
Vorname der Adresse 1000: Heinz
Nachname der Adresse 1000: Huber
«X(VerMA)» ergibt: Heinz Huber