Was ist neu in 4D v20

Dieses Dokument fasst alle neuen Funktionen von 4D v20 zusammen. Beachten Sie, dass zu jeder Funktion ein zugehöriger Blog-Beitrag gehört, in dem Sie konkrete Beispiele finden. Diese Blog-Beiträge können Sie aufrufen, indem Sie auf den Titel der Funktion klicken.

Außerdem beziehen sich die Abschnitte mit diesem Tag blank auf alle neuen Funktionen, die zwischen 4D v19 R8 und 4D v20 veröffentlicht wurden.

Dieses Dokument ist in sechs Abschnitte unterteilt:

Verbesserte Netzwerkkommunikation

Meet QUIC blank

Da die Anzahl der gleichzeitigen Verbindungen zu den größten Produktionsservern, die auf 4D laufen, weiter zunimmt, hat die Gewährleistung einer optimalen Performance für die Entwicklungsteams höchste Priorität. Das QUIC-Protokoll hat sich als vielversprechende Lösung für diese Herausforderung erwiesen.

QUIC ist ein Protokoll, das die Geschwindigkeit und Performance in serverseitigen Netzwerken verbessern soll. QUIC wurde in den letzten zehn Jahren von Google entwickelt und nutzt die Vorteile von UDP anstelle von TCP, um eine schnellere Wiederherstellung im Falle von Paketverlusten, Staus und anderen Problemen zu ermöglichen. QUIC wird heute in großem Umfang verwendet, z.B. in HTTP/3 als “HTTP over QUIC” und wird von allen wichtigen Browsern unterstützt, die bereits in mehr als der Hälfte aller Verbindungen zu den Servern von Google verwendet werden. Facebook wickelt mehr als 75% seines Internetverkehrs über QUIC ab, und viele Anwendungen wie YouTube, Gmail oder Uber verwenden QUIC für die Kommunikation mit ihren Servern.

Wir möchten Sie ermutigen, QUIC auszuprobieren und uns Ihr Feedback zu geben, damit wir diese aufregende neue Technologie verbessern und verfeinern können, um den Weg für ihre Aufnahme in zukünftige Versionen von 4D v20 zu ebnen. Und denken Sie daran, dass QUIC die Widerstandsfähigkeit der 4D Infrastruktur verbessern kann, so dass sie besser gegen schlechte Verbindungen und andere Netzwerkprobleme gewappnet ist.

4D Sprache & andere Programmierfunktionen

Integrierter Websocket-Server blank

Das WebSocket-Protokoll bietet einen dauerhaften Vollduplex-Kommunikationskanal zwischen einem Client und einem Server. Es ermöglicht die Datenübertragung in Echtzeit zwischen den beiden Parteien und erlaubt eine schnellere und effizientere Kommunikation.

4D v20 enthält jetzt einen integrierten WebSocket Server, der es Entwicklern ermöglicht, Echtzeit-Webapplikationen zu erstellen, die große Datenmengen verarbeiten können und dem User ein nahtloses Erlebnis bieten.

Dies eröffnet eine Welt der Möglichkeiten für Echtzeit-Datenvisualisierung, kollaborative Applikationen und IoT-Applikationen, die sofortige Updates erfordern.

 

Objekt- und Collection-Literal-Initialisierer blank

Objekte und Collections können in Ihrem Code mit den Befehlen New object und New collection initialisiert werden.

4D v20 hat eine neue und besser lesbare Syntax für die Initialisierung großer oder komplexer Objekte und Collections in Ihrem Code eingeführt – das Objektliteral und das Collection-Literal.

Mit Objektliteralen können Sie ein Objekt mit seinen Eigenschaften und Werten initialisieren, die in geschweifte Klammern {} eingeschlossen sind. Anstatt den Befehl New object zu verwenden, können Sie zum Beispiel ein neues Objekt erstellen und seine Eigenschaften in einer einzigen Codezeile wie dieser initialisieren: $object1 := {a : “foo”; b : 42+26; c : {}; d : [“coucou”; “rien”]}.

In ähnlicher Weise können Sie mit Collection-Literalen eine Collection initialisieren, deren Elemente in eckige Klammern [] eingeschlossen sind.

 

Neue Befehle zum Sperren des Datastore blank

4D bietet Ihnen mehrere integrierte Möglichkeiten, Ihre Daten zu sichern: 4D Backup und die Verwendung eines Spiegelservers. Mit 4D v20 stellt 4D interne Befehle zum Sperren des Datastore zur Verfügung, so dass Sie Ihre Daten kopieren können, während 4D läuft. Hier sind die neuen Befehle zu ds.flushAndLock(), ds.locked() und ds.unlock().

 

Automatische Integration von mehreren Journalen blank

4D v20 führt eine leistungsstarke neue Funktion ein, die Ihre Produktivität bei der Datenbankpflege erheblich steigern kann. Sie können sich auf die Entwicklung Ihrer Applikation konzentrieren, indem Sie beim Start der Datenbank automatisch mehrere Journale integrieren, anstatt Zeit mit manuellen Aufgaben der Datenbankverwaltung zu verbringen.

Um diese Funktion zu nutzen, stellen Sie einfach sicher, dass die Einstellung “Letzte Protokolle integrieren, wenn die Datenbank unvollständig ist” aktiviert ist, was die Standardeinstellung ist. Legen Sie dann die Journaldateien, die Sie integrieren möchten, neben die aktuelle Datei. 4D erkennt automatisch alle fehlenden Vorgänge in der Startdatenbank und überprüft alle Journaldateien, um festzustellen, ob eine Wiederherstellung möglich ist. Wenn es keine Probleme gibt, integriert es die Vorgänge aus allen Journalen, ohne dass Sie eingreifen müssen.

 

Erstellen Sie eine Applikation mit 4D Befehlen blank

4D hat kontinuierlich neue Funktionen hinzugefügt, um Entwicklern bei der Erstellung ihrer eigenen Build-Chain zu helfen und ihnen mehr Flexibilität und Anpassungsmöglichkeiten für ihre Applikationen zu bieten. Zu diesen Funktionen gehört die Möglichkeit, einen “.zip”-Ordner zu erstellen, zusätzliche Informationen wie das Copyright zu einer ausführbaren Datei oder einer “dll” hinzuzufügen und eine “info.plist”-Datei zu erstellen.

Mit der Veröffentlichung von 4D v20 wurden zwei neue Funktionen hinzugefügt, die die Erstellung von Standalone- oder Client/Server-Applikationen noch einfacher machen:

  1. Hinzufügen eines Symbols zu einer ausführbaren Datei.
  2. Generierung der Bereitstellungslizenzdatei.

 

Ein Tool für die Ausführung von 4D-Code in CLI blank

4D v20 bringt eine neue Applikation namens tool4d. Bei dieser Applikation handelt es sich um eine Teilmenge von 4D, die für Ihre Build-Chain entwickelt wurde, um den Build-Prozess zu automatisieren, und die für die Headless-Skriptausführung über die Befehlszeilenschnittstelle bestimmt ist. Sie stellt aber auch den LSP-Server zur Verfügung, der mit der VS Code-Erweiterung kommuniziert.

 

4D-Analyzer Erweiterung blank

Diese Erweiterung hat bei unseren 4D Entwicklern viel Aufmerksamkeit erregt.

4D bietet Unterstützung für den Code-Editor Visual Studio Code, der 4D Code verarbeiten kann und mit Standardfunktionen wie Syntaxhervorhebung, Gehe zur Definition, Signaturhilfe, und Codevervollständigung ausgestattet ist.

4D v20 bringt mit der Erweiterung 4D-Analyzer neue Funktionen für den Visual Studio Code Editor: Sagen Sie hallo zu Codefaltung & Einrückung und Syntaxprüfung.

 

Mit der verbesserten Unterscheidungsfunktion blank

Die unterschiedliche Funktion der Klassen Collection und Entity-Selection ermöglicht das Abrufen einer Liste eindeutiger Werte.

Mit 4D v20 können Sie auch die Anzahl der Vorkommen jedes eindeutigen Wertes abrufen. Außerdem können Sie alle Attributpfade abrufen, die in einem Objektfeld verwendet werden. Diese Funktionalität kann von Vorteil sein, wenn Sie mit großen Datensätzen arbeiten und die Häufigkeit bestimmter Werte analysieren müssen.

Vergleich mit einem undefinierten Wert blank

Mit der Einführung von ORDA und anderen Objekten in 4D arbeiten Entwickler oft mit undefinierten Werten, was manchmal zu Fehlern beim Vergleich mit anderen Werten führt.

Beginnend mit 4D v20 wurde eine neue Verbesserung eingeführt, die es Entwicklern ermöglicht, jede Art von Wert mit einem undefinierten Wert zu vergleichen, ohne einen Fehler zu verursachen. Das bedeutet, dass Sie jetzt sicher undefinierte Werte mit anderen vergleichen können, ohne sich Sorgen machen zu müssen, dass Sie einen Fehler in Ihrem Code verursachen.

Einführung in die neuesten Suchen und Ersetzen Funktionen blank

Die “Suchen und Ersetzen” Funktion im Code-Editor gibt es schon seit vielen Jahren. Entwickler können damit schnell und effizient Code suchen und ersetzen, insbesondere bei großen Codebasen. 4D v20 bringt Verbesserungen, die von Entwicklern, die sich auf diese Funktion verlassen, um ihre Arbeitsabläufe zu optimieren, sicherlich geschätzt werden:

  • Erkennen der Anzahl der zu ersetzenden Vorkommen,
  • Kennen der Position des aktuellen Vorkommens,
  • Ständigen Zugriff auf die Navigationsoptionen Weiter und Zurück haben,
  • eine Palette anstelle eines modalen Fensters anzeigen, um die Anzahl der Klicks zu begrenzen.

 

