Eingeführt mit 4D v14 R4
Die 4D Transformation Tags (bisheriger Name 4D HTML Tags) wurden erweitert:
- das Tag 4DEVAL wurde hinzugefügt
- das Tag 4DLOOP unterstützt jetzt als Parameter alle 4D Ausdrücke oder einen Zeiger auf ein Array.
Hinweis: Der Befehl PROCESS 4D TAGS wurde ebenfalls erweitert. Weitere Informationen dazu finden Sie im Abschnitt PROCESS 4D TAGS.
Syntax: <!--#4DEVAL VarName--> oder <!--#4DEVAL 4DExpression-->
Über das neue Tag 4DEVAL können Sie auf eine Variable oder einen 4D Ausdruck zugreifen.
Wie das Tag 4DHTML löst auch 4DEVAL die HTML Zeichen im zurückgegebenen Text nicht auf. Im Gegensatz zu 4DHTML oder 4DTEXT kann 4DEVAL jedoch jede gültige 4D Anweisung ausführen, d.h. auch Anweisungen und Ausdrücke, die keinen Wert zurückgeben.
Sie können z.B. folgendes ausführen:
$input:="<!--#4DEVAL a:=42-->"
$input:=$input+"<!--#4DEVAL a+1-->"
PROCESS 4D TAGS($input;$output)
Wollen Sie 4D Befehle oder Funktionen direkt als Ausdruck verwenden, müssen Sie im Parameter 4DExpression den jeweiligen Code der Befehlsnummer verwenden. So können Sie sicherstellen, dass der Befehl auch bei geänderten Befehlsnamen in zukünftigen 4D Versionen korrekt erkannt wird. Die Syntax lautet wie folgt: "<command_name>:C<command_number>. Um z.B. Current time aufzurufen, schreiben Sie "Current time:C178".
Hinweis: Die Befehlsnummer finden Sie im Explorer unter Befehle.

Bei fehlerhafter Interpretation wird der Text in Form von <!--#4DEVAL expression--> : ## Fehler # Fehlernummer” eingefügt.
Hinweis: Sie müssen im Dialogfenster Methode-Eigenschaften die Option "Zugang per 4D Tags und URLs (4DACTION...)" markieren, damit eine 4D Methode mit 4DEVAL über eine Web Anfrage ausführbar ist. Weitere Informationen dazu finden Sie im Abschnitt Sicherheit der Verbindung > Zugang per 4D Tags und URLs.
Das Tag 4DLOOP akzeptiert jetzt zwei weitere Bedingungen (zusätzlich zu Tabelle, Array und Methode): 4D Ausdruck und Zeiger Array.
- <!--#4DLOOP 4DAusdruck-->
Mit dieser Syntax führt das Tag 4DLOOP eine Schleife aus, solange der 4D Ausdruck Wahr zurückgibt. Das kann jeder gültige Boolean Ausdruck sein und dieser sollte in jeder Schleife einen variablen Part zur Bewertung haben, um unendliche Schleifen zu vermeiden.
Der HTML Code:
<!--#4DEVAL $i:=0-->
<!--#4DLOOP ($i<4)-->
<!--#4DEVAL $i-->
<!--#4DEVAL $i:=$i+1-->
<!--#4DENDLOOP-->
ergibt folgendes:
0
1
2
3
- <!--#4DLOOP ZeigerArray-->
In diesem Fall arbeitet das Tag 4DLOOP wie mit einem Array, d.h. es macht für jeden Eintrag im Array eine Schleife. Der aktuelle Eintrag des Array erhöht sich, wenn dieser Part im Code wiederholt wird.
Diese Syntax ist hilfreich, wenn Sie in der Methode PROCESS 4D TAGS als Parameter einen Array Zeiger übergeben.
Beispiel:
ARRAY TEXT($array;2)
$array{1}:="hello"
$array{2}:="world"
$input:="<!--#4DEVAL $1-->"
$input:=$input+"<!--#4DLOOP $2-->"
$input:=$input+"<!--#4DEVAL $2->{$2->}--> "
$input:=$input+"<!--#4DENDLOOP-->"
PROCESS 4D TAGS($input;$output;"elements = ";->$array)