Formulare im laufenden Betrieb mit neuen Datenquellenbefehlen erstellen

Automatisch übersetzt von Deepl

Bei der Anwendungsentwicklung ist es oft notwendig, Formulare dynamisch zu erstellen. So kann es beispielsweise erforderlich sein, ein auf die Bedürfnisse des Benutzers zugeschnittenes Suchformular zu erstellen. In 4D gibt es zwei Hauptansätze für die Erstellung dynamischer Formulare: entweder wird das gesamte Formular programmatisch erstellt oder es werden Objekte zu einem bestehenden Formularlayout hinzugefügt. Bei der zweiten Möglichkeit war es bisher möglich, Objekte mit OBJECT DUPLICATEzu duplizieren und die Datenquelle mit OBJECT SET DATA SOURCEzu duplizieren und die Datenquelle zu modifizieren, alles mit einem klassischen Zeiger-basierten Ansatz.

Mit 4D 20 R10 gibt es neue und leistungsfähige Befehle, OBJECT SET DATA SOURCE FORMULA und OBJECT Get data source formuladie Möglichkeit, eine Formel als Datenquelle für Formularobjekte zu verwenden. Darüber hinaus können Sie Formeln dynamisch wichtigen Eigenschaften von Listboxen mit dem LISTBOX SET PROPERTY Befehl dynamisch Formeln für wichtige Listbox-Eigenschaften zuweisen, z. B. für das aktuelle Element, die aktuelle Position des Elements und die ausgewählten Elemente.

Dies eröffnet den Weg zu einem moderneren, flexibleren und lesbareren Ansatz, insbesondere dank Ausdrücken wie Form.xx oder den Klassen.

HDI_SetDataSourceFormula

Neue Befehle zur Manipulation der Datenquelleneigenschaft

Es wurden zwei neue Befehle hinzugefügt, um die Datenquelleneigenschaft zu ändern:

OBJECT SET DATA SOURCE FORMULA ( {* ;} object ; formula)
OBJECT Get data source formula ( {* ;} object) : formula

Beispiel 1: Aktualisieren der Formel

Nehmen wir an, wir haben eine Texteingabe mit dem Namen „myInput“ in einem Formular, und wir wollen seine Datenquelle mit der Formel „Form.myText“ verbinden.

$myFormula:=Formula(Form.myText)
OBJECT SET DATA SOURCE FORMULA (*; "myInput"; $myFormula)

Beispiel 2: Abrufen der Formel

Um die Formel abzurufen, die mit einem Formularobjekt verbunden ist, z. B. einer Texteingabe namens „myInput“, können Sie einfach schreiben:

$formula:=OBJECT Get data source formula(*; "meineEingabe")

Diese neuen Befehle erleichtern die Erstellung von generischen, wiederverwendbaren Formularvorlagen, die dynamisch konfiguriert werden können.

Erweiterte Funktionen für ListBoxen

Diese Eigenschaften sind über die folgenden Konstanten mit den Befehlen LISTBOX Get property und LISTBOX SET PROPERTY zugänglich:

  • lk current item expression
  • lk current item pos expression
  • lk selected items expression

Beispiel:

LISTBOX SET PROPERTY(*; "myListBox"; lk selected items expression; "Form.selectedItems")

Schlussfolgerung

Mit OBJECT SET/GET DATA SOURCE FORMULA und den neuen Listbox-Eigenschaftskonstanten bietet 4D eine neue, elegante und leistungsstarke Möglichkeit, dynamische Schnittstellen zu erstellen.

Durch die Einbeziehung von Formeln und objektorientierter Programmierung können Sie jetzt Formulare erstellen, die anpassungsfähiger, wartungsfreundlicher und leichter zu lesen sind.

Vanessa Talbot
Product Owner - Vanessa Talbot kam im Juni 2014 zum 4D Programmteam. Als Product Owner ist sie für das Schreiben der User Stories und deren Umsetzung in funktionale Spezifikationen zuständig. Ihre Aufgabe ist es auch, sicherzustellen, dass die Implementierung der Funktionen den Anforderungen des Kunden entspricht. Seit ihrer Ankunft hat sie an der Definition der wichtigsten Funktionen in 4D gearbeitet. Sie hat an den meisten der neuen Funktionen für präemptives Multi-Threading gearbeitet und auch an einem sehr komplexen Thema: der neuen Architektur für erstellte Anwendungen. Vanessa hat einen Abschluss von der Telecom Saint-Etienne. Sie begann ihre Karriere am Criminal Research Institute als Entwicklerin für die audiovisuelle Abteilung. Sie hat auch in den Bereichen Medien und Medizin als Expertin für technischen Support, Produktion und die Dokumentation neuer Funktionen gearbeitet.