Form-Objekt an die Befehle Print Form und FORM LOAD übergebenblank

Mit 4D v20 wird der Formular Befehl mit Formular drucken und FORMULAR LADEN unterstützt. Form, in früheren Versionen für DIALOG oder Unterformulare verfügbar, ermöglicht eine drastische Reduzierung des Bedarfs an Prozessvariablen und das Schreiben von portiertem oder isolierten Code ist besser. Dies ist eine willkommene Verbesserung von 4D, die das Leben der Entwickler zweifellos einfacher und produktiver machen wird.

 

Erstellen Sie Ihr eigenes Hilfemenü blank

Mit 4D v20 können Sie ein angepasstes “Hilfe”-Menü für Ihre Applikation erstellen, indem Sie eine Collection übergeben, die die Menüeinträge beschreibt. Auf diese Weise können Sie Ihren Usern zum Beispiel einen einfachen Zugang zu Dokumentation, Support und anderen hilfreichen Ressourcen bieten.

 

Neue praktische Funktionen für Collections blank

4Dv20 bietet eine Reihe von Funktionen zur Manipulation von Collections. Neben den über 40 Methoden, die wir bereits in der Vorgängerversion bereitgestellt haben, bietet Ihnen diese Version:

  • first() und last() erlauben, wie ihr Name schon sagt, den Zugriff auf das erste und das letzte Element einer Collection.
  • Die at() Funktion ist auch eine Alternative zu eckigen Klammern (col[x]) mit einem Vorteil; der Wert kann negativ sein, um die Elemente vom Ende zu erhalten.
  • Die flat() Funktion ist innovativer und wird in einigen Fällen sehr nützlich sein. Sie ermöglicht die Verflachung von Collections, die Collections enthalten können (die wiederum Collections enthalten können, usw.).
  • Die includes() Funktion ist praktisch, denn sie ermöglicht es zu wissen, ob eine Collection dieses oder jenes Element von fast jedem Typ enthält… Text, numerisch, Datum… und sogar Referenzen von Objekten oder Collections.
  • Die neue reduceRight(), die die optimierte Entsprechung von reverse().reduce()
  • ist

  • Die Funktion flatMap() ermöglicht es uns, in einer einzigen Operation eine map() gefolgt von einer flat() auszuführen – eine Funktion, die wir bereits erwähnt haben.

 

PDF-Format für die Druckvorschau unter Windows blank

Das PDF-Format ist nun eine brauchbare Alternative zu XPS für die Druckvorschau unter Windows geworden und bietet den Usern eine neue und leichter zugängliche Option. Die Entscheidung von Microsoft, den XPS-Viewer zu einer optionalen Windows-Funktion zu machen, hat bei vielen Usern zu Problemen bei der Bereitstellung von Applikationen geführt, so dass die Endbenutzer keine Druckvorschau anzeigen konnten. Obwohl die Installation des kostenlosen XPS Viewers ein unkomplizierter Prozess ist, zögern einige Administratoren, zusätzliche Funktionen zu installieren, insbesondere in Remote Desktop Umgebungen.
Glücklicherweise bietet 4D v20 jetzt die Möglichkeit, das PDF-Format für die Druckvorschau zu verwenden. Da auf fast allen aktuellen Windows-Versionen entweder XPS oder PDF vorinstalliert ist, sollten Endanwender keine Probleme mehr mit der Druckvorschau haben. Diese neue Option bietet eine flexiblere und effizientere Lösung, die sowohl den Bedürfnissen der User als auch denen der Administratoren gerecht wird.

 

Return, Continue, Break und mehr

Wir haben auf Ihre Funktionswünsche im 4D Forum gehört und sind ihnen mit mehreren Verbesserungen der 4D Sprache nachgekommen!

  • Beginnen Sie mit Anweisungen, die es Ihnen ermöglichen, aus einem Codeblock herauszuspringen:
    • Das Schlüsselwort return beendet die Ausführung der Methode oder Funktion, in der es vorkommt, und gibt die Kontrolle an die aufrufende Methode zurück. Es kann auch einen optionalen Wert zurückgeben.
    • Das Schlüsselwort break beendet die Schleife, die es enthält. Die folgende Anweisung wird unmittelbar nach dem Hauptteil der Schleife ausgeführt.
    • Die continue Anweisung beendet die Ausführung der Anweisungen in der aktuellen Iteration der Schleife und setzt die Ausführung der Schleife mit der nächsten Iteration fort.
  • Gefolgt von der Kurzschlussauswertung: In einem Ausdruck, der einen UND- oder ODER-Operator verwendet, bedeutet eine Kurzschlussauswertung, dass das zweite Argument nur ausgeführt oder ausgewertet wird, wenn das erste Argument nicht ausreicht, um den Wert des Ausdrucks zu bestimmen. Wir fügen zwei neue Operatoren hinzu, um dies zu erreichen:
    • && für den UND-Operator
    • || für den OR-Operator
  • Und dann gibt es noch einen Nebenoperator, der aus einer Bedingung gefolgt von einem Fragezeichen ( ? ), einem Ausdruck, der ausgewertet werden soll, wenn die Bedingung wahr ist, gefolgt von einem Doppelpunkt (:), und schließlich dem Ausdruck, der ausgewertet werden soll, wenn die Bedingung falsch ist, besteht: Bedingung? Wert Wenn Wahr: Wert Wenn Falsch.

 

Fehlerbehandlung

4D v20 bringt neue Möglichkeiten für die Fehlerbehandlung. Von nun an können Sie einen globalen Fehlerhandler definieren, der für alle Ausführungskontexte (Prozesse, Worker, ORDA-berechnete Attribute, ORDA-Funktionen usw.) effizient ist. Wenn Sie es versäumen, einen lokalen Fehler-Handler in einem neuen Prozess/Worker zu definieren, wird automatisch der globale Fehler-Handler aufgerufen. Das bedeutet, dass kein Fehlerdialog mehr auf dem Server angezeigt wird oder Fehler nicht abgefangen werden.

Visualisieren Sie die Komponenten Ihrer Klassen im Methoden Explorer

4D ermöglicht es Anwendungen, die noch im Binärmodus laufen, bereits, die Vorteile der Klassenfunktionen zu nutzen, indem Sie eine Komponente (im Projektmodus) verwenden, um Ihre eigenen Klassen aus Ihrer (auf dem Binärmodus basierenden) Applikation zu erstellen und zu verwenden. Diese Funktion enthält Tipps und Unterstützung für die Code-Vervollständigung, um Ihnen das Schreiben von Code zu erleichtern.

Um Ihnen das Programmieren noch leichter zu machen, bringt 4D v20 eine neue Funktion mit. Ab sofort können Sie im Methoden Explorer eine Liste aller verfügbaren Komponentenklassen visualisieren, so dass Sie im Handumdrehen entscheiden können, welche Funktionen Sie in Ihrem Code verwenden müssen.

 

Unterstützung von größeren Ganzzahlen als integer32

Sie benötigen also größere Zahlen als 2 Milliarden (32 Bit) mit hoher Genauigkeit für Zähler oder ähnliches? Wir haben die Reals und die Art, wie sie gehandhabt werden, verbessert, um dies zu ermöglichen. Während Reals bekanntermaßen ungenau sind, sind sie selbst für sehr große Zahlen 100% genau, solange sie keinen Dezimalpunkt verwenden (=Ganzzahlen). So können Sie Zahlen bis zu 53 Bit verwenden, genauer gesagt [-(2^53)+1, (2^53)-1]. Ein Range von -9.007.199.254.740.992 bis 9.007.199.254.740.992 wird also exakt dargestellt.

Die Konvertierung in oder aus dem Text war auf die Verwendung der 12-stelligen wissenschaftlichen Notation beschränkt, was zu einem Verlust an Präzision führte. Mit 4D v20 haben wir die Genauigkeit und die Konvertierung einer beliebigen Realzahl (die eine Ganzzahl darstellt) in einen Text verbessert. Die Verbesserung der Umwandlung in einen String betrifft den Befehl String() und die JSON- und XML-Befehle, die Zahlen in String-Form zurückgeben.

 

Unterstützung von Formularen in Collections & Callback-Befehle

Um die Verwendung von Collections mit einer Member Method, die eine Callback Methode benötigt, zu vereinfachen, erlaubt 4D die Verwendung einer Formel zur Definition eines Callbacks in:

 

Zulassen, dass Komponenten Klassen veröffentlichen

Angenommen, Ihre Applikation läuft noch im Binärmodus. In diesem Fall können Sie mit dieser Funktion von Klassen und objektorientierter Entwicklung profitieren, indem Sie eine Komponente (im Projektmodus) verwenden, um Ihre eigenen Klassen aus Ihrer (im Binärmodus laufenden) Applikation zu erstellen und zu verwenden. Ab 4D v20 gibt es einen neuen Abschnitt Komponente in Struktureinstellungen – Allgemein, in dem Sie konfigurieren können, wie Ihre Komponentenklassen und -funktionen im 4D Methodeneditor angezeigt werden, sobald die Komponente installiert ist.

 

Parameter von einer Funktion oder Methode zu einer anderen weiterleiten

Mit 4D v20 müssen Entwickler beim Aufruf einer Funktion und der Übergabe von Parametern keine komplexen Parameterprüfungen (Anzahl der Parameter, Werttypen) mehr durchführen.

Ein neuer Befehl, Copy Parameters, ermöglicht die einfache Übergabe von Parametern, die für einen Funktions- oder Methodenaufruf verwendet werden, an eine andere Funktion/Methode. Dies führt zu leichterem, eleganterem und einfacher zu lesendem Code. 

 

Formular- und Unterformularkommunikation

