ReDim-instructie

Declareert een variabele of een matrix.

Syntaxis:

[ReDim]Dim VarNaam [(Start To Einde)] [As VarType][, VarNaam2 [(Start To Einde)] [As VarType][,...]]

U kunt desgewenst het sleutelwoord Preserve als parameter toevoegen om de inhoud te bewaren van de matrix die nieuwe afmetingen krijgt.

Parameters:

VarNaam: Elke variabele of matrix-naam.

Start, Einde: Numerieke waarden of constanten die het aantal elementen (AantalElementen=(einde-start)+1) en het indexbereik definiëren.

Start en Einde kunnen numerieke expressies zijn als ReDim is gebruikt op het procedureniveau.

VarType: Sleutelwoord gebruikt om het gegevenstype van een variabele te declareren.

Sleutelwoord: Type variabele

Bool: Booleaanse variabele (Waar, Onwaar)

Date: Datumvariabele

Double: Double drijvende-kommavariabele (1.79769313486232 x 10E308 - 4.94065645841247 x 10E-324)

Integer: Integer-variabele (-32768 - 32767)

Long: Long Integer-variabele (-2,147,483,648 - 2,147,483,647)

Object: Object-variabele (kan vervolgens alleen worden gedefinieerd door Set!)

[Single]: Single drijvende-kommavariabele (3.402823 x 10E38 - 1.401298 x 10E-45). Als er geen sleutelwoord is gespecificeerd, wordt een variabele gedefinieerd als Single, tenzij een instructie van DefBool naar DefVar werd gebruikt.

String: String-variabele die een maximum van 64.000 ASCII tekens bevat.

Variant: Variant type variabele (kan alle typen bevatten en wordt ingesteld door definitie).

In LibreOffice BASIC behoeven variabelen niet expliciet te worden gedeclareerd. Alleen arrays moeten worden gedeclareerd vóór het gebruik. Een variabele kan worden gedeclareerd met de Dim-instructie, waarbij meervoudige declaraties door komma's van elkaar gescheiden worden. Teneinde een type variabele te declareren toetst u een typedeclaratie-teken in gevolgd door de naam of gebruikt u een overeenkomstig sleutelwoord.

LibreOffice BASIC ondersteunt één-dimensionale of multi-dimensionele arrays, gedefinieerd door een gespecificeerd type variabele. Arrays zijn geschikt als het programma overzichten bevat of tabellen die moeten worden bewerkt. Het voordeel van arrays is dat het mogelijk is om individuele elementen volgens indices te adresseren, die kunnen worden geformuleerd als numerieke expressies of variabelen.

Er zijn twee manieren om het bereik van indices voor matrices, gedeclareerd met de Dim-instructie, in te stellen:

DIM tekst(20) As String REM 21 elementen genummerd van 0 tot 20

DIM tekst(5 to 25) As String REM 21 elementen genummerd van 5 tot 25

DIM tekst$(-15 to 5) As String REM 21 elementen (inclusief 0),

rem genummerd van -15 tot 5

Variabele velden kunnen, zonder te letten op type, dynamisch worden gemaakt als zij worden gedimensioneerd door ReDim op procedureniveau in Subs of Functions. Normaal kan het bereik van een array maar één keer worden ingesteld en kan niet worden gewijzigd. Binnen een procedure kan een matrix worden gedeclareerd door ReDim met behulp van numerieke expressies om het bereik voor de veldafmetingen te definiëren.

Voorbeeld:

Sub ExampleRedim

Dim iVar() As Integer, iCount As Integer

ReDim iVar(5) As Integer

For iCount = 1 To 5

    iVar(iCount) = iCount

Next iCount

ReDim iVar(10) As Integer

For iCount = 1 To 10

    iVar(iCount) = iCount

Next iCount

End Sub