STRCASE

Changer la casse

Pour la petite histoire en typographie la "casse" était un casier où l'on rangeait les caractères en plomb qui servaient aux presses d'imprimerie. Lien Wikipedia

Depuis le langage a évolué et la casse exprime la différence faite entre capitale (ou majuscule) et minuscule dans un texte.

Cette fonction transforme donc la casse d'une chaîne de caractères (string), pour la convertir en majuscules ou suivant l'option choisie la mettre en minuscules.

Si la chaîne donnée en argument contient des chiffres ou des nombres ces derniers sont considérés comme des caractères alphabétiques, donc sans caractéristique numérique, autrement dit on ne peut pas faire d'opérations arithmétiques avec dans leur nouvel état de caractères (string).

Syntaxe(strcase chaîne [option])
argumentschaîne, une chaîne de caractères (string)
option,
facultatif
si option est spécifié à T :
tous les caractères alphabétiques de la chaîne de caractères (string) seront transformés en minuscules.
Valeur renvoyéela chaîne de caractères (string) transformée.

Exemples :

( strcase "Ceci Est Un Exemple" ) renvoie "CECI EST UN EXEMPLE"
( strcase  "Ceci Est Un Exemple" T ) renvoie "ceci est un exemple" notez l'argument T à la fin pour passer en minuscules.
( strcase "à é ù" ) renvoie "A E U", aucune gestion des accents
( strcase "ELECTRICITE" T ) renvoie "electricite" en minusules.
( strcase "électricité" ) renvoie "ELECTRICITE", majuscules non accentuées.
( strcase "Électricité" T ) renvoie "électricité" car première majuscule accentuée.
( strcase "code postal 22999" ) renvoie "CODE POSTAL 22999".


Attention aux caractères accentués.
Déjà que les majuscules accentuées font débat dans la langue française, l'origine américaine du logiciel ignore complètement cette notion d'accents. Voir ce qui suit pour y remédier

XSTRCASE

Au sujet des accents il y a tout de même deux alternatives :

La première est d'utiliser la fonction (xstrcase) :

Cette fonction tient compte des accents, mais ne sait que passer de minuscules vers majuscules, étrangement l'inverse ne fonctionne pas  et il va donc falloir ruser :
En fait il manque l'argument optionnel T ou nil de la fonction (strcase).

Si on part de minuscules : ( xstrcase "àéèùâ" ) renvoie "ÀÉÈÙÂ"
Si on part de majuscules : ( xstrcase "ÀÉÈÙÂ" ) renvoie "ÀÉÈÙÂ" pas de changement !
Alors pour revenir de lettres majuscules accentuées à des minuscules accentuées, elles aussi, on va biaiser en reprenant la fonction de base (strcase).
( strcase "ÀÉÈÙÂ" T )
qui renvoie cette fois-ci : "àéèùâ"

La deuxième alternative est d'utiliser la commande TCASE des ExpressTools mais depuis l'interface graphique d'AutoCAD.


Haut de page

revenir au menu CHAINES DE CARACTÈRES


26 mai 2017,
mise à jour le 17 novembre 2019

mise à jour le 03 novembre 2021 (mise en page)