Beginnend mit 4D v20 hat die Verknüpfung einer Variablen mit einem Unterformular die Möglichkeiten der Schnittstellen und der Kommunikation zwischen Formularen und Unterformularen erweitert. Die Mittel der Kommunikation werden jetzt durch zwei neue Befehle vereinfacht: OBJECT Get subform container value und OBJECT SET SUBFORM CONTAINER VALUE

 

Neuer Befehl, um detaillierte Informationen über Lizenzen zu erhalten

4D v20 wird mit einem neuen Befehl ausgeliefert, der alle Informationen über Ihre Lizenznutzung liefert: Get License Usage. Wir haben auch unsere Diagnoseprotokolle erweitert. Dank dieser Funktion können Sie den Lizenzverbrauch auf Ihrem Server verfolgen, Ihre Nutzung optimieren und für Ihren zukünftigen Bedarf vorausplanen.

 

Weitere Optionen für den Befehl OBJECT SET enterable

Der OBJECT SET ENTERABLE Befehl wurde erweitert, so dass Sie ein nicht editierbares Feld besser verwalten können. Als dritten Parameter unterstützt der Befehl einen Boolean oder eine Ganzzahl. 

  • So können Sie den Befehl wie bisher verwenden, ohne Ihren Code zu ändern, indem Sie einen Boolean übergeben. Nur die Eigenschaft enterable wird geändert (False oder True).
  • Oder Sie können eine Ganzzahl übergeben. So können Sie die enterable und focusable Eigenschaft für Ihr Feld festlegen.

 

Zugriff auf Methodenparameter, die nicht existieren

4D v20 erlaubt den Zugriff auf alle Methodenparameter ohne Fehler, auch wenn einige von einem Aufrufer nicht übergeben wurden. Der Code ist ohne das wiederholte “if”-Schlüsselwort übersichtlicher und lesbarer.

 

Erstellen eines Blob-Attributs in einem Objekt

Mit der Einführung von Klassen ist der Bedarf an der Speicherung von Daten in Objekten gestiegen, insbesondere von Daten in Form von Blobs. Aus diesem Grund unterstützt 4D v20 die Einkapselung von Blobs in Objekte.

Abgesehen vom Speicheraspekt wird Ihr Speicherbedarf geringer sein, da es sich bei dem Blob-Objekt um einen Referenztyp handelt, und Ihre Geschwindigkeit wird erheblich verbessert.

 

Byte Order Mark (BOM) und End of Line (EOL) Management

4D hat sich nahtlos an die bewährten Verfahren zur Verwaltung bestimmter unsichtbarer Zeichen in Textdateien angepasst. Deshalb schreibt 4D von nun an Textdateien ohne BOM. Und unter macOS verwendet 4D LF als EOL-Zeichen. Dies geschieht völlig automatisch für alle von 4D geschriebenen Dateien, wie z.B. 4DSettings, 4dm, 4DForm, etc.

Bei den Kompatibilitätseinstellungen gibt es neue Optionen, die TEXT TO DOCUMENT und File.setText() Dateien ohne BOM zu erzeugen und LF als EOL-Zeichen auf macOS zu verwenden, wenn die optionalen Parameter “charSet” und “breakMode” fehlen. Weitere Einzelheiten finden Sie in der Dokumentation.

 

Standard .gitignore Datei in neuen Projekten

Im Projektmodus können Sie Änderungen mit Git (Versionskontrollsystem) leicht nachverfolgen, aber oft möchten Sie Ihre Projektdateien nicht im Git-Repository verfolgen. Mit 4D v20 können Sie festlegen, was in einem neuen Projekt nicht verfolgt werden soll, indem Sie im Projektordner automatisch eine Standarddatei .gitignore mit einer Liste von auszuschließenden Dateien und Ordnern hinzufügen.

 

Automatisches Signieren von Komponenten auf Mac

Mit 4D v20 und auf Mac signiert 4D automatisch erstellte Komponenten mit den vom User definierten Zertifikaten oder einer Adhoc-Signatur, wenn kein Zertifikat angegeben wurde. So können Komponentenentwickler signierte Komponenten weitergeben, ohne dass der User sie vor der Verwendung signieren muss.

 

Online-Dokumentation direkt aus dem Code-Editor anzeigen

Sie können auf die Details einer Klassenfunktion zugreifen, ohne auf der Dokumentationsseite suchen zu müssen. Drücken Sie einfach die F1-Taste oder klicken Sie auf den Eintrag Spring zur Definition… im Kontextmenü.

 

E-Mails

POP3: Laden Sie nur das Kopfteil der Mail herunterblank

Beim Abrufen von E-Mail-Nachrichten mit POP3, ist es möglich, nur die Kopfteile der Nachricht abzurufen (die Informationen wie Absender, Betreff und Datum enthalten) ohne den gesamten Hauptteil der Nachricht herunterzuladen.

Nur die Kopfteile einer Nachricht abzurufen, kann hilfreich sein, wenn Sie die Liste der Nachrichten in Ihrem Postfach schnell durchsuchen möchten, um zu entscheiden, welche Sie herunterladen und vollständig lesen möchten.

Ab 4D v20 wird der Funktion POP3Transporter.getMail() ein neuer Parameter hinzugefügt, mit dem Sie Ihre E-Mails ohne den Hauptteil erhalten.

 

IMAP: Mailbox-ID und Mail-Schlüsselwörterblank

4D v20 bringt zwei praktische Funktionen für IMAP-Transporter:

Die erste Funktion ist die Möglichkeit der Verwaltung von benutzerdefinierten E-Mail-Schlüsselwörtern bei der Interaktion mit bestimmten IMAP-Mailservern und -Clients. Mit benutzerdefinierten Schlüsselwörtern können Sie E-Mails mit bestimmten Bezeichnungen oder Kategorien versehen, so dass Sie sie später leichter organisieren und finden können. Mit dieser neuen Funktion in 4D v20 können Sie mit dem IMAP Transporter benutzerdefinierte Schlüsselwörter für E-Mails hinzufügen, entfernen oder auflisten.

Die zweite Funktion ist die Postfach-ID-Unterstützung im IMAP Transporter. Wenn Sie mit IMAP-Postfächern arbeiten, können diese umbenannt oder verschoben werden, was die Nachverfolgung im Laufe der Zeit erschwert. Mit der Unterstützung der Postfach-ID in 4D v20 können Sie ein bestimmtes Postfach identifizieren, auch wenn es umbenannt oder verschoben wurde. Dies kann nützlich sein, um wichtige Postfächer im Auge zu behalten, z.B. solche, die archivierte Nachrichten oder Nachrichten von bestimmten Absendern enthalten.

 

Microsoft 365 native Unterstützung

Da immer mehr Kunden für ihre E-Mail-Bedürfnisse auf Microsoft 365 umsteigen, bietet 4D v20 eine Lösung zur Vereinfachung der E-Mail-Verwaltung.

Die neuesten Automatisierungsfunktionen ermöglichen eine einfache Automatisierung von Microsoft 365 E-Mail-Vorgängen mit eingebauten Befehlen. Zu diesen Vorgängen gehören:

  • Senden, Empfangen von E-Mails und Auflisten Ihrer Mailbox-Ordner,
  • eine E-Mail von einem Ordner in einen anderen verschieben,
  • auf eine E-Mail antworten und eine Konversation erstellen,
  • Eine E-Mail als Entwurf erstellen und in einem Ordner Ihrer Wahl speichern,
  • und eine E-Mail löschen.

 

Microsoft365: Ordnerverwaltung blank

Microsoft lehnt die Basic-Authentifizierung für IMAP und POP3 ab, was bedeutet, dass User eine sicherere Authentifizierungsmethode verwenden müssen, um auf ihre E-Mail-Daten zuzugreifen. Die Graph API ist ein sicherer und moderner Weg, um auf Daten in Microsoft 365 zuzugreifen, einschließlich E-Mail-Daten.

Mit den neuen Funktionen in 4D NetKit können Sie jetzt Mit der Microsoft Graph API Ihre Postfächer verwalten (erstellen, löschen, umbenennen und Informationen abrufen).

 

Benutzerinformationen von Azure abrufen

Microsoft bietet nicht nur Zugriff auf Office-Applikationen, sondern auch ein Azure-basiertes Active Directory, mit dem sich User über einen Webbrowser bei Diensten wie Microsoft Sharepoint oder OneDrive anmelden können. Alle Microsoft-Dienste verwenden dasselbe Single Sign-On, das auf der E-Mail Adresse basiert. Ab 4D v20 können Sie mit 4D NetKit Teil dieses Konzepts sein und es Benutzern ermöglichen, sich mit ihren üblichen Unternehmensdaten bei Ihrer Applikation anzumelden.

Neben der Ermöglichung von Single Sign-On ermöglicht es auch den Abruf von Informationen über einen authentifizierten User, wie E-Mail, Abteilung und Telefonnummer. Wenn der Administrator es zulässt, können Sie auch Details über die Kollegen des Users innerhalb desselben Unternehmens abrufen.

 

Bcrypt Unterstützung für Passwörter

Ab 4D v20 werden alle Passwörter mit dem bcrypt Algorithmus verschlüsselt. Ein Algorithmus, der viel länger braucht, um zu berechnen, so dass Brute-Force-Algorithmen nicht mehr in der Lage sind, das ursprüngliche Passwort wiederherzustellen.
Bei der Einrichtung läuft alles automatisch ab. Sie müssen keine einzige Einstellung oder Codezeile ändern. Wenn das Passwort in der Toolbox oder mit den Befehlen CHANGE PASSWORD oder Set user properties geändert wird, wird der bcrypt-Hash gespeichert. Und bei der Authentifizierung erkennt 4D automatisch, ob das Passwort mit dem Legacy- oder dem bcrypt-Hash gespeichert ist, so dass User sich weiterhin verbinden können, ohne ihr Passwort zu ändern. 

 

