kenfine@u.washington.edu wrote:[color=blue]
> I'm going a little crazy trying to learn how to use arrays as
> properties in VBScript classes. Hopefully someone can help. First, I
> can't figure out whether it's possible to iterate through the members
> of an array that I have assigned to a propety. Second, I'm finding
> the question of "Property Let" versus "Property Set" to be very
> confusing.
>
> I have this code that utilizes a custom class I've defined, called
> clsGroup:
>
> myString = "Susan@u.washington.edu,
Bob@u.washington.edu,
>
Bill@u.washington.edu"
>
> Dim objGroup
> Set objGroup = New clsGroup
> objGroup.EmailsAsArray = ParseCommaDelimitedStringToArray(myString)[/color]
What is this "Parse..." thingy? Did you reinvent the builtin split() method?
[color=blue]
>
> If I test the resulting array, as follows:
> Response.Write(IsArray(objGroup.EmailsAsArray))
> ...it resolves to "True". So objGroup.EmailsAsArray is successfully
> assigned an array, which is what I want.
>
> Confusing things:
>
> 1) If I try a simple loop, as follows...
>
> dim myThingy
> For each myThingy in objGroup.EmailsAsArray
> response.write myThingy & "<br>"
> Next
>
> ...this doesn't work. It complains that I'm not dealing with a
> collection. This makes some sense, because I have a collection
> wrapped up in an object. What's the right practice and/or syntax in
> this case?[/color]
Hmm, according to the docs, a "for each" loop should work with an array. In
fact, this works fine:
dim ar, i
ar=array(14,2,3)
for each i in ar
response.write i & "<BR>"
next
Have you tried a simple "for i = 0 to ubound(...)" loop?
[color=blue]
>
> 2) The second thing that has me confused is whether an array is an
> object or not. I'm thinking it is not.[/color]
Correct. You never use Set with arrays in vbscript.
You can download the vbscript documentation from:
http://tinyurl.com/7rk6
Bob Barrows
PS. This isn't really an asp question: it's more of a vbscript question. The
vbscript gurus hang out at m.p.scripting.vbscript.
--
Microsoft MVP - ASP/ASP.NET
Please reply to the newsgroup. This email account is my spam trap so I
don't check it very often. If you must reply off-line, then remove the
"NO SPAM"