Příkaz Dim

Deklaruje proměnnou nebo pole.

Pokud jsou proměnné odděleny čárkou (např. DIM sPar1, sPar2, sPar3 AS STRING), lze definovat jen proměnné Variant. Každou proměnnou definujte na samostatném řádku.

Dim sPar1 As String

Dim sPar2 As String

Dim sPar3 As String

Dim deklaruje místní proměnnou v podprogramu. Globální proměnné se deklarují příkazem PUBLIC nebo PRIVATE.

Syntaxe:

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

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 mohou být číselné výrazy, pokud se ReDim použije na úrovni procedury.

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

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

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

Currency: Proměná měny (měna se 4 desetinnými místy)

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á (-2 147 483 648 – 2 147 483 647)

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

Single: Proměnná v plovoucí řádové čárce (3,402823 x 10E38 - 1,401298 x 10E-45).

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

[Variant]: Proměnná typu Variant (obsahuje všechny typy, určuje se v definici). Pokud není zadáno klíčové slovo, proměnné se automaticky přiřadí typ Variant, pokud se nepoužije příkaz DefBool až DefVar.

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.

Pole se deklarují příkazem Dim. Rozsah indexu lze definovat 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

Dvourozměrné datové pole

DIM text(20,2) as String REM 63 prvků; od 0 do 20 úroveň 1, od 0 do 20 úroveň 2 a od 0 do 20 úroveň 3.

Pole je možné deklarovat jako dynamické, pokud v podprogramu, kde chcete s polem pracovat, definujete rozměry pomocí příkazu ReDim. Obecně lze rozměry určit jen jednou. Poté je nelze změnit. V podprogramu je možné deklarovat pole pomocí ReDim. Rozměry je možné definovat pouze číselným výrazem. To zaručuje, že jsou pole velká pouze tak, jak je třeba.

Příklad:

Sub ExampleDim1

Dim sVar As String

Dim iVar As Integer

    sVar = "Office"

End Sub

 

Sub ExampleDim2

' Dvourozměrné datové pole

Dim stext(20,2) As String

Const sDim as String = " Rozměr:"

For i = 0 To 20

    For ii = 0 To 2

        stext(i,ii) = str(i) & sDim & str(ii)

    Next ii

Next i

For i = 0 To 20

    For ii = 0 To 2

        MsgBox stext(i,ii)

    Next ii

Next i

End Sub