Objet Dictionary | |||||||||||||
Createable | |||||||||||||
Oui |
|||||||||||||
Bibliothèque | |||||||||||||
Microsoft Scripting Runtime |
|||||||||||||
Description | |||||||||||||
L'objet Dictionary est identique à l'objet Collection, sauf qu'il se base généralement sur la table associative Perl. Tout comme une table ou un objet Collection, l'objet Dictionary conserve des éléments appelés éléments ou membres contenant des données. Un objet Dictionary peut contenir tous les types de données possibles, y compris des objets et d'autres objets Dictionary. Pour accéder à la valeur de ces éléments de dictionnaire, il faut utiliser des clés uniques (ou valeurs nommées) stockées avec les données plutôt que d'utiliser une position ordinale des éléments comme c'est le cas avec une table. L'objet Dictionary est donc idéal pour accéder à des données associées à une valeur nommée unique. Vous pouvez accéder à tous les éléments stockés dans un objet Dictionary au moyen de l'élément For Each ...Next. Cependant, au lieu de renvoyer une variante contenant la valeur des données stockée dans l'objet Dictionary comme attendu, il renvoie une variante contenant la clé associée au membre. Il suffit ensuite de transmettre cette clé à la méthode Item pour récupérer le membre, comme illustré dans l'exemple suivant : Dim vKey Dim sItem, sMsg Dim oDict Set oDict = CreateObject("Scripting.Dictionary") oDict.Add "One", "Engine" oDict.Add "Two", "Wheel" oDict.Add "Three", "Tire" oDict.Add "Four", "Spanner" For Each vKey In oDict sItem = oDict.Item(vKey) sMsg = sMsg & sItem & vbCrLf Next MsgBox sMsg |
|||||||||||||
Propriétés de l'objet Dictionary | |||||||||||||
L'objet Dictionary possède les quatre propriétés suivantes :
|
|||||||||||||
Méthodes de l'objet Dictionary | |||||||||||||
L'objet Dictionary prend en charge les cinq méthodes suivantes :
|
Méthode Dictionary.Add | |
Syntaxe | |
dictionaryobject.Add clé, élément
|
|
Description | |
Ajoute une clé et l'élément qui lui est associé à l'objet Dictionary spécifié. |
|
Les règles en bref | |
|
|
Exemple | |
L'exemple utilise un objet Dictionary pour enregistrer des abréviations d'état et les noms d'état correspondants : Dim StateCode, StateName Dim StateDict Dim Key Set StateDict = CreateObject("Scripting.Dictionary") StateCode = "CA" StateName = "California" StateDict.Add StateCode, StateName StateCode = "NY" StateName = "New York" StateDict.Add StateCode, StateName StateCode = "MI" StateName = "Michigan" StateDict.Add StateCode, StateName Key = "NY" MsgBox StateDict.Item(Key) |
|
Conseils de programmation et pièges | |
|
|
Voir aussi | |
Propriété Dictionary.Key |
|
Propriété Dictionary.CompareMode | |
Type de données | |
Long |
|
Description | |
Définit ou renvoie le mode utilisé pour comparer les clés dans un objet Dictionary. |
|
Les règles en bref | |
|
|
Conseils de programmation et pièges | |
|
|
Propriété Dictionary.Count | |
Type de données | |
Long |
|
Description | |
Une propriété en lecture seule qui renvoie le nombre de paires clé-élément d'un objet Dictionary. |
|
Les règles en bref | |
Cette propriété renvoie le nombre effectif d'éléments figurant dans le dictionnaire Par conséquent, si vous utilisez la propriété Count pour itérer les éléments du dictionnaire, vous utiliserez un code similaire à celui-ci : Dim ctr For ctr = 0 to dictionary.Count - 1 ' do something Next |
|
Méthode Dictionary.Exists | |
Syntaxe | |
dictionaryobject.Exists(key)
|
|
Valeur renvoyée | |
Booléenne |
|
Description | |
Détermine si une clé donnée est présente ou non dans un objet Dictionary. |
|
Les règles en bref | |
Renvoie la valeur True si la clé spécifiée figure dans l'objet Dictionary ; la valeur False dans le cas contraire. |
|
Conseils de programmation et pièges | |
|
|
Exemple | |
If oDict.Exists(strOldKey) Then oDict.Key(strOldKey) = strNewKey End If |
|
Propriété Dictionary.Item | |
Syntaxe | |
La syntaxe permettant de paramètrer un élément est la suivante : dictionaryobject.Item(key) = item La syntaxe permettant de renvoyer un élément est la suivante : value = dictionaryobject.Item(key)
|
|
Type de données | |
Quelconque |
|
Description | |
Définit ou renvoie l'élément de données à relier à une clé spécifiée dans un objet Dictionary. |
|
Les règles en bref | |
|
|
Conseils de programmation et pièges | |
|
|
Exemple | |
L'exemple utilise l'objet Dictionary comme table de recherche pour récupérer le nom d'état correspondant au code d'état saisi par l'utilisateur. La page HTML contenant les informations utilisateur que reçoit le serveur se présente comme suit : <HTML> <HEAD><TITLE>Dictionary Object Example</TITLE></HEAD> <BODY> Enter your name and location: <P> <FORM METHOD=POST ACTION=dictobj.asp> Your name: <INPUT TYPE="Text" NAME="VisitorName" /><P> Your location: <INPUT TYPE="Text" NAME="City" />, <INPUT TYPE="Text" NAME="State" SIZE=2 /> <P> <INPUT TYPE="Submit" VALUE="Submit" /> </FORM> <BODY> </HTML> La page ASP qui récupère les informations fournies par l'utilisateur, les code et utilise l'objet Dictionary pour récupérer le nom d'état complet se présente comme suit : <HTML> <HEAD> <TITLE>ASP Page for the Dictionary Object Example</TITLE> </HEAD> <BODY> <% Show Greeting %> <SCRIPT LANGUAGE="VBScript" RUNAT="Server"> Sub ShowGreeting( ) Dim StateDict Dim ClientName, ClientState ' Initialize dictionary Set StateDict = Server.CreateObject("Scripting.Dictionary") StateDict.Add "NY", "New York" StateDict.Add "CA", "California" StateDict.Add "FL", "Florida" StateDict.Add "WA", "Washington" StateDict.Add "MI", "Michigan" StateDict.Add "MA", "Massachusetts" StateDict.Add "MN", "Minnesota" ' add other states ClientName = Server.HTMLEncode(Request.Form("VisitorName")) ClientState = Server.HTMLEncode(Request.Form("State")) Response.Write("Hello, " & ClientName & ". <P>") Response.Write("We are pleased to have a visitor from ") Response.Write(StateDict.Item(ClientState) & "!") End Sub </SCRIPT> </BODY> </HTML> |
|
Méthode Dictionary.Items | |
Syntaxe | |
dictionaryobject.Items
|
|
Valeur renvoyée | |
Une table Variante. |
|
Description | |
Renvoie une table contenant tous les éléments de l'objet Dictionary spécifié. |
|
Les règles en bref | |
La table renvoyée représente toujours une table variante basée sur zéro dont le type de données correspond à celui des éléments de l'objet Dictionary. |
|
Conseils de programmation et pièges | |
|
|
Voir aussi | |
Méthode Dictionary.Keys |
|
Propriété Dictionary.Key | |
Syntaxe | |
dictionaryobject.Key(key) = newkey
|
|
Type de données | |
Une chaîne. |
|
Description | |
Remplace une clé existante par une nouvelle clé. |
|
Les règles en bref | |
|
|
Exemple | |
Private Function ChangeKeyValue(sOldKey, sNewKey) 'Assumes oDictionary is a public object If oDictionary.Exists(sOldKey) Then oDictionary.Key(sOldKey) = sNewKey ChangeKeyValue = True Else ChangeKeyValue = False End If End Function |
|
Conseils de programmation et pièges | |
|
|
Méthode Dictionary.Keys | |
Syntaxe | |
dictionaryobject.Keys
|
|
Valeur renvoyée | |
Une table de chaînes. |
|
Description | |
Renvoie une table contenant toutes les valeurs Key de l'objet Dictionary spécifié. |
|
Les règles en bref | |
La table renvoyée représente toujours une table variante à base zéro dont le type de données est String. |
|
Conseils de programmation et pièges | |
La méthode Keys permet de récupérer uniquement les clés stockées dans un objet Dictionary. La méthode Items de l'objet Dictionary permet de récupérer tous les éléments de cet objet. La propriété Item de l'objet Dictionary permet de rappeler un élément de données particulier. |
|
Exemple | |
Dim vArray vArray = DictObj.Keys For i = 0 to DictObj.Count -1 Response.Write vArray(i) & "<BR>" Next |
|
Méthode Dictionary.Remove | |
Syntaxe | |
dictionaryobject.Remove key
|
|
Description | |
Supprime aussi bien la clé spécifiée que les données qui lui sont associées (à savoir, son élément) du dictionnaire. |
|
Les règles en bref | |
Si la valeur key n'existe pas, une erreur d'exécution 32811, "Elément introuvable," s'affiche. |
|
Méthode Dictionary.RemoveAll | |
Syntaxe | |
dictionaryobject.RemoveAll
|
|
Description | |
Efface le dictionnaire ; en d'autres termes, supprime toutes les clés et les données qui leur sont associées du dictionnaire. |
|
Conseils de programmation et pièges | |
Si vous voulez supprimer un nombre donné de membres plutôt que la totalité des contenus du dictionnaire, utilisez la méthode Remove. |
|