L’utilisation de l’objet Dictionary avec Visual Basic

Résumé

Cet article traite de l’utilisation d’un composant à partir de la bibliothèque de scripts de Microsoft ; l’objet dictionnaire.

Plus d'informations

Le Dictionnaire est très similaire à l'objet Collection dans la fonctionnalité et la finalité. Le dictionnaire, toutefois, offre des fonctionnalités qui ne sont pas disponibles avec une Collection. Certaines de ces fonctionnalités sont les suivantes :

  • L’option pour spécifier une méthode de comparaison de clés. Ainsi, pour une clé respectant la casse, par exemple.
  • Une méthode permettant de déterminer si un objet existe dans un dictionnaire.
  • Une méthode pour l’extraction de toutes les clés dans un tableau.
  • Une méthode permettant d’extraire tous les éléments dans un tableau.
  • Procédé de modification d’une valeur de clé.
  • Une méthode pour supprimer tous les éléments du dictionnaire.
  • Les clés de dictionnaire ne sont pas limitées à un type de données chaîne.
Remarque : Une différence importante entre l'objet Collection et l'objet Dictionnaire est le comportement de la propriété Item. Si vous utilisez la propriété Item pour référencer une clé qui n’existe pas dans une Collection, vous recevrez une erreur. Si vous utilisez la propriété Item pour référencer une clé qui n'existe pas dans un dictionnaire, cette clé sera ajoutée au dictionnaire. Utilisez la méthode Exists pour déterminer si une clé est présente dans un dictionnaire.


L'objet Dictionnaire est un composant de la bibliothèque de Microsoft Scripting, qui n'est pas livrée avec Visual Basic version 5.0 ou ultérieure. Vous pouvez obtenir la bibliothèque de Microsoft Scripting (SCRRUN. DLL) en installant l’un des modules suivants :

   Windows Script Host
Windows NT Option Pack
IIS 3.0
Scripting 3.1 upgrade.


Exemple pas à pas

  1. Démarrez un nouveau projet EXE standard dans Visual Basic. (Assurez-vous que la fenêtre exécution est affichée). Form1 est créé par défaut.
  2. Ajoutez une référence à Microsoft Scripting Runtime.
  3. Ajoutez un module standard au projet.
  4. Dans le menu projet, sélectionnez Project1.Properties et changer l’objet Startup sur Sub Main.
  5. Insérez le code suivant dans Module1 :
          Option Explicit      Dim dict As Dictionary

    Sub Main()
    Dim keyArray, itemArray, element

    Set dict = New Dictionary
    With dict
    'set compare mode
    .CompareMode = BinaryCompare
    'add item using named arguments
    .Add Key:="mike", Item:=22
    'add item without named arguments
    .Add "joe", 33

    'case sensitivity and Exists method
    'does MIKE exist?
    Debug.Print "MIKE exists = " & .Exists("MIKE")
    'change key value
    .Key("mike") = "MIKE"
    'does MIKE exist?
    Debug.Print "MIKE exists = " & .Exists("MIKE")

    'extract keys into variant array
    Debug.Print "Array of Keys"
    keyArray = .Keys
    For Each element In keyArray
    Debug.Print element
    Next

    'extract items into variant array
    Debug.Print "Array of Items"
    itemArray = .Items
    For Each element In itemArray
    Debug.Print element
    Next

    'empty the dictionary
    .RemoveAll
    Debug.Print dict.Count & " Items in Dictionary"

    End With
    Set dict = Nothing
    End Sub


  6. Exécutez le projet. Vous devez voir que la recherche initiale de la clé ne fonctionne pas, puis réussit après que la valeur de clé est remplacée par une valeur en majuscules. Ensuite, vous devez voir le contenu des tableaux qui ont été extraits à partir du dictionnaire à l’aide des méthodes clés et éléments variant. Enfin, vous consultez le résultat après vidage du dictionnaire.
Propriétés

ID d'article : 187234 - Dernière mise à jour : 8 janv. 2017 - Révision : 1

Commentaires