Es steht Ihnen ein neuer Befehl zur Verfügung, mit dem Sie Formeln in Ihrem Code verwenden können. Sie können sie jetzt in Objekten kapseln und bei Bedarf aufrufen. Es ist nicht mehr nötig, Ihren Code als Text zu schreiben. Jetzt können Sie einfach Ihre Formel in Ihrem Befehl übergeben und das war’s! Das ist eine großartige Ergänzung, denn da Ihr Code kein Text ist, können Sie von der Syntaxhervorhebung und allen anderen erweiterten Funktionen des Code-Editors profitieren!
Eine Formel in einem Objekt kapseln
Mit dem Formula Befehl ist es sehr einfach, eine Formel in einem Objekt zu kapseln:
$f:=Formula(ALERT("Hallo Welt"))
Und da die Formel in einem Objekt gekapselt ist, können Sie sie natürlich auch in einer Eigenschaft eines Objekts kapseln und Ihre eigenen gekapselten Objektmethoden erstellen:
$f:=New object
.
$f .message:=Formula(ALERT("Hallo Welt"))
$fmessage(
) // Display alert dialog box with the message "Hello world"
Wenn Sie Parameter an Ihre Formel übergeben wollen, verwenden Sie einfach $1, $2 … wie in Ihren Methoden:
$f:=New object
$f .message:=Formula(ALERT("Hallo "+$1))
$f .message("John")
// Display alert dialog box with the message "Hello John"
Oder wenn Sie den Wert eines Objektattributs verwenden wollen, ist der This Befehl die Antwort:
$f:=New object
$f .text:="Hallo Welt"
$f .message:=Formula(ALERT(This.text))
$f .
message()
// Display alert dialog box with the message "Hello world"
Schließlich können Sie eine Methode als Formel verwenden:
$person:=New object
$person .firstName:="John"
$person .lastName:="Smith"
$person .greeting:=Formula(Greeting )
$g :=$person.greeting("hello")
// $g:="hello John Smith"
$g:=$person.greeting("hi")
// $g:="hi John Smith"
Mit der Greeting Methode:
$0:=$1+" "+This.firstName+" "+This.lastName
Sie finden weitere Beispiele für die Verwendung von Formula in diesem HDI:
Aufrufen Ihrer Formel
Sie können ein Formelobjekt auch ausführen, ohne es als Eigenschaft eines anderen Objekts zu setzen, indem Sie die call() und apply() Methoden.
$f:=Formula(ALERT(String($1+""+$2))
$f .call(null; "Hallo"; "Welt")
)
$f .apply(null;New collection ("Hallo"; "Welt" //formula.apply object methods
Eine Formel in ein Objekt aus einer Zeichenkette kapseln
Es gibt eine Möglichkeit, eine Textversion einer Formel zu verwenden, um eine Methode mit dem Formula from string Befehl:
$textFormula:=Request("Bitte geben Sie eine Formel ein")
If (ok=1)
$f :=Formula from string($textFormula)
ALERT ("Ergebnis ="+String($f.call ()))
End if