4D Write Pro : Willkommen bei schwebenden Textfeldern!

4D Write Pro ist ein unverzichtbares Produkt für die Erstellung von Geschäftsdokumenten. Deshalb bieten wir Ihnen mit jeder neuen Version weitere Funktionen, die Ihnen die Arbeit erleichtern, und dieses Mal bringt 4D v19 R8 schwebende Textfelder in 4D Write Pro.

Wenn Sie also Textfelder verwenden müssen, um z. B. Firmenbriefe zu erstellen, die der Unternehmensidentität entsprechen, können Sie sofort loslegen.

4D Write Pro Textfelder

Textfelder mögen dem einen oder anderen bekannt vorkommen, aber es kann hilfreich sein, sich daran zu erinnern, was sie sind!

Ein Textfeld ist ein schwebender Textbereich beliebiger Größe, der Text, Bilder oder Tabellen enthält! Sie können auf sehr unterschiedliche Weise verwendet werden, z. B. um eine Adresse an einer bestimmten Stelle auf dem Papier zu positionieren, damit sie im Umschlagfenster deutlich erscheint.

 

 

 

Wie erstellt man ein Textfeld?

Wie üblich sind mehrere Lösungen möglich; die einfachste ist, die Schnittstelle zu benutzen. Dafür stehen in der Symbolleiste und in der Seitenleiste neue Schaltflächen zur Verfügung.

blank

blank

Einmal erstellte Textfelder können durch Klicken auf ihre Ränder verschoben und mit den Ziehpunkten in der Größe verändert werden.

blank

Attribute und Inhalt von Textfeldern

Textfelder haben ihre eigenen Attribute. Diese Attribute können sowohl durch Programmierung als auch durch einfache Verwendung der Schnittstelle geändert werden.

Sie können die Art des Rahmens, die Farbe, die Dicke und die Hintergrundfarbe jedes Textfeldes wählen.

Was den Inhalt betrifft, so können Sie in die Textfelder Text, Bilder und Tabellen einfügen, die natürlich auch Formeln enthalten können.

blank

Neue Befehle und Standardaktionen

Es wurden neue Befehle und Standardaktionen erstellt, um Textfelder programmgesteuert zu erstellen und zu löschen.

Beginnen wir mit den Befehlen!

Befehle

Es wurden zwei neue Befehle zum Einfügen und Löschen von Textfeldern erstellt…

  • WP new text box
  • WP DELETE TEXTBOX

 

… und viele (viele) bestehende Befehle wurden verbessert, um diese neuen Objekte als Parameter zu übernehmen!

Hier sind einige von ihnen:

  • WP SET ATTRIBUTES
  • WP Get elements
  • WP Find all
  • WP Get position
  • WP Get formulas
  • WP Get text

Code-Beispiel

In diesem Beispiel wollen wir ein Textfeld mit den folgenden Eigenschaften erstellen:

Sein Inhalt soll 10 cm x 3,5 cm groß sein, einen Innenrand von 0,5 cm haben und 8 cm und 4,5 cm von der linken oberen Ecke der Seite entfernt sein. Schließlich sollte es mit blau gepunkteten Rändern versehen sein und abgerundete Ecken haben.

blank

 

Hier ist der Code, den Sie dafür schreiben müssen.

// #1 create the the text box
$textBox:=WP New text box(WParea; 1)

// #2 define some text box attributes
WP SET ATTRIBUTES($textBox; wk id; "AddressArea")
// define anchoring and position
WP SET ATTRIBUTES($textBox; wk anchor origin; wk paper box)
WP SET ATTRIBUTES($textBox; wk anchor horizontal align; wk left; wk vertical align; wk top)
WP SET ATTRIBUTES($textBox; wk anchor horizontal offset; "8cm"; wk anchor vertical offset; "4.5cm")

// define size and style
WP SET ATTRIBUTES($textBox; wk padding; "0.5cm")  // inside margins
WP SET ATTRIBUTES($textBox; wk width; "10cm"; wk height; "3.5cm")
WP SET ATTRIBUTES($textBox; wk border style; wk dashed; wk border color; "Blue"; wk border width; "1pt"; wk border radius; "10pt")
WP SET ATTRIBUTES($textBox; wk vertical align; wk center)

// #3: insert some formulas inside the text box 
WP INSERT FORMULA($textBox; Formula(This.data.fullName); wk append)
WP INSERT BREAK($textBox; wk paragraph break; wk append)
WP INSERT FORMULA($textBox; Formula(This.data.fullAddress); wk append)

// #4: Set style to the content of the text box
WP SET ATTRIBUTES($textBox; wk font; "Arial"; wk font bold; wk true; wk font size; "18pt")

Sie haben heute keine Lust zu programmieren? Kein Problem, die Standardaktionen sind für Sie da!

Standard-Aktionen (in Verbindung mit Menüs oder Schaltflächen)

„insertTextBox“ ist die neue Standardaktion zum Erstellen von Textfelder aber das Präfix textbox/ kann auch verwendet werden, um Parameter wie Ränder, Ränder, Polsterung, Hintergrund usw. einzustellen.

Hier sind einige Beispiele:

  • textBox/marginLeft
  • textBox/paddingTop
  • textBox/borders
  • textBox/delete

 

Oder Sie können Ihr eigenes Menü erstellen…

$menu:=Create menu
APPEND MENU ITEM($menu; ak standard action title)
SET MENU ITEM PROPERTY($menu; -1; Associated standard action name; "textBox/borderStyle")

APPEND MENU ITEM($menu; ak standard action title)
SET MENU ITEM PROPERTY($menu; -1; Associated standard action name; "textBox/borderColor")

APPEND MENU ITEM($menu; ak standard action title)
SET MENU ITEM PROPERTY($menu; -1; Associated standard action name; "textBox/borderWidth")

APPEND MENU ITEM($menu; ak standard action title)
SET MENU ITEM PROPERTY($menu; -1; Associated standard action name; "textBox/backgroundColor")

$value:=Dynamic pop up menu($menu)
// no need to check the $value, all items are based on standard actions!
// just don't forget to release the menu to avoid memory leaks!
RELEASE MENU($menu)

Und hier ist das erstellte Menü:

blank

EXPORTIEREN NACH PDF, SVG!

Natürlich berücksichtigen die meisten Exportformate diese Textfelder. Beim HTML-Export ist zu beachten, dass die Verankerung im eingebetteten Modus erfolgen muss, nicht im Seitenmodus!

Fazit

Diese neue Funktion ist ein bedeutender Durchbruch in 4D Write Pro. Sie ermöglicht die Erstellung von komplexeren Dokumenten und ist dabei sehr einfach zu bedienen.

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.