HTTP Client Verbesserungen

Um die Syntax und die Funktionalität von 4D weiter zu verbessern, haben wir uns entschlossen, die HTTP Client Befehle in 4D zu modernisieren. Mit 4D v20 haben wir eine neue Methode zur Ausführung von HTTP-Anfragen eingeführt: HTTP-Klassen. Außerdem gibt es einige Funktionen für HTTP-Klassen, darunter komprimierte Antworten, Chunked Responses und Weiterleitungen.

 

Code Editor

Schnell zu verschiedenen Funktionen einer Klasse springen

Klassen bestehen aus mehreren Funktionen von unterschiedlicher Länge. Es ist also nicht immer einfach, die zu ändernde Funktion zu finden oder von einer Funktion zu einer anderen zu wechseln. Es ist zwar möglich, den Explorer zu verwenden, der die Klassen und Funktionen anzeigt, aber wenn Sie im Editor-Fenster programmieren, wollen Sie keine Zeit mit dem Wechseln der Fenster verschwenden.

Mit 4D v20 wird die Liste der Funktionen in Ihrer Klasse in der Symbolleiste des Code-Editors angezeigt, so dass Sie schnell zu einer bestimmten Funktion springen können. 

Kommentar-Tags

4D v20 bringt Kommentare auf eine neue Ebene mit Kommentar-Tags zur besseren Organisation Ihrer Kommentare. Tags werden verwendet, um Kommentare zu klassifizieren, indem das Tag einfach an den Anfang der Kommentarzeile gesetzt wird. Wir haben drei Tags zu Ihrer Verfügung gestellt:

  • Markieren
  • TODO
  • FIXME

Mit dem MARK-Tag können Sie Ihren Code in Abschnitte unterteilen. Sie können es auf drei verschiedene Arten schreiben. Die beiden anderen Tags, TODO und FIXME, sind ähnlich geschrieben. Das Interessante daran ist, dass sie unterschiedliche Symbole in der Liste haben, die es Ihnen ermöglichen, Ihren Code zu organisieren und Ihre zukünftigen Aktionen zu priorisieren.

Object Check Syntax

Autokomplettierung vereinfacht das Schreiben von Code und begrenzt Fehler in Funktionsnamen. Aber es vermeidet sie nicht vollständig. Es ist leicht, zwei Buchstaben zu vertauschen oder einen Großbuchstaben zu vergessen. Und dann verbringen Sie Zeit damit, nachzusehen, warum Ihr Code nicht funktioniert. Was liegt also näher, als 4D zu bitten, zu prüfen, ob die Klassen oder Funktionen bereits existieren? Ab 4D v20 wird eine Warnung im Code-Editor angezeigt, wenn Sie eine Funktion aufrufen, die nicht existiert.

Anpassung des Code-Editors

Zusätzlich zur Anpassung des Fensters und des Codebereichs bietet 4D v20 zwei neue Anpassungsoptionen:

  • Die zehn Zwischenablagen ein- oder ausblenden. 
  • Das Symbol “Listen ein-/ausblenden” wurde nach unten rechts neben die Listen verschoben.

 

Vereinfachte Navigation zwischen Code, Dokumentation und Explorer

Beim Erstellen eines Formulars oder beim Schreiben einer neuen Funktion oder Methode müssen Sie normalerweise:

  • auf den Explorer zugreifen, um das Formular in seinem Ordner auszufüllen
  • auf den Explorer zugreifen, um die Dokumentation für die Methode zu schreiben
  • Um die Dokumentation eines Befehls auf der 4D Online Seite zu sehen
  • Um die Dokumentation einer Methode einer Komponente zu sehen
  • auf den Code der Funktion zuzugreifen, die wir in unserer Methode verwenden möchten, um einige Änderungen vorzunehmen
  • einfach zwischen den verschiedenen Funktionen einer Klasse zu navigieren

In 4D v20 haben wir Menüeinträge und eine neue Liste im Code-Editor hinzugefügt, mit denen Sie besser durch die verschiedenen Elemente eines Projekts navigieren können.

 

Online-Dokumentation direkt aus dem Code-Editor anzeigen

Mit 4D v20 können Sie auf die Details einer Klassenfunktion zugreifen, ohne auf der Dokumentationsseite suchen zu müssen. Drücken Sie einfach die Taste F1 oder klicken Sie im Kontextmenü auf den Eintrag Zur Definition gehen….

 

Web

Debugging auf dem Server mit skalierbaren Web Sessions

Skalierbare Web Sessions waren eine deutliche Verbesserung. Sie ermöglichen es Ihnen, 4D Tags, 4D Aktionen und die REST API in präemptiven Prozessen, sogar im interpretierten Modus, auf einem 4D Server zu verwenden. Zum Debuggen mussten Sie jedoch Ihre Entwicklungsumgebung auf dem Server öffnen, um sie in den kooperativen Modus zu versetzen, da das Debugger-Fenster nicht mit präemptiven Prozessen geöffnet werden kann. Ab 4D v20 haben wir das Debugging auf der Serverseite vereinfacht, indem wir den Debugger einfach an den Server angehängt haben.

 

Neue Windows System Rendering Engine

Beginnend mit 4D v20, wenn Sie die System Rendering Engine verwenden, benutzt 4D Microsoft Edge WebView2. Diese Änderung ermöglicht es Ihnen, von einem modernen Browser mit den neuesten Funktionen und Sicherheitsupdates zu profitieren. Microsoft Edge kann zum Beispiel zur Anzeige von PDFs verwendet werden.

 

Files & Folders

File Handles

Wenn es ums Schreiben und Lesen geht, stehen Ihnen die Funktionen setText und getText zur Verfügung, um den gesamten Inhalt zu lesen oder zu schreiben. 4D v20 bringt Datei-Handles für den Fall, dass Sie eine oder mehrere Zeilen in ein bestehendes Dokument einlesen oder hinzufügen wollen.

Datei-Handles sind Objekte, die auf der Grundlage von “Datei”-Objekten erstellt werden und über Funktionen verfügen, mit denen Sie auf beliebige Teile von Dokumenten zugreifen und von dort aus deren Inhalt sequentiell lesen oder schreiben können.

UNTERSTÜTZUNG VON LZMA, DEM NEUEN KOMPRESSIONSALGORITHMUS

Mit 4D V20 unterstützt der Zip Create Archive Befehl einen neuen Komprimierungsalgorithmus: LZMA. Dieser Algorithmus hat den Vorteil, dass er kleinere Archive erstellt als der Standard-Zip-Komprimierungsalgorithmus. Sie können ein “zipArchive“-Objekt an den Befehl übergeben, um Ihr Zip-Archiv anzupassen. Damit können Sie den Komprimierungsalgorithmus, den Verschlüsselungsalgorithmus und andere Optionen auswählen.

 

Listbox

Automatische Zeilenhöhen in Collection-basierten Listboxen

Automatische Zeilenhöhen waren bereits für Array-basierte Listboxen möglich, so dass sie die Höhe jeder Zeile automatisch an ihren Inhalt anpassen konnten. 4D v20 bietet diese Möglichkeit für Listboxen, die auf Collections und Entity-Selection basieren.

 

Verabschieden Sie sich von der ALT-Taste

Bei Listboxen und der Drag-and-Drop-Aktion ist es ab 4D v20 nicht mehr nötig, die Alt-Taste zu drücken, um mehrere Elemente gleichzeitig zu verschieben.

 

Horizontale & Vertikale Einrückung der Zellen

Die Leistungsfähigkeit von Listboxen wird mit 4D v20 dank zweier neuer Eigenschaften erweitert: horizontale und vertikale Einrückung (Die inneren Ränder oder der Abstand zwischen dem Inhalt eines Elements und seinem Rand). Sie geben Ihren Listboxen neue Präsentationsmöglichkeiten, und Ihre Oberfläche erhält ein noch professionelleres Aussehen.

Diese Eigenschaften können global für die gesamte Listbox oder für jedes Element, wie Spalten, Kopfteile oder Fußteile, festgelegt werden. Sobald sie für die Listbox definiert sind, werden sie durch Vererbung auf jedes Unterobjekt der Listbox angewendet. Aber natürlich kann jedes Unterobjekt seine eigenen Einstellungen haben.

Die Einstellung der Einrückung kann entweder erfolgen:

  • über den Designmodus aus der Liste der Eigenschaften unter “Koordinaten und Größe.”
  • oder durch Programmierung mit dem Befehl LISTBOX SET PROPERTY dank zweier neuer Konstanten, lk cell horizontal padding, und lk cell vertical padding.

 

Gleichzeitige Entwicklung auf 4D Server im Projektmodus

Wenn Sie zu den Entwicklern gehören, die sich die Möglichkeit gewünscht haben, gleichzeitig mit Teamkollegen auf einem einzigen Entwicklungsserver zu arbeiten, dann erfüllt Ihnen 4D v20 diesen Wunsch dank eines neuen Modus für die Verbindung eines 4D Clients mit einem 4D Server: dem Entwicklungsmodus.

Entwickler können im Entwicklungsmodus die Datenbankstruktur, Methoden, Formulare und Einstellungen ändern. Wir haben das Sperrsystem geändert, um die gleiche Funktionalität wie im Binärmodus zu bieten.

 

Test Windows SDI Applikation

Es ist schon lange her, dass Sie Ihren Kunden doppelklickbare Anwendungen im SDI-Modus anbieten konnten. Das war ein großer Schritt nach vorn für die UX von Windows Applikationen.

4D v20 macht das Testen einer SDI Applikation einfach: Sie können sich das Ergebnis Ihrer Applikation ansehen, ohne dass Sie Ihre Standalone- oder Client-Applikation erstellen müssen.

 

