Dies ist die alte 4D Dokumentations-Website. Die neue und aktualisierte Dokumentation finden Sie unter developer.4d.com

Home

 
4D v20 R7
Parse formula

Parse formula 


 

Parse formula ( formula {; options}{; errorMessage} ) -> Funktionsergebnis 
Parameter Typ   Beschreibung
formula  Text in Formel in Rohtext (plain text)
options  Lange Ganzzahl in Anweisungen für Eingabe / Ausgabe
errorMessage  Text in Fehlermeldung (ohne Fehler leerer String)
Funktionsergebnis  Text in Umgewandelte Formel (plain text)

Die Funktion Parse formula analysiert die 4D formula, prüft ihre Syntax und gibt ihre generische Form zurück. So bleibt die Formel auch gültig, wenn ein Element der 4D Programmiersprache oder Struktur umbenannt wird (Befehl, Konstante, Tabelle, Feld oder 4D Plug-In).

Mit Parse formula lassen sich Formeln folgendermaßen bewerten und übersetzen:

  • Reale Tabellen-/Feldnamen lassen sich in virtuelle Strukturnamen* (eigene Namen) oder tokenisierte Entsprechungen** konvertieren
  • Tokenisierte Entsprechungen für Tabelle/Feld lassen sich in virtuelle Strukturnamen oder reale Tabellen-/Feldnamen konvertieren
  • Virtuelle Strukturen lassen sich in reale Tabellen-/Feldnamen oder tokenisierte Entsprechungen konvertieren
  • Elemente der 4D Programmiersprache lassen sich in tokenisierte Entsprechungen der 4D Programmiersprache konvertieren
  • Tokenisierte Entsprechungen der 4D Programmiersprache lassen sich in Elemente der 4D Programmiersprache konvertieren

* Virtuelle Strukturen werden mit den Befehlen SET TABLE TITLES und SET FIELD TITLES definiert (der Parameter * ist erforderlich).

** Tokenisierte Entsprechungen sind Elemente der 4D Programmiersprache und Struktur in Rohtext (plain text), dargestellt in Token Syntax (siehe auch Tokens in Formeln verwenden). Hierzu ein Beispiel:

[Table:1]Field:1+String:C10(1)

In formula übergeben Sie eine 4D Formel in Rohtext. Sie kann reale oder virtuelle Strukturnamen, sowie tokenisierte Entsprechungen verwenden.

Unabhängig vom verwendeten Namenstyp in formula gibt Parse formula standardmäßig die Namen der aktuellen Elemente der 4D Programmiersprache oder Struktur ohne Text-Tokens zurück.

Mit dem optionalen Parameter options können Sie angeben, wie formula übergeben bzw. zurückgegeben wird. Dazu verwenden Sie eine der Konstanten unter dem Thema Formeln. Sie können auch Konstanten kombinieren, um sowohl Eingabe- als auch Ausgabeformat der zurückgegebenen Formel anzugeben.

Konstante Wert Kommentar
Formula in with virtual structure 1 Formel enthält eigene (virtuelle) Namen). Die zurückgegebene Formel enthält standardmäßig reale Namen.
Formula out with virtual structure 2 Die zurückgegebene Formel muss eigene (virtuelle) Namen enthalten.
Formula out with tokens 4 Die zurückgegebene Formel muss Text Tokens enthalten (z.B. :Cxx).

Der optionale Parameter errorMessage empfängt eine Fehlermeldung, wenn in formula ein Syntaxfehler auftritt. Gibt es keinen Fehler, wird ein leerer String zurückgegeben.

 ARRAY TEXT($t1;1)
 ARRAY LONGINT($t2;1)
 $t1{1}:="Virtual table"
 $t2{1}:=1
 SET TABLE TITLES($t1;$t2;*)
 
 ARRAY TEXT($tf1;1)
 ARRAY LONGINT($tf2;1)
 $tf1{1}:="Virtual field"
 $tf2{1}:=2
 SET FIELD TITLES([Table_1];$tf1;$tf2;*)
 
  //Virtuelle Struktur in Tabellen- und Feldnamen Entsprechung setzen
 $parsedFormula:=Parse formula("[Virtual table]Virtual field";Formula in with virtual structure;$errorMessage)
  //ergibt [Table_1]Field_2
 
  //Tabellen- und Feldname in virtuelle Struktur Entsprechung setzen
 $parsedFormula:=Parse formula("[Table_1]Field_2";Formula out with virtual structure;$errorMessage)
  //ergibt [Virtual table]Virtual field
 
  //Tabellen- und Feldname in tokenisierte Entsprechung setzen
 $parsedFormula:=Parse formula("String([Table_1]Field_2)";Formula out with tokens;$errorMessage)
  //ergibt String:C10([Table_1:1]Field_2:2)

Mit den Tabellen aus Beispiel 1 folgendes ausführen:

  //den Benutzer nach seiner bevorzugten Formeldarstellung fragen
 $formula:=""
 EDIT FORMULA([Table_1];$formula)
 
  //die verwendete Formel für später sichern
 CREATE RECORD([users_preferences])
 $persistentFormula:=Parse formula($formula;Formula out with tokens)
 [users_preferences]formula:=$persistentFormula
 
  //später: die zuvor gesicherte Formel ausführen
 CREATE RECORD([Table_1])
 EXECUTE FORMULA([users_preferences]formula)



Siehe auch 

Formula from string
SET FIELD TITLES
SET TABLE TITLES
Tokens in Formeln verwenden

 
EIGENSCHAFTEN 

Produkt: 4D
Thema: Formel
Nummer: 1576

 
SEITENINHALT 
 
GESCHICHTE 

 
ARTIKELVERWENDUNG

4D Programmiersprache ( 4D v20 R7)