Johnny,

On Thu, 2011-08-18 at 18:11 +0200, Johnny Rosenberg wrote: 

> I was, in a reply to another question, told that my questions were way
> too basic for the d...@api.openoffice.org list, so I'll give it a try
> here instead.
> 
> I wrote some example code:
> 
> REM  *****  BASIC  *****
> 
> Option Compatible
> Option Explicit
> 
> Type MyType
>        a As Integer
>        b As Integer
> End Type
> Dim x(1) As MyType
> 
> Sub Main
>        Dim y As MyType
>        Dim i As Integer
>        For i=0 To 1
>                x(i).a=1+i*2
>                x(i).b=2+i*2
>        Next i
>        y.a=5
>        y.b=6
> 
>        MsgBox x(0).a & x(0).b & x(1).a & x(1).b & y.a & y.b ' Displays 123456
> 
>        ReDim x(1) As MyType
>        ReDim y As MyType
>        MsgBox x(0).a & x(0).b & x(1).a & x(1).b & y.a & y.b ' Displays 123400
> End Sub
> 
> So if we have an array as MyType (or any other custom type, I
> suppose), ReDim will not reset it.
> Is this the expected behaviour or should I write a bug report?
> If it is expected, why?
> 
> I guess it's unnecessary to mention that I am a complete beginner in
> everything that has anything to do with computers; we guitar players
> are quite stupid, you know.
> 
> Oh, and in case it matters:
> LibreOffice 3.3.3, Ubuntu 10.10.
> LibreOffice installed with the debs at http://www.libreoffice.org/.
> 
> Best regards
> 
> Johnny ”The Moron” Rosenberg
> ジョニー・ローゼンバーグ
> 

I had to look up ReDim behavior myself, so do not to hard on yourself.
ReDim is used to re-dimension an array. It is particular useful when you
are likely to encounter an variable length array (different length each
time the code executes). Normally when the array is re-dimensioned the
previous values are destroyed because you normally want to enter new
values into the array. Some flavors of basic allow to use ReDim Preserve
to preserve the array's original value - you may want to try this to see
if works.

A common use is 
Dim MyArray() as type

ReDim MyArry(1 to x), x will be supplied by the procedure.

Often there are little subtleties that can drive you crazy when program,
the compiler/interpreter is very fussy that you follow all the grammar
and syntax rules for the langauge.
-- 
Jay Lozier
jsloz...@gmail.com

-- 
For unsubscribe instructions e-mail to: users+h...@global.libreoffice.org
Problems? http://www.libreoffice.org/get-help/mailing-lists/how-to-unsubscribe/
Posting guidelines + more: http://wiki.documentfoundation.org/Netiquette
List archive: http://listarchives.libreoffice.org/global/users/
All messages sent to this list will be publicly archived and cannot be deleted

Reply via email to