Was ist neu in 4D v18

Dieses Dokument ist eine Zusammenstellung aller neuen Funktionen, die in 4D v18 verfügbar sind. Beachten Sie, dass zu jeder Funktion ein zugehöriger Blog-Beitrag gehört, der Sie durch konkrete Beispiele führt. Diese Blogbeiträge können durch Anklicken des Titels der Funktion aufgerufen werden.

Die Abschnitte mit dem Tag blank beziehen sich auf alle neuen Funktionen, die zwischen 4D v17 R6 und 4D v18 veröffentlicht wurden.

Dieses Dokument ist in sieben Abschnitte unterteilt:

Projektdatenbank – Versionskontrolleblank

Eine Lösung, die mit 4D v18 ausgeliefert wird, erleichtert verteilten Teams die Zusammenarbeit, indem der Quellcode in einem Versionskontrollsystem mit einfachen Textdateien gespeichert wird. So können Sie die Vorteile der 4D Entwicklungsplattform mit der Vielseitigkeit von leichtgewichtigen und verteilten Dateien kombinieren:

Architektur

Eine Projektdatenbank enthält den gesamten Quellcode einer 4D Datenbankanwendung, von der Datenbankstruktur bis zur Benutzeroberfläche, einschließlich der Formulare, Menüs, Benutzereinstellungen und aller erforderlichen Ressourcen. Da Projektdatenbanken aus textbasierten Dateien bestehen, enthalten Projekte mehrere Ordner und Dateien, die in einem einzigen übergeordneten Datenbankordner gespeichert sind. Wenn Sie eine Projektdatenbank erstellen, finden Sie viele der gleichen Ordner wie bei einer binären Datenbank:

  • Daten
  • Protokolle
  • Ressourcen
  • Einstellungen
  • WebFolder

Außerdem gibt es zwei neue Ordner:

  • Projekt – Quellcode der Anwendung (entspricht .4db)
  • userPreferences.<name> – Enthält Dateien mit gespeicherten Benutzerkonfigurationen(z.B. Haltepunktpositionen, Fensterpositionen, etc.). Lesen Sie die Dokumentation

Konvertieren einer bestehenden Binärdatenbank

Sie können eine Projektdatenbank entweder durch Erstellen einer neuen leeren Projektdatenbank oder durch Exportieren einer vorhandenen Binärdatenbank (.4db) in einen Projektordner erstellen. Um eine bestehende Binärdatenbank zu konvertieren, klicken Sie einfach auf den Menüpunkt Datei > Exportieren > Struktur in Projekt. Sobald die Konvertierung abgeschlossen ist, wird eine Meldung angezeigt, die Sie darüber informiert. 4D teilt Ihnen auch mit, ob Fehler entdeckt wurden, die Ihr Eingreifen erfordern. Zum Beispiel im Fall von älteren Formularobjekten, die nicht mehr unterstützt werden. Lesen Sie die Dokumentation

Post-Konvertierung

Was die Struktur einer binären Datenbank betrifft, so wird die Beschreibung Ihrer Anwendung in zwei Dateien (.4DB und.4DIndx) gespeichert. Bei einer Projektdatenbank finden Sie diese Beschreibung in den Dateien, die im Ordner „Projekt“ gespeichert sind. Nach der Konvertierung können Sie die folgenden Dateien aus dem Ordner „Project“ entfernen (wenn Sie das möchten): <database>.4db und <database>.4dIndy. Die Daten für neue Projektdatenbanken befinden sich in einem „Data“-Ordner auf der gleichen Ebene wie der „Project“-Ordner. Daher unterscheidet sich bereits in der Entwicklungsphase eine Datei, die sich neben dem Ordner „Data“ befindet, von einer Datei, die sich neben der Struktur befindet. Wir empfehlen, nach der Konvertierung einen Ordner „Data“ auf der gleichen Ebene wie den Ordner „Project“ anzulegen und die Dateien data.4dd und data.4DIndx dorthin zu verschieben. Um die Daten getrennt zu halten und die Bereitstellung zu erleichtern, benennt 4D jetzt Dateien mit dem Wort „preferences“ für entwicklungsbezogene Parameter, wie z. B. die Konfiguration des Code-Editors, und mit „settings“ für bereitstellungsbezogene Parameter, wie z. B. Speicher- oder Sicherungseinstellungen.

Verwaltung von Benutzern und Gruppen

Da die Projektdatenbanken vollständig textbasiert sind, gibt es keinen Grund mehr für eine Benutzer- und Gruppenverwaltung zum Schutz des Codes. Diese Aufgabe wurde an das Versionskontrollsystem oder das Datei-/Ordner-Zugriffsrechtssystem des Betriebssystems delegiert. Infolgedessen werden Benutzer und Gruppen nur noch für den Datenzugriff verwendet. Sie werden in einer Textdatei namens „directory.json“ neben der Datendatei gespeichert.

Verbesserte Bereitstellung

Es ist nicht mehr notwendig, zwischen Entwicklern und Benutzern zu unterscheiden. Daher haben beide jetzt den Typ „Benutzer“. Um die Bereitstellung zu vereinfachen, akzeptieren die Befehle „Get 4D file“ und “ File“ jetzt die neue Konstante “ Directory file“, so dass Sie einfach und automatisch die richtige Datei verwenden können. Lesen Sie die Dokumentation

Während der Konvertierung und Migration

Die Verzeichnisdatei wird bei der Konvertierung automatisch erzeugt und neben den Projekteinstellungen abgelegt. Wenn Sie bisher den Befehl BLOB TO USERS verwendet haben, um Ihre Benutzer und Kennwörter wiederherzustellen, generiert der Befehl nun diese Verzeichnisdatei, so dass Sie Ihren bestehenden Code nicht ändern müssen. Lesen Sie die Dokumentation

Einzelbenutzermodus

Im Einbenutzermodus sind Benutzer und Gruppen vollständig deaktiviert. Der aktuelle Benutzer ist immer der Designer und kann nicht geändert werden. Die Zugriffsrechte von Benutzern und Gruppen auf die Anwendung können an das System delegiert werden. Wenn Sie den Namen des Designers mit dem Systemkonto oder Ihrem eigenen Benutzernamen maskieren möchten, müssen Sie nur den Befehl SET USER ALIAS aufrufen. Lesen Sie die Dokumentation

Client/Server-Modus

Im Client-Server-Modus sind die Benutzer und Gruppen voll funktionsfähig. Sie können den aktuellen Benutzer ändern, einen Alias setzen, ein Passwort ändern usw.

Werkzeugkasten

Die Seiten der Toolbox Benutzer und Gruppen sind in allen Modi zugänglich: Einzelbenutzer und Client-Server. Im Einzelbenutzermodus kann die Toolbox jedoch nur verwendet werden, um die Benutzer und Gruppen zu ändern, die im Client-Server-Modus verwendet werden sollen.

Bereitstellen Ihrer Anwendung

Das Deployment besteht aus zwei Schritten: der Kompilierung des Codes und der Erstellung der Anwendung. Sie können Ihre Projektdatenbank auf die gleiche Weise kompilieren wie Ihre Binärdatenbank (.4db). Es gibt keinen Unterschied. Die Schnittstelle ist dieselbe und der erzeugte Maschinencode ist derselbe. Der einzige Unterschied besteht darin, dass das kompilierte Ergebnis bei binären Datenbanken in einer Binärdatei (.4db) und bei Projektdatenbanken im Ordner „Project/DerivedData/CompiledCode“ gespeichert wird. Sie müssen keine Änderungen vornehmen, um Ihre Anwendungen zu erstellen (kompilierte Datenbank, Komponente, eigenständige Anwendung, Client/Server-Anwendung), Sie können die Konfigurationsdatei Ihrer binären Datenbank mit Ihrer konvertierten Projektdatenbank verwenden. Der Unterschied liegt in den erzeugten Dateien: Projektdatenbanken haben eine Datei mit der Erweiterung „.4dz“ anstelle einer „4dc“-Datei. Lesen Sie die Dokumentation

Hochladen in ein Versionskontrollsystem

Wenn Sie Ihre Datenbank kompilieren, speichert 4D den kompilierten Code im Ordner „Project/DerivedData“. Es wird empfohlen, den Ordner „Resources“, den Ordner „WebFolder“ und den Ordner „Project“ (ohne den Unterordner „DerivedData„) in ein Versionskontrollsystem hochzuladen. Lesen Sie die Dokumentation