System Workers: Starten Sie einen externen Prozess asynchron

Eine weitere sehr gefragte Funktion ist für Sie verfügbar. Manchmal müssen Sie Prozesse im Hintergrund laufen lassen und bestimmte Aktionen auf der Grundlage ihres Ausgabecodes ausführen, sobald dieser verfügbar ist, während der Prozess noch läuft. Zum Beispiel, um einen Fortschrittsbalken anzuzeigen. 4D ermöglicht es Ihnen, mit der neuen 4D.SystemWorker Klasse einen Hintergrundprozess zu starten und automatisch Callback-Methoden auszuführen, wenn der Prozess Informationen zurückgibt. Wenn Sie ihn also mit einer Schnittstelle verwenden, bleibt die Schnittstelle für Ihren User ansprechbar, während der externe Prozess läuft, und wenn er beendet ist, können Sie Ihrem Client das Ergebnis anzeigen.

 

Neuordnung der Diagnoseprotokolle

Diagnoseprotokolle sind für die Fehlersuche immer wichtiger geworden. Wir haben sie ganz neu organisiert, indem wir ihren Inhalt verbessert und eine Möglichkeit zum Filtern des Inhalts hinzugefügt haben (Protokollstufen wie Trace, Debug, Info, Warnung und Fehler). Dank des neuen Datenbankparameters Diagnoseprotokollebene können Sie den Fluss der Protokolle im Diagnoseprotokoll steuern und ihn klein halten, während Sie nur das protokollieren, was Sie wirklich brauchen.

 

Konfigurationsdatei für Logbuch

Als Teil unseres Projekts zur Verbesserung von Logs fügt 4D zwei neue Funktionen hinzu:

    • die Möglichkeit, die Protokollierung sofort zu unterbrechen
    • und eine Möglichkeit für Support-Teams, ihren Kunden schnell bei der Konfiguration ihrer Logbücher über eine Konfigurationsdatei zu helfen
 

Benutzeroberfläche

Entwicklung von Formularobjektenblank

Damit Sie die schönsten Oberflächen gestalten können, stehen Ihnen neue Möglichkeiten zur Verfügung:

  • Für Schaltflächen, Optionsfelder und Kontrollkästchen haben wir neue Einstellungen für den Text und das Symbol hinzugefügt. “Textausrichtung” und die neue Eigenschaft “Bild hugs Titel”.
  • Für Optionsschaltflächen und Kontrollkästchen wurde die Anzahl der Zustände für das Symbol verbessert (Wahr, Falsch, Rollover und Deaktivieren), um eine bessere Darstellung für den User zu ermöglichen.

 

Runde Ecken

Außerdem bietet 4D v20 die Möglichkeit, die Ecken von statischen Texten und Eingabetexten abzurunden, dank des neuen Attributs “Eckenradius”. Der Wert kann über die Benutzeroberfläche (die Eigenschaftsliste), CSS oder Code festgelegt werden.

 

Hohe DPI unter Windows: Unterstützung für hochauflösende Bildschirme

High DPI steht für High Dots Per Inch. Er steht für die Pixeldichte; je höher der DPI-Wert, desto höher die Pixeldichte. Auf 4K-Bildschirmen kann die Pixeldichte so hoch sein, dass bei der üblichen Anzeige alle Symbole und Steuerelemente extrem klein dargestellt werden würden. Windows bietet Ihnen daher die Möglichkeit, die Skalierung von Text, Symbolen und Steuerelementen zu ändern. Auf 4K-Bildschirmen ist diese Funktion standardmäßig aktiviert. Wir haben hohe DPI-Werte zuerst auf dem Mac unterstützt und sind jetzt auch mit Windows vollständig kompatibel. Das Ergebnis ist eine bessere Text- und Bildqualität.

 

Entwickeln mit 4D in einer dunklen Umgebung unter macOS

Seit 4D v19 können Sie unter macOS Applikationen erstellen, die den Dark Mode unterstützen. So können Sie Ihre User zufriedenstellen, indem Sie ihnen die Wahl zwischen hellen und dunklen Applikationen lassen. Mit 4D v20 lassen wir Ihnen als Entwickler die Wahl, wenn Sie Ihre Applikation entwickeln. 4D Developer Edition fügt sich nahtlos in den hellen oder dunklen Look von macOS ein.

 

Optimierung der Symbolleiste des Struktureditors

Die Symbolleiste wurde überarbeitet, um alle 4D Fenster zu modernisieren und zu vereinheitlichen.

Wenn Sie den Mauszeiger über Tabellen, Felder oder Beziehungen bewegen, werden hilfreiche Informationen in der Statusleiste angezeigt. Neu in 4D v20 ist die Anzeige von Beziehungsnamen direkt in der Statusleiste. Sie müssen nicht mehr das Eigenschaftsfenster öffnen. 

 

Data Explorer

Der 4D Data Explorer ist ein Webbrowser-Schnittstelle, die vom Administrator und vom Entwickler aus der Ferne (sicher über eine HTTPS-Verbindung) oder lokal auf demselben Rechner wie Ihre geöffnete Datenbank genutzt werden kann.

Mit 4D v20 bietet der Data Explorer jetzt zwei wichtige Verbesserungen.

Visualisieren Sie die Verknüpfungen zwischen Ihren Daten

Die erste Funktion ermöglicht es Ihnen, Visualisierung der Verknüpfungen zwischen Ihren Daten, was das Durchsuchen und Auffinden relevanter Informationen in Ihrer Datenbank erleichtert.

Data Explorer eingebettet in 4Dblank

Das zweite Update ist die Hinzufügung eines Symbol für den Data Explorer in der Symbolleiste, wodurch es noch einfacher wird, ihn in 4D zu öffnen, anstatt einen externen Webbrowser zu verwenden. User können mit nur einem Klick direkt von der Symbolleiste aus auf den Data Explorer zugreifen, was Zeit spart und die Produktivität erhöht.

 

Einsatz

Doppelklickbare Applikationen für Clients verwenden

Als Softwarehersteller haben einige Ihrer Kunden manchmal viele Instanzen Ihrer doppelklickbaren Anwendung, zum Beispiel eine doppelklickbare Anwendung für jedes Konzernunternehmen. Bei dieser Art von Bereitstellungsarchitektur bitten die Mitarbeiter Ihres Kunden Sie häufig, für jede doppelklickbare Anwendung auf dem Server eine Client-Anwendung auf ihrem Computer zu installieren, da sie die Software für jedes Unternehmen nutzen möchten. Von nun an steht Ihnen ein neuer buildApp-Schlüssel zur Verfügung, mit dem Sie dafür sorgen können, dass jede doppelklickbare Client-Anwendung ihren eigenen User-Einstellungsordner verwendet (basierend auf dem Pfad der Applikation): ClientUserPreferencesFolderByPath.

 

Verzeichnisdateiverwaltung in zusammengeführten Serverprojekten

Auf der Serverseite ist der aktuelle User immer der Designer; daher ist der Zugriff auf den Runtime Explorer immer erlaubt. Wenn Sie dieses Verhalten ändern möchten, können Sie mit 4D v20 den Zugriff von Administratoren auf den Data Explorer und den Runtime Explorer in Ihren zusammengefassten Serverprojekten einschränken.

 

Reduzieren Sie die Größe von Client Applikationen & mehr

4D v20 bringt viele Verbesserungen für die Erstellung von 4D Applikationen. Zunächst einmal können Sie unnötige Librarys (wie CEF/Web Area, PHP, Mecab und 4D Updater) entfernen, um die Größe Ihrer Applikationen zu reduzieren. Wir haben auch das endgültige Verzeichnis geändert, wenn Sie eine kompilierte Struktur erstellen, um denjenigen entgegenzukommen, die mehrere kompilierte Versionen der gleichen Struktur verwenden. Und für unsere japanischen Kunden haben wir die japanische Version von 4D und die internationale Version auf macOS zusammengeführt.

 

Vereinfachte plattformübergreifende Client/Server Applikationen unter Windows erstellen

Mit der Einführung von Silicon hat sich die Erstellung von plattformübergreifenden Client/Server Anwendungen verändert. Solange Sie Ihren Server auf dem Mac erstellen, ist das kein großes Problem, denn Sie können sowohl für Intel- als auch für Silicon-Plattformen kompilieren. Aber unter Windows ist es nicht möglich, für Silicon Macs zu kompilieren. 4D v20 führt eine neue Funktion ein, die die Anzahl der von Ihrem Mac auf Ihren Windows Rechner zu übertragenden Dateien reduziert. 4D erzeugt außerdem ein Verzeichnis für die kompilierte Datenbank, wenn Sie den Client auf dem Mac erstellen. Dieser Ordner enthält nur den kompilierten Code für Ihre Applikation und ist als solcher relativ klein.

 

CI/CD: Erstellen Sie Ihre kompilierte Struktur oder Komponente mit Build4D

Mit der Einführung des Projektmodus ist es ziemlich einfach, die Komponenten Ihrer Projekte zu manipulieren. In den letzten Versionen haben wir mehrere Funktionen hinzugefügt, mit denen Sie Ihre eigene Build Chain erstellen können, die an Ihr Team, Ihre Arbeitsmethoden und Ihre Bedürfnisse angepasst ist.

Um Ihnen dabei zu helfen, Ihre eigene Build Chain zu erstellen oder 4D in ein Tool zur kontinuierlichen Integration zu integrieren, haben wir eine Komponente namens Build4D, entwickelt, die auf GitHub mit den Quellen verfügbar ist. Für diesen ersten Schritt können Sie mit Build4D eine kompilierte Struktur und eine Komponente erstellen. Wir werden es weiter ausbauen, um Ihnen die Verwaltung einer Einzelbenutzer-, Client- oder Server-Applikation zu ermöglichen.

 

