Schreiben Sie Ihre eigenen Methoden für Objekte

Automatisch übersetzt von Deepl

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"))
$f
.message() // 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:

HDI_NeueFormel

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

Fabrice Mainguené
- Product Owner -Fabrice Mainguené gehört seit November 2016 zum 4D Program Team. Als Product Owner ist er verantwortlich für das Schreiben der User Stories und deren Umsetzung in funktionale Spezifikationen. Seine Aufgabe ist es auch, sicherzustellen, dass die gelieferte Funktionsimplementierung den Kundenanforderungen entspricht.Nach seinem Bachelor-Abschluss in Informatik am CNAM arbeitete Fabrice als Windev-Entwickler bei einem kleinen Software-Verlag. Danach arbeitete er für verschiedene Unternehmen in Industrie und Handel als Windev- und Webentwickler sowie als technischer Berater für neue Funktionen.