We help IT Professionals succeed at work.

filling multidementional arrays in VB

zliminator
zliminator asked
on
Medium Priority
332 Views
Last Modified: 2012-05-07
I have a multidimentional array I want to fill. I'm doing it explicitly:
(see code below)

I was wondering if I could fill each row like this:

        BitRateArray(0) = {32, 32, 32, 32, 8}

Dim BitRateArray(14, 5) As Integer
 
   '32 32 32 32 8 
        BitRateArray(0, 0) = 32
        BitRateArray(0, 1) = 32
        BitRateArray(0, 2) = 32
        BitRateArray(0, 3) = 32
        BitRateArray(0, 4) = 8
 
        '64 48 40 48 16 
        BitRateArray(1, 0) = 64
        BitRateArray(1, 1) = 48
        BitRateArray(1, 2) = 40
        BitRateArray(1, 3) = 48
        BitRateArray(1, 4) = 16
 
        '96 56 48 56 24 
        BitRateArray(2, 0) = 96
        BitRateArray(2, 1) = 56
        BitRateArray(2, 2) = 48
        BitRateArray(2, 3) = 56
        BitRateArray(2, 4) = 24
...

Open in new window

Comment
Watch Question

Are you working in VB 6 or VB.NET?

--
Alain
Unlock this solution and get a sample of our free trial.
(No credit card required)
UNLOCK SOLUTION
After a quick check to be sure, VB6 or earlier doesn't provide any way to declare an array and initialize its elements at the same time. In most cases you end up doing it by setting individual elements as you have.

One way you can create an array of variants on the fly is to go.
Dim varArray() As Variant
varArray() = Array(32, 32, 32, 32, 8)

I'm not sure, but you can probably extend that to go:
Dim varArray() As Variant
varArray() = Array(  Array(32, 32, 32, 32, 8)
                                  Array(64, 48, 40, 48, 16)
                                  Array(96, 56, 48, 56, 24) )
You would then end up referencing elements as varArray(1)(1).

You could also use this in conjunction with a custom function to return an integer array. Details on this method are here http://www.devx.com/vb2themax/Tip/18322, and could probably be adapted to work with a 2D integer array.

Not sure that it gets any better than that with VB6

--
Alain

Author

Commented:
Thanks, I'm in vb.net but I like both answers. Very helpful, thanks again.

Dan
Unlock the solution to this question.
Thanks for using Experts Exchange.

Please provide your email to receive a sample view!

*This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.

OR

Please enter a first name

Please enter a last name

8+ characters (letters, numbers, and a symbol)

By clicking, you agree to the Terms of Use and Privacy Policy.