2011-06-21 30 views
0

我在VBscript中使用dictonary。我有一些問題,我不明白的一些行爲:vbscript dictonary問題

Dim CmdData 
Set CmdData = CreateObject("System.Dictonary") 
CmdData.Add "11", "tttzz" 
CmdData.Add "sssid", "KRN" 
WScript.Echo(" ZZZZZZZZ= " & CmdData.Count) 'It prints zero and not 2 

Dim s 
s = CmdData.Item("11") 
alert(s) 
WScript.Echo(s) 'It prints empry box and not tttzz 

Dim a, j 
a = CmdData.Keys 
For j = 0 To CmdData.Count -1 
    WScript.Echo(" ZZZZZZZZ= " & CmdData.Count) 
    WScript.Echo(a(j)) ' doesn not print 
Next 

If (CmdData.Exists("-ad")) Then 
    'WScript.Echo (" RR ") ' It prints it although not in the dictonary 
End If 

感謝

+0

我從來沒有聽說過的' System.Dictonary組件。這是一個自定義組件嗎?通常,'Scripting.Dictionary'是人們使用VBScript的東西。 –

回答

3

VBScript的解釋是「的Scripting.Dictionary」:

>> set syd = CreateObject("System.Dictionary") 
>> syd.add "a",1 
>> 
Error Number:  429 
Error Description: ActiveX component can't create object 
>> set scd = CreateObject("Scripting.Dictionary") 
>> scd.add "a",1 
>> WScript.Echo scd.Count, scd("a") 
>> 
1 1 
+0

謝謝,我一直在檢查它2小時 –

+0

不客氣。最近,我花了幾個小時嘗試使用「Scripting.FileSystemObject」作爲字典。我想知道你是否使用了全球「On Error Resume Next」? –