4D Write Pro: Abschnitte und Unterabschnitte meistern mit neuen Funktionen!

Abschnitte und Unterabschnitte sind die Bausteine eines jeden gut strukturierten Dokuments. Wahrscheinlich haben Sie sie schon unzählige Male verwendet, vielleicht sogar ohne es zu merken, denn jedes Dokument enthält standardmäßig mindestens einen Abschnitt!

Ob Sie nun ein erfahrener Profi sind oder gerade erst anfangen, in diesem Beitrag werden Sie die Grundlagen von Abschnitten und Unterabschnitten kennenlernen.

Außerdem werden wir die spannenden neuen Funktionen von 4D Write Pro in 4D 20 R7 kennenlernen, die die Verwaltung dieser Elemente einfacher und leistungsfähiger denn je machen.

HDI Verwalten von Unterabschnitten

Dokumente, Abschnitte und Unterabschnitte kennen lernen

Wenn Sie mit diesen Konzepten bereits vertraut sind, können Sie die folgenden Abschnitte überspringen. Alle anderen sollten sich mit den Grundlagen vertraut machen.

Wie bereits in der Einleitung erwähnt, enthält ein Dokument mindestens einen Abschnitt. Wenn es mehr als einen enthält, werden sie durch Abschnittswechsel getrennt (wir werden später darauf zurückkommen).

Das Dokument

Beginnen wir mit dem Dokument selbst. Es kann mit einer ganzen Reihe von Attributen konfiguriert werden, z. B. Füllung, Papiergröße, Hintergrundfarbe, Rahmen usw.

Abschnitte

Abschnitte sind Segmente innerhalb Ihres Dokuments, die dessen Eigenschaften, wie Hintergrundfarbe und Ränder, erben können. Standardmäßig spiegeln Abschnitte die Attribute des Dokuments wider, sofern Sie nichts anderes angeben. Jeder Abschnitt kann auch seine eigene Kopf- und Fußzeile haben.

Unterabschnitte

Im Gegensatz zu Abschnitten gibt es Unterabschnitte nur, wenn Sie sie erstellen. Aber was genau ist ein Unterabschnitt?

Es gibt zwei Arten: Unterschiedliche erste Seiten und unterschiedliche linke und rechte Seiten. Genau wie Abschnitte Attribute vom Dokument erben, erben Unterabschnitte Attribute von ihrem übergeordneten Abschnitt – es sei denn, Sie entscheiden sich, Änderungen vorzunehmen.

Visualisierung von Abschnitten und Unterabschnitten

Das obige Dokument enthält 4 verschiedene Abschnitte:

  • Abschnitt Eins: Ein grüner Hintergrund mit einer Kopfzeile.
  • Abschnitt Zwei: Eine „andere erste Seite“ mit dunkelblauem Hintergrund und ohne Kopfzeile.
  • Abschnitt Drei: Eine „andere erste Seite“ ohne Kopfzeile und „andere linke und rechte Seiten“ mit Kopfzeilen.
  • Vierter Abschnitt: Zwei Spalten mit einer Fußzeile und identischen ersten, linken und rechten Seiten (keine Unterabschnitte).

 

Schließlich haben die ersten drei Abschnitte einen Abschnittswechsel (dargestellt durch rote Striche) am Ende des Abschnitts, der vierte hingegen nicht (d. h. es gibt keinen fünften Abschnitt).

Alle diese Merkmale, ob für Abschnitte oder Unterabschnitte, werden im internen Speicher abgelegt, unabhängig davon, ob sie über die Schnittstelle oder programmatisch definiert werden.

Alles oben Beschriebene ist in vielen Versionen von 4D Write Pro verfügbar. Kommen wir nun zu den neuen Funktionen!

Einführung neuer Funktionen in 4D 20 R7

Löschen von Abschnitten

Bisher schien die Verwaltung von Abschnitten einfach zu sein, aber sie war komplexer.

Abschnitte in 4D Write Pro haben keine eindeutigen internen Bezeichner; sie werden anhand ihrer Position im Dokument indiziert. Wenn Sie einen Abschnitt löschen, verschieben sich die Indizes aller nachfolgenden Abschnitte entsprechend. Wenn Sie nur den Abschnittswechsel entfernen, verschmelzen die Abschnitte, was oft zu unerwarteten Formatierungsänderungen führt. Dieses Problem tritt nicht nur bei 4D Write Pro auf, sondern auch bei vielen anderen Textverarbeitungsprogrammen, wie Word und Pages.

Ein neuer Befehl

Das Löschen eines Abschnitts ist jetzt ein Kinderspiel, denn mit dem neuen Befehl WP DELETE SECTION können Sie Abschnitte löschen, ohne diese Probleme zu verursachen. Dieser Befehl stellt sicher, dass der Inhalt und die Eigenschaften des Abschnitts vollständig gelöscht werden, so dass eine unbeabsichtigte Zusammenführung verhindert wird.

