Modul
Obsah
Index 🔎︎

# Příkaz ReDim

Deklaruje proměnnou nebo pole.

## Syntaxe:

    [ReDim]Dim NázevProměnné [(začátek To konec)] [As TypProměnné][, NázevProměnné2 [(začátek To konec)] [As TypProměnné][,...]]

Volitelně je možné přidat klíčové slovo Preserve, které při změně velikosti pole zachová jeho obsah.

## Parametry:

NázevProměnné: Platný název proměnné nebo pole.

Začátek, Konec: Číselné hodnoty nebo konstanty, které definují počet prvků (PočetPrvků=(konec-začátek)+1) a rozsah indexu.

Začátek a Konec musí být číselné výrazy, pokud se ReDim používá v podprogramu.

TypProměnné: Klíčové slovo určující datový typ proměnné.

Klíčové slovo: Typ proměnné

Bool: Booleovská proměnná (True, False)

Date: Datová proměnná

Double: Proměnná v plovoucí řádové čárce (1,79769313486232 × 10E308 - 4,94065645841247 × 10E-324)

Integer: Celočíselná proměnná (−32768 – 32767)

Long: Dlouhá celočíselná proměnná (-2147483648 - 2147483647)

Object: Objektová proměnná (Poznámka: tuto proměnnou lze následně definovat pomocí Set)

[Single]: Proměnná v plovoucí řádové čárce (3,402823 × 10E38 - 1,401298 × 10E-45). Pokud není zadáno klíčové slovo, je proměnná definována jako Single, pokud není použit příkaz DefBool až DefVar.

String: Řetězec obsahující maximálně 64000 ASCII znaků.

Variant: Proměnná typu Variant (může obsahovat všechny typy a určuje se definicí).

V jazyce LibreOffice Basic nemusíte proměnné deklarovat explicitně. Ovšem musíte před použitím deklarovat pole. Proměnnou je možné deklarovat pomocí příkazu Dim a použít čárky na oddělení několika deklarací. Chcete-li deklarovat typ proměnné, použijte znak typové deklarace nebo odpovídající klíčové slovo.

LibreOffice Basic podporuje jedno- i vícerozměrná pole, která se definují určeným typem proměnné. Pole jsou vhodná, pokud chcete v programu použít seznam či tabulku, které chcete upravovat. Výhodou polí je, že k jednotlivým prvkům je možné přistupovat pomocí indexů, které lze vyjádřit číselným výrazem nebo proměnnou.

Rozsah indexů pro pole deklarovaná příkazem Dim lze nastavit dvěma způsoby:

DIM text(20) As String REM 21 prvků číslovaných od 0 do 20

DIM text(5 to 25) As String REM 21 prvků číslovaných od 5 do 25

DIM text$(-15 to 5) As String REM 21 prvků (včetně 0)

REM číslováno od -15 do 5

Pole je možné deklarovat jako dynamické, pokud v podprogramu, kde chcete s polem pracovat, definujete rozměry pomocí příkazu ReDim. Obecně je možné rozměry určit jen jednou a poté je nelze měnit. V podprogramu je možné deklarovat pole pomocí ReDim. Rozměry je možné definovat pouze číselným výrazem.

## Příklad:

    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