Want to win a PS4? Go Premium and enter to win our High-Tech Treats giveaway. Enter to Win

x
?
Solved

filling multidementional arrays in VB

Posted on 2009-07-08
4
Medium Priority
?
322 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

0
Comment
Question by:zliminator
[X]
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
  • 3
4 Comments
 
LVL 21

Expert Comment

by:alainbryden
ID: 24804462
Are you working in VB 6 or VB.NET?

--
Alain
0
 
LVL 21

Accepted Solution

by:
alainbryden earned 500 total points
ID: 24804490
If you're using VB.net you can use:

--
Alain
Dim BitRateArray(,) As Integer = {{32, 32, 32, 32, 8 }, _
                                  {64, 48, 40, 48, 16},
                                  {96, 56, 48, 56, 24}}

Open in new window

0
 
LVL 21

Expert Comment

by:alainbryden
ID: 24804570
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
0
 

Author Closing Comment

by:zliminator
ID: 31601125
Thanks, I'm in vb.net but I like both answers. Very helpful, thanks again.

Dan
0

Featured Post

Industry Leaders: We Want Your Opinion!

We value your feedback.

Take our survey and automatically be enter to win anyone of the following:
Yeti Cooler, Amazon eGift Card, and Movie eGift Card!

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

In this post we will learn how to connect and configure Android Device (Smartphone etc.) with Android Studio. After that we will run a simple Hello World Program.
In this post we will learn how to make Android Gesture Tutorial and give different functionality whenever a user Touch or Scroll android screen.
In this fourth video of the Xpdf series, we discuss and demonstrate the PDFinfo utility, which retrieves the contents of a PDF's Info Dictionary, as well as some other information, including the page count. We show how to isolate the page count in a…
Progress

618 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question