Lokale Ressourcen zwischen Usern freigeben ON Windows Remote Desktop Services

Wenn Sie zu den Entwicklern gehören, die sich eine Funktion gewünscht haben, die den Download lokaler Ressourcen in einen gemeinsamen Ordner mit den Windows Remote Desktop Services anstelle des Benutzerkonto-Ordners ermöglicht, dann hat 4D v20 gute Nachrichten für Sie.

Wir haben einige Optimierungen vorgenommen, indem wir die aktuelle Architektur überdacht und eine neue Option für Projekte im BuildApp-Prozess entwickelt haben, die die gemeinsame Nutzung lokaler Ressourcen ermöglicht.

Sie wird durch diesen neuen BuildApp XML-Schlüssel aktiviert: /Preferences4D/BuildApp/CS/ShareLocalResourcesOnWindowsClient

Diese Optimierung führt zu Folgendem:

  • Ein Zeitgewinn, da die lokalen Ressourcen nicht mehr von jedem User vom Server heruntergeladen werden,
  • Und ein Gewinn an Festplattenspeicherplatz, da auch hier die lokalen Ressourcen nicht für jeden User in einer Remote Desktop Service Umgebung dupliziert werden.

ORDA

4D v20 bringt weitere Verbesserungen für ORDA. Object Relational Data Access ist ein innovativer Weg auf Daten zuzugreifen, der die Vorteile der Objekt- orientierten Programmierung mit denen von relationalen Datenbanken, so dass sich die Entwickler auf die Lösung von Geschäftsproblemen konzentrieren können, anstatt den Datenzugriff zu verwalten.

4D v20 bringt: 

Benutzerrechteverwaltung (REST Server)

Neben der Möglichkeit, eine Dataclass und einige ihrer Attribute als REST-Ressource freizugeben oder nicht freizugeben – was eine bequeme Möglichkeit war, den Zugriff auf Ihre Daten einzuschränken – geht 4D noch einen Schritt weiter und liefert ein leistungsstarkes und vollständig anpassbares System zum Schutz Ihrer Daten vor nicht autorisierten Usern. Ein System zum Schutz Ihrer Daten hängt davon ab, wer auf sie zugreift und auf welche Daten zugegriffen wird.

Diese neue Funktion basiert auf ORDA-Konzepten und skalierbaren Web Sessions. Sie deckt alle Webprozesse ab, wie z.B. REST-Anfragen, Anfragen, die auf einem entfernten Datastore eingehen, und Webprozesse wie 4DACTION oder 4D Tags.

 

Optimierung der Performance mit vollständiger Kontrolle über REST-Anfragen

4D v20 gibt Ihnen eine bessere Kontrolle über die ORDA-Kontexte und den Cache sowohl für Client/Server als auch für REST, um die Performance zu verbessern.

 

Berechnete Attribute

Eine neue Möglichkeit, noch mehr von Ihrer Geschäftslogik in Klassen und ORDA-Klassen zu sammeln! Die Zeiten, in denen Sie geschäftsbezogene Formeln in Ihrer 4D Benutzeroberfläche definieren mussten (z.B. String-Verkettungen oder Mehrwertsteuerberechnungen), sind vorbei. Sie können jetzt komplexe Berechnungen direkt in Ihren Klassen definieren und das Ergebnis wie jedes andere Strukturfeld z.B. in der Rest API, Ihrer mobilen Applikation oder Ihrer ORDA-basierten User-Oberfläche verwenden. 

 

ORDA-Aliase

4D v20 wird mit einem neuen ORDA-Konzept ausgeliefert: Aliases. Sie sind die logische und komplementäre Fortsetzung von berechneten Attributen. Wie der Name schon sagt, ist ein Alias eine Abkürzung für ein bestehendes Datastore-Objekt. Sie werden wie berechnete Attribute in der “Entity Dataclass” definiert. Während ein berechnetes Attribut jede beliebige Berechnung oder Formel verarbeiten kann, ist ein Alias nur eine Abkürzung, die die Entwicklung schneller und einfacher macht. Ein Beispiel für die Verwendung ist der einfache Zugriff auf verknüpfte Attribute (was bedeutet, dass die Komplexität einer verknüpften Datenbank ausgeblendet wird). 

 

Standardzuordnung von NULL-Wert auf einen leeren Wert deaktivieren

Wenn Sie ein neues Feld in Ihrer Datenbank anlegen, können Sie in 4D wählen, ob Sie NULL-Werte einem Leerwert zuordnen wollen oder nicht. Ab 4D v20 wird 4D in neuen Projekten den NULL-Wert nicht mehr standardmäßig auf fehlende Daten abbilden. Das ist von Vorteil, denn ORDA ist perfekt für die Arbeit mit NULL-Werten ausgelegt und erspart Ihnen viele unelegant wirkende Umwege.

 

Pessimistisches Lock Management VIA RestModel Update

Mit 4D v20 können Sie die REST API verwenden, um eine Entity zu sperren oder zu entsperren. Dies ist besonders nützlich:

  • Halten Sie Ihren Code konsistent, wenn Sie an die Arbeit mit der REST-API gewöhnt sind. Es ist nicht notwendig, eine Funktion in ORDA Data Model Classes zu schreiben, um eine Entity zu sperren/entsperren.
  • Nutzen Sie die pessimistischen Sperren mit der REST API.

 

Vollständige Unterstützung von BLOB

Seit 4D v20 werden Blobs in ORDA vollständig unterstützt, wie jeder andere Typ, so dass ORDA-Entwickler die ORDA-Syntax verwenden können, um einen Blob in einer Datenbank zu speichern. 

 

Vergleichen Sie zwei Entity-Auswahlen

Sie brauchen robuste und optimierte Funktionen, um effizient mit objektorientierter Programmierung zu arbeiten und so wenig Zeilen Code wie möglich zu schreiben. Deshalb liefern wir mit 4D v20 eine neue Funktion aus, die für das entitySelection Objekt verfügbar ist: die selected() Funktion. Dank dieser Funktion können Sie zwei Entity-Selections untersuchen und vergleichen.

 

4D Write Pro

 

4D Write Pro hat sich in den letzten Versionen dramatisch verbessert. Wir, das 4D Team, haben uns dafür eingesetzt, dass 4D Write Pro ein leistungsfähiger Template-basierter Dokumentengenerator wird, der die manuelle Erstellung von Dokumenten überflüssig macht und das Risiko von Fehlern verringert.

Mit 4D Write Pro können Sie automatisch vorausgefüllte Dokumente mit Kontextinformationen füttern und generieren, indem Sie Daten direkt aus der 4D Datenbank abrufen. Dazu gehören u.a. Namen, Daten, Adressinformationen und Nummern. 4D Write Pro führt diese Informationen dann mit Ihren Templates zusammen und sorgt so für einen schlanken und effizienten Prozess der Dokumentenerstellung.

4D v20 führt leistungsstarke Funktionen wie Kopfteile, Datenquellen und Übertragszeilen ein, um nur einige zu nennen. Ob Sie nun ein Geschäftsmann oder ein Entwickler sind, Sie werden feststellen, dass diese Funktionen äußerst nützlich sind, um Ihren Workflow und Ihre Produktivität zu verbessern.

 

4D Write Pro & Text Boxes: docx Import/Export Optionenblank

Textboxen ermöglichen das Einfügen eines schwebenden Containers, einschließlich Text, Tabellen, Bilder, Formeln und anderer Elemente an beliebiger Stelle in Ihrem Dokument. Diese Funktion wurde in v20 verbessert und umfasst nun auch den Export und Import dieser Elemente aus und in Docx-Dokumente.

 

Daten-Kontexte definieren

4D v20 öffnet die Welt von ORDA und objektorientierter Entwicklung für 4D Write Pro Dokumente. 4D Write Pro Dokumente enthalten oft Formeln, die Daten oder Berechnungen in Abhängigkeit von der Datenbank zurückgeben. Dank der Kontexte ist die Verknüpfung dieser Daten mit den Dokumenten so einfach wie die Verwendung des Schlüsselworts “This”. Ein perfekter Weg, um Templates und personalisierte Dokumente mit 4D Write Pro zu erstellen.

 

Dynamisches Füllen von Tabellen mit Entity-Selections & Collections

Das manuelle Befüllen der Tabellen mit Daten ist jedes Mal eine mühsame Aufgabe. Und hier kommt Daten-Kontext als unschätzbare Option ins Spiel, die 4D Write Pro Templates die Welt von ORDA und objektorientierter Entwicklung eröffnet.

Es ist jetzt möglich, eine “Datenquelle” für die Tabellen von 4D Write Pro zu definieren. Unabhängig davon, ob es sich um eine Entity-Selection oder eine Collection handelt, wird diese “Datenquelle” automatisch die Zeilen dieser Tabellen füttern. Die Tabellen werden auf der Grundlage der Auswahl automatisch vergrößert und bei Bedarf sogar um zusätzliche Seiten ergänzt. So kann der User Ihrer Applikation Templates entwerfen oder ändern, die automatisch mit Daten gefüllt werden.

 

Untere Übertragszeilen (Zwischensummen)

Stellen Sie sich vor, Sie haben eine große Verkaufstabelle, die sich möglicherweise über mehrere Seiten erstreckt. Am Ende einer Seite möchten Sie die Zwischensumme berechnen, sie auf die nächste Seite übertragen und sie in die Berechnungen auf dieser Seite einbeziehen. Dies ist oft notwendig, manchmal sogar gesetzlich vorgeschrieben, wenn Sie z.B. lange Rechnungen bearbeiten.

4D v20 ermöglicht das Einfügen einer Zwischensummenzeile am unteren Ende jedes Teils der jeweiligen Tabellen, die automatisch ausgefüllt werden kann.

