Derniers Articles
Vous êtes ici : Accueil / Tutoriaux / Développement / Surcharger une fonction du WLangage

Surcharger une fonction du WLangage

Il est possible d’améliorer soi-même les fonctions du WL pour créer de nouvelles syntaxes.

Prenons un exemple simple et concret pour en démontrer la simplicité et l’efficacité:

Je veux pouvoir étendre les capacités de la fonction Majuscule(sChaine) pour qu’elle admette un 2ieme paramètre optionnel me permettant de préciser :

  • si je veux une conversion intégrale de la chaine en majuscule (comportement actuel)
  • si je veux uniquement mettre en majuscule le premier caractère de la chaîne
  • si je veux que chaque mot de la chaine soit mis en majuscule, et le reste en minuscule. Par exemple comme pour les nombres en lettre : Trois Mille Deux Cent Quatre-vingt Dix Neuf

Je commence par créer une énumération qui me servira de base pour guider le développeur qui utilisera cette nouvelle syntaxe, dans une collection de procédures globales :


Ensuite, je définis ma nouvelle procédure comme suit, dans la même collection de procédures globales :

Procédure Majuscule() surchargée …

Au final, la procédure s’utilise comme si de rien n’était, avec si l’on désire, le paramètre optionnel, ou comme avant :


NOTE : ici j’ai utilisé des propriétés récentes de la syntaxe POUR TOUT, qui accepte un tableau de plusieurs séparateurs à la suite de SEPAREE PAR …. Cette syntaxe est apparue en V22 ou V21, je ne sais plus trop, et ce n’est pas documenté, il faudra donc adapter l’algorithme pour les versions plus anciennes.

N’oubliez pas d’activer le pavé de commentaires comme suit, pour que le développeur qui utilise la nouvelle surcharge puisse bénéficier d’une aide interactive lors de la saisie des paramètres :


l’aide interactive que l’on retrouve à l’usage :


Merci à http://carnetwindev.blogspot.com/

Lien

Répondre

Votre adresse email ne sera pas publiée.

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.

shared on wplocker.com