La gestion du texte
CHAPITRE 14
335
Changer la casse d’un texte
Vous aurez parfois besoin de changer la casse d’un texte de minuscules en majuscules et
inversement. La propriété restrict peut convertir un affichage de caractères dans la casse
de votre choix, mais uniquement lors de la saisie d’un texte de la part de l’utilisateur.
Nous allons maintenant découvrir deux méthodes de la classe String() qui peuvent
convertir la casse d’un texte a posteriori.
• toUpperCase() pour basculer l’affichage de caractères en majuscules ;
• toLowerCase() pour basculer l’affichage de caractères en minuscules.
Vous remarquerez que les deux noms employés sont accompagnés de parenthèses car il
s’agit de méthodes et non de propriétés. Dans l’exemple ci-dessous, nous affichons dans
un texte sur la scène une chaîne de caractères composée d’une concaténation comprenant
une conversion à l’aide de la méthode toUpperCase().
affichageMessage.text = "Votre réponse, "+reponse.text.toUpperCase()+", est bonne";
Lorsque vous devrez comparer le contenu d’un texte de saisie avec une variable ou une
chaîne de caractères, si vous ne souhaitez pas que cette comparaison soit sensible à la casse,
vous ferez alors appel à l’une de ces deux méthodes (toUpperCase() ou to LowerCase()).
if(reponse.text.toUpperCase()=="PARIS") pointsGeneraux++;
Dans cet autre exemple, l’utilisateur n’a pas à se soucier de la casse du texte qu’il a saisi :
une conversion automatique est effectuée.
var reponse:TextField = new TextField();
reponse.border = true;
reponse.height = 20;
reponse.width = 150;
reponse.type = TextFieldType.INPUT;
addChild(reponse);
reponse.addEventListener(Event.CHANGE,basculerMajuscule);
function basculerMajuscule (evt:Event) {
reponse.text = reponse.text.toUpperCase();
}
Vous remarquerez que nous avons utilisé un écouteur gérant l’événement Event. Consultez le développement intitulé Gérer les événements liés au texte, dans les dernières pages
de ce chapitre, pour avoir une approche globale du problème.
Si vous connaissez la propriété restrict de la classe TextField(), vous ne trouverez peutêtre pas cet exemple pertinent. Voici une variante du script ci-dessus qui permet de basculer
partiellement l’affichage d’un texte avec une majuscule en début de mot et le reste en
minuscules.
var prenom:TextField = new TextField();
var longeurChaine:Number;
Précédent

- 363/426

Suivant