Beachten Sie jedoch, dass ein Dokument immer mindestens einen Abschnitt enthält. Ein Dokument muss mindestens zwei Abschnitte enthalten, damit dieser Befehl verwendet werden kann.

Beispiele:

Löschen von Abschnitt 4 des Dokuments (vorausgesetzt, der Abschnitt 4 existiert, sonst tritt ein Fehler auf)

WP DELETE SECTION ($document;4)

Wenn Sie mehr als einen Abschnitt löschen wollen, fügen Sie die Anzahl der zu löschenden Abschnitte hinzu.

WP DELETE SECTION ($document;4;3)

Eine neue Standardaktion

Diese Funktion ist auch als Standardaktion für das Löschen von Abschnitten verfügbar. Sie kann in Ihrer Schnittstelle als Schaltfläche oder Menüpunkt verwendet werden. Der einzige Unterschied zum Befehl sind:

  • Auf die Verwendung folgt eine Bestätigung des Löschvorgangs (denken Sie daran: ein Abschnitt kann groß und umfangreich sein).
  • Es kann nur ein Abschnitt auf einmal gelöscht werden (der erste, der die Benutzerauswahl überschneidet).

Aber auch nach einer unbeabsichtigten Löschung kann der vorherige Zustand dank einer „Rückgängig“-Funktion wiederhergestellt werden. Das ist Magie.

Was passiert nun in der Tiefe?

Wenn Sie einen Abschnitt löschen, wird Folgendes gelöscht:

  • Der im Abschnitt enthaltene Teil des Dokumentkörpers
  • Die Kopf- und Fußzeilen des Abschnitts und aller Unterabschnitte
  • Bilder und Textfelder, die mit dem Abschnitt verankert sind

 

Bitte beachten Sie auch, dass die Indizes nachfolgender Abschnitte dekrementiert werden, so dass die Verankerungsnummern von Bildern und Textfeldern, die von dieser Löschung betroffen sind, automatisch ebenfalls dekrementiert werden. Sie brauchen sich also nicht darum zu kümmern – 4D Write Pro erledigt das für Sie!

Seiten verschwinden, aber Bilder können IN DEM DOKUMENT bleiben

Es gibt jedoch eine Ausnahme, die Sie berücksichtigen müssen: Wenn ein Bild oder ein Textfeld auf einer Seite verankert ist (z. B. auf Seite 20) und diese Seite nach dem Löschen eines Abschnitts nicht mehr existiert, bleibt das Bild (oder das Textfeld) im Dokument erhalten… und taucht auf Seite 20 wieder auf, wenn diese Seite später wieder existiert.

Löschen eines Unterabschnitts

Seit 4D 17 R3 können Sie einen Unterabschnitt mit dem Befehl WP DELETE SUBSECTION löschen. Wie der Name schon sagt, löscht er entweder die „eindeutige erste Seite“ oder die „eindeutige rechte und linke Seite“. Dieses Mal ist das, was gelöscht wird, anders und wurde verbessert.

Wie bisher wird der Inhalt (Textkörper) nie gelöscht, aber Kopf- und Fußzeilen sowie alle Gestaltungsoptionen (Rahmen, Ränder, Hintergrundfarbe usw.) werden gelöscht.

Was ist also neu?

Bilder und Textfelder, die in diesen Unterabschnitten verankert sind, werden ebenfalls gelöscht, so dass Sie nicht erwarten können, dass sie wieder erscheinen, wenn Sie sie neu erstellen. Sie müssen die Kopf- und Fußzeilen, Bilder und Textfelder, die mit ihnen verankert sind, neu erstellen. Nur ein „Undo“ (Magie!) kann den ursprünglichen Zustand wiederherstellen, wenn es direkt nach dem Löschen durchgeführt wird.

Alles, was oben beschrieben wurde, gilt unabhängig davon, ob Sie mit der Programmierung oder mit der Schnittstelle arbeiten. Das Deaktivieren der Optionen „Unterschiedliche erste Seite“ oder „Unterschiedliche linke und rechte Seiten“ führt zu genau demselben Ergebnis wie das Entfernen des Unterabschnitts über die Programmierung!

blank

WP DELETE SUBSECTION($section; wk first page)
WP DELETE SUBSECTION($section; wk left page)

Attribute zurücksetzen

Nun kommen wir zu dem interessantesten Teil der neuen Funktionen.

Zur Erinnerung: Die Attribute von Abschnitten und Unterabschnitten werden, wenn sie nicht definiert sind, von ihren Eltern geerbt. Bei einem Abschnitt sind dies die Attribute des Dokuments, bei einem Unterabschnitt sind es die des Abschnitts selbst.

Der Befehl WP RESET ATTRIBUTES wurde so geändert, dass Sie alle Attribute eines Abschnitts oder Unterabschnitts gleichzeitig löschen können. In diesem Fall geben Sie dem Befehl einfach den Parameter Abschnitt oder Unterabschnitt, aber keinen Attributnamen an, und alle werden gelöscht!

WP RESET ATTRIBUTES ($section) // all attributes of the section shall be reset!
WP RESET ATTRIBUTES ($subSection) // all attributes of the subsection shall be reset! 

 

