Liens dans les documents 4D Write Pro

Traduit automatiquement de Deepl

En tant que développeur ou utilisateur final, vous savez combien les hyperliens peuvent être pratiques. Sans eux, vous auriez besoin de connaître l’URL de chaque page sur Internet ! Ils vous permettent de transformer votre texte ou vos images en liens pour faciliter les transitions d’un endroit(par exemple, un document 4D Write Pro) à un autre (généralement un site Web).

Et si les liens pouvaient offrir plus ? Et s’ils pouvaient lancer l’exécution d’un code 4D ou simplement déplacer le curseur vers une autre zone du même document ? C’est possible !

Vous pouvez insérer des liens dans vos documents avec la commande WP Set attribute, mais uniquement des URL. La nouvelle commande WP SET LINK vous permet également de définir des URL (plus facilement), mais vous donne également la possibilité d’invoquer une méthode depuis votre application (avec des paramètres !) ou de cibler des signets depuis votre document !

QUATRE types de liens

  • Le premier type de lien fonctionne de manière similaire à WP Set attributes ($range;wk link url…) sauf que le paramètre est maintenant un objet au lieu d’une chaîne de caractères.

$link:=New object("url" ; "www/4d.com")
WP SET LINK ($target;$link)

  • Le deuxième type de lien permet de créer des liens qui, lorsqu’on clique dessus, exécutent une méthode 4D. La méthode peut même recevoir un paramètre textuel ou numérique. Assurez-vous simplement que la méthode est définie comme « autorisée » avec la commande SET ALLOWED METHODS.

$link:=New object("method" ; "myAlert" ; "parameter" ; "Hello world !")
WP SET LINK ($target;$link)

  • Le troisième type de lien permet de définir des liens vers des documents externes (sur le disque). Les documents doivent être des documents 4D Write ou 4D Write Pro pour pouvoir être importés. Ils remplaceront le document courant.

$link:=New object("url" ; "HelloWorld.4WP)
WP SET LINK ($range;$link)

  • Le quatrième type de lien est nouveau: un lien peut être défini comme un signet. Bien entendu, le signet doit déjà avoir été créé dans votre document. Lorsque vous cliquez sur le lien, le curseur « saute » automatiquement sur le signet !

$link:=New object("bookmark" ; "chapterOne")
WP SET LINK ($target;$link)

Avez-vous remarqué que le premier paramètre est une cible? Il peut s’agir d’une plage ou de tout autre objet valide de votre document (comme un paragraphe ou un élément tel qu’une image). Cela rendra votre programmation beaucoup plus facile à écrire et à maintenir !

Maintenant que les liens ont été définis, allons les chercher !

Comme vous pouvez le deviner, la nouvelle commande WP SET LINK est accompagnée d’un frère ou d’une soeur : WP Get links.

En un seul appel, cette commande renvoie une collection de tous les liens d’un document. Chaque lien de cette collection est un objet avec une description du lien dans ses attributs.

Les attributs sont :

link.url (pour les liens URL)
link .bookmark (pour les liens de signet)
link .method (pour les liens de méthode)
link .parameter (le cas échéant)
link .range (informations telles que .start, .end, etc.)

Vous trouverez ci-dessous une IDH pour démontrer toutes ces possibilités :

Exemple de base de données

Plus de détails peuvent être trouvés sur le centre de documentation.

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.