4D Write Pro – Trouver et remplacer

Traduit automatiquement de Deepl

Depuis de nombreuses années, 4D Write Pro permet de créer des documents simples ou complexes, soit par programmation en utilisant des modèles, soit en créant simplement de nouveaux documents à partir de zéro. A partir de 4D v19, les développeurs et les utilisateurs finaux seront heureux d’utiliser les nouvelles fonctionnalités de recherche (et de remplacement) de 4D Write Pro. Utiliser non seulement l’interface… mais aussi le code !

Entrons dans les détails !

HDI : 4D Write Pro – Recherche et remplacement de texte

Dites bonjour à WP Find All

Trouver (et remplacer) du texte dans un document 4D Write Pro est déjà possible avec des commandes de base comme WP Get text et WP Set text. Avec cette version de la fonctionnalité, une nouvelle commande est disponible qui permet d’aller plus vite que jamais, avec des critères optionnels !

Recherchez n’importe quelle occurrence de mot

Chercher et remplacer du texte dans un document est une opération assez typique et doit être une action simple.

Cependant, il est parfois nécessaire de prendre en compte certaines particularités de la typographie ou de la langue. Par exemple, dans les langues latines, certaines lettres peuvent être capitalisées ou accentuées. Vous pouvez également souhaiter ne sélectionner que des mots entiers et non des parties de mots, etc. En revanche, en japonais, la manière d’écrire (ainsi que la largeur des caractères) a son importance et doit parfois être prise en compte ou, au contraire, ignorée.

Il est également utile de préciser qu’une recherche doit être effectuée soit dans l’ensemble du document, soit limitée à une partie spécifique du document (par exemple, un paragraphe, une section, un en-tête, un pied de page, etc.)

Toutes ces considérations, des plus simples aux plus complexes, sont configurables avec cette nouvelle commande.

Remplacements et modifications

Si le but d’une recherche est de remplacer un seul mot (ou plusieurs mots), cela peut maintenant être effectué en une seule opération. Il suffit de passer la chaîne de remplacement en paramètre de la commande ! La cerise sur le gâteau ? Vous pouvez choisir si le style des caractères de la chaîne remplacée doit être conservé ou non lors du remplacement. Cela peut être très pratique si, par exemple, la première lettre est en gras, colorée ou simplement d’une taille différente. Par exemple, vous pouvez remplacer« Roméo » par« Juliette » 😉

S’il ne s’agit pas de modifier le contenu, mais plutôt la forme des occurrences trouvées, il suffit d’utiliser la collection retournée par la commande où chaque élément est une plage. Elles peuvent être utilisées comme paramètre pour les fonctions générales de 4D Write Pro, telles que WP Set attributes.

Exemple de code

Dans le texte ci-dessous, nous voulons remplacer « Alpha » par « Bravo ». Les accents et les majuscules ne nous intéressent pas, nous les ignorons donc. Cependant, nous voulons que la typographie de chaque lettre du mot original (Alpha) soit préservée :

Avant…

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

…Après

blank

Trouvez plus de détails sur la commande dans le centre de documentation!

Interface 4D Write Pro

Cette nouvelle fonctionnalité a été ajoutée aux widgets de l’interface 4D Write Pro :

Widget de la barre d’outils

blank

Widget de la barre latérale

blank

N’oubliez pas, le code source est disponible sur GitHub. N’hésitez pas à l’adapter à vos besoins !

Roland Lannuzel
- Product Owner & 4D Expert - Après avoir étudié l'électronique, Roland s'est lancé dans l'informatique industrielle en tant que développeur et consultant, créant des solutions pour les clients avec une variété de bases de données et de technologies. À la fin des années 80, il est tombé amoureux de 4D et l'a utilisé pour écrire des applications commerciales, notamment des systèmes de comptabilité, de facturation et de messagerie électronique. Il a rejoint la société en 1997 et a contribué à la conception de spécifications, d'outils de test et de démonstrations, ainsi qu'à la formation et à la présentation de la communauté 4D lors de nombreuses conférences. Il continue à façonner activement l'avenir de 4D en définissant de nouvelles fonctionnalités et des outils de développement de bases de données.