Visual Basic .Net:Fonctions de chaînes

Un article de WikiTuto.

Jump to: navigation, search
  • VB .Net un langage objet
  1. Définition du langage Objet
  2. La syntaxe objet
  3. La programmation événementielle
  • L'interface de Visual Studio
  1. Structure des applications
  2. Prise en main
  • Premiers contrôles
  1. La classe Form
  2. La classe Button
  3. La classe Label
  4. La classe LinkLabel
  5. La classe Textbox
  6. La classe Richtextbox
  7. La classe Checkbox
  8. Les classes Radiobutton, GroupBox et Panel
  • Les bases du langage
  1. Les variables
  2. Les opérateurs
  3. Les tests
  4. Les boucles
  5. Les fonctions prédéfinies
    1. Fonctions de chaînes
    2. Fonctions et méthodes numériques
    3. Fonctions de conversion
    4. Fonctions d'interface
    5. Les espaces de noms
  • Les collections
  1. La notion de Collection
  2. Désigner les contrôles par leur indice
  3. La boucle For Each ... Next
  4. Tester le type d'un contrôle
  5. Créer ses propres collections par du code
  6. Créer dynamiquement des contrôles
  7. Remarque finale
  • Les contrôles listes
  1. La classe Listbox
  2. La classe Combobox
  3. La classe CheckedListBox
  4. La classe ImageList
  5. La classe Listview
  6. La classe Treeview
  • Les Événements
  1. La notion de Focus
  2. Les événements clavier
  3. Les événements Souris
  4. Glisser - Déposer
  • Autres contrôles
  1. La classe TabControl
  2. Les classes HScrollBar, VScrollBar et TrackBar
  3. La classe ProgressBar
  4. Les classes ToolTip et HelpProvider
  5. Les classes DomainUpDown et NumericUpDown
  6. Les classes DateTimePicker et MonthCalendar
  7. La classe Timer
  8. Les classes de boîtes de dialogue communes
  • Les graphismes
  1. Couleurs et Propriétés
  2. Images et Contrôles
  3. Gérer intelligemment les images
  4. méthodes graphiques
Source : Christophe Darmangeat

Sommaire

Explication

Fonctions de base

  • Mid(chaîne, nombre1, nombre2) : est une fonction bien connue qui renvoie l'extrait de chaîne qui commence au caractère numéro nombre1 et d'une longueur de nombre2 caractères. Cette fonction possède un équivalent sous forme de la méthode Substring. De sorte que pour extraire "boum" à partir de "Super, ça boume !", nous pouvons indifféremment écrire :
Resultat = Mid("Super, ça boume !", 11, 4)

ou

Resultat = "Super, ça boume !".Substring(11, 4)

Naturellement, l'exemple ci-dessus marche aussi bien avec des variables qu'avec des chaînes libellées en clair.

  • De même, à la traditionnelle fonction Len(chaîne) qui nous renvoie le nombre de caractères de la chaîne, correspond la méthode Length
  • A la fonction Instr(chaîne1, chaîne2) qui renvoie la position de chaîne2 dans chaîne 1 (la fonction renvoyant 0 si chaîne2 ne se trouve pas dans chaîne1) correspond la méthode IndexOf
  • À la fonction LTrim(chaîne) qui supprime tous les espaces situés à gauche dans la chaîne, correspond la méthode TrimLeft
  • À la fonction RTrim(chaîne) qui supprime tous les espaces situés à droite dans la chaîne, correspond la méthode TrimRight
  • À la fonction Trim(chaîne) qui supprime tous les espaces situés à droite et à gauche dans la chaîne, correspond la méthode Trim.
  • À la fonction Ucase(chaîne) qui renvoie la chaîne en majuscules, correspond la méthode ToUpper
  • À la fonction Lcase(chaîne) qui renvoie la chaîne en minuscules, correspond la méthode ToLower
  • À la fonction Format(chaîne, chaîne de format) qui permet d'obliger la chaîne (ou un nombre) à respecter un certain format d'affichage, correspond la méthode du même nom, Format. Pour ce qui est des spécifications de la chaîne de format, je vous renvoie sur l'aide, parce que sinon, on y est encore au prochain réveillon, et ce soir-là, j'ai prévu autre chose.


Certaines fonctions, toutefois, et pour des raisons parfaitement obscures, n'ont pas été dotées d'équivalent sous forme de méthode. Il s'agit par exemple de :

  • Chr(nombre) qui renvoie le caractère ayant nombre comme code ASCII.
  • ChrW(nombre) qui renvoie le caractère ayant nombre comme code Unicode (rappel : le code Unicode, à la différence du code ASCII, est composé de deux octets)


Inversement, et de manière tout aussi incompréhensible pour les esprits rationnels, il existe certaines méthodes qui accomplissent des tâches qui ne sont assumées par aucune fonction, telles :

  • Remove, qui permet de supprimer des caractères dans une chaîne (en précisant à partir de quel caractère et combien on en supprime)
  • Insert, qui permet d'insérer une chaîne dans une autre à une position donnée.
  • Split(caractère) qui éclate la chaîne en un tableau (de chaînes), en fonction du séparateur indiqué par le paramètre caractère. Ceci peut s'avérer pratique pour "découper" un chemin menant à un fichier, par exemple, et récupérer dans un tableau la liste des répertoires et des sous-répertoires en un tournemain.
  • Join(caractère, tableau de chaînes) qui effectue l'opération inverse : elle constitue une chaîne à partir des chaînes contenues dans le tableau de chaînes passé en paramètre, et en insérant à chaque fois comme séparateur le caractère passé en paramètre.

Fonctions de comparaison

Il nous reste un dernier problème à traiter avec les chaînes : celui de leur comparaison. En effet, une pelote d'épines classique est de savoir si "bonjour" doit être considéré comme la même chaîne que "BonJour" ou que "BONjoUR". VB nous permet donc de définir une option de comparaison, afin de trancher nous-mêmes dans le lard, et de décider ce qui nous arrange. Nous pouvons donc, une bonne fois pour toutes, régler cette valeur dans les propriétés du projets, par la rubrique Option Compare :

  • Binary signifiera que les caractères seront évalués d'après leur codage binaire. Majuscules et minuscules seront dès lors traitées comme des caractères différents.
  • Text signifiera à l'inverse que les caractères seront évalués en tant que tels, et que majuscules et minuscules seront considérées comme représentant le même caractère.

Une autre possibilité consistera à utiliser au choix la fonction StrComp ou la méthode String.Compare, dont nous passerons les deux chaînes à comparer en paramètres, et dont nous fixerons le troisième argument à False (si nous voulons une comparaison "binary") ou à True (si nous voulons une comparaison "text").

StrComp et String.Compare renvoient toutes les deux -1 si la première chaîne est placée avant la seconde dans l'ordre alphabétique, 0 si les deux chaînes sont égales, et 1 si c'est la seconde chaîne qui précède alphabétiquement la première. Cette technique nous permettra de spécifier les options de comparaison non une fois pour toutes, mais à chaque fois, au gré de nos besoins qui peuvent varier au cours d'un même programme.

Voir aussi

Source : Christophe Darmangeat

Boîte à outils
Annuaire gratuitCe site est listé dans la catégorie Informatique : Aide et astuces en informatique Annuaire