Date: prev next · Thread: first prev next last
2011 Archives by date, by thread · List index


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 dev@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
jslozier@gmail.com

-- 
For unsubscribe instructions e-mail to: users+help@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

Context


Privacy Policy | Impressum (Legal Info) | Copyright information: Unless otherwise specified, all text and images on this website are licensed under the Creative Commons Attribution-Share Alike 3.0 License. This does not include the source code of LibreOffice, which is licensed under the Mozilla Public License (MPLv2). "LibreOffice" and "The Document Foundation" are registered trademarks of their corresponding registered owners or are in actual use as trademarks in one or more countries. Their respective logos and icons are also subject to international copyright laws. Use thereof is explained in our trademark policy.