Style Sheets werden zu CSS

Die Möglichkeiten von Stylesheets wurden drastisch erweitert. 4D hat sich von der Grammatik und Syntax von CSS für Projektdatenbank-Stylesheets inspirieren lassen und sie an die spezifischen Bedürfnisse von 4D Formularen angepasst. So können Sie Eigenschaften von Formularobjekten mit Stilvorlagen konfigurieren. Lesen Sie die Dokumentation

Verschlüsselung

Eine neue, integrierte Datenverschlüsselung für Ihre 4D Datenbanken steht Ihnen jetzt zur Verfügung. Daten können über Code oder die Benutzeroberfläche verschlüsselt werden, für alle Tabellen oder nur für ausgewählte Tabellen. Die Verschlüsselungswerkzeuge von 4D basieren auf einer Passphrase. Sie besteht aus einem Satz oder einer Wortkombination, aus der ein binärer Schlüssel für die Verschlüsselung der Daten mit dem AES-Algorithmus erzeugt wird. Um mit einer verschlüsselten Datei arbeiten zu können, ist die Passphrase oder der binäre Chiffrierschlüssel erforderlich. 4D verschlüsselt die Daten auf Dateiebene, d.h. Ihre Datendatei (4DD), Ihr Backup und Ihr Journal sind verschlüsselt. Zusätzlich zur Sicherheit auf Ihrem eigenen Computer macht dies das Kopieren von Backups in die Cloud oder auf externe Festplatten viel sicherer, da die Daten verschlüsselt bleiben.

Verschlüsseln über die MSC

Ein neues Attribut Encryptable ist für Tabellen im Designmodus verfügbar. Es legt den Verschlüsselungsstatus einer Tabelle fest, indem es angibt, dass die Tabelle verschlüsselt werden kann. Sobald Sie bereit sind, Ihre Daten zu verschlüsseln, können Sie dies am einfachsten über die neue Verschlüsselungsseite im MSC tun. Diese Seite bietet alle notwendigen Funktionen, um die Verschlüsselung Ihrer Daten zu überwachen. Sie können diese Seite nutzen, um die Datendatei zu ver- oder entschlüsseln, sie erneut zu verschlüsseln und/oder Ihre Passphrase zu ändern. Lesen Sie die Dokumentation

Verschlüsseln mit 4D Befehlen

Zusätzlich zum MSC enthält 4D v18 eine Reihe von Befehlen, die die meisten Verschlüsselungsanforderungen unterstützen. So können Sie beispielsweise die Verschlüsselung mit dem Befehl Encrypt data file() verwalten oder den Befehl provideDataKey() verwenden, um einer geöffneten Datendatei den Schlüssel für die Datenverschlüsselung bereitzustellen. Sie können sogar den Befehl encryptionStatus() verwenden, um zu prüfen, ob die geöffnete Datendatei verschlüsselt ist und ob ein gültiger Datenverschlüsselungsschlüssel bereitgestellt wurde. Die vollständige Liste der Befehle ist im Doc Center verfügbar. Lesen Sie die Dokumentation

Weitere Einzelheiten zu den integrierten Tools und Techniken, die für die Schaffung einer sicheren Umgebung für Ihre Geschäftsanwendungen erforderlich sind, finden Sie in unserem Sicherheitsleitfaden.

4D für iOS

4D für iOS ist eine Lösung, mit der Sie Ihre Geschäftsanwendungen auf mobile Geräte ausweiten können. 4D für iOS ist vollständig in 4D integriert, so dass keine zusätzliche Installation (außer Xcode) oder Vorkenntnisse erforderlich sind. Hier sind die Funktionen, die wir mit dieser Version ausliefern:

Erstellen, Bearbeiten, Löschen

Das Bearbeiten von Daten direkt aus Ihrer App ist jetzt dank Aktionen möglich. Das bedeutet, dass Ihre Benutzer Daten direkt in Ihrer iOS-App bearbeiten können. Um Ihre Geschäftslogik zu schützen, wird jede „Aktion“ an 4D gesendet und führt Ihre 4D Methoden aus, um zu prüfen, zusätzliche Daten zu berechnen und schließlich die Eingabe des Benutzers zu genehmigen oder abzulehnen. Außerdem wurden vordefinierte Aktionen für die Verwaltung Ihrer App-Inhalte bereitgestellt: Hinzufügen, Bearbeiten und Löschen. Lesen Sie die Dokumentation

Datenformatierer

Datenformatierer, ein neu eingeführtes Konzept, das es Ihnen ermöglicht, spezifische Datentypen für Ihre Felder zu definieren, damit der Inhalt im richtigen Format angezeigt werden kann. Sie können das Standardformat Ihrer Felder schnell überschreiben, um das Format Ihrer Wahl anzuzeigen, wie z. B. Währung, boolesche Werte, Prozentsätze, Daten und vieles mehr. Stellen Sie sich zum Beispiel vor, Sie möchten ein Bild anzeigen, um „bezahlte“ und „unbezahlte“ Rechnungen zu visualisieren, das aber viel besser auf das iPhone passen würde als ein einfaches Kontrollkästchen. Lesen Sie die Dokumentation

Multi-Kriterien-Suche

4D für iOS unterstützt jetzt die Suche nach mehreren Kriterien! Nachdem Sie Ihre Listenformularvorlage ausgewählt haben, können Sie mehrere Felder in den Suchbereich ziehen, um die Multikriteriensuche zu aktivieren. Wenn Sie mehrere Werte für dasselbe Feld angeben, wird im Hintergrund ein OR-Operator verwendet. Ziehen Sie z. B. Firmenname, Nachname und Ort in den Suchbereich, damit der Benutzer alle diese Informationen eingeben kann, um nach einem Kunden zu suchen. Lesen Sie die Dokumentation

Eingeschränkte Abfragen

Ein weiteres neu eingeführtes Konzept: Eingeschränkte Abfragen. Mit ihnen können Sie die Daten filtern, die mit Ihrer mobilen App synchronisiert werden sollen. Die Einschränkung der Daten auf die Rechnungen des letzten Jahres, auf aktive Kunden oder auf die Region, für die ein Vertriebsleiter zuständig ist, ist unglaublich praktisch und spart Zeit bei der Synchronisierung von Daten und eine Menge Platz auf Ihrem iPhone. Lesen Sie die Dokumentation

Inkrementelle Datensynchronisation

Ein weiteres interessantes Konzept in 4D für iOS ist die inkrementelle Datensynchronisation. Es erfüllt zwei verschiedene Bedürfnisse: Selbst eingeschränkte Abfragen können zu großen Datensätzen führen, so dass 4D jetzt automatisch die aktualisierten oder gelöschten Datensätze verfolgt und nur diese Daten auf dem Gerät aktualisiert. Außerdem werden Ihre Daten nicht nur bei jedem Start Ihrer App aktualisiert, sondern auch jedes Mal, wenn Ihre App in den Vordergrund wechselt oder als Reaktion auf eine Benutzeraktion. Lesen Sie die Dokumentation

Verwalten von Beziehungen blank

4D für iOS unterstützt die Beziehungstypen N zu Eins und Eins zu N. Bei einer N-zu-Eins-Beziehung ist es ganz einfach: Sie können Bezugsfelder in einem Formular für das Telefon genauso verwenden wie Felder der Haupttabelle. Für One to N-Beziehungen enthält das Formular eine Schaltfläche, die zu einer anderen Seite mit der Liste der Bezugsdatensätze wechselt, so dass der Benutzer mit einem Wisch zurückgehen kann. Lesen Sie die Dokumentation

Passen Sie Ihre Anwendung an

Erstellen Sie Ihre eigenen Listen- und Detailformularvorlagen

4D für iOS bietet bereits verschiedene Vorlagen für Listen und Detailformulare, die die meisten Ihrer Anforderungen abdecken. Sie können aber auch ganz einfach Ihre eigenen Vorlagen erstellen. Mit dem Xcode Storybuilder können Sie (oder ein Kollege mit Xcode-Kenntnissen) neue Vorlagen erstellen oder bestehende anpassen und dabei alle Funktionen von iOS nutzen. Um die erstellte Vorlage zu verwenden, sind keine besonderen Kenntnisse erforderlich, Sie können sie wie jede integrierte Vorlage verwenden. Lesen Sie die Dokumentation

Verwenden Sie Ihre eigenen Icons

