4D Write Pro – Suchen und Ersetzen

Seit vielen Jahren ermöglicht 4D Write Pro die Erstellung einfacher oder komplexer Dokumente, entweder durch Programmierung mit Hilfe von Vorlagen oder durch einfaches Erstellen neuer Dokumente von Grund auf. Ab 4D v19 werden sowohl Entwickler als auch Endanwender die neuen Such- (und Ersetzungs-) Funktionen von 4D Write Pro zu schätzen wissen. Nicht nur die Oberfläche… sondern auch den Code nutzen!

Schauen wir uns die Details an!

HDI: 4D Write Pro – Suchen & Ersetzen

Sagen Sie hallo zu WP Find All

Das Suchen (und Ersetzen) von Text in einem 4D Write Pro Dokument ist bereits mit einfachen Befehlen wie WP Get text und WP Set text. Mit dieser neuen Version steht ein neuer Befehl zur Verfügung, der es ermöglicht, schneller als je zuvor zu arbeiten, mit optionalen Kriterien!

Finden Sie jedes beliebige Wortvorkommen

Das Suchen und Ersetzen von Text in einem Dokument ist ein ziemlich typischer Vorgang und muss eine einfache Aktion sein.

Allerdings ist es manchmal notwendig, bestimmte typografische oder sprachliche Besonderheiten zu berücksichtigen. In lateinischen Sprachen können beispielsweise bestimmte Buchstaben großgeschrieben oder akzentuiert sein. Möglicherweise möchten Sie auch nur ganze Wörter und nicht Teile von Wörtern auswählen, usw. Im Japanischen hingegen hat die Schreibweise (und auch die Breite der Zeichen) ihre eigene Bedeutung und muss manchmal berücksichtigt oder im Gegenteil ignoriert werden.

Es ist auch sinnvoll, die Suche entweder auf das gesamte Dokument oder auf einen bestimmten Teil des Dokuments (z. B. einen Absatz, einen Abschnitt, eine Kopf- oder Fußzeile usw.) zu beschränken.

Alle diese Überlegungen, von den einfachsten bis zu den komplexesten, sind mit diesem neuen Befehl konfigurierbar.

Ersetzungen und Änderungen

Wenn der Zweck einer Suche darin besteht, ein einzelnes Wort (oder mehrere Wörter) zu ersetzen , kann dies jetzt in einem einzigen Vorgang erfolgen. Die Ersetzungszeichenfolge muss lediglich als Parameter an den Befehl übergeben werden! Das Tüpfelchen auf dem „i“? Sie können wählen, ob der Stil der Zeichen in der ersetzten Zeichenfolge beim Ersetzen beibehalten werden soll oder nicht. Das kann zum Beispiel sehr praktisch sein, wenn der erste Buchstabe fett, farbig oder einfach unterschiedlich groß ist. Zum Beispiel können Sie„Romeo“ durch„Julia“ ersetzen 😉

Wenn es nicht darum geht, den Inhalt zu ändern, sondern die Form der gefundenen Vorkommen, verwenden Sie einfach die vom Befehl zurückgegebene Sammlung, bei der jedes Element ein Bereich ist. Sie können als Parameter für allgemeine 4D Write Pro Funktionen verwendet werden, wie z. B. WP Set attributes.

Code-Beispiel

Im untenstehenden Text wollen wir „Alpha“ durch „Bravo“ ersetzen. Die Akzente und Großbuchstaben sind uns egal, also ignorieren wir sie. Wir möchten jedoch, dass die Typografie der einzelnen Buchstaben des ursprünglichen Wortes (Alpha) erhalten bleibt:

Vor …

$find:="Alpha"
$replace:="Bravo"
$options:=wk case insensitive+wk diacritic insensitive +wk keep character style
$_ranges:=WP Find all([SAMPLE]
WP ; $find; $options; $replace)

…Nach

blank

Weitere Details zu diesem Befehl finden Sie im Doc Center!

4D Write Pro Schnittstelle

Diese neue Funktion wurde zu den 4D Write Pro Interface Widgets hinzugefügt:

Symbolleisten-Widget

blank

Seitenleisten-Widget

blank

Vergessen Sie nicht: Der Quellcode ist auf GitHub verfügbar. Sie können ihn gerne an Ihre Bedürfnisse anpassen!

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.