4D v15.4EXECUTE FORMULA |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
4D v15.4
EXECUTE FORMULA
|
EXECUTE FORMULA ( Anweisung ) | ||||||||
Parameter | Typ | Beschreibung | ||||||
Anweisung | String |
![]() |
Auszuführender Code | |||||
Der Befehl EXECUTE FORMULA nimmt Anweisung, überprüft, ob die Syntax korrekt ist und führt sie dann aus. Ist Anweisung ein leerer String, hat EXECUTE FORMULA keine Auswirkung.
Als Faustregel gilt: Anweisung wird korrekt ausgeführt, wenn sie als einzeilige Methode ausführbar ist.
In einer kompilierten Datenbank ist die Codezeile nicht kompiliert, d.h. Anweisung wird ausgeführt, jedoch nicht vom Compiler in Kompilierzeit geprüft.
Da der Befehl die Ausführungsgeschwindigkeit verlangsamt, sollten Sie ihn möglichst nicht verwenden. Eine Case of-Schleife ist in jedem Fall schneller.
Da 4D in mehreren Programmiersprachen, wie Englisch und Französisch lieferbar ist und sich die Bezeichnung eines Befehls ändern kann, sollte der Befehl vermieden werden. Er ist grundsätzlich nur zu Testzwecken sinnvoll, z.B. um in einer kompilierten Datenbank testweise Methoden aufzurufen oder Variablen zu verändern.
Anweisung kann folgendes enthalten:
Anweisung kann Prozessvariablen und Interprozessvariablen enthalten, jedoch keine Elemente für Befehlsfolgen, wie If, Case of, Else, da nur einzeiliger Code möglich ist.
Um sicherzustellen, dass Anweisung unabhängig von der 4D Programmiersprache oder Version korrekt bewertet wird, empfehlen wir die Syntax mit Tokens bei Elementen zu verwenden, deren Name sich zwischen verschiedenen Versionen ändern kann (Befehle, Tabellen, Felder, Konstanten). Um beispielsweise den Befehl Current time einzufügen, geben Sie 'Current time:C178' ein. Weitere Informationen dazu finden Sie im Abschnitt Tokens in Formeln verwenden.
In einer Listbox eine dynamische Spalte hinzufügen und Typ setzen:
//Spalte hinzufügen
C_POINTER($Ptr_nil)
$Txt_column:="column"
$Txt_header:="header"
LISTBOX INSERT COLUMN(*;"listbox";MAXLONG;$Txt_column;$Ptr_nil;$Txt_header;$Ptr_nil)
//Spaltentyp setzen, hier ARRAY OBJECT
//ARRAY OBJECT((OBJECT Get pointer(Object named;$Txt_column))->;0)
EXECUTE FORMULA("ARRAY OBJECT:C1221((OBJECT Get pointer:C1124(3;\""+$Txt_column+"\"))->;0)")
Sie wollen Formeln ausführen, die Aufrufe von 4D Befehlen und Tabellen enthalten. Da diese u.U. umbenannt werden, können Sie für die korrekte Ausführung in zukünftigen Versionen sorgen, wenn Sie die Syntax mit Tokens verwenden:
EXECUTE FORMULA("Year of:C25 ([Products:5]Creation_Date:2])+$add")
Command name
EDIT FORMULA
EXECUTE METHOD
Tokens in Formeln verwenden
Produkt: 4D
Thema: Formel
Nummer:
63
Geändert: 4D v11 SQL
4D Programmiersprache ( 4D v15)
4D Programmiersprache ( 4D v15.4)
4D Programmiersprache ( 4D v15.3)