4D für iOS verfügt über eine umfangreiche Symbolbibliothek, die viele Bereiche wie Handel, Finanzen, Bildung, Behörden, Gesundheit, Industrie, Immobilien, Dienstleistungen usw. abdeckt. Lesen Sie die Dokumentation

Erstellen Sie einen eigenen Datenformatierer

4D für iOS enthält bereits grundlegende Datenformatierer für Daten, Prozentsätze, Zeit usw., aber Sie können auch eigene Datenformatierer erstellen und diese direkt im Projekteditor verwenden. Sie können z. B. einen IntegerToString-Formatierer erstellen, der interne Zahlen durch Namen ersetzt, wie z. B. Versandcodes. Oder integerToImage, um Codes wie 1,2,3,4 durch farbige Plaketten zu ersetzen, die den Partnerstatus anzeigen. Lesen Sie die Dokumentation

ORDA

4D v18 bietet weitere Verbesserungen für ORDA mit den folgenden Funktionen:

Remote-Datenspeicher blank

Sie sind nicht mehr auf die aktuelle Datenbank beschränkt, sondern können jetzt auf eine oder mehrere entfernte 4D Datenbanken zugreifen, die auf 4D Server(n) veröffentlicht sind. Eine Remote-Datenbank kann als REST-Ressource veröffentlicht werden und von 4D Clients aus zugänglich sein. Diese entfernte Datenbank ist direkt mit ORDA Konzepten (die REST Anfragen zwischen Client und Server auslösen) nutzbar (lesen/schreiben). TLS-Verbindungen werden selbstverständlich unterstützt. Sie können den Zugriff auf bestimmte 4D Benutzer beschränken oder eigene Zugriffskontrollen für die Anmeldedaten der Benutzer entwickeln. Obwohl dieser Prozess den Web Server nutzt, um auf den REST Server zuzugreifen, ist eine Web Server Lizenz nicht erforderlich. Für die Verbindungen werden Standard 4D Client Lizenzen verwendet. Lesen Sie die Dokumentation

ORDA-Anfragen protokollieren

Für das ds-Objekt stehen neue ORDA-Methoden zur Verfügung, mit denen Sie Ihren ORDA-Code debuggen und optimieren können, um ein besseres Verständnis der gesendeten Anfragen zu erhalten. Die Methode startRequestLog() ist sehr flexibel, da sie, wenn sie mit einem File-Objekt aufgerufen wird, ORDA-Anfragen in einer Datei oder im Speicher protokollieren kann. Um die Protokollierung von ORDA-Anfragen zu beenden, können Sie die Methode stopRequestLog() aufrufen. Lesen Sie die Dokumentation

Neue Methode, um eine Entitätsauswahl zu bestellen

Mit Hilfe von Formeln können Sie jetzt eine Entity-Auswahl nach komplexen Kriterien in einer Projektmethode oder in einem 4D Ausdruck ordnen. Die Formel wertet die Ordnungskriterien aus, die in Form eines Strings oder eines Formelobjekts an die orderByFormula() -Methode übergeben werden können. Lesen Sie die Dokumentation

Erweiterte Abfragen mit Formeln

Die Methode query() wurde aktualisiert, um ein Formelobjekt als Parameter zu unterstützen und ein neues Objekt vom Typ EntitySelection zurückzugeben, das alle gefundenen Entitäten enthält. Dies ermöglicht die Erstellung von anspruchsvolleren Suchkriterien. Lesen Sie die Dokumentation

Leistungsoptimierung im Client/Server-Betrieb

Der Zugriff auf große Tabellen (insbesondere solche mit Relationen) im Client/Server-Modus mit ORDA wurde stark verbessert. Bei der Verwendung von Entity-Selektionen in Listboxen oder in Codeschleifen( z.B. While oder For each) werden die verwendeten Felder automatisch analysiert, um die Netzwerkübertragung zu optimieren. Sie werden feststellen, dass die LAN-Leistung um das 2-3fache und die WAN-Leistung um das 30fache verbessert wurde (je nach Netzwerk und Datensatzgröße). Und das Beste daran: Sie müssen nichts an Ihrem Code ändern, alles läuft automatisch ab.

Methoden zum Abrufen der Strukturinformationen

Es gibt viele Methoden, mit denen Sie strukturbezogene Informationen abrufen können(z. B. Informationen über eine Tabellen- oder Feldnummer). Dies kann bei der schrittweisen Integration von ORDA in Ihren klassischen 4D-Code hilfreich sein. Der Hauptzweck dieser Methoden ist jedoch, Ihnen eine Möglichkeit zu geben, generischen Code zu schreiben, der unabhängig von der Struktur der Datenbank anwendbar ist. Lesen Sie die Dokumentation

Benannte Platzhalter für Attributpfade

Sie können auch Platzhalter für Attributpfade (Feldnamen in Tabellen) verwenden. Zwei Typen sind verfügbar: Indiziert – eingefügt als :paramIndex(z. B. :1, :2,… mit einer Inkrementierung von 1) in den Abfrage-String und ihre entsprechenden Werte werden durch die Sequenz von Wert-Parameter(n) bereitgestellt, und Benannt – eingefügt als :paramName und ihre Werte werden in den Attributen oder Parameter-Objekten im Abfrage-String bereitgestellt. Lesen Sie die Dokumentation

Benannte Platzhalter für Werte

Dank der benannten Platzhalter für Werte ist es jetzt einfacher, generische ORDA-Abfragen zu schreiben. Diese Platzhalter werden als Objektparameter in den Abfrageeinstellungen bereitgestellt und durch einen anderen Wert ersetzt, wenn der Abfrage-String ausgewertet wird. Lesen Sie die Dokumentation

4D Sprache & andere Programmierfunktionen

Mail senden

Es gibt eine neue Möglichkeit, E-Mails zu erstellen und zu versenden. Die neue Funktionalität ist einfach zu bedienen – und auch leistungsfähiger als bisher (mit 4D Internet Commands). Der neue Befehl SMTP New transporter ermöglicht die Konfiguration einer neuen SMTP-Verbindung. Das Erstellen und Versenden von E-Mails erfolgt in drei Schritten: Erstellen des SMTP-Transporters, Erstellen eines Mail-Objekts und schließlich Versenden der E-Mail. Ein Mail-Objekt hat mehrere Eigenschaften: from, cc, bc, to, sender, textBody, htmlBody, um nur einige zu nennen. Darüber hinaus kann mit dem Befehl MAIL New attachment ein Anhang hinzugefügt werden. Nach der Erstellung kann das Mail-Objekt mit dem Befehl transporter.send() versendet werden.

SMTP-Konversationen protokollieren

Der Befehl SMTP New transporter stellt eine Verbindung zwischen einem SMTP-Server (z. B. Microsoft Exchange oder Gmail) und dem Client her und protokolliert – in unverschlüsseltem Text – die gesamte Kommunikation der beiden. Es ist eine neue Eigenschaft logFile verfügbar, die den vollständigen Pfad der für die SMTP-Verbindung definierten Protokolldatei enthält. Die Datei kann in zwei Versionen erstellt werden: Eine Standardversion und eine erweiterte Version. Beide Versionen können durch den Befehl SET DATABASE PARAMETER ausgelöst werden. Lesen Sie die Dokumentation

Parsen eines MIME-Dokuments, Ändern und erneutes Versenden blank

Der neue leistungsstarke Parser MAIL Convert from MIME wandelt eine empfangene E-Mail oder ein von 4D Write Pro erstelltes MIME Dokument in ein Objekt um. So können Sie das Objekt nach Bedarf bearbeiten oder modifizieren, z. B. den Betreff ändern, Empfänger entfernen/hinzufügen, den Textkörper modifizieren, Anhänge hinzufügen usw. – und das Dokument dann versenden. Ein Beispiel: Wenn Sie mit 4D Write Pro HTML-E-Mails mit statischen Bildern im Text erstellen und diese versenden möchten, gehen Sie wie folgt vor:

  • Exportieren Sie Ihr 4D Write Pro Dokument im MIME Format,
  • Verwenden Sie den Befehl MAIL Convert from MIME, um das MIME-Format in ein Mail-Objekt umzuwandeln,
  • und senden Sie es dann über den Befehl SMTP New transporter. Lesen Sie die Dokumentation

Debugger im kompilierten und zusammengeführten Modus aktivieren blank