Dies kann entweder erfolgen:

  • Über beide Oberflächen (Symbolleiste und Seitenleiste). Das Tabellenmenü enthält einen neuen Eintrag, “Untere Übertragszeile”
  • Oder durch Programmierung, dank des neuen Attributs wk bottom carry over row.

Und um den Inhalt der Zellen in dieser Übertragszeile zu definieren, kann das neue Attribut previousItems mit allen verfügbaren Funktionen (min/max/sum/etc.) für Collections oder Entity-Selectionen verwendet werden.

 

Tabellen Umbruch Zeilenblank

Wenn Sie eine Liste von Daten haben, zum Beispiel eine Liste von Personen mit ihren Kontinenten, Ländern und Städten, möchten Sie diese vielleicht nach Kontinent, dann nach Land und dann nach Stadt gruppieren. Das erleichtert das Verständnis und die Analyse der Daten.

Wenn eine Tabelle mit Daten aus einer sortierten Datenquelle gefüllt wird, kann 4D Write Pro eine Umbruchzeile einfügen, sobald sich der Wert des Sortierkriteriums ändert. Auf diese Weise kann der User die Daten nach den von ihm gewünschten Kriterien gruppieren.

In einem anderen Szenario kann diese Funktion auch zur Erstellung von Berichten auf der Grundlage von Verknüpfungen mit Unternehmen verwendet werden, wobei eine Liste von Mitarbeitern nach dem Unternehmen auf jedem Kontinent gruppiert werden kann. Durch Angabe der entsprechenden Sortierkriterien kann 4D Write Pro separate Gruppen für jedes Unternehmen auf jedem Kontinent erstellen.

 

4D v20 wird mit neuen Attributen ausgeliefert, um das Layout der Tabellen besser zu definieren. Damit können Sie nicht nur mühelos komplexe 4D Write Pro Dokumente erstellen, sondern vor allem auch optisch ansprechende Dokumente: Ab 4D v20 gibt es die Seitenumbrüche innerhalb von Tabellenzeilen. Dies ist nützlich, wenn die Zellen längeren Text (oder mehrere Absätze) enthalten. Es ist vielleicht interessant zu definieren, dass eine Zelle (und damit eine Zeile der Tabelle) auch in zwei Teile geteilt werden kann, um den verfügbaren Platz auf den Seiten der Dokumente zu füllen:

  • wk page break inside paragraph kann natürlich auf Absätze angewendet werden, aber auch auf ein beliebiges Ziel wie das Dokument selbst, einen bestimmten Abschnitt, eine Range von Text usw.. In allen Fällen wird das Attribut den Absätzen innerhalb des Ziels zugewiesen. Dies ist eine einfache Programmierfunktion.
  • wk page break inside table ermöglicht die Aufteilung einer Tabelle in zwei (oder mehr) Teile, die Trennung erfolgt zwischen zwei Zeilen der Tabelle (wie üblich)
     
  • wk page break inside row ermöglicht ebenfalls die Aufteilung einer Tabelle, aber diesmal innerhalb von Zeilen. Beachten Sie, dass diese Option von der vorherigen abhängig ist. Wenn eine Tabelle nicht geteilt werden kann, können es auch ihre Zeilen nicht.

Bitte beachten Sie, dass die Option Umbruch innerhalb von Tabellenzeilen in den Widgets der Symbolleiste und der Seitenleiste verfügbar ist.

 

Tabellenkopfteile

Mit dieser Funktion steht Ihnen eine weitere nützliche Option zur Anzeige von Tabellen zur Verfügung, die Sie programmieren oder über die Widgets der 4D Write Pro Oberfläche nutzen können. Ab 4D v20 können Sie Kopfteile in Tabellen definieren und diese automatisch nach einer Spalte oder einem Seitenumbruch wiederholen. 

 

Dokumentenänderung erkennen

Wenn sich ein 4D Write Pro Dokument im Bearbeitungsmodus befindet, ist es oft hilfreich zu wissen, ob es vom User tatsächlich geändert wurde. Anhand dieser Information können Aktionen oder Schnittstellen angepasst werden, um die Benutzerfreundlichkeit zu erhöhen.

Die neue Eigenschaft document.modified erkennt schnell Änderungen in einem Dokument und führt entsprechende Aktionen durch. Entweder auf transparente Weise (z.B. automatisches Speichern, wenn ein Dokument geöffnet bleibt) oder durch eine intelligente Anpassung der Schnittstelle an die jeweiligen Bedingungen.

 

Benutzerfreundliche Anzeige von Formularen

Jeder liebt Formeln; sie sind ein wesentlicher Bestandteil von 4D Write Pro Dokumenten. Sie ermöglichen die Integration einer Vielzahl von Informationen aus der Datenbank und machen die Dokumentenerstellung intuitiver und automatischer.

Allerdings können einige Formulare vom Layout her manchmal sehr lang und für den User schwer zu lesen sein.

Deshalb bietet 4D v20 die Möglichkeit, Formeln als Symbol ⓕ darzustellen, um ihr Vorhandensein anzuzeigen und Dokumente präziser und transparenter zu gestalten.

Das ist möglich:

  • Über die Eigenschaftsliste, dank der neuen Eigenschaft “Formelquelle als Symbol anzeigen”.
  • Ein neues Element in der Benutzeroberfläche.
  • Oder über die Programmierung dank des neuen Attributs wk display formula as symbol.

 

Sichtbarkeit von leeren Bildern deaktivieren

4D Write Pro Dokumente können Bilder aus verschiedenen Quellen und in unterschiedlichen Formaten enthalten. Diese Bilder können in einigen Fällen aus völlig nachvollziehbaren Gründen nicht angezeigt werden – z.B. ungültige URLs, Formeln, die leere Bilder zurückgeben, von der Plattform nicht unterstützte Formate usw..

Sie werden jedoch immer durch ein kleines leeres Rechteck dargestellt, das ihre theoretische Position anzeigt. 4D v20 wird mit einer neuen Ansichtsoption ausgeliefert, mit der Sie leere Bilder komplett unsichtbar machen können. Dies kann auf 3 verschiedene Arten geschehen:

    • Die erste und einfachste Möglichkeit ist die Verwendung der Eigenschaftsliste, die einen neuen Eintrag im Thema Erscheinungsbild bietet. 
    • Oder über die Benutzeroberfläche, in der ein neues Element erscheint. Entweder in der Symbolleiste oder in der Seitenleiste.
    • Oder durch Programmierung unter Verwendung des neuen wk visible empty images Parameters.

 

Neue Optionen für die Bildanzeige

Beginnend mit 4D v20 profitieren sowohl Inline- als auch verankerte Bilder innerhalb von 4D Write Pro Dokumenten von sieben neuen Formatierungstypen dank des neuen wk image display mode Attributs:

  • Anpassend skaliert (standardmäßig)
  • Abgeschnitten
  • Zentriert abgeschnitten
  • Proportional
  • Proportional zentriert
  • Repliziert
  • Repliziert zentriert

Wir haben auch die Formatierung der Bilder, die als Hintergrunddokumente, Abschnitte, Absätze usw. verwendet werden, dank des neuen Attributs erleichtert: wk background display mode.

Verwaltung der Sichtbarkeit von Formularen

Für 4D Write Pro Dokumente sind bereits mehrere Anzeigeoptionen verfügbar. Wir haben die Option wk formula highlight mit 4 möglichen Werten in die Liste aufgenommen:

    • 0: keine Hervorhebung von Formeln und Werten
    • 1: nur Formeln hervorheben (Standardwert)
    • 2: nur Werte hervorheben
    • 3: Formeln und Werte hervorheben

Es kann auch mit Standardaktionen gearbeitet werden. Sie können mit Kontrollkästchen, Standardschaltflächen und Dropdown-Listen verwendet werden.

 

Verknüpfte Absätze

Um eine bessere Kontrolle über das Layout des Dokuments zu haben, wird 4D v20 mit der Möglichkeit ausgeliefert, zu wählen, ob ein Absatz und der darauf folgende Absatz miteinander verbunden bleiben sollen (nicht durch einen automatischen Seiten- oder Spaltenumbruch getrennt).

 

Exportieren ins SVG-Format

4D Write Pro Dokumente können bereits in verschiedene Formate exportiert werden: pdf, Plain Text, Microsoft Word, HTML… Zu dieser Liste kommt nun das SVG-Format hinzu. Damit können Sie z.B. ein Bild der ersten Seite für eine schnelle Vorschau erstellen, das auf beiden Plattformen und in einem Browser oder einem mobilen Gerät verwendet werden kann, oder einen 4D Write Pro Block in ein anderes Dokument einfügen, z.B. in ein 4D View Pro Dokument.

Da SVG ein Bildformat ist, können Sie wählen, welche Seite Ihres Dokuments Sie exportieren möchten. Das endgültige Bild basiert auf dem Seiten-Rendering Ihres Dokuments. Dabei werden alle Layoutoptionen wie Ausrichtung, Ränder usw. berücksichtigt.

Verbesserungen der Interface-Widgets

4D v20 bringt eine Reihe von Features für die Interface Widgets:

  • Wir haben ein Menü zum Einfügen von Formeln in beide Oberflächen hinzugefügt.
  • Wir haben auch mehrere Attribute für Absätze hinzugefügt, um die Typografieregeln besser zu respektieren und ein lesbareres und ästhetischeres Dokument zu erhalten, wie zum Beispiel:
    • Witwen- und Waisenkontrolle
    • Seitenumbrüche im Inneren vermeiden
    • Bei nächster Seite bleiben
    • Zeilenhöhe
  • Im Seitenleisten-Widget können Sie jetzt Umbrüche, Abschnittswechsel, Spalten und Ansichtsparameter wie Ausrichtung, Format, Typ (Entwurf, Seite oder eingebettet) oder Sichtbarkeit einiger Elemente (unsichtbares Zeichen, Kopfteil, Fußteil) verwalten.
  • Beim Toolbar-Widget haben wir die Möglichkeit hinzugefügt, die Felder Titel, Autor, Betreff, Unternehmen und Notizen auszufüllen.

 

