2008-08-05 23 views

Respuesta

3

Sean cuales sean sus [cosas] que deban escribirse fuera de VBScript.

En VB6, you can write a Custom Collection class, tendrá que compilar en una DLL ActiveX y registrarla en su servidor web para acceder a ella.

12

¿Algo como esto?

dim cars(2),x 
cars(0)="Volvo" 
cars(1)="Saab" 
cars(2)="BMW" 

For Each x in cars 
    response.write(x & "<br />") 
Next 

Ver www.w3schools.com.

Si desea asociar claves y valores use a dictionary object lugar:

Dim objDictionary 
Set objDictionary = CreateObject("Scripting.Dictionary") 
objDictionary.Add "Name", "Scott" 
objDictionary.Add "Age", "20" 
if objDictionary.Exists("Name") then 
    ' Do something 
else 
    ' Do something else 
end if 
2

Lo más cerca que se va a conseguir es el uso de un diccionario (según lo mencionado por Pacifika)

Dim objDictionary 
Set objDictionary = CreateObject("Scripting.Dictionary") 
objDictionary.CompareMode = vbTextCompare 'makes the keys case insensitive' 
objDictionary.Add "Name", "Scott" 
objDictionary.Add "Age", "20" 

Pero bucle a través mis diccionarios como una colección

For Each Entry In objDictionary 
    Response.write objDictionary(Entry) & "<br />" 
Next 

Puede recorrer el en Diccionario de neumáticos de esta manera escribir los valores que se vería así:

Scott 
20 

También puede hacer esto

For Each Entry In objDictionary 
    Response.write Entry & ": " & objDictionary(Entry) & "<br />" 
Next 

que produciría

Name: Scott 
Age: 20 
0

Como dijo Brett, es mejor use un componente vb para crear colecciones. Los objetos de diccionario no se usan con mucha frecuencia en ASP a menos que sea para aplicaciones basadas en necesidades específicas.

1

Un enfoque que he usado antes es utilizar una propiedad de la colección que devuelve una matriz, que puede repetirse.

Class MyCollection 
    Public Property Get Items 
     Items = ReturnItemsAsAnArray() 
    End Property 
    ... 
End Class 

Iterar como:

Set things = New MyCollection 
For Each thing in things.Items 
    ... 
Next 
0

ser muy cuidadosamente sobre el uso de diccionario VB Script objeto!
Sólo descubrir este "autovivication" cosa, nativa en este objeto: http://en.wikipedia.org/wiki/Autovivification

lo tanto, cuando es necesario comparar los valores, utilice NUNCA una comparación boolen como:
If objDic.Item("varName") <> "" Then ...
Esta voluntad automáticamente agregue la clave "varName" al diccionario (si no existe, con un valor vacío), para continuar evaluando la expresión booleana.

Si es necesario, utilice en su lugar If objDic.Exists("varName").

simplemente pasar unos días golpeando paredes, con este Mcrosoft "función" ...
vbscript-dictionary-object-creating-a-key-which-never-existed-but-present-in-another-object