blank

PRAKTISCHE BEISPIELE

Sie werden sich erinnern, dass der erste Abschnitt das wesentliche Merkmal eines grünen Hintergrunds hatte…

Wenn wir die Attribute dieses Abschnitts entfernen, wird der Hintergrund wieder weiß, was die Hintergrundfarbe des Dokuments ist. Zur Erinnerung: Das Attribut section existiert nicht mehr! Es geht nur um Vererbung. Wenn der Hintergrund des Dokuments später grau wird, wird auch der Abschnitt grau sein!

blank

vor dem Zurücksetzen der Attribute ➼ nach dem Zurücksetzen der Attribute

Der zweite Abschnitt hatte einen anderen Unterabschnitt auf der ersten Seite. Was hat das zu bedeuten?

Wenn wir die Attribute des zweiten Abschnitts löschen, wird auch der hellblaue Hintergrund wieder weiß, mit Ausnahme der anderen ersten Seite, deren Hintergrund ausdrücklich als dunkelblau definiert wurde.

blank

vor dem Zurücksetzen der Attribute ➼ nach dem Zurücksetzen der Attribute

 

Soll hingegen die erste (andere) Seite die gleiche Hintergrundfarbe (hellblau) haben wie der Rest des Abschnitts, muss das Attribut für die Hintergrundfarbe des Unterabschnitts „andere erste Seite“ zurückgesetzt werden.

WP RESET ATTRIBUTES ($subsection;wk backgroundColor)

Ebenso ist es möglich, alle Überschreibungen dieses Unterabschnitts zu entfernen, so dass er die Attribute des Abschnitts erbt, von dem er abhängt…

// no attributes = all attributes !
WP RESET ATTRIBUTES ($subsection)

Der dritte Abschnitt, der eine andere erste Seite und andere linke und rechte Seiten hat, wird keine seiner Hintergrundfarben verlieren , wenn eine WP RESET ATTRIBUTES auf ihn angewendet wird.

Das liegt daran, dass die Unterabschnitte speziell definierte Hintergrundfarben haben. Sie bleiben daher gelb, da sie nicht vom Abschnitt erben (zumindest für dieses backgroundColor-Attribut).

blank

vor dem Zurücksetzen der Attribute ➼ nach dem Zurücksetzen der Attribute

 

Bei dieser Gelegenheit möchte ich darauf hinweisen (oder Sie daran erinnern), dass rechte und linke Unterabschnitte zwar (natürlich) nicht ohne einander existieren können, aber dennoch unabhängig sind. Sie können getrennte Attribute haben und daher unabhängig voneinander zurückgesetzt werden!

$subSection:=WP Get subsection(WP Get section($document; 3); wk right page)
WP RESET ATTRIBUTES($subSection)

$subSection:=WP Get subsection(WP Get section($document; 3); wk left page)
WP RESET ATTRIBUTES($subSection) 

blank

vor dem Zurücksetzen der Attribute ➼ nach dem Zurücksetzen der Attribute

Schließlich wird mit demselben Befehl der vierte Abschnitt auf das Hochformat mit einer einzigen Spalte (wie im Originaldokument) zurückgesetzt.

blank

vor dem Zurücksetzen der Attribute ➼ nach dem Zurücksetzen der Attribute

Neues Element der Benutzeroberfläche

blank

blank

Die jüngsten Aktualisierungen der Symbolleiste und der Seitenleiste enthalten eine neue Schaltfläche mit einem zugehörigen Menü zum Löschen von Abschnitten oder zum Zurücksetzen ihrer Attribute. Diese Werkzeuge bieten kontextspezifische Aktionen, die auf der Position des Cursors im Dokument basieren.

Fazit

Wir hoffen, dass dieser Beitrag Ihr Verständnis für Abschnitte und Unterabschnitte in 4D Write Pro vertieft hat. Mit den neuen Befehlen und der verbesserten Benutzeroberfläche können Sie Ihre Dokumente jetzt noch präziser und stilvoller gestalten. Wie immer möchten wir Sie ermutigen, Ihre Gedanken und Erfahrungen im Forum zu teilen!

Roland Lannuzel
- Product Owner & 4D Experte - Nach seinem Studium der Elektronik arbeitete Roland als Entwickler und Berater in der industriellen IT-Branche, wo er Lösungen für Kunden mit einer Vielzahl von Datenbanken und Technologien entwickelte. In den späten 80er Jahren verliebte er sich in 4D und setzte es bei der Entwicklung von Geschäftsanwendungen wie Buchhaltungs-, Abrechnungs- und E-Mail-Systemen ein. 1997 trat er schließlich in das Unternehmen ein und leistete einen wertvollen Beitrag, indem er Spezifikationen, Testtools und Demos entwarf, Schulungen durchführte und auf vielen Konferenzen für die 4D Community sprach. Er gestaltet die Zukunft von 4D aktiv mit, indem er neue Funktionen und Datenbankentwicklungstools definiert.