A.B.Ames Posted October 20, 2005 Posted October 20, 2005 Hi All, I'm pretty sure I know the answer but I want to know if i missed something. I want to know if you can reDim only 1 dimension in a multi dimensional array without having to state the size of the other dimensions and have them stay as they are. In several areas of my script i will have to increase either the 1st or 3rd dimension and I currently will use ubound to detect the sizes they are at, but i only need to really check the one i want to change (as the others will be checked when they may need to be changed). so say I start out with: aArray[10][5][10] then my script reDims aArray[11][5][10] now i want to reDim the 3rd dimension, is there a way to code it so aArray[as-is][as-is][11] (only changing 3rd dimension) or is the only way to do this by reading all current sizes (via Ubound) and place these values in the dimensions I wish to stay as-is. I know using Ubound is not a hassle i only ask this because i wish to try to learn to get better and keep my code as simple as possible/needed. Thx for any assistance, A.B.Ames
LxP Posted October 21, 2005 Posted October 21, 2005 I just tried this, which didn't work:Local $Array[1][2][3] ReDim $Array[][][4]so it looks like the only way to resize one dimension of a multi-dimensional array is to restate the other dimensions using UBound().
A.B.Ames Posted October 22, 2005 Author Posted October 22, 2005 I just tried this, which didn't work:Local $Array[1][2][3] ReDim $Array[][][4]so it looks like the only way to resize one dimension of a multi-dimensional array is to restate the other dimensions using UBound().Thx for reponding LxP,Yeah i tried a few things and that was one too.Though (after experimenting) i did find that I can use Ubound within the ReDim statment as shown below:Dim $testArray[5][10][15] $var = 20 ReDim $testArray[Ubound($testArray,1)][Ubound($testArray,2)][$var] ;--- testing results below $1dim = UBound($testArray,1); size of Dimension 1 $2dim = UBound($testArray,2); Size of Dimension 2 $3dim = UBound($testArray,3); Size of Dimension 3 MsgBox(0, "Test Array Size", "1st DIM = " & $1dim & @LF & "2nd DIM = " & $2dim & @LF & "3rd DIM = " & $3dim)I was unaware that this was possible as i had been using variables with the ubound results, but this seems much easier and as of yet i have found no negative results (though someone may know of some).Again thx for your assistanceA.B.Ames
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now