Jetzt können Sie den 4D Debugger zum Debuggen von Code im Produktionsmodus verwenden, während der Ausführung des Befehls PROCESS 4D TAGS über den Befehl TRACE im Code, der zwischen den <!–#4DCODE–> Tags eingefügt ist. Lesen Sie die Dokumentation

Erstellen Sie Ihren eigenen Verbindungsdialog zur Auswahl des Servers blank

Jetzt können Sie eine zusammengeführte Einzelbenutzeranwendung verwenden, um Ihren eigenen Verbindungsdialog für einen zusammengeführten Server zu erstellen. Lesen Sie die Dokumentation

Formular-Ereignisbefehl überarbeitet blank

Der Befehl Formularereignis wurde der Übersichtlichkeit halber in Formularereigniscode umbenannt. Das liegt daran, dass der Befehl nur den Code des Ereignisses zurückgab, während der neue Befehl FORM Event ein Objekt zurückgibt. Es besteht keine Notwendigkeit, Ihren Code zu ändern. Der neue Befehl gibt ein Objekt mit mehreren Informationen zurück. Neben dem Ereignis selbst enthält es auch Informationen über das Objekt, das das Ereignis auslöst, z. B. seinen Namen und zusätzliche Daten je nach Objekttyp. Lesen Sie die Dokumentation

Objektnotation zur Handhabung von Dateien und Ordnern

Das Erstellen, Ändern oder Löschen von Dateien und Ordnern auf Ihrer Festplatte wurde wesentlich einfacher und intuitiver. Es wurde ein neuer Befehl Ordner hinzugefügt, mit dem Sie ein Ordnerobjekt aus einer Konstante, einem POSIX-Pfad oder einem Plattformpfad erstellen können. Das Ordnerobjekt verfügt über Eigenschaften(z. B. name, modificationDate, modificationTime) und Methoden( z. B. create(), moveTo(), rename(), delete()), die die Erstellung und Bearbeitung von Ordnern ermöglichen. Wie bei Ordnern steht auch für Dateien der Befehl File zur Verfügung. Das neue File-Objekt ermöglicht den Zugriff auf und die Bearbeitung von Dateiattributen. Sie können Dateimethoden verwenden, um den Inhalt einer Datei zu schreiben und zu lesen, sie zu verschieben, zu löschen, usw. Lesen Sie die Dokumentation

Zip-Befehle blank

Sie können Ihre Dateien per Code komprimieren oder dekomprimieren, ohne externe Bibliotheken oder Tools aufzurufen. Mit dem neuen Befehl Zip Create archive können Sie ein Zip-Archiv erstellen, indem Sie entweder eine Datei, einen Ordner oder ein Objekt mit Parametern übergeben. Um Ihr Archiv zu dekomprimieren, verwenden Sie den neuen Befehl ZIP Read archive, der ein Archivobjekt zurückgibt, das leicht manipuliert werden kann, um die Liste der Dateien zu erhalten, eine bestimmte Datei oder das gesamte Archiv zu extrahieren. Die Verwendung oder Erstellung eines gezippten Archivs funktioniert ähnlich wie die neuen Befehle File und Folder, so dass Ihr Code einfach und leicht zu lesen ist. Lesen Sie die Dokumentation

Abrufen der aktuellen Ausführungskette

Mit dem neuen Befehl Aufrufkette abrufen erhalten Sie einen Einblick in den ausgeführten Code. Dies hilft Ihnen zu wissen, wo Sie sich in Ihrem Code befinden, insbesondere wenn eine Methode andere Methoden aufruft, die wiederum andere Methoden aufrufen können. Der Befehl gibt eine Sammlung von Objekten zurück, wobei jedes Objekt einen Ausführungsschritt darstellt und dessen Datenbank, Methodentyp, Methodenname und Aufrufzeile beschreibt. Der Befehl kann in allen Code-Ausführungskontexten verwendet werden, sowohl im interpretierten als auch im kompilierten Modus. Lesen Sie die Dokumentation

Neues Tool zur Analyse von Debug-Protokollen

Es gibt ein neues Tool, das Sie bei der Analyse der Debug-Protokolle unterstützt. Sie können zum Beispiel sehen, welche Prozesse am meisten Zeit in Anspruch nehmen, die Aufrufkette mit der entsprechenden Laufzeit und vieles mehr. Dieses Tool soll Ihnen helfen, Konflikte in Ihrem Code zu finden und die Leistung Ihrer Datenbanken zu verbessern. Lesen Sie die Dokumentation

Kopflose 4D Anwendungen blank

Mit dem neuen Parameter headless können Sie jetzt eine 4D Anwendung ohne Schnittstelle (aka headless) über die CLI (Command Line Interface) starten. Verfügbar für alle Anwendungstypen: 4D, 4D Server, Standalone, Remote, Merged Applications. Fehlermeldungen oder andere Dialoge werden automatisch abgerufen und in eine Protokolldatei umgeleitet, so dass der Server nicht mehr angehalten werden muss. Lesen Sie die Dokumentation

Präemptiv

Lokale Deaktivierung der Thread-Sicherheitsprüfung blank

Jetzt können Sie dem Compiler mitteilen, dass ein Teil des Codes nicht auf nicht-präemptive Konformität geprüft werden soll, wobei Sie wissen, dass dieser Teil des Codes nicht ausgeführt wird, da er Teil einer If- oder Case-of-Anweisung ist und nur im kooperativen Modus ausgeführt wird. Dazu müssen Sie den Code, der von der Thread-Sicherheitsprüfung ausgenommen werden soll, mit den speziellen Direktiven %T- und %T+ als Kommentar umgeben. Der Kommentar //%T- schaltet die Thread-Sicherheitsprüfung aus und //%T+ schaltet sie wieder ein. Lesen Sie die Dokumentation

Präemptive Prozesse auf 4D remote

Ihre Prozesse können auf 4D Remote präemptiv ausgeführt werden, um die Leistung von Multi-Core-Computern voll auszunutzen. Sie können eine Operation in mehrere Teile aufteilen und auf allen verfügbaren Kernen parallel laufen lassen, um Ihre Ergebnisse schneller zu erhalten. Lesen Sie die Dokumentation

Mehr Thread-sichere Befehle

Mit den neuen thread-sicheren Befehlen können Ihre Anwendungen die Vorteile von Multicore-Computern voll ausschöpfen. Dies führt zu schnelleren Antworten auf gleichzeitige Anfragen.

Die folgenden 4D Befehle sind jetzt thread-safe: COMPRESS BLOB, EXPAND BLOB, BLOB PROPERTIES, ENCRYPT BLOB, DECRYPT BLOB,GENERATE ENCRYPTION KEYPAIR, GENERATE CERTIFICATE REQUEST, RECEIVE BUFFER, SET DEFAULT CENTURY, GET DOCUMENT ICON, TRANSFORM PICTURE, SVG EXPORT TO PICTURE, Get localized document path, Get database localization, LOCKED BY, LOG EVENT, Current client authentication, GET MEMORY STATISTICS. Lesen Sie die Dokumentation

Begin/End SQL im präemptiven Modus

Begin-SQL, End-SQL und die zugehörigen SQL-Anweisungen, die mit einer internen Datenbank verwendet werden, sind jetzt preemptiv-kompatibel. Jetzt können Sie alle Ihre Anfragen parallel starten und die Geschwindigkeit Ihrer Anwendungen erhöhen, wenn diese Befehle für viele asynchrone Aktivitäten verwendet werden. Lesen Sie die Dokumentation

Synchronisieren Sie Ihre Prozesse

Sie können z. B. New signal verwenden, um die Arbeit an einen kooperativen Prozess zu delegieren, um einen nicht-präemptiven Befehl zu verwenden. Der Befehl erstellt ein gemeinsames Objekt und ermöglicht es Ihnen, den Verlauf des aktuellen Prozesses mit zwei neuen Methoden zu verwalten: trigger() und wait(). Lesen Sie die Dokumentation

Aufruf des onResize-Ereignisses für Unterformulare blank

Wenn ein Formular ein oder mehrere Unterformulare enthält, können Sie das onResize-Ereignis direkt in der Methode des Unterformulars verwalten. Dieses Ereignis wird jedes Mal ausgelöst, wenn die Größe des Unterformularobjekts im Hauptformular geändert wird. Dies kann passieren:

  • Wenn die Größe des Hauptformulars geändert wird.
  • Wenn ein Splitter die Höhe oder Breite des Unterformularobjekts ändert.
  • Wenn die Größe eines Unterformularobjekts durch die Programmierung mit OBJECT-Set-Koordinaten geändert wird. Lesen Sie die Dokumentation

