vbscript - मैं क्लासिक एएसपी में एक संग्रह कैसे पार कर सकता हूं?

Translate

मैं ऐसा करने में सक्षम होना चाहता हूं:

For Each thing In things
End For

क्लासिक एएसपी - .NET नहीं!

This question and all comments follow the "Attribution Required."

सभी उत्तर

Translate

VBScript के बाहर आपकी [जो भी चीजें] लिखी जानी हैं।

VB6 में,आप एक कस्टम संग्रह वर्ग लिख सकते हैं, तब आपको एक ActiveX DLL को संकलित करने और इसे एक्सेस करने के लिए अपने वेबसर्वर पर पंजीकृत करने की आवश्यकता होगी।

स्रोत
Translate

कुछ इस तरह?

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

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

देखwww.w3schools.com.

यदि आप कुंजियों और मूल्यों को जोड़ना चाहते हैंएक शब्दकोश वस्तु का उपयोग करेंबजाय:

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
स्रोत
Translate

आप जो निकटतम प्राप्त करने जा रहे हैं वह एक डिक्शनरी का उपयोग कर रहा है (जैसा कि पैसिफिका द्वारा वर्णित है)

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

लेकिन मैं एक संग्रह की तरह अपने शब्दकोशों के माध्यम से पाश

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

आप इस तरह से दिखने वाले मूल्यों को लिखते हुए इस तरह से पूरे शब्दकोश में लूप कर सकते हैं:

Scott
20

आप यह भी कर सकते हैं

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

जो उत्पादन करेगा

 Name: Scott
 Age: 20
स्रोत
Translate

एक दृष्टिकोण जो मैंने पहले इस्तेमाल किया है, वह संग्रह की एक संपत्ति का उपयोग करना है जो एक सरणी देता है, जिसे अधिक पुनरावृत्त किया जा सकता है।

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

Iterate जैसे:

Set things = New MyCollection
For Each thing in things.Items
    ...
Next
स्रोत
Translate

जैसा कि ब्रेट ने कहा, संग्रह बनाने के लिए vb घटक का उपयोग करना बेहतर है। जब तक विशिष्ट आवश्यकता आधारित अनुप्रयोगों के लिए एएसपी में शब्दकोश वस्तुओं का बहुत अधिक उपयोग नहीं किया जाता है।

स्रोत
Translate

VB स्क्रिप्ट शब्दकोश वस्तु का उपयोग करने पर बहुत सावधानी से रहो!
बस यह पता चलता है "स्वत: संज्ञान"बात, इस वस्तु पर मूल निवासी:http://en.wikipedia.org/wiki/Autovivification

इसलिए, जब आपको मूल्यों की तुलना करने की आवश्यकता होती है, तो कभी भी एक बुलेन तुलना की तरह उपयोग न करें:
If objDic.Item("varName") <> "" Then...
यह करेगाखुद ब खुदकुंजी जोड़ें "varName"शब्दकोश में (यदि यह खाली मूल्य के साथ मौजूद नहीं है), तो बूलियन अभिव्यक्ति का मूल्यांकन करने के लिए।

जरूरत पड़ने पर इस्तेमाल करेंIf objDic.Exists("varName").

बस कुछ दिन दीवारों को खटखटाने में बिताइए, इस मैककॉन के साथ "फ़ीचर"...
vbscript-dictionary-object-create-a-key-which-never-अस्तित्व-लेकिन-वर्तमान-में-एक-दूसरे ऑब्जेक्ट

स्रोत