Bu tip dizilerde kullanılacak yer sayısında bir sınırlama yoktur. Bu tip diziler ilk
başta şagıdaki şekildeki gibi bir tanımlamaya ihtiyaç duyarlar.
Dim dizi_adı( ) As Veri_Tipi
Daha sonra bu dizi kullanılacak iken botunu belirtmek gerekir bunun
içinde aşagıdaki gibi bir tanımlama yapılmalıdır.
ReDim dizi_adı(boyut ) As Veri_Tipi
Artık bu veri dizisini projemiz içinde kullanabiliriz.
Örnek :
Option Base 1
Private Sub Form_Load()
Dim s() As String
End Sub
Private Sub Command1_Click()
ReDim s(10) As String
s(1) = "Selam "
s(2) = "Ayşe"
Text1.Text = s(1) + s(2)
End Sub
Bu dizi tanımlanmadan önce dizi indislerinin 1 den itibaren başlıyacagını belirten
Option Base1 satırı koda dahil edilmiştir. Form1 yüklendiginde s adlı bir dinamik
dizi tanımlanmaktadır. Kullanıcı Command1 isimli butuna tıkladıgında s dizisinin
boyutu belirtilerek yeniden tanımlanmıştır. Bu dizinin ilk elemanınna "Selam
" degeri ikinci elemanına "Ayşe" degeri atanıyor. Dizinin ilk ve ikinci
elemanları toplanarak Form üzerinde Text1 adlı nesnenin Text özelligine atanıyor.
Yani TextBox'ın bu degerlerin toplamını göstermesi sağlanıyor.
Örnek :
Option Base 1
Private Sub Form_Load()
Dim s() As String
End Sub
Private Sub Command1_Click()
ReDim s(10) As String
s(1) = "selam"
s(2) = "fatih"
Text1.Text = s(1) + s(2)
End Sub
Private Sub Command2_Click()
ReDim s(5) As String
s(2) = "fatih"
Text1.Text = s(1) + s(2)
End Sub
Bu örnekte yukarıdaki örnekten tek farklı yan olarak bir Command butonun arkasına
yazılmış kod bulunuyor. Eger kullanıcı Command1 adlı butondan sonra bu butona
tıklarsa ne olacak ona bakalım. Command2 butonuna tıklanıldıgında s() dizisi
tekrardan boyutu 5 olrak tanımlanıyor. s() dizisine daha önce atamış bütün degerler
siliniyor. Yani s() dizisi bir nevi boşaltılıyor ve yeniden boyutlandırılıyor. Eger
s() dizisine daha önce atanmış degerler korunmak istenirse aşagıdaki şekildeki gibi
bir tanımlama yapılmak zorundadır.
ReDim Preserve s(boyut) As Veri_tipi