Welcome to WebmasterWorld Guest from 23.22.250.113

Forum Moderators: ocean10000

Message Too Old, No Replies

Arrays - Clearing and Testing

Arrays - Clearing and Testing

     

buck1107

4:49 pm on Oct 29, 2010 (gmt 0)

10+ Year Member



Hi,
I'm currently working with an Classic ASP page (VB Script) that utilizes the same array at several points during the page. After each use, I erase the array. The problem is, what is the best way to detect if the array is empty through an if/then statement?

Here's how I've been erasing the arrays:
If IsArray(a) Then
Erase a
End If


In the outer If/Then statement, I test for
IsArray(array)

The array that had been erased still exists.

On the inner If/Then statment, I'd been using
Not IsEmpty(array)

as well as
UBound(array)<>-1

although I would get an error message when using the latter (out of range), while in the former, an erased array would show as "true" (not empty). In the meantime, I've created flags as a workaround, but it's not the ideal situation. Any help or resources would be greatly appreciated.

Thanks!

Demaestro

7:15 pm on Oct 29, 2010 (gmt 0)

WebmasterWorld Senior Member demaestro is a WebmasterWorld Top Contributor of All Time 10+ Year Member



not sure of the syntax but I can offer you a logic change.

Instead of erasing the array you should set it to an empty array, then instead of checking if it exists.... check to see if it's length is > zero

buck1107

8:31 pm on Oct 29, 2010 (gmt 0)

10+ Year Member



Thanks,
From what I've read, it seems that the Erase method clears the array. Would the ReDim method be preferrable in this case?

Also, in determining if the array is greater than 0, I can't use UBound. Do the following look correct? I'm not familiar with "Is Nothing". When I added it, I got the "object required" message.

If Not(IsNull(vArray(a))) And Not(IsEmpty(vArray(a))) And Not(a) Is Nothing)


Thanks again!

Demaestro

9:08 pm on Oct 29, 2010 (gmt 0)

WebmasterWorld Senior Member demaestro is a WebmasterWorld Top Contributor of All Time 10+ Year Member



buck,

My asp is about 9 years rusty so I am not in a position to advise on what would be preferable.

I did a little looking and it appears that erase is a correct method, I don't know if it is the best way to go about it.

Curious why you can't use Ubound?

buck1107

9:16 pm on Oct 29, 2010 (gmt 0)

10+ Year Member



Thanks
When I use this:
If (UBound(arrCompareItem1_js)<>-1) Then


It results in:
"Subscript out of range: UBound"

Demaestro

10:47 pm on Oct 29, 2010 (gmt 0)

WebmasterWorld Senior Member demaestro is a WebmasterWorld Top Contributor of All Time 10+ Year Member



try

If (UBound(a) > 0) Then

buck1107

4:42 pm on Nov 1, 2010 (gmt 0)

10+ Year Member



Thanks!

I found that
ReDim a(-1)
did the trick

That clears the array by setting its upper bound to -1.
 

Featured Threads

Hot Threads This Week

Hot Threads This Month