VBScript Tutorials - Herong's Tutorial Examples - Version 5.20, by Dr. Herong Yang

"Dim x()" - Dynamic-Size Array Example

This section provides a tutorial example on how to declare a dynamic-size array 'Dim x()'. 'ReDim x(n)' statement must be used on to set the size of a dynamic-size array before it can be used.

We learned from previous sections that a dynamic-size array must be declared with a no size. For example, "Dim x()" declares a dynamic-size array, x, with no upper bound limit. You must set the size of x with a statement like "ReDim x(99)" before you can use it.

One important nature of a dynamic-size array is that it can be re-sized with a "ReDim Preserve x(n)" statement. The keyword "Preserve" is important, if you want to keep all old values in the array.

To show you how a dynamic-size array works, I wrote the following example, array_dynamic_size.html:

<html>
<body>
<!-- array_dynamic_size.html
 - Copyright (c) 2015, HerongYang.com, All Rights Reserved.
-->
<pre>
<script language="vbscript">
   document.writeln("")
   Dim aYear()
   document.writeln("Check 1: Is aYear an array? " & IsArray(aYear))

'   aYear(0) = "Jan"   'Error 1: Subscription out of range

'   iSize = UBound(aYear)+1 'Error 2: Index out of range

   ReDim aYear(5)
   document.writeln("Check 2: Is aYear an array? " & IsArray(aYear))

   aYear(0) = "Jan"
   aYear(1) = "Feb"
   aYear(5) = "Jun"
   
   ReDim Preserve aYear(11)
   aYear(10) = "Nov"
   document.writeln("Months in a year:")
   For i=LBound(aYear) To UBound(aYear)
      document.writeln("   " & i & " = " & aYear(i))
   Next
</script>
</pre>
</body>
</html>

Here is the output:

Check 1: Is aYear an array? True
Check 2: Is aYear an array? True
Months in a year:
   0 = Jan
   1 = Feb
   2 = 
   3 = 
   4 = 
   5 = Jun
   6 = 
   7 = 
   8 = 
   9 = 
   10 = Nov
   11 = 

Note that:

  • Output message "Check 1" shows that a dynamic-size array is an array event if its size is not set yet.
  • Commented out "Error 2" shows that "UBound" can not be used is array's size is not set yet.

Table of Contents

 About This Book

 Introduction of VBScript - Visual Basic Scripting Edition

 Variant Data Type, Subtypes, and Literals

 Arithmetic Operations

 Numeric Comparison Operations and Logical Operations

 String Operations - Concatenation and Comparison

 Variable Declaration and Assignment Statement

 Expression and Order of Operation Precedence

 Statement Syntax and Statement Types

Array Data Type and Related Statements

 What Is an Array?

 "Dim x()" - Declaring Array Variables

 "x(i)" - Accessing Array Elements with Indexes

 "Dim x(n)" - Fixed-Size Array Example

"Dim x()" - Dynamic-Size Array Example

 "For Each" Statement Example

 "Erase" Statement - Removing All Elements in an Array

 Data Type "Variant()" - Array of Variant Values

 Array References and Array Assignment Statements

 Conditional Statements - "If ... Then" and "Select Case"

 Loop Statements - "For", "While", and "Do"

 "Function" and "Sub" Procedures

 Built-in Functions

 Inspecting Variables Received in Procedures

 Error Handling Flag and the "Err" Object

 Regular Expression Pattern Match and Replacement

 scrrun.dll - Scripting Runtime DLL Library

 Creating Your Own Classes

 IE Web Browser Supporting VBScript

 IIS ASP Server Supporting VBScript

 WSH (Windows Script Host)

 References

 Printable Copy - PDF Version

"Dim x()" - Dynamic-Size Array Example - Updated in 2015, by Dr. Herong Yang