Per creare dei piccoli dizionari è possibile utilizzare l'oggetto Dictionary, che è un oggetto VBScript in cui è possibile memorizzare delle coppie chiave/voce, proprio come in un dizionario.
Le voci, che possono essere dati di qualsiasi tipo, vengono memorizzate all'interno di una matrice. A ciascuna voce è associata una chiave univoca che consente di recuperare una voce specifica.
Tale voce è in genere un numero intero o una stringa, ma può essere qualsiasi tipo di dati, ad eccezione di una matrice.
Il codice seguente illustra come creare un oggetto Dictionary:
Dim d ' Creo una variabile
Set d = CreateObject("Scripting.Dictionary")
d.Add "a", "Atene" ' Aggiunge chiavi e voci.
d.Add "b", "Bucarest"
d.Add "c", "Copenaghen"
Il metodo Add è permette di aggiungere delle coppie chiave/voce al dizionario.
E' possibile verificare se una chiave è presente all'interno di un dizionario, attraverso il metodo Exists, che restituisce True se la chiave specificata è inclusa nell'oggetto Dictionary, False in caso contrario.
If d.Exists("c") Then
msg = "La chiave specificata esiste."
Else
msg = "La chiave specificata non esiste."
End If
Per leggere il contenuto di un dizionario, è possibile utilizzare degli appositi metodi e proprietà.
Vediamo alcuni esempi:
Dim a, b, i, s
a = d.Keys ' Legge le chiavi
b = d.Items ' Legge le voci
For i = 0 To d.Count -1 ' Iterazione nella matrice
s = s + a(i) + ": " + b(i) + "<BR>" 'Crea la stringa da restituire
Next
Response.Write s
Restituisce:
a: Atene
b: Bucarest
c: Copenaghen
Per leggere semplicemente il valore corrispondente ad una specifica chiave si può fare così:
Response.Write d.Item("c") ' Legge la definizione corrispondente alla chiave c, cioè Copenaghen
Per modificare una chiave esistente si utilizza la proprietà Key:
d.Key("c") = "d" ' Imposta la chiave di "c" su "d".
Response.Write d.Item("d") ' Restituisce la voce associata, cioè Copenaghen.
E' ovviamente possibile anche rimuovere le coppie chiave/voce da un dizionario, utilizzando il metodo Remove per rimuovere una singola coppia e RemoveAll per svuotare il dizionario.
d.Remove("b") ' Rimuove la seconda coppia
d.RemoveAll ' Svuota il dizionario
|