Anasayfa > Kodlar > Visual Basic 6 ile diziler

Visual Basic 6 ile diziler


Buradaki örnek kodlar sayesinde Visual Basic deki dizilerin nasıl kullanıldığını öğrenebilirsiniz.

Bir dizi tanımlamak için normal veri tanımlama komutu olan
Dim, Public, Private komutlarını kullanılır.

Örneğin,


Dim sayıDizisi(7) As Integer '8 elemanlı (0-7 arası) bir sayı dizisi
Dim byteDizisi(4 To 32) As Byte '29 elemanlı bir sayı dizisi
Public metinDizisi(1 To 10) As String '11 elemanlı metin dizisi

Dizi elemanlarına değer atamak için bir örnek.

Dim isim(1 To 10) As String

Private Sub Command1_Click()
isim(1) = "Murat"
isim(2) = "Ali"
isim(3) = "Salih"
End Sub

veya

Dim isim(1 To 10) As String

Private Sub Command1_Click()
isim(1) = Text1.Text
isim(2) = Text2.Text
isim(3) = Text3.Text
End Sub

Bu örnekte de isim dizisinin elemanlarına döngü içinde değer atanıyor ve listeye diziliyor.

Dim isim(1 To 10) As String

Private Sub Command1_Click()
For i = 1 To 10
isim(i) = "İsim numarası " & i
List1.AddItem isim(i)
Next i
End Sub

Diziler önce tanımlanıp, sonradan da genişletilebilir. Dim, Public veya Private komutlarıyla tanımlanmış bir dizi ReDim komutuyla genişletilebilir veya daraltılabilir. Böyle dizilere DİNAMİK DİZİLER denir. Dizi elemanlarının değerleri korunmak istenirse ReDim Preserve komutu kullanılır.

Hiçbir prosedür bölgesinde kalmayan yani global olan yere şöyle bir kod yazılabilir.


Dim Sayılar() As Long

Sonradan bir boyut verilebilir.


Sub BoyutVer(Boyut As Integer)
ReDim Sayılar(0 To Boyut) As Long
End Sub

Verileri korumak istiyorsanız Preserve komutu önemlidir.

Örneğin,


Dim a() As String

Private Sub Command1_Click()
ReDim a(0 To 3) As String
a(0) = "Murat"
a(1) = "Tahir"
a(2) = "Bahattin"
a(3) = "Yusuf"
End Sub

Yukarıda 4 elemanlı yapılan a dizisinin elemanlarına değerler verildi.


Private Sub Command2_Click()
ReDim a(0 To 5) As String
a(4) = "Ali"
a(5) = "Veli"
End Sub

ReDim a(0 To 5) As String

kodu

a(0), a(1), a(2), a(3) elemanlarının değerlerini sıfırladı.

bunu engellemek için Command2 ye tıklandığında şöyle bir kod olması gerekir.


Private Sub Command2_Click()
ReDim Preserve a(0 To 5) As String
a(4) = "Ali"
a(5) = "Veli"
End Sub

Dizileri kendi tanımladığınız türlerde de kullanabilirsiniz.

Örneğin,


Type Öğrenci
Ad As String
Soyad As String
No As Integer
Sınıf As String
GeçtiğiDersler() As String 'Bu bir, tür içindeki dinamik dizidir
End Type

Bu tür içindeki dinamik diziyi herhangi bir prosedür içinde genişletebilirsiniz.


Private Sub cmdMurat_Click()
Dim Murat As Öğrenci
ReDim Murat.GeçtiğiDersler(0 To 4) As String
End Sub

gibi.
veya kendi tanımladığınız türü de dizi olarak kullanabilirsiniz.


Sub TürüDiziYap()
Dim Murat(0 To 8) As Öğrenci
End Sub

türünüzü dinamik olarak da tanımlayabilirsiniz.


Dim Murat() As Öğrenci

Private Sub cmdGenişlet_Click()
ReDim Murat(6) As Öğrenci
ReDim Murat(1).GeçtiğiDersler(1 To 5) As String
ReDim Murat(3).GeçtiğiDersler(0 To 12) As String
End Sub


TD Software


Reklamlar
  1. Henüz yorum yapılmamış.
  1. No trackbacks yet.

Bir Yanıt Bırakın

Aşağıya bilgilerinizi girin veya oturum açmak için bir simgeye tıklayın:

WordPress.com Logosu

WordPress.com hesabınızı kullanarak yorum yapıyorsunuz. Log Out / Değiştir )

Twitter resmi

Twitter hesabınızı kullanarak yorum yapıyorsunuz. Log Out / Değiştir )

Facebook fotoğrafı

Facebook hesabınızı kullanarak yorum yapıyorsunuz. Log Out / Değiştir )

Google+ fotoğrafı

Google+ hesabınızı kullanarak yorum yapıyorsunuz. Log Out / Değiştir )

Connecting to %s

%d blogcu bunu beğendi: