Gestion programmée des en-têtes et des pieds de page dans 4D Write Pro

Traduit automatiquement de Deepl

Plusieurs clients nous ont demandé de pouvoir utiliser le modèle 4D Write Pro avec des en-têtes et des pieds de page pour créer d’autres documents basés sur ce modèle. Eh bien, nous vous avons entendu et cela est disponible dans 4D v16 R5.

Un nouvel ensemble de commandes a été ajouté à 4D Write Pro pour répondre à ce besoin. Certaines de ces commandes peuvent être utilisées pour obtenir les références des en-têtes, du corps et des pieds de page à l’intérieur des documents. D’autres sont pratiques pour obtenir une référence au cadre (en-tête, pied de page, etc.) où se trouve actuellement le curseur, ou pour placer le curseur dans un cadre spécifique.

Exemple de base de données

Obtenir une référence aux en-têtes, pieds de page ou corps de texte

Nouvelles commandes 4D – WP Get header, WP Get body et WP Get footer – ont été ajoutées afin que les développeurs puissent obtenir une référence à n’importe quel en-tête ou pied de page du document ou d’une section spécifique.

Ces références peuvent ensuite être utilisées pour obtenir des plages associées, créer des documents, etc. L’objectif final est de copier le contenu de n’importe quel cadre (entièrement ou partiellement) et de le coller dans n’importe quel autre cadre du même document ou dans tout autre document nouveau ou existant.

Exemple de code

// Get the header from a template and put it in the header of the main document
$source:=WP Get header(mytemplate;1) // first section
$rangeSource :=WP Get range($source;wk start text;wk end text)
$tempoc :=WP New($rangeSource)

$target :=WP Get header(myDocument;1) // first section
$rangeTarget :=WP Get range($target;wk start text;wk end text)
WP INSERT DOCUMENT ($rangeTarget;$tempoc;wk replace)

Déplacer le curseur sur un cadre spécifique

Lors de la création de documents élaborés par programmation, il se peut que vous souhaitiez placer successivement certaines informations d’abord dans l’en-tête, puis dans le pied de page, et enfin revenir en arrière pour remplir le corps du document. Cela signifie essentiellement que vous devez disposer d’un moyen de naviguer dans les différents cadres du document.

La commande WP Get frame permet d’obtenir la référence au cadre dans lequel se trouve le curseur : en-tête, premier en-tête, corps, premier pied de page, etc. La commande WP SET FRAME fait le travail inverse. Elle place le curseur à l’intérieur d’un cadre spécifique pour autant que ce cadre existe dans le document.

Exemples de code

Disons que vous voulez déplacer le curseur vers l’en-tête principal :

WP SET FRAME(* ; "WParea" ;wk current section default header)

Si vous voulez vous assurer que l’utilisateur a placé le curseur dans un en-tête ou un pied de page :

$frame:=WP Get frame(* ; "WParea")
If ($frame=wk body)
ALERT ("Veuillez sélectionner un pied de page ou un en-tête")
End if

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.