Neuer Varianten-Datentyp blank

Es steht ein neuer Befehl zur Verfügung, mit dem jede angegebene Variable in eine Variant-Variable umgewandelt werden kann: C_VARIANT. Der Variant-Datentyp kann zur Darstellung jedes anderen Datentyps (BLOB, Boolean, Collection, Date, Longint, Object, Picture, Pointer, Real, Text, Time, Null, Undefined) außer Arrays verwendet werden. Sie können den Befehl Type verwenden, um den Typ der Variable und Value type für den Typ des Wertes abzurufen. Mit dem Datentyp Variant können Sie generischen Code schreiben, z. B. kann eine Methode einen Parameter entweder als Text oder als Blob empfangen, ohne einen Zeiger verwenden zu müssen. Lesen Sie die Dokumentation

4D Objektfelder mit der SQL-Engine lesen

Die SQL-Engine wurde aktualisiert, um das Lesen von 4D Objektfeldern zu ermöglichen. Um den Inhalt eines Objektfeldes zu durchsuchen, wurde die SQL CAST-Funktion erweitert, um eine JSON-Darstellung des Feldes zurückzugeben. Lesen Sie die Dokumentation

Verbesserung der Datenbanktests

4D Produkte können bereits mit Befehlszeilenparametern gestartet werden, um automatische Tests oder Einsätze zu ermöglichen. Es wurden jedoch neue Parameter hinzugefügt, um Ihnen noch mehr Flexibilität beim Öffnen Ihrer Datenbanken zu bieten:

-opening-mode: definiert das Öffnen Ihrer Datenbank im interpretierten oder kompilierten Modus.

-create-data: ermöglicht die Erstellung neuer Daten, wenn die aktuelle Datendatei nicht gefunden wird oder mit einem bestimmten Namen, wenn -data übergeben wird.

-user-param: sendet einen String, der nach dem Start der Datenbank mit dem Befehl GET DATABASE PARAMETER gelesen werden kann. Lesen Sie die Dokumentation

Definieren eines alternativen Namens für das 4D Benutzerkonto

Mit dem neuen Befehl SET USER ALIAS können Sie einen benutzerdefinierten Namen festlegen, der anstelle des aktuellen 4D Benutzerkontonamens verwendet wird. Er akzeptiert eine Zeichenkette als Parameter. Diese Zeichenfolge (Alias) ersetzt den 4D Benutzernamen in der 4D Umgebung. Ein Alias ermöglicht die Verwendung Ihres eigenen Benutzer-/Passwortsystems oder eines externen Benutzerverzeichnisses wie Active Directory oder LDAP, während Sie gleichzeitig von allen in 4D integrierten Konzepten zur Benutzeridentifikation profitieren. Lesen Sie die Dokumentation

Ein klassisches 4D Formular in ein dynamisches Formular exportieren

Es gibt einen neuen Befehl FORM Convert to dynamic, mit dem Sie ein klassisches 4D Formular (gespeichert in einer .4DB Datei) in ein dynamisches Formular exportieren können. Sie übergeben den Formularnamen und erhalten ein Objekt, das das Formular beschreibt. Je nach Bedarf können Sie dann die Optionen des Formulars ändern, z. B. die Schriftgröße oder die Position der Objekte auf dem Bildschirm, oder sogar weitere Objekte hinzufügen, bevor Sie es anzeigen. Lesen Sie die Dokumentation

Verbesserungen im Debug-Protokoll

Der Befehl SET DATABASE PARAMETER wurde erweitert, um nur bestimmte Prozesse sowie Aufrufe von Member-Methoden (Auflistungs- oder Objektmethoden) protokollieren zu können. Es gibt einen neuen Selektor(Debug-Protokollierung des aktuellen Prozesses), der die Debug-Protokollierung des aktuellen Prozesses startet. Lesen Sie die Dokumentation

Dynamische Formulare und die Eingabereihenfolge

Jetzt können Sie eine Eingabereihenfolge definieren, die nicht unbedingt mit der Z-Reihenfolge verbunden ist. Für jede Seite Ihrer Formulardefinition enthält das Attribut „Objekte“ eine Liste von Formularelementen, die entsprechend der z-Reihenfolge angeordnet sind. Zu dieser Liste wurde ein neues Attribut hinzugefügt: „entryOrder“. Es ermöglicht Ihnen, Ihre eigene individuelle Eingabereihenfolge festzulegen. Wenn dieses Attribut nicht definiert ist, verwendet 4D die z-Reihenfolge(d.h. die im Attribut „objects“ definierte Reihenfolge). Lesen Sie die Dokumentation

Multi-Client Instanzen

Es ist jetzt möglich, mehrere Clients auf demselben Computer laufen zu lassen und sie gleichzeitig mit demselben 4D Server zu verbinden. Jede Client-Verbindung enthält jetzt einen separaten Cache-Ordner, der die IP-Adresse, den Port und den Hash-Code der Verbindung enthält. So können Sie auch mehrere Clients von einem Rechner aus mit mehreren Servern auf verschiedenen Rechnern verbinden. Eine Konfiguration ist nicht erforderlich. Lesen Sie die Dokumentation

Schreiben Sie Ihre eigenen Methoden für Objekte

Der Befehl Neue Formel wurde so erweitert, dass Sie Formeln als Objekte erstellen können. Sie können Parameter übergeben oder auf den Inhalt des Formelobjekts zugreifen. Formeln als Objekte können Berechnungen für Objektattribute durchführen, die an eine Methode übergeben werden. Objekte können jetzt ihren eigenen Callback oder Fehlerhandler haben. Wenn Sie bereits ORDA verwenden oder klassisches selektionsbasiertes Coding betreiben, sind Objekte jetzt noch viel leistungsfähiger. Lesen Sie die Dokumentation

4D Kommentarblöckeblank

Kommentare können in einer einzigen Zeile oder über mehrere Zeilen hinweg erfolgen. Anstatt viele Zeilen mit // zu versehen, können Sie jetzt einfach /* am Anfang eines Kommentars und */ am Ende verwenden, um einen ganzen Block zu kommentieren. Sie können sie auch ein- und ausblenden. Außerdem können die Kommentare an jeder beliebigen Stelle einer Zeile eingefügt werden, auch innerhalb einer if-Bedingung oder einer Schleife. Lesen Sie die Dokumentation

Unterstützung des SVG-Attributs „non-scaling-strokeblank

Im SVG-Standard gibt das Attribut „non-scaling-stroke“ an, dass die Strichstärke nicht vom Zoom oder der Skalierung abhängt. Mit anderen Worten: Die Linien eines Objekts werden durch Transformationen und Zoomen nicht beeinträchtigt. Jetzt haben wir dem Thema „4D SVG“ neue Befehle hinzugefügt. Mit der Methode VG_SET_STROKE_VECTOR_EFFECT können Sie das Attribut „non-scaling-stroke“ für Zeichenobjekte definieren. Lesen Sie die Dokumentation

4D Server Verwaltungsbefehle

Die Liste der Befehle, mit denen Sie Ihre eigenen Verwaltungsoberflächen als Dialoge auf dem Server, dem Client oder sogar als HTML-Seiten für den Web-Zugriff erstellen können, ist nun vollständig:

  • SEND MESSAGE TO REMOTE USER (Nachricht an entfernten Benutzer senden ), um eine Nachricht vom Server an einen entfernten Benutzer zu senden.
  • Get process activity zum Abrufen einer Liste von Benutzersitzungen.
  • DROP REMOTE USER, um eine Benutzersitzung zu beenden.
  • ABORT PROCESS BY ID, um einen bestimmten Prozess unter Verwendung seiner eindeutigen Prozessnummer zu beenden.
  • Prozessaktivität oder Prozesseigenschaftenabrufen, um die eindeutige Prozessnummer zu ermitteln.
  • NEUE FERNVERBINDUNG ABLEHNEN , um neue Fernverbindungen zu blockieren.
  • Rufen Sie Anwendungsinformationen ab, um festzustellen, ob die Verbindungen angenommen oder abgelehnt wurden.
  • SOAP REJECT NEW REQUESTS , um SOAP-Anfragen zu blockieren.
  • WEB Ruft Serverinformationen ab, um zu erfahren, ob Verbindungen angenommen oder abgelehnt wurden.
  • Refresh license, um eine Lizenz zu aktualisieren. Lesen der Dokumentation

