Login | Register   
LinkedIn
Google+
Twitter
RSS Feed
Download our iPhone app
TODAY'S HEADLINES  |   ARTICLE ARCHIVE  |   FORUMS  |   TIP BANK
Browse DevX
Sign up for e-mail newsletters from DevX


Tip of the Day
Language: Visual Basic
Expertise: Intermediate
Dec 7, 1998

Ragged Arrays

Who said arrays in VB can't change all dimensions while preserving data? I call this the "variable dimensions array," and I use it when applications need data arrays with more flexible sizes in all dimensions. This variable prevents your apps from having empty elements in arrays (even if the Variant data type takes a lot of memory). For example, take a look at this two-dimensional array. Instead of declaring the variables with the two dimensions from the beginning, simply declare a Variant:
 
Dim  myVar as Variant
' Then 'redim' the first dimension only (2 
' elements):
redim myVar(0 to 1)
' You can now use the Array() function for 
' each element of the array:
myVar(0) = Array(0, 10, 50)
myVar(1) = Array("test1", "test2", "test3", "test4")

	Use this code to get the data:

myVar(0)(1) = 10
myVar(1)(2) = "test3"
You can use as many parentheses as you want, and you can still use the Redim Preserve statement with each element and all dimensions. Simple! Note that you can also use a subroutine to resize one element of the array if you don't want to use the Array() function:
 
Public Sub sbDeclare(ByRef pItem As Variant, _
	pLower As Integer, pUpper As Integer)
	ReDim Preserve pItem(pLower To pUpper)
End Sub

Call sbDeclare(myVar(0), 0, 1)
Nicolas Di
 
Comment and Contribute

 

 

 

 

 


(Maximum characters: 1200). You have 1200 characters left.

 

 

Sitemap
Thanks for your registration, follow us on our social networks to keep up-to-date