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.
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