<p class="TextInTable">Pokud jsou proměnné odděleny čárkou (např. DIM sPar1, sPar2, sPar3 AS STRING), budou až do poslední proměnné definovány pouze proměnné typu Variant. Každá proměnná musí být definována na samostatném řádku.</p>
<p class="TextInTable">Příkaz Dim se používá k deklaraci místních proměnných v procedurách typu Sub. Globální proměnné, které se nacházejí mimo procedury Sub, se deklarují příkazy PUBLIC nebo PRIVATE.</p>
<p class="Paragraph">Název proměnné: Libovolný název proměnné nebo pole.</p>
<p class="Paragraph">Začátek, Konec: Číselné hodnoty nebo konstanty v rozsahu -32 768 až 32 767, které určují počet prvků (Počet prvků=(Konec-Začátek)+1) a rozsah indexu.</p>
<p class="Paragraph">Pokud je příkaz ReDim použit na úrovni procedury, mohou být parametry Začátek a Konec číselné výrazy.</p>
<p class="Paragraph">Typ proměnné: K deklaraci typu proměnné se používá klíčové slovo.</p>
<p class="Paragraph">Klíčové slovo: Typ proměnné</p>
<p class="Paragraph">Currency: Proměnná měny (měna se 4 desetinnými místy).</p>
<p class="Paragraph">Date: Proměnná data.</p>
<p class="Paragraph">Double: Proměnná s dvojitou přesností a plovoucí desetinnou čárkou (1,79769313486232 x 10E308 - 4,94065645841247 x 10E-324).</p>
<p class="Paragraph">[Variant]: Proměnná typu Variant (obsahuje všechny typy a zadává se definicí). Pokud není žádné klíčové slovo zadáno, budou proměnné automaticky definovány jako typ Variant, není-li použit jeden z příkazů DefBool až DefVar.</p>
<p class="Paragraph">V aplikaci <help:productname xmlns:help="http://openoffice.org/2000/help">%PRODUCTNAME</help:productname> <text:s text:c="" xmlns:text="http://openoffice.org/2000/text"/>Basic není nutno explicitně deklarovat proměnné. Pouze pole je nutno před použitím deklarovat. Proměnnou lze deklarovat příkazem Dim a více deklarací lze oddělit čárkami. Chcete-li deklarovat typ proměnné, zadejte za názvem znak typu deklarace nebo použijte odpovídající klíčové slovo.</p>
<p class="Paragraph">Aplikace <help:productname xmlns:help="http://openoffice.org/2000/help">%PRODUCTNAME</help:productname> Basic podporuje jednorozměrná nebo vícerozměrná pole definovaná zadaným typem proměnné. Pole jsou vhodná tehdy, pokud program obsahuje seznamy nebo tabulky, které se budou upravovat. Výhoda polí spočívá v tom, že je možné jednotlivé prvky adresovat podle indexů, které lze formulovat jako číselné výrazy nebo proměnné.</p>
<p class="Paragraph">Pole se deklarují příkazem Dim. Rozsah indexu lze definovat dvěma způsoby:</p>
<p class="Paragraph">DIM text(20) as String REM 21 prvků číslovaných od 0 do 20</p>
<p class="Paragraph">DIM text(5 to 25) as String REM 21 prvků číslovaných od 5 do 25</p>
<p class="Paragraph">DIM text(-15 to 5) as String REM 21 prvků (včetně 0)</p>
<p class="Paragraph">REM číslováno od -15 do 5</p>
<p class="Paragraph">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.</p>
<p class="Paragraph">Všechny typy polí lze deklarovat jako dynamické, pokud je v proceduře (v procedurách typu Sub nebo Function) použit k definování počtu rozměrů příkaz ReDim. Rozměry polí lze obecně definovat jen jednou a nelze je následně upravit. V proceduře lze pole deklarovat příkazem ReDim; rozměry lze definovat pouze číselnými výrazy tak, aby tato pole nebyla větší než je nezbytně nutné.</p>
<p class="P2">Příklad:</p>
<p class="PropText">Sub ExampleDim1</p>
<p class="PropText">Dim sVar As String</p>
<p class="PropText">Dim iVar As Integer</p>
<p class="PropText">sVar = "Star Office"</p>
<p class="PropText">End Sub</p>
<p class="PropText"/>
<p class="PropText">Sub ExampleDim2</p>
<p class="PropText">REM Two-dimensional data field</p>
<p class="PropText">Dim stext(20,2) as String</p>
<p class="PropText">Const sDim as String = " Dimension:"</p>