Weitere Informationen über Web-Prozesse

Es sind neue Informationen über die von Webprozessen verwendete URL verfügbar. Diese Informationen können auf zwei Arten abgerufen werden: über das 4D Server Administrationsfenster oder über die 4D Sprache mit dem Befehl Prozessaktivität abrufen ; ein neues Attribut „url“ wird dem Prozessobjekt hinzugefügt, wenn der Prozesstyp ein Webprozess ist. Lesen Sie die Dokumentation

Mit dem neuen Befehl Get application info können Sie detaillierte Informationen über die Aktivität und die Netzwerkkonfiguration Ihrer aktiven Datenbank abrufen. Dieser Befehl kann sowohl auf einem Remote Client als auch auf dem 4D Server aufgerufen werden. Lesen Sie die Dokumentation

Schnell-Bericht

Verwalten von Callback-Methoden

Sie können jetzt den Parameter „methodName“ im Befehl QR REPORT festlegen. Diese Methode ist ein Callback, der bei jedem verwalteten Ereignis ausgeführt wird:
  • qr cmd open
  • qr cmd speichern
  • qr cmd speichern unter
  • qr cmd generieren
  • qr cmd Seite einrichten
  • qr cmd druckvorschau

In der Callback-Methode können Sie alle verwalteten Ereignisse abfangen, etwas tun und das Ereignis mit dem QR-Befehl EXECUTE COMMAND ausführen. Lesen Sie die Dokumentation

Zwischensummenabstände verwalten

Jetzt können Sie für jeden Umbruch (Zwischensumme) entweder einen Seitenumbruch oder eine andere Zeilenhöhe festlegen. Im Falle einer anderen Zeilenhöhe kann die Differenz in Punkten (pt) oder in Prozent (%) angegeben werden. Lesen Sie die Dokumentation

Verwaltung des Rahmens blank

Sie können das Aussehen des Rahmens einer Zelle, Spalte oder Zeile in Ihrem Bericht ändern, indem Sie die Farbe oder die Liniendicke ändern. Bewegen Sie den Mauszeiger über das Element, das Sie konfigurieren möchten, klicken Sie darauf und wählen Sie dann im Pop-up-Fenster den entsprechenden Parameter aus (die Randkonfiguration, die Liniendicke und die Farbe). Lesen Sie die Dokumentation

UI-Verbesserungen

Die erste Verbesserung ist eine neue Schaltfläche „Speichern / Speichern unter“. Wenn Sie „Speichern“ wählen, wird Ihre Arbeit gespeichert, indem die zuletzt gespeicherte Version der Datei aktualisiert wird, damit sie mit der Version auf Ihrem Bildschirm übereinstimmt. Wenn Sie „Speichern unter“ wählen, wird eine Aufforderung zum Speichern Ihrer Arbeit als Datei mit einem anderen Namen angezeigt. Die zweite Verbesserung sind die Tooltips (kleine Meldungen, die angezeigt werden, wenn Sie den Mauszeiger über einen Bereich bewegen). Sie wurden zu den Zwischensummenzeilen hinzugefügt, damit Sie die Sortierrichtung leicht erkennen können: aufsteigend oder absteigend. Lesen Sie die Dokumentation

4D Write Pro

Neue Symbolleiste

In 4D Write Pro steht Ihnen eine neue Symbolleiste zur Verfügung, die Sie bei der Erstellung von Dokumenten unterstützt. Durch einfaches Ziehen und Ablegen eines neuen Objekts aus der Objektbibliothek erhalten Sie Zugriff auf eine vollständige Symbolleiste mit sieben verschiedenen Registerkarten, so dass Sie schnell zwischen verschiedenen Aktionen wechseln können. Lesen Sie die Dokumentation

4D Write Pro Stilvorlagenblank

Dank einiger neuer Befehle, mit denen Sie Stilvorlagen erstellen, löschen und importieren können, können Sie jetzt Ihre eigenen Stilvorlagen für Absätze oder Zeichen verwalten. Mit einer Zeichenstilvorlage können Sie festlegen, wie ein Zeichen (oder ein Wort) angezeigt und gedruckt wird, während Sie mit einer Absatzstilvorlage Randfarben, Auffüllungen, Tabulatoren, Ränder und vieles mehr definieren können. Eine Stilvorlage ist ein Objekt, das zu einem Dokument gehört. Sie wird mit dem Befehl WP Neue Stilvorlage erstellt. Sobald sie erstellt ist, können Sie dieses Objekt als Parameter für WP Set-Attribute verwenden. Im Folgenden finden Sie eine Liste der neuen Befehle, die Ihnen den Umgang mit Stylesheets erleichtern:

  • WP New style sheet: ermöglicht die Erstellung eines Stylesheets
  • WP DELETE STYLE SHEET: ermöglicht das Löschen einer Stilvorlage
  • WP Get style sheet : ermöglicht das Abrufen einer einzelnen Stilvorlage anhand ihres Namens,
  • WPGet style sheets: füllt eine Sammlung von Stilvorlagen eines bestimmten Typs, und schließlich,
  • WP IMPORT STYLE SHEETS : ermöglicht den Import bestehender Stilvorlagen, die in einem anderen 4D Write Pro Dokument erstellt wurden (z. B. als Vorlage).

Lesen Sie die Dokumentation

Konvertieren Sie Ihre Dokumente in das .docx-Format

4D Write Pro Dokumente können jetzt im .docx-Format exportiert werden. Verwenden Sie dazu die neue Konstante wk docx mit dem bereits vorhandenen Befehl WP EXPORT DOCUMENT oder verwenden Sie den Befehl WP EXPORT VARIABLE. Lesen Sie die Dokumentation

Ändern der Spaltenbreite blank

Eine sofort einsatzbereite Funktion ermöglicht es den Endbenutzern, die Breite der Spalten zu ändern. Bewegen Sie den Mauszeiger über die Zeilentrenner und der Cursor verwandelt sich in einen Doppelpfeil, der anzeigt, dass die Größe der Spalte geändert werden kann. Wenn Sie auf diese Trennlinien klicken und sie ziehen, werden sowohl die linke als auch die rechte Spalte in der Größe verändert. Wenn Sie beim Ziehen die Umschalttaste drücken, werden nur die linken Spalten in der Größe verändert und alle rechten Spalten werden verschoben. Lesen Sie die Dokumentation

Hinzufügen und Entfernen von Zeilen und Spalten blank

Die Verwaltung des Einfügens und Löschens von Zeilen und Spalten ist jetzt dank vier neuer Befehle möglich: Um Zeilen und Spalten einfügen zu können, wurden zwei neue Befehle erstellt: WP Table insert rows und WP Table insert columns. Beide Befehle geben Bereiche zurück, die den in der Tabelle erstellten Teilen entsprechen. Und um Zeilen und Spalten zu entfernen, gibt es zwei weitere Befehle: WP TABLE DELETE ROWS und WP TABLE DELETE COLUMNS. Lesen Sie die Dokumentation

Feste Höhe für Kopf- und Fußzeilen blank

Ein neues Dokumentattribut: wk header and footer autofit ist verfügbar, um zu bestimmen, ob Kopf- und Fußzeilen automatisch in der Größe angepasst werden sollen, um ein Abschneiden ihres Inhalts zu vermeiden. Dieses Attribut kann entweder auf True oder False gesetzt werden. Bei neu erstellten Dokumenten wird dieser Parameter auf True gesetzt (automatische Größenanpassung der Kopf- und Fußzeilen wird aktiviert), und auf False, wenn ein 4D Write Pro Dokument importiert wird. Lesen Sie die Dokumentation

Kopf- und Fußzeilen mit Code erstellen

Es wurden zwei neue Befehle hinzugefügt: WP New header und WP New footer, mit denen Sie programmatisch Kopf- und Fußzeilen erstellen können. Mit den Befehlen WP DELETE HEADER und WP DELETE FOOTER können Sie außerdem Kopf- und Fußzeilen per Code löschen. Lesen Sie die Dokumentation

4D Write Pro vertikales Lineal

