4D Write Pro : Plus simple, plus puissant

Traduit automatiquement de Deepl

Un grand merci à tous ceux qui utilisent 4D Write Pro et nous font part de leurs impressions sur le produit. Cela nous permet de mieux comprendre vos besoins et vos difficultés. Grâce à ces commentaires, nous avons réalisé que certaines commandes étaient devenues inutiles, complexes à utiliser et/ou difficiles à apprendre. Parfois, ce sont les plus petites choses qui rendent l’apprentissage difficile. Par exemple, si vous souhaitez simplement insérer du texte dans le pied de page, vous devez d’abord créer une plage vide ! Pourquoi est-ce si compliqué ? Bonne question !

Ainsi, de nombreuses commandes qui n’utilisaient auparavant que des plages ont été étendues afin de pouvoir gérer presque tous les types de cibles (plages, éléments, sections, documents, etc.). Le code est maintenant plus facile à écrire et à lire. Si vous avez besoin d’insérer du texte … dans un document, un pied de page, une plage, (n’importe où !) … il suffit de l’utiliser comme cible et c’est parti.

Et ce n’est pas tout ! Six commandes ont été renommées avec des noms plus courts, afin qu’elles soient plus faciles à retenir.

HDI : 4D Write Pro – plus de cibles et de commandes renommées

Plus de cibles…

Lescommandes énumérées ci-dessous ont été étendues pour accepter n’importe quel type de cible comme premier paramètre. Cela signifie qu’elles peuvent toujours utiliser une plage, mais maintenant elles peuvent également utiliser une référence (en-tête, corps, pied de page), un élément (image, paragraphe) ou même le document entier comme cible !

  • WP SET TEXT
  • WP INSERT BREAK
  • WP INSERT DOCUMENT
  • WP INSERT PICTURE
  • WP Insert table
  • WP SET ATTRIBUTES
  • WP GET ATTRIBUTES

Prenons un exemple : Je veux insérer du texte au début de mon document et une image à la toute fin de celui-ci, comment dois-je faire ?

Auparavant, vous deviez obtenir deux plages, une au début et une à la fin du document. Ensuite, vous deviez insérer le texte de la première plage, ajouter une autre plage et l’étendre avec un saut de paragraphe, et enfin insérer l’image.

Code précédent

// Create a range on start
$range:=WP Create range(WParea;wk start text;wk start text)
WP SET TEXT ($range; "Hello world !";wk prepend)
$range :=WP Create range(WParea;wk end text;wk end text)
WP INSERT BREAK($range;wk paragraph break;wk append;wk include in range)
WP INSERT PICTURE ($range;$pict;wk append)

Nouveau code

WP SET TEXT(WParea; "Hello world !";wk prepend)
WP INSERT BREAK(WParea;wk paragraph break;wk append)
WP INSERT PICTURE (WParea;$pict;wk append)

Commandes renommées

Lescommandes listées ci-dessous ont été renommées. Il n’y a plus de Get ou Create, la chose importante à retenir est range!

Ancien nom Nouveau nom
WP Create Paragraph range WP Paragraph range
WP Create Picture range WP Picture range
WP Create range WP Text range
WP Create Table range WP Table range
WP Get bookmark range WP Bookmark range
WP Get selection WP Selection range

Exemples

Voici quelques exemples pour obtenir différents types de plages :

// get the range of the paragraphs of the document
$paragraphRange:=WP Paragraph range(WParea)

// get the range of pictures inside the document
$pictureRange :=WP Picture range(WParea)

// get the range of a part of text from the document
$textRange :=WP Text range(WParea;10;20)

// get the range of the tables of the first section of the documents
$tableRange :=WP Table range(WParea;WP Get section(WParea;1))

// get the range of a specific bookmark
$bookmarkRange:=WP Bookmark range(WParea; "MainPart")

// get the range of the user selection
$selectionRange:=WP Selection range(WParea)

La documentation de ces commandes a été mise à jour et l’IDH ci-dessus démontre toutes les nouvelles capacités.

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.