ReDim-uttrykket

Deklarera eller omdefinera variablar og tabellar.

Syntaks:

Diagram over uttrykket ReDim


ReDim [Preserve] variable [(start To end)] [As type-name][, variable2 [(start To end)] [As type-name][,...]]

Det er valfritt om du vil fÞya til nÞkkelordetPreserve for Ä bevara innhaldet i tabellen som vert dimensjonert pÄ nytt. ReDim kan berre nyttast i subrutinar.

Parametrar:

variabel: Kva variabel- eller matrisenamn som helst.

typenamn: NĂžkkelord som deklarerer datatypen for ein variabel.

fragment av primitive datatypar

Byte: Bytevariabel (0-255)

Boolsk: Boolsk variabel (sann, usann).

Valuta: Valutavariabel (med 4 desimalplassar)

Date: Dato variabel

Double: Dobbel-presisjon desimaltalvariabel (floating-point) (1,79769313486232 x 10E308 - 4,94065645841247 x 10E-324)

Integer: Heiltalsvariabel (-32768 till 32767)

Long: Heiltalsvariabel av typen Long (-2.147.483.648 til 2.147.483.647)

Objekt: Objektvariabel (Merk: Denne variabelen kan berre i ettertid definerast med Set).

Single: Singel-presisjon desimalvariabel (floating-point)(3,402823 x 10E38 til 1,401298 x 10E-45).

String: Strengvariabel med opp til 64.000 ASCII-teikn.

[Variant]: Variabeltypen Variant kan innehalda variablar av alle typar. Typen vert definert ved tildeling av verdi til variabelen. Viss det ikkje er oppgjeve noko nÞkkelord, vert variablar automatisk definerte som Variant-typar, unntatt viss eit uttrykk frÄ DefBool til DefVar er brukt.

objekt: Universal Network object (UNO)-objekt eller ClassModule-objekt-fĂžrekomst.

char: Spesialteikn som deklarerer datatypen for variabelen.

fragment med typedeklareringsteikn

I LibreOffice Basic treng du ikkje deklarera variablane eksplisitt (dvs. fÞr du brukar dei). Tabellar (arrays) mÄ derimot alltid deklarerast fÞr dei vert brukte. Du kan deklarera ein variabel medDim-uttrykket der du brukar komma (,) for Ä skilja mellom fleire deklarasjonar. For Ä deklarera ein variabeltype, skriv du inn eit typedeklareringsteikn etter variabelnamnet eller brukar eit nÞkkelord for variabeltypen.

Declaration character

Variable type name

%

Integer

&

Long

!

Single

#

Double

$

String

@

Currency


array: Matrisedeklarering

>argumentfragment

Start, Slutt: Numeriske verdiar eller konstantar som bestemmer talet pÄ element (TalPÄElement = (slutt - start) + 1) og indeksomrÄdet.

start og end kan vera numeriske uttrykk viss ReDim er brukt pÄ prosedyrenivÄet.

LibreOffice Basic har stÞtte for ein- eller fleirdimensjonelle tabellar (arrays) som er definerte med ein spesifisert variabeltype. Tabellar hÞver godt viss programmet inneheld lister eller tabellar som du Þnskjer Ä redigera. Fordelen med tabellar, er at det er rÄd Ä adressera kvart element ved hjelp av indeksen, som kan vera eit taluttrykk eller ein variabel.

Tabellar (matriser) vert deklarerte med uttrykket Dim. Det er fleire mÄtar Ä definera indeksomrÄdet pÄ:


  DIM text(20) As String ' 21 element nummerert frÄ 0 til 20
  DIM value(5 to 25) As Integer ' 21 element nummerert frÄ 5 til 25
  Dim amount(-15 to 5) As Currency ' 21 belÞp (medrekna 0), nummerert frÄ -15 til 5
  REM To-dimensjonalt datafelt
  DIM table(20,2) ' 63 element, frÄ 0 til 20 pÄ nivÄ 1, frÄ 0 til 20 pÄ nivÄ 2 og frÄ 0 til 20 pÄ nivÄ 3.

Du kan deklarera ein tabell (array) som dynamisk ved Ă„ bruka eit ReDim-uttrykk for Ă„ definera dimensjonane i subrutinen eller funksjonen som inneheld tabellen. Normalt kan du definera ein tabelldimensjon Ă©in gong, og du kan ikkje endra dimensjonen. Inne i ein subrutine kan du deklarera ein tabell med ReDim. Du kan definera dimensjonar berre med taluttrykk. Dette gjer at felta ikkje vert stĂžrre enn nĂždvendig.

Eksempel:


Sub ExampleRedim
    Dim iVar() As Integer, iCount As Byte
    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

StĂžtt oss!