Ein neues vertikales Lineal wurde hinzugefügt. Mit ihm können Sie die vertikalen Ränder grafisch verwalten. Wenn Ihr Dokument Kopf- oder Fußzeilen enthält, können die Abstände zwischen diesen und dem Hauptteil Ihres Dokuments ebenfalls mit dem vertikalen Lineal geändert werden. Die neue Eigenschaft Vertikales Lineal anzeigen ist in der Eigenschaftsliste verfügbar, mit der Sie die Anzeige des Lineals aktivieren können. Lesen Sie die Dokumentation

Seitenlayout

Sie können die Seitengröße, die Ausrichtung und die Ränder Ihres Dokuments mit Code definieren. Es stehen Ihnen neue Attribute zur Verfügung, die mit den Befehlen WP SET ATTRIBUTES und WP GET ATTRIBUTES verwendet werden können. Sie können die Eigenschaften für ein ganzes 4D Write Pro Dokument festlegen. Die folgenden Werte werden standardmäßig für alle Abschnitte des Dokuments verwendet, die Sie dann für einen bestimmten Abschnitt ändern können:

  • wk page width, wk page height – für die Seitengröße
  • wk page orientation – für die Seitenausrichtung
  • wk Seitenrand, wk Seitenrand links, wk Seitenrand rechts, wk Seitenrand oben, wk Seitenrand unten – für die Seitenränder. Lesen Sie die Dokumentation

Neue Attribute zur Vermeidung von Witwen, Waisen und Seitenumbrüchen

4D Write Pro wurde um neue Optionen erweitert, mit denen Sie Witwen und Waisen in Absätzen oder Tabellen sowie Seitenumbrüche innerhalb von Absätzen oder Tabellen vermeiden können.

Witwen und Waisen sind die Zeilen am Anfang oder Ende eines Absatzes, die am oberen oder unteren Rand einer Seite stehen bleiben. Um sie zu vermeiden, gibt es ein neues Attribut, das Sie mit dem Befehl WP SET ATTRIBUTES verwenden können: wk avoid widows and orphans. Die verfügbaren Werte für dieses Attribut sind wk true oder wk false. Wenn dieses Attribut für einen Absatz oder eine Tabelle gesetzt ist, verhindert 4D Write Pro, dass dieser Absatz oder diese Tabelle durch eine einzelne Zeile auf einer anderen Seite getrennt wird.

Für Seitenumbrüche innerhalb von Absätzen oder Tabellen gibt es ein neues Attribut: wk page break inside. Die verfügbaren Werte sind wk avoid oder wk auto. Diese Option ist nützlich, wenn Sie nicht wollen, dass ein Absatz, mehrere Absätze oder eine Tabelle über zwei Seiten umbrechen. Lesen Sie die Dokumentation

Verwalten von Abschnitten mit Code

Ein Abschnitt ermöglicht es Ihnen, innerhalb eines Dokuments verschiedene Layouts zu erhalten. So können Sie beispielsweise für jeden Abschnitt ein anderes Papierformat und eine andere Ausrichtung, andere Ränder, andere Kopf- und Fußzeilen usw. festlegen. Das Ergebnis sind komplexe und schön gestaltete Dokumente. Abschnitte können mit dem Befehl WP Get sections per Code bearbeitet werden, so dass Sie eine Sammlung von Abschnitten in Ihrem Dokument abrufen können. Der Befehl WP Get section kann verwendet werden, um den aktuellen Abschnitt abzurufen. Um die Attribute für einen bestimmten Abschnitt zu ändern, können Sie die Referenz des Abschnitts an die Befehle WP SET ATTRIBUTES und WP GET ATTRIBUTES übergeben. Sie können auch Unterabschnitte mit Code erstellen, indem Sie den neuen Befehl WP Create subsection verwenden. Lesen Sie die Dokumentation

Paginierung von Tabellen

Große Tabellen werden jetzt automatisch auf mehr als einer Seite angezeigt. Sie müssen keine Zeilen mehr zählen, um die Größe einer Seite oder ihre Ausrichtung zu überprüfen, da Tabellen dynamisch geteilt werden, wenn ein Seiten- oder Spaltenumbruch auftritt. Der Befehl WP INSERT BREAK wurde aktualisiert, um eine neue Konstante zu unterstützen: wk paragraph break. Lesen Sie die Dokumentation

Unterstützung von 4D-Ausdrücken in verankerten Bildern

Mit dem neuen Attribut wk image expression kann ein gültiger 4D-Ausdruck mit einem verankerten Bild verknüpft werden, was noch mehr Flexibilität bietet. Setzen Sie diese Konstante einfach für jedes verankerte Bild, um eine Methode zu definieren, die ein Bild zurückgibt. Lesen Sie die Dokumentation

Koordinaten in einem 4D Write Pro Dokument abrufen

Jetzt können Sie Koordinaten in einem 4D Write Pro Dokument abrufen. Der Befehl WP Get position liefert weitere Informationen über die aktuelle Position eines Bereichs oder einer Elementreferenz mit Hilfe zweier neuer Attribute: bounds und rangeHeight. Das erste Attribut beschreibt das Rechteck, das einen Bereich umgibt, je nach seinem Typ (entweder „Standardtyp“ (Zeichen), „Absatztyp“, „Tabellentyp“ oder „Bildtyp“). Es hat auch eigene Attribute: oben, unten, links und rechts. Das zweite Attribut beschreibt die Höhe des Rechtecks, das das Objekt begrenzt. Lesen Sie die Dokumentation

Virtuelle Struktur

Tabellen- und Feldausdrücke, die in 4D Write Pro Dokumente eingefügt werden, unterstützen jetzt die Definition der virtuellen Struktur der Datenbank. Dies wird mit den Befehlen SET TABLE TITLES(…;*) und SET FIELD TITLES(…;*) erreicht. Der Formeleditor unterstützt ebenfalls die virtuelle Struktur, und da 4D die Benutzeroberfläche automatisch auf Basis der Systemeinstellungen einstellt, wird der Formeleditor in der Sprache des Benutzers angezeigt. Lesen Sie die Dokumentation

Links in einem 4D Write Pro Dokument

MitWP SET LINK können Sie URLs setzen und haben außerdem die Möglichkeit, eine Methode aus Ihrer 4D Anwendung (mit Parametern) aufzurufen oder Lesezeichen aus Ihrem Dokument anzusteuern. Der neue Befehl WP Get links gibt eine Sammlung aller Links in einem Dokument in einem einzigen Aufruf zurück. Jeder Link der Sammlung ist ein Objekt mit einer Beschreibung des Links in seinen Attributen. Lesen Sie die Dokumentation

Eigenschaften von Ansichten behandeln

Ansichtseigenschaften können durch Programmierung gehandhabt werden. Der Befehl WP SET VIEW PROPERTIES ermöglicht die dynamische Einstellung einer oder mehrerer Ansichtseigenschaften des 4D Write Pro Bereichs. Die Einstellungen können in einem Objekt mit allen Ansichtseigenschaften über den Befehl WP Get view properties zurückgegeben werden. Lesen Sie die Dokumentation

Einstellungen für Registerkarten

Tabs können mit einer Sammlung von Strings, numerischen Werten oder sogar einer Sammlung von Objekten festgelegt werden! Wenn Sie nur die Standardwerte für die Registerkarten ändern müssen, können Sie ein Objekt mit der neuen Konstante wk tab default (speziell für diesen Zweck hinzugefügt) verwenden. Lesen Sie die Dokumentation

Weitere Ziele und umbenannte Befehle

Die unten aufgelisteten Befehle wurden erweitert, um jede Art von Ziel als ersten Parameter zu akzeptieren. Sie können nach wie vor einen Bereich verwenden, aber jetzt auch einen Verweis (Kopf, Körper, Fußzeile), ein Element (Bild, Absatz) oder das gesamte Dokument als Ziel verwenden:

  • WP SET TEXT
  • WP INSERT BREAK
  • WP EINFÜGEN DOKUMENT
  • WP BILD EINFÜGEN
  • WP Tabelle einfügen
  • WP ATTRIBUTE SETZEN
  • WP ATTRIBUTE ERHALTEN

Außerdem wurden mehrere Befehle umbenannt:

Bisheriger Name Neuer Name
WP Absatzbereich erstellen WP Absatzbereich
WP Bildbereich erstellen WP Bildbereich
WP Bereich erstellen WP Text-Bereich
WP Bereich Tabelle erstellen WP Tabellenbereich
WP Lesezeichenbereich abrufen WP Lesezeichenbereich
WP Auswahl abrufen WP Auswahlbereich