Unterstützung des Dark Mode

Sie können endlich im hellen oder dunklen Modus auf macOS entwickeln und einsetzen. Die letzten Widgets der Library sind mit dem Dark Mode (unter macOS) kompatibel:

  • 4D Write Pro Interface Symbolleiste
  • 4D Write Pro Schnittstelle
  • Sidebar Rich Text Bereich

 

Bildeinstellungsdialog

Die 4D Write Pro Schnittstellenkomponente enthält jetzt einen neuen Dialog Bildeinstellungen. Damit können Sie ganz einfach festlegen:

  • die Größe des Bildes
  • das Anzeigeformat
  • Ränder und Einrückung
  • die Position auf der Seite für verankerte Bilder

 

Der Dialog kann entweder über das Kontextmenü oder über ein Ereignis wie “bei Doppelklick” auf das Formular mit Hilfe der Komponentenmethode “WP PictureSettings” angezeigt werden. 

Mit dieser neuen Version können Sie auch ein Bild von einer URL mit dem Toolbar-Widget hinzufügen.

 

Kontinuierliche Umbrüche

Beginnend mit 4D v20 unterstützt 4D Write Pro kontinuierliche Umbrüche. Ein kontinuierlicher Umbruch erzeugt einen eigenständigen Abschnitt, ohne einen Seitenumbruch zu verursachen. Dies ermöglicht u.a. eine unterschiedliche Anzahl von Spalten auf derselben Seite.

Ein kontinuierlicher Umbruch kann eingefügt werden:

  • Durch Programmierung über den WP-Befehl Umbruch einfügen, der jetzt einen neuen Wert unterstützt: wk kontinuierlicher Umbruch
  • Durch die Verwendung eines Menüs mit einer zugehörigen Standardaktion oder durch einfaches Hinzufügen einer Standardaktion zu einer Schaltfläche
  • über die Benutzeroberfläche
4D View Pro

 

Ob im Vertrieb, im Finanzwesen, in der Buchhaltung, bei der Datenanalyse oder in jedem anderen Beruf, der mit langen und unhandlichen Datensätzen zu tun hat, ist 4D View Pro die Antwort. Es ist ein mehrsprachiges Produkt mit direktem Zugriff auf Ihre 4D Daten, mit dem Sie die Vorteile integrierter, leistungsstarker Spreadsheets voll nutzen können. Von der Möglichkeit, grafisch erweiterte Dashboards zu erstellen, die nicht mehr wie ein Spreadsheet aussehen, bis hin zu Berichten, die jeden Morgen außerhalb des Bildschirms erstellt und automatisch an die Geschäftsleitung gesendet werden können – 4D View Pro hat alles, was Sie brauchen, um sinnvolle Geschäftsentscheidungen zu treffen. 

Und mit 4D v20 ist das Produkt leistungsfähiger als je zuvor, mit einer Reihe von Funktionen, die Sie bestimmt nützlich finden werden:

Pivot Tabellen

4D v20 Pivot-Tabellen. Wenn zu Ihren Usern auch Mitarbeiter aus Vertrieb und Marketing gehören, ist diese Funktion einen Versuch wert, denn sie ermöglicht es Ihnen, Daten direkt aus dem 4D View Pro Ribbon heraus einfach zusammenzufassen und zu analysieren.

 

CSV: Neues Import/Export Format

4D v20 ermöglicht es Ihnen, CSV-Dateien zu importieren und zu exportieren. CSV ist ein gängiges Datenaustauschformat, das von vielen Applikationen unterstützt wird. So können Sie beispielsweise die Daten einer CSV-Datei, die aus einem anderen Informationssystem stammt, mit dem VP Import document und dem VP Export document anzeigen. Diese Befehle unterstützen begrenzte Textdateiformate wie CSV.

 

Arbeitsblattverwaltung

Mit 4D v20 können Sie die Arbeitsblätter in Ihren 4D View Pro Dokumenten verwalten. Sie können ein Arbeitsblatt erstellen, umbenennen, ausblenden oder entfernen oder einfach überprüfen, auf welchem Arbeitsblatt sich der User gerade befindet, indem Sie die folgenden Befehle verwenden:

  • VP SET SHEET COUNT: legen Sie auf einmal die Anzahl der Arbeitsblätter fest, die Sie benötigen
  • VP ADD SHEET: fügen Sie ein Arbeitsblatt (mit einem benutzerdefinierten Namen) bei einem bestimmten Index ein
  • VP SET SHEET NAME: leiten Sie Ihre User, indem Sie Ihren Arbeitsblättern entsprechende Namen geben
  • VP SET CURRENT SHEET: Ändern Sie das ausgewählte Arbeitsblatt
  • VP SET SHEET OPTIONS: blenden Sie Arbeitsblätter aus, zum Beispiel solche, die nur Informationen für die Berechnung enthalten

 

Seitenumbrüche aus der Benutzung verwalten

Mit 4D v20 ist die Verwaltung von Seitenumbrüchen von der User-Oberfläche aus jetzt möglich, dank neuer Einträge im Kontextmenü: “Seitenumbruch hinzufügen” und “Seitenumbruch entfernen“.  Außerdem können Sie die Druckzeilen mit den neuen Befehlen VP SET SHOW PRINT LINES und VP Get show print lines ein- oder ausblenden.

 

Arbeitsmappenoptionen

Wenn Sie ein Dokument mit 4D View Pro erstellen, müssen Sie oft die User Experience verfeinern, indem Sie die Arbeitsblatt-Tabs, die Bildlaufleisten, das Kontextmenü oder Drag-and-Drop deaktivieren… All diese Funktionen und mehr sind mit dem VP SET WORKBOOK OPTIONS Befehl möglich.

Beschleunigen Sie Ihren Entwicklungsprozess mit Templates

Die Erstellung von Berichten oder Spreadsheets aus bestehenden Templates beschleunigt die Entwicklung. Wie ein User, der die Aktion Kopieren und Einfügen verwendet, können Sie als Entwickler mit 4D v20 einfach einen Range von Zellen von einem anderen Ort oder sogar einem anderen Bereich “kopieren”. Mit dem Befehl VP MOVE CELLS können Sie einen Bereich von Zellen an einer anderen Stelle kopieren/ausschneiden und einfügen, sogar zwischen zwei Bereichen. Eine andere Möglichkeit, einen Bereich zu kopieren, ist, ihn mit dem Befehl VP Copy to object in ein Objekt zu kopieren, zum Beispiel, um es in Ihrer Datenbank zu speichern. So können Sie dieses Objekt bei Bedarf mit dem Befehl VP PASTE FROM OBJECT einfügen.

 

Druckoberfläche

Um Ihren Kunden das Einrichten des Drucks zu erleichtern, hat die Multifunktionsleiste jetzt einen neuen Zusatz; sie unterstützt Druckeinstellungen mit einer Registerkarte “Seitenlayout” und einem Dialog “Seite einrichten”. Dieser Dialog enthält Registerkarten für Seite, Ränder, Kopfteil/Fußteil und Arbeitsblatt, so dass User viele Optionen mit dem Befehl VP SET PRINT INFO verwalten können.

 

Auffüllen Ihrer Arbeitsblätter mit einem Daten-Kontext

4D View Pro bietet Ihnen eine neue Möglichkeit, Ihre Daten zu laden und Ihre Templates zu erstellen: den Daten-Kontext. Er ermöglicht es Ihnen, Ihr Dokument mit Platzhaltern zu erstellen und diese durch die Einstellung dieses Daten-Kontextes zu füllen.

 

Zeigen Sie Ihre Collections als Tabellen an

4D View Pro ermöglicht Ihnen bereits das einfache Laden und Anzeigen von Daten in Spreadsheets. 4D v20 bringt eine neue Tabellenfunktion, mit der Sie viel mehr tun können und von zusätzlichen Eigenschaften wie Kopfteilen, Größenänderung der Tabelle, Zusammenfassungszeile, Spaltensortierung, Filtern und mehr profitieren. Mit der Funktion VP CREATE TABLE können Sie schnell Daten aus Datenklassen und Collections laden.

 

Zeilen und Spalten verwalten

4D v20 bringt mehrere neue Befehle, mit denen Sie Spalten und Zeilen Ihrer Tabelle effizienter verwalten können – durch Hinzufügen oder Entfernen von Spalten/Zeilen je nach den Bedürfnissen der User.

Durch die Kombination dieser neuen Funktion mit Data-Contexts können Sie fortschrittlichere Templates entwerfen, um geschäftliche Inhalte automatisch mit den richtigen Informationen für jede Situation zu füllen – sei es für Berichte, Rechnungen, Verträge oder jeden anderen Dokumententyp.

 

Anpassung des Tabellenstils

Tabellen sind ein wesentlicher Bestandteil von 4D View Pro Dokumenten. Aus diesem Grund haben wir in den verschiedenen Versionen viele Fortschritte in Bezug auf Tabellen gemacht. 4D v20 fügt eine neue Funktion zum Styling dieser Tabellen hinzu, damit sie perfekt zum Rest Ihres Dokuments passen.

Ab sofort bietet die VP Set table theme eine Möglichkeit, durch Programmierung einen der über 60 vordefinierten Tabellenstile anzuwenden. Wenn keiner dieser Stile Ihren Anforderungen entspricht, können Sie Ihr eigenes Thema definieren und auf Ihre Tabelle anwenden.

 

R-Releases im Detail