Entdecken Sie die Macht der dynamischen Formen

Automatisch übersetzt von Deepl

Sie haben uns gesagt, wie sehr Sie sich eine Funktion zur dynamischen Erstellung von Formularen wünschen, die vollständig an die Bedürfnisse Ihrer Endbenutzer angepasst ist. Nun, wir haben Sie erhört, und 4D v16 R6 now eröffnet neue Möglichkeiten mit dynamischen Formularen! Dynamische Formulare, die als Vorschau in 4D v16 R6 zur Verfügung stehen, ermöglichen es Ihnen, Ihre Formulare programmatisch in einem Objekt zu erstellen oder sie aus einer Textdatei zu laden. Aber das ist nur die Spitze des Eisbergs, den wir für Sie aufgeschlagen haben…

Dynamische Formulare – Datenbankbeispiel

Dynamische Formulare Vorteile

In dynamischen Formularen wird der gesamte Inhalt des Formulars – Seiten, Formularobjekte und die Eigenschaften für jedes Objekt – in einem Textformat (JSON-Format) beschrieben. Dynamische Formulare können also in einem Objekt oder in einer Datei gespeichert werden. Für eine reibungslose Migration ist es möglich, beide Arten von Formularen in einer Datenbank zu haben, d . h. sowohl reguläre Formulare (in einem binären Format in der .4DB-Datei gespeichert) als auch dynamische Formulare(als Text irgendwo auf der Festplattegespeichert ).

Dynamische Formulare können mit kompilierten oder eigenständigen Anwendungen verwendet werden. Der Vorteil der neuen Formulare im Vergleich zu regulären binären Formularen ist, dass Sie sie einfach durch Aktualisierung der JSON-Datei ändern können … ohne die Anwendung neu kompilieren zu müssen. Das gibt Ihnen große Flexibilität bei der Bereitstellung.

Die Verwendung dynamischer Formulare hat auch noch andere große Vorteile. Hatten Sie schon einmal einen Kunden, der eine Änderung der Schriftart für alle Formularobjekte wünschte? Mit dynamischen Formularen ist das so einfach wie das „Suchen und Ersetzen“ in einer Textdatei!

Wenn Sie nun ein bestimmtes Formular per E-Mail an einen Mitarbeiter senden möchten, müssen Sie nur eine einzige Textdatei anstelle des gesamten Datenbankpakets versenden. Dynamische Formulare machen es auch einfach, ein Formular in einer anderen Anwendung wiederzuverwenden, ohne dass es in eine andere Datenbank verschoben werden muss … einfach eine einzelne Datei kopieren/einfügen und schon ist es fertig!

Befehle, die dynamische Formulare unterstützen

Von nun an können alle 4D Befehle, die einen Formularnamen verwenden, auch eine Formularbeschreibung als Objekt oder Dateipfad akzeptieren :.

„HELLO WORLD“ Beispiel

Formularbeschreibung aus einer Textdatei

Nehmen wir ein einfaches Beispiel mit nur Text und einer Schaltfläche:

Hello World dialogDie textuelle Beschreibung des Formulars lautet wie folgt:

{
    ... list of form parameters ...
    "pages": [  ... list of form pages ...
        null, ... page 0 ...
        {     ... page 1 ...
            "objects": {    ... list of form objects in page 1 ...

                "text": {
                    "type": "text",
                    "text": "Hello World !",
                    "left": 20, "top": 20, "width": 200, "height": 20
                },

                "button": {
                    "type": "button",
                    "text": "OK",
                    "left": 120, "top": 40, "width": 100, "height": 20
                }
            }}]
}

Und hier ist der Code, um dieses Formular in einem Dialog zu laden:

DIALOG ("/RESOURCES/helloWorld.json")

Die Grammatik wird durch ein JSON-Schema definiert. Die Dokumentation enthält auch eine vollständige Liste der Attribute, die in dynamischen Formularen verwendet werden können, sowie Einzelheiten darüber, welche Attribute von jedem Formularobjekt unterstützt werden. Vergessen Sie nicht, dass Sie mit dem JSON Validate verwenden können, um zu überprüfen, ob das JSON in Ihrer Formularbeschreibung mit dem JSON-Schema übereinstimmt.

Ein Formular in einem Objekt erstellen

Nun wollen wir dieses Formular vollständig dynamisch machen, indem wir es nur mit Code aufbauen!

// Build form description
$label:=New object("type"; "text"; "text"; "Hello World!";"top";20;"left";20;"width";200;"height";20)
$button :=New object("type";"button";"text";"OK";"top";40;"left";120;"width";100;"height";20)
$page :=New object("objects";New object("label";$label; "button";$button))
$form :=New object("pages";New collection(Null;$page); "windowTitle"; "My first dynamic form"; "rightMargin";20; "bottomMargin";20)

// Load the form in a dialog
$w:=Open form window($form)
DIALOG ($form)

Wie Sie sehen, können Sie Ihre Formulare flexibel nach Ihren Bedürfnissen gestalten. Sobald Sie Ihre Formulare in eine Datei oder ein Objekt geschrieben haben, können Sie sie wie normale Formulare verwenden.

Wie sieht es mit der Bearbeitung von Formularen aus?

Im Moment gibt es keinen anderen Mechanismus zur Bearbeitung Ihrer dynamischen Formulare als einen Texteditor. Aber das wird nicht so bleiben! Ein Formular-Editor speziell für dynamische Formulare ist auf dem Weg. Und wann? Bleiben Sie dran.

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.