Utilisation de la formule @Format

Voici quelques mois, j’avais écrit article montrant comment mettre en place un champ chrono, et à cette occasion, j’avais donné un exemple des fonctionnalités de la formule @Format. La syntaxe de cette fonction du langage MezzoScript est issue de celle disponible dans .NET, le langage de développement de Mezzoteam. Je vous propose de voir quelques exemples de paramétrage possible de cette fonction.

Syntaxe
La fonction @Format prend comme arguments un objet (qui peut être une chaîne de caractères, un nombre, une date…), une chaîne décrivant le format à appliquer, et renvoie la chaîne formattée.
@Format(object ,formatString) as stringFonctions sur les chaînes de caractères
Vous pouvez utiliser la notation {0} pour insérer une valeur variable dans une chaîne de caractères, plutôt que de recourir à l’opérateur de concaténation &. Ainsi :
@Format("premier","Mon {0} test")
retourne
Mon premier test

Fonctions sur les nombres
Pour formatter des nombres,vous avez deux tags à votre disposition : # et 0. Le premier tag renvoie le chiffre correspondant, ou rien s’il n’y en a pas. Le second renvoie le chiffre correspondant ou 0, ce qui est très pratique pour formatter les numéros d’ordre des documents. Ainsi :
@Format(123456,"00000000")
retourne
00123456

Par contre
@Format(123456,"########")
retourne
123456

Il est également possible d’utiliser ces tags pour formatter d’autres nombres, comme par exemple un numéro de téléphone (vous me direz, ils sont généralement stockés au format chaîne ;-), comme par exemple :
@Format(1234356789,"+33 (0) ### ### ###")
retourne
+33 (0) 123 456 789

Il existe également une syntaxe permettant d’alterner les représentations en fonction de la valeur (positive, négative, nulle). On peut ainsi écrire :
@format(1234,"€ #,##0.00;(€ #,##0.00);Zero")
qui retournera € 1 234,00 en passant 1234, (€ 1 234,00) en passant -1234, ou Zero en passant 0. Il est à noter que le formattage des nombres (espaces pour séparer les milliers, virgule pour les décimales) changera selon la langue choisie par l’utilisateur.

Fonctions sur les dates
Les possibilités de conversions les plus intéressantes (et les plus utiles) concernent les dates et les heures. Les plsu simples des tags permettent de récupérer la date et l’heure au format court ou long, selon les préférences de la langue de l’utilisateur. Par exemple :
@Format(maDateHeure,"D")
retourne vendredi 21 septembre 2007 si telle est le contenu de maDateHeure. Dans le même ordre d’idée, d permet de retourner une date courte (21/09/2007), t une heure courte (19:32) et T une heure longue (19:32:53) ; f combine une date longue et une heure courte, F une date longue et une heure longue ; f et G font la même chose, mais en variant la date au lieu de l’heure.

Il est également possible d’extraire une partie de la date ou de l’heure, en utilisant les tags suivants :
dd, ddd, dddd pour le jour, renvoie 21 ou ven. ou vendredi,
MM, MMM, MMMM pour le mois, renvoie 09 ou sept. ou septembre,
yy, yyyy pour l’année, renvoie 07 ou 2007.

hh pour l’heure renvoie 19,
mm pour les minutes renvoie 32,
ss pour les secondes renvoie 53.

Voilà, vous en savez déjà suffisamment pour pouvoir vous amuser ! Si vous souhaitez aller plus loin, vous pouvez vous plonger dans la documentation de .NET que vous trouverez (en anglais) sur msdn.microsoft.com. Attention tout de même, tous les types de formatages ne sont pas supportés par Mezzoteam.

Des screencasts pour Rails

Si vous souhaitez aller un peu plus avec Rails que la simple lecture de Ruby on Rails chez Eyrolles, je vous conseille chaudement le site de Ryan Bates (qui n’a rien à voir avec Norman ;-), Railscasts.

Le site Railscasts.com de Ryan Bates

Vous y trouverez de courts épisodes, qui chaque fois traitent un problème de la « vraie vie » des applications Rails. Le plus simple bien sûr, c’est de suivre tout ça au travers de son flux RSS !

Ryan en est presque à son 70ème épisode, il y a là une mine à découvrir d’urgence !