Sayfayı Yazdır | Pencereyi Kapat


VB' DE DİZİLER

Kategori: V.BASIC
Eklenme Tarihi: 28 Haziran 2007
Zaman: 22 Mayıs 2012 12:19
Samanalevi Netkafe - http://www.samanalevi.com/bilgisayaroku/171.VB_DE_DIZILER.html

Ayni tür bilgileri bellekte tutmak için kullanabilecegimiz listelere dizi adi verilir. Dizi kullamanin avantaji ayni tür bilgiler bir listede tutularak daha hizli islem yapilabilmesi saglanmis olacaktir.Visual Basic'de dizi su sekildedir
Dizi_adi(Indis)
olacaktir.
Örnek:

Private Sub Form_Load()

Dim ad(2) As String

Dim no(2) As Integer

ad(0) = "ali"

ad(1) = "ahmet"

ad(2) = "ebru"

no(0) = 133

no(1) = 56

no(2) = 67

End Sub

Bu örnek'te ad ve no olmak üzere iki adet dizi tanimlanmaktadir. ad dizisi string türünde bilgileri tutacak ve no dizisi ise integer türündeki bilgileri saklayacaktir. Görmüs olgunuz gibi dizilere bilgi atama sekli
dizi_adi(indis_sirasi)=atanacak_bilgi
seklindedir.
Eger diziyi sifirdan degilde bir den itibaren baslatmak istersek diziyi tanimlamadan önce Option Base 1 satirini eklemeliyiz.
Burada dizi indisleri sifirdan baslayarak tanimlama yaparken bizim belirtigimiz degere kadardir. Yani bizim bu dizilere atayabilecegim veri sayisi diziyi tanimlarken belirtdigimiz indis degerinden bir fazla olacaktir.
Eger deger atama yaparken belirttigimiz sinirlarin disina çikarsak hata olusur. Dizilere deger atarken dizi sinirlarini kontrol etmekle olasi bir hatayi önlemis oluruz.



Statik Diziler

Bu tip dizilerde kullanilacak yer sayisi sabittir. Bu tip diziler sadece tanimlandiklari modül içersinde kullanilabilirler. Statik dizi su sekilde tanimlanabilir
Dim dizi_adi(sayi) As Veri_Tipi
Tüm proje içinde kullanilacak bir dizi tanimlanmak isterse standart modülün General,Declarations bölümünde yukaridaki sekildeki gibi tanimlanmalidir
Örnek :

Option Base 1

Dim a(5) As Integer

Private Sub Command1_Click()

Text1.Text = a(1) + a(2)

End Sub

Private Sub Form_Load()

a(1) = 10

a(2) = 20

End Sub

Bu örnekte görüldügü gibi projenin general,declarations kisminda a() dizisi tanimlaniyor.Bu dzi tanimlanmadan önce dizi indislerinin 1 den itibaren basliyacagini belirten Option Base1 satiri koda dahil edilmistir. Form1 yüklendiginde bu dizinin ilk elemaninna 10 sayisi ikinci elemanina 20 sayisi ataniyor. Eger kullanici Command1 isimli butona tiklarsa dizinin ilk ce ikinci elemanlari toplanarak Form üzerinde Text1 adli nesnenin Text özelligine ataniyor. Yani TextBox'in bu sayilarin toplamini göstermesi saglaniyor.


Dinamik Diziler

Bu tip dizilerde kullanilacak yer sayisinda bir sinirlama yoktur. Bu tip diziler ilk basta sagidaki sekildeki gibi bir tanimlamaya ihtiyaç duyarlar.
Dim dizi_adi( ) As Veri_Tipi
Daha sonra bu dizi kullanilacak iken botunu belirtmek gerekir bunun içinde asagidaki gibi bir tanimlama yapilmalidir.
ReDim dizi_adi(boyut ) As Veri_Tipi
Artik 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) = "Ayse"

Text1.Text = s(1) + s(2)

End Sub

Bu dizi tanimlanmadan önce dizi indislerinin 1 den itibaren basliyacagini belirten Option Base1 satiri koda dahil edilmistir. Form1 yüklendiginde s adli bir dinamik dizi tanimlanmaktadir. Kullanici Command1 isimli butuna tikladiginda s dizisinin boyutu belirtilerek yeniden tanimlanmistir. Bu dizinin ilk elemaninna "Selam " degeri ikinci elemanina "Ayse" degeri ataniyor. Dizinin ilk ve ikinci elemanlari toplanarak Form üzerinde Text1 adli nesnenin Text özelligine ataniyor. Yani TextBox'in bu degerlerin toplamini göstermesi saglaniyor.
Ö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 yukaridaki örnekten tek farkli yan olarak bir Command butonun arkasina yazilmis kod bulunuyor. Eger kullanici Command1 adli butondan sonra bu butona tiklarsa ne olacak ona bakalim. Command2 butonuna tiklanildiginda s() dizisi tekrardan boyutu 5 olrak tanimlaniyor. s() dizisine daha önce atamis bütün degerler siliniyor. Yani s() dizisi bir nevi bosaltiliyor ve yeniden boyutlandiriliyor. Eger s() dizisine daha önce atanmis degerler korunmak istenirse asagidaki sekildeki gibi bir tanimlama yapilmak zorundadir.

V.BASIC


Sayfayı Yazdır | Pencereyi Kapat 

http://www.samanalevi.com