ReDim uttrykk

Deklarer eller redefinerer variabler eller matriser.

Syntaks:

ReDim uttrykks-diagram


ReDim [Bevar] variabel [(start til slutt)] [Som typenavn][, variabel2 [(start til slutt)] [Som typenavn][,...]]

Eventuelt kan du legge til s√łkeordet Bevar for √• bevare innholdet i matrisen som er omdimensjonert. ReDim kan bare brukes i subrutiner.

Parametre:

variabel: Enhver variabel eller matrisenavn.

typenavn: S√łkeord som deklarerer datatypen til en variabel.

primitive datatype-fragmenter

Byte: Bytevariabel (0-255)

Boolsk: Boolsk variabel (sant, usant)

Valuta: Valutavariabel (valuta med 4 desimaler)

Dato: Datovariabel

Double: Variabel med flytende punkt med dobbel presisjon (1,79769313486232 x 10E308 - 4,94065645841247 x 10E-324)

Heltall: Heltallsvariabel (-32768 - 32767)

Long: Long heltallsvariabel (-2.147.483.648 - 2.147.483.647)

Objekt: Objektvariabel (Merk: denne variabelen kan bare senere defineres med Sett!)

Single: Enkelpresisjon flyttallvariabel (3,402823 x 10E38 - 1,401298 x 10E-45).

String: Strengvariabel som består av maksimalt 64 000 ASCII-tegn.

Variant: Variantvariabeltype (inneholder alle typer, spesifisert per definisjon). Hvis et typenavn ikke er spesifisert, blir variabler automatisk definert som Variant Type, med mindre en setning fra DefBool til DefVar brukes.

objekt: Universal Network-objekt (UNO)-objekt eller ClassModule-objektforekomst.

char: Spesialtegn som deklarerer datatypen som en variabel.

Type deklareringstegn-fragment

I LibreOffice Basic trenger du ikke √• deklarere variabler eksplisitt. Du m√• imidlertid deklarere arrays f√łr du kan bruke dem. Du kan deklarere en variabel med Dim-setningen, ved √• bruke komma (,) for √• skille flere deklarasjoner. For √• deklarere en variabeltype, skriv inn et typedeklarasjonstegn etter navnet eller bruk et tilsvarende n√łkkelordnavn.

Declaration character

Variable type name

%

Integer

&

Long

!

Single

#

Double

$

String

@

Currency


matrise: Matrise deklarering.

matrisefragment

start, slutt: Numeriske verdier eller konstanter som definerer antall elementer (NumberElements=(slutt-start)+1) og indeksområde.

start og end kan være numeriske uttrykk hvis ReDim brukes på prosedyrenivå.

LibreOffice Basic st√łtter enkelt- eller flerdimensjonale matriser som er definert av en spesifisert variabeltype. Matriser er egnet hvis programmet inneholder lister eller tabeller som du √łnsker √• redigere. Fordelen med matriser er at det er mulig √• adressere individuelle elementer i henhold til indekser, som kan formuleres som numeriske uttrykk eller variabler.

Matriser er deklarert med Dim-setningen. Det er flere måter å definere indeksområdet på:


  Dim tekst(20) Som streng ' 21 elementer nummerert fra 0 til 20
  Dim verdi(5 til 25) Som heltall ' 21 verdier nummerert fra 5 til 25
  Dim bel√łp (-15 til 5) Som valuta ' 21 bel√łp (inkludert 0), nummerert fra -15 til 5
  REM Todimensjonalt datafelt
  Dim table$(20,2) ' 63 elementer; fra 0 til 20 nivå 1, fra 0 til 20 nivå 2 og fra 0 til 20 nivå 3.

Du kan erklære en matrise som dynamisk hvis en ReDim-setning definerer antall dimensjoner i subrutinen eller funksjonen som inneholder matrisen. Vanligvis kan du bare definere en matrisedimensjon én gang, og du kan ikke endre den. Innenfor en subrutine kan du deklarere en matrise med ReDim. Du kan bare definere dimensjoner med numeriske uttrykk. Dette sikrer at feltene er bare så store som trengs.

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

Supporter oss!