Statické Pole

Pole slouží k seskupování hodnot stejného datového typu. Svým charakterem je podobný maticím.

Pole skupina položek stejného typu, které navenek vystupují pod jediným jménem. K jednotlivým položkám přistupujeme pomocí indexů, které určují polohu prvku v poli. Podle toho, kolik indexů určuje jednotlivé položky pole, pak toto pole označujeme jako jedno či vícerozměrné.

Statické pole je takové pole, u něhož definujeme alespoň jednu z mezí. Takto definované meze se už v programu nemohou později změnit.

Deklarace statického pole pole

Pole deklarujeme podobně jako proměnné, podle rozsahu platnosti je uvozujeme klíčovými slovy Dim, Public, Private, nebo Static.

Syntaxe deklarace

Dim proměnná ( volitelně dolní mez To horní mez) [As datový typ])

Dolní a horní mez jsou celá čísla, která určují rozsah indexů. Pokud chceme, aby indexování začalo od nuly, stačí zadat horní mez. Příkaz pak vypadá takto:

Dim proměnná (horní) [As datovytyp].

Například

Dim Zaci(1 to 9) As Integer               ´Každý prvek může představovat jeden ročník ZŠ a jeho hodnota počet žáků v ročníku.

Dim Vyrobky (100) As Long              ´Deklarujeme 101 prvků pole, které jsou typu Long

Dim Vyrobky (1 to 100) As Long       ´Deklarujeme 100 prvků pole, které jsou typu Long

Dim Teplota (-30 to 40) as Byte        ´Deklarujeme pole kde číslo jeho indexu odpovídá teplotě, a hodnota může vyjadřovat kolikrát v roce byla průměrnou denní hodnotou

Př. Vytvoř program, který si načte 5 znaků a zobrazí je v opačném pořadí.

 
Sub obracene() ´Varianta bez dolní meze
Dim znak(4) As String
Dim obracene As String
Dim i As Integer

For i = 0 To 4
    znak(i) = InputBox("zadej znak")
Next i

For i = 4 To 0 Step -1
    obracene = obracene + znak(i)
Next i

MsgBox (obracene)
End Sub

Sub obracene()  ´Varianta s dolní mezí
Dim znak(1 to 5) As String
Dim obracene As String
Dim i As Integer

For i = 1 To 5
    znak(i) = InputBox("zadej znak")
Next i

For i = 5 To 1 Step -1
    obracene = obracene + znak(i)
Next i

MsgBox (obracene)
End Sub

Option Base

Dolní mez pole se nemusí stanovit.V tom případě je standartně nastavena na hodnotu nula.

Například

Dim Pole(10) as Double

Takto deklarované pole má dolní mez 0 a horní mez 10, obsahuje tedy 11 prvků.

Pokud chceme, aby hodnota dolní meze měla standartně jinou hodnotu pak použijeme příkaz Option Base číslo.
Například pokud chceme, aby dolní mez byla 1 pak zadáme Option Base 1. Příkaz Option Base se píše do deklarační části modulu.

Option Base 10
Dim pole (100)  ´Pole bude mít dolní mez 10.

Option Base 10
Dim pole (1 to 100)  ´Pole bude mít dolní mez 1. Uvedení dolní meze v deklaraci překryje nastavení příkazem Option Base.