Dokumentation lesen

4D Ansicht Pro

Arbeiten mit .xlsx Dokumenten mit 4D View Pro

Die bestehenden 4D View Pro Befehle, VP IMPORT DOCUMENT und VP EXPORT DOCUMENT, wurden erweitert. Sie unterstützen jetzt Dateien mit der Erweiterung .xlsx (Microsoft Excel). Sie können einfach Ihren Dateipfad an die Befehle übergeben, um loszulegen. Lesen Sie die Dokumentation

Eine funktionsreiche Symbolleiste im Ribbon-Stil

Die Benutzeroberfläche von 4D View Pro wird durch eine leistungsstarke Symbolleiste im Ribbon-Stil ergänzt. Sie ermöglicht es Ihnen, die Funktionen von 4D View Pro in einer Reihe von Registerkarten zu organisieren, um die Auffindbarkeit der Funktionen zu verbessern und einen schnellen Zugriff auf verschiedene Befehle zu ermöglichen. Es ist erwähnenswert, dass diese Symbolleiste auch neue Funktionen wie PDF- und CSV-Exportoptionen bietet. Lesen Sie die Dokumentation

Methoden und Datenbankfelder verwenden

Die Sicherheit Ihrer Datenbank wird verbessert, da Sie jetzt noch mehr Kontrolle über die Daten haben, die Sie Ihren Endbenutzern zur Verfügung stellen (oder nicht), sowie darüber, welche Felder oder Methoden den Zugriff erlauben.

Befehle und Variablen können aus Sicherheitsgründen nicht direkt von einer Zelle aus aufgerufen werden, aber der Zugriff auf sie ist über erlaubte Methoden möglich, die den Wert des Befehls oder der Variablen zurückgeben. Methoden können mit dem Befehl SET ALLOWED METHODS, Tabellen oder Felder, die mit den Befehlen SET TABLE TITLES und SET FIELD TITLES als virtuelle Strukturen deklariert werden können, zugelassen werden. Variablen sowie 4D-Befehle müssen in einer erlaubten Methode enthalten sein. Lesen Sie die Dokumentation

Mehr Kontrolle über Ihre 4D Methodeneinstellungen

VP SET ALLOWED METHODS ist ein neuer Befehl, mit dem Sie die Parameter, den Namen und den Typ einer 4D Methode angeben und eine Zusammenfassung hinzufügen können. Jetzt können Ihre Methoden informativer und anschaulicher für die Endbenutzer sein. Lesen Sie die Dokumentation

Drucken und PDF-Export blank

Mit dem BefehlVPSET PRINT INFO können Sie jetzt für jedes Blatt spezifische Druckoptionen festlegen. Diese Optionen werden verwendet, um das Dokument vor einem PDF-Export oder Druck vorzubereiten. Um ein Dokument im PDF-Format zu exportieren, können Sie nun den Befehl VP EXPORT DOCUMENT verwenden. Die Informationen aus VP PRINT INFO werden verwendet, um alle in Ihrem Dokument verwendeten Schriftarten automatisch in die generierte PDF-Datei einzubetten. Beim Drucken kann der Befehl VP PRINT verwendet werden. Lesen Sie die Dokumentation

In SVG konvertieren blank

Mit dem Befehl VP Convert to picture können Sie ein Blatt oder einen Teil eines Blattes in SVG umwandeln. Das SVG kann dann innerhalb eines 4D Formulars verwendet werden, um als Teil eines 4D Druckauftrags zusammen mit anderen Formularen oder Daten gedruckt zu werden. Lesen Sie die Dokumentation

Hinzufügen neuer Ereignisse zur Eigenschaftsliste blank

Eine neue Reihe von 4D View Pro Formularereignissen ist verfügbar und wird in der Eigenschaftsliste aufgeführt. Sie liefern spezielle Informationen, auf die mit dem Befehl FORM-Ereignis zugegriffen werden kann: „On Column Resize“, „On Row Resize“, „On Clicked“, „On Double Clicked“, „On Header Click“, „On Selection Change“, und „On After Edit“. Wenn das Ereignis eintritt, können alle zugehörigen Informationen aus dem Objekt abgerufen werden, das durch den Befehl FORM Event zurückgegeben wird. Lesen Sie die Dokumentation

Einen Bereich in 4D View Pro codieren

Das Erstellen von Bereichen per Code ist jetzt möglich. Es stehen neue Befehle zur Verfügung, mit denen Sie ein Bereichsobjekt definieren können, um Ihre Zellen zu manipulieren: VP Cell, VP Cells, VP Column, VP Row, VP All, VP Combine ranges, und VP Name. Lesen Sie die Dokumentation

Zellinhalt abrufen und festlegen

Es gibt eine Reihe neuer Befehle, mit denen Sie Ihre Dokumente durch Programmierung füllen können: VP SET VALUE, VP SET BOOLEAN VALUE, VP SET DATE TIME VALUE, VP SET DATE VALUE, VP SET TIME VALUE, VP SET NUM VALUE, VP SET TEXT VALUE, VP SET FORMULA, VP SET FIELD, VP Get value, VP Get formula. Lesen Sie die Dokumentation

Benennen Sie Ihre Bereiche und Formeln

Es wird ein neues Konzept eingeführt: benannte Bereiche und Formeln. Bei der Programmierung können Sie zwei Arten von Namen erstellen:

Der erste bezieht sich auf einen Zellbereich, in dem Sie mit dem Befehl VP ADD RANGE NAME einen lesbaren Namen für die gewünschten Zellen vergeben können.

Der zweite bezieht sich auf eine Formel mit dem Befehl VP ADD FORMULA NAME, um Berechnungen durch lesbare Namen in Ihren Tabellenblättern zu ersetzen. Außerdem wird eine Konstante erstellt und das Lesen der Berechnungen in Ihrer Tabelle vereinfacht. Lesen Sie die Dokumentation

Verwalten von Auswahlen und der aktiven Zelle

Es gibt eine Reihe von Befehlen, mit denen Sie die aktive Zelle oder Auswahl(en) in Ihren Dokumenten festlegen und abrufen können:

  • VP Aktive Zelle holen
  • VP Auswahl holen
  • VP AKTIVE ZELLE SETZEN
  • VP AUSWAHL SETZEN
  • VP AUSWAHL HINZUFÜGEN
  • VP AUSWAHL ZURÜCKSETZEN

Wenn Sie eine Zelle an einer bestimmten Position in Ihrem 4D View Pro Bereich anzeigen möchten(z. B. oben links oder unten rechts), können Sie den Befehl VP SHOW CELL verwenden. Lesen Sie die Dokumentation

Verwenden Sie Sammlungen zum Lesen und Schreiben in 4D View Pro

Es stehen vier neue Befehle zur Verfügung, mit denen Sie eine große Anzahl verschiedener Werte oder Formeln einfacher, schneller und gleichzeitig über Sammlungen lesen können: VP SET VALUES, VP Get values, VP SET FORMULAS, und VP Get formulas. Um Werte oder Formeln in Zellen zu setzen, erstellen Sie einfach eine Sammlung, in der jedes Element eine Zeile darstellt. Jede Zeile ist eine Sammlung von Zellwerten, die in den Spalten gesetzt werden sollen. Zum Lesen können Sie einen Bereich von Zellen an VP Get values übergeben. Der Befehl gibt die Werte in den entsprechenden Sammlungen zurück. Lesen Sie die Dokumentation

Stilanpassungblank

Sie können den Stil Ihrer 4D View Pro Dokumente programmatisch anpassen. Es stehen drei verschiedene Optionen zur Verfügung. Sie können die Befehle:

  • Standardstil-Befehle, um den allgemeinen Stil eines Blattes mit den Befehlen VP SET DEFAULT STYLE und VP Get default style zu definieren, oder
  • Stilblattbefehle, um häufig verwendete benutzerdefinierte Stile mit den Befehlen VP ADD STYLESHEET, VP REMOVE STYLESHEET, VP Get stylesheet und VP Get stylesheets zu definieren, oder
  • Zellstilbefehle, um den Stil bestimmter Zellen mit den Befehlen VP SET CELL STYLE und VP Get cell style zu definieren.

Außerdem wurde der neue Befehl VP SET BORDER hinzugefügt, mit dem Sie die Ränder eines Bereichs verwalten können. Lesen Sie die Dokumentation

R-releases im Detail