Keisuke Miyako présente 4D Tags au Sommet 4D 2016

Traduit automatiquement de Deepl

Keisuke MiyakoLe directeur du service technique , 4D Japan, présente à l’adresse suivante 4D Summit Paris 2016 comment la fonction de balises de transformation 4D a été fortement renforcée avec 4D v16. Si vous n’utilisez pas encore les balises 4D, soyez sûrs que vous serez ravis de commencer à les utiliser dès que vous aurez vu cette vidéo !

En plus de l’introduction des améliorations apportées à 4D v16 qui rendent les balises 4D si puissantes, Keisuke présente ici 2 exemples concrets d’utilisation des balises 4D : exporter des données vers une feuille de calcul Excel et créer de beaux graphiques à l’aide d’une bibliothèque JavaScript à partir de données servies dans un format JSON.

Principe du Templating

Les balises 4D vous permettent de prendre des raccourcis significatifs dans tout nouveau développement qui implique XML, HTML, ou n’importe quel type de tâches de traitement de données basées sur des modèles. Il suffit d’utiliser PROCESS 4D TAGS pour générer le fichier texte qui correspond exactement à vos besoins.

Au lieu d’écrire du code complexe pour construire de manière procédurale des documents structurels basés sur des données 4D, à partir de zéro, vous pouvez prendre un document d’exemple prêt à l’emploi et bien formaté, ajouter des blocs de code 4D en utilisant les différentes balises 4D à votre disposition, et utiliser ce document comme modèle.

blank

Quoi de neuf dans 4D v16 ?

Vous êtes peut-être déjà familier avec les balises 4D existantes: 4DTEXT, 4DLOOP, 4DIF, 4DHTML… La version 16 de 4D vous offre en fait de nouvelles fonctions et balises, qui ouvrent de vastes possibilités :

  • la nouvelle balise 4DCODE
  • la nouvelle syntaxe $ offrant beaucoup plus de souplesse que la syntaxe habituelle basée sur la syntaxe de commentaire HTML <!– >
  • et la possibilité de déboguer votre code à l’intérieur du modèle!

Nouvelle balise 4DCODE

La balise4DCODE est assez similaire à la balise 4DEVAL. Mais contrairement à 4DEVAL qui évalue une seule expression 4D, 4DCODE permet d’insérer du code 4D sur plusieurs lignes. Ainsi, vous pouvez simplement copier votre méthode existante ou un bloc de code et le coller à l’intérieur de votre balise 4DCODE dans votre document de modèle.

< !--#4DCODE
ALL RECORDS:C47([Product:1])
ORDER BY:C49([Product:1] ;[Product:1]name:2)
ARRAY TEXT:C222($paramNames;0)
WEB GET VARIABLE :683($paramNames)
C_LONG INT:C283($f)
$f:=Recherche dans le tableau:C230($paramNames ; "année")
If($f#-1)
ALL RECORDS:C47([Inventaire:2])
End if
-->

Vous pouvez en fait utiliser autant de balises 4DCODE que vous le souhaitez dans vos modèles. Vous pouvez interroger la base de données, vous pouvez utiliser des tableaux, des pointeurs, des objets. En fait, vous pouvez faire tout ce que vous pouvez faire dans vos méthodes 4D.

4DCODE ne vous permet pas seulement d’inclure du code 4D en mode main libre, il vous donne également la possibilité de tracer et de déboguer ce code. Il suffit d’utiliser la commande TRACE dans votre modèle de balises 4D, et le débogueur sera ouvert lorsque les balises seront traitées !

Utiliser les numéros de commande

Dans l’exemple donné ci-dessus, vous avez sûrement remarqué les suffixes :Cxx, ajoutés à la fin de chaque commande. Le numéro du suffixe est en fait le numéro de la commande. Par exemple, 47 est le numéro de commande de la commande ALL RECORDS.

C’est facultatif, mais c’est un moyen sûr d’écrire le code 4D en texte clair. Cela évite de rencontrer des problèmes après qu’une commande 4D a été renommée, mais vous permet également d’utiliser des noms de commande 4D français dans votre balise 4DCODE et de l’exécuter dans un environnement système anglais. Vous pouvez même aller plus loin en évitant complètement le nom de la commande et en utilisant simplement :Cxx, c’est tout !

Veuillez également noter que les suffixes :Cxx peuvent être générés automatiquement à l’aide de l’option Code with tokens de la commande METHOD GET CODE bien sûr, vous n’avez pas besoin de le faire manuellement !

Nouvelle syntaxe $ pour plus de flexibilité

Au lieu d’utiliser les commentaires HTML, il est maintenant possible d’utiliser le symbole « $ » avant les balises 4DEVAL, 4DTEXT et 4DHTML et de passer entre parenthèses toute expression 4D que vous devez évaluer. Par exemple

4DTEXT($fontName)

Cette nouvelle syntaxe vous donne maintenant la possibilité de placer des balises 4D à l’intérieur d’un attribut XML par exemple, où vous n’êtes pas autorisé à utiliser les signes « < » et « > ». Le développeur dispose ainsi d’une plus grande souplesse quant à l’utilisation des balises 4D.

Vous voulez en savoir plus ? Consultez cet article pour en savoir plus sur cette nouvelle syntaxe.