![]() |
![]()
|
![]()
|
||||||
| PROGRAMLAMA DİLLERİ Webmasterlar için faydalı bir bölüm. Konu Açmak Moderator Onaylı |
![]() |
|
|
LinkBack | Seçenekler | Stil |
|
|
#1 (permalink) |
|
Mareşal
![]() ![]() |
Her zaman söylediğim bir laf vardır.Bir programcı 4 konuya hakim olması lazımdır..Bunu daha önceki makalelerimde de belirttim…Bunlar: Veri Tipleri
Döngüler Diziler ve Class.Bu dört yapıyı bildikten sonra her programlama dilini çok kolay bir şekilde algılayabilirsiniz…Yeni çıkan versiyonlar ile yazılım çok kolaylaştırılmıştır.İlk iki yapıyı daha önce inceledik ve gördük.Şimdiki konularımız ise Diziler..Bu programlamada en önemli konulardan biricisidir..Bundan bu konuya çok dikkat edin ve yazmış olduğum tüm örnekleri uygulayarak yapın ki daha rahat öğrenin.. Dizi Tanımlama [ARRAY] Diziler tüm programlama dilleri gibi Visual Basic 6 .NET ve diğer sürümler içinde en önemli konularından birisidir…Dizi değeri 0 dan başlar ve bu değerler MEMORY(BELLEK)’de tutulur.Yani program çalıştığı sürece değerleri koruyabiliriz..Tek boyutlu diziler tanımlayabileceğimiz gibi iki ve üç boyutlu diziler de tanımlayabiliriz.Bunları tanımalarını aşağıdaki gibi gösterebiliriz.. Tek boyutlu dizi Dim a(5) As Integer İki boyutlu dizi Dim b(5 3) As IntegerÜç boyutlu dizi Dim c(5 3 4) As IntegerDim a(5) As Integer türü tanımlamada 4 elemanlı tek boyutlu bir dizi tanımlamış oluyoruz…Değer atanırken 0’dan başlayarak 3’e kadar gidiyoruz… a(0) a(1) a(2) a(3)…Örnek: Dim a As Integer Dim b(3) As Integer b(0) = 1 b(1) = 2 b(2) = 3 b(3) = 4 a = b(0) + b(1) + b(2) + b(3) MsgBox(a) Yukarda yapmış olduğumuz örnekte 4 elemanlı bir dizi tanımadık ve teker teker değer vererek a integer veri tipine tümünün toplamını yükledik.Bunu daha kolay ve kısa bir şekilde yapmanın yolu yokmu diceksiniz tapiki var.. Dim a As Integer Dim b() As Integer = {1 2 3 4}a = b(0) + b(1) + b(2) + b(3) MsgBox(a) Örnek: Dizimizi ilk etapda boyutlandırmayıp daha sonra elemen sayısını belirtebiliriz.. Dim d() As Integer d = New Integer(9) {} d(9) = 100 MsgBox(d(9)) DİZİLERİN YENİDEN BOYUTLANDIRILMASI Visual Basic 6’da ancak boyutlandırılmamış bir dizi ancak yeniden boyutlandırılabilirdi.Fakat yeni Visual Basic sürümlerinden diziler yeniden tekrar tekrar boyutlandırılabilir ve diğer bilgiler hafıza tutulur yani bilgilerimiz gitmez… 'Visual Basic 6.0 'da Dim x() As String redim x(5) as String 'Doğru bir boyutlandırma... Dim x(2) As String Redim x(5) as String 'Hata verir.Çünkü daha önce dizimizi boyutlandırmıştık. 'Visual Basic .NET sürümlerinde Dim x() As String ReDim x(5) 'Doğru bir boyutlandırma Dim z(3) As String ReDim Preserve z(5) ' Doğru bir boyutlandırma .NET izin verir... 2 olan dizi boyutu Redim Preserve ile 5’ e genişletiliyor ve daha önceki 2 eleman değer almış olsa bile bu değerler korunuyor… Örnek: Dim x() As String ReDim x(1) x(0) = "Writing by" x(1) = "߀j0®" ReDim Preserve x(3) x(2) = "Mesmerina" x(3) = "MMB" MsgBox(x(0) & vbTab & x(1) & vbCrLf & x(2) & vbTab & x(3)) Örneğimizde ilk önce tanımlamamıza boyut vermiyoruz.Daha sonra bunu 2 elemanlı olan x(1) dizisine çeviriyoruz…Ve ardından değerler atıyoruz.Daha sonra Redim Preserve ifadesi ile dizimizi 4 elemanlı bir dizi haline getiriyoruz..4 elemanlı olan dizimizin diğer elemanlarına da değer verdikten sonra MSGBOX objesi ile çalışma sonucumuzu ortaya getiriyoruz.Ve dikkat etmemiz gereken daha öncede anlatmak istediğim diğer 2 elemanın hafızada hala saklandığı… ÇOK BOYUTLU DİZİLER Bazı durumlarda çok boyutlu diziler tanımlamak zorunda kalabilirsiniz..Özellikle büyük proje çalışmaları yaparsanız bunlar gerçekten çok ihtiyaç duyduğunuz konular olacaktır… Çok boyutlu dizi tanımalamak sizi tek boyutlu çok dizi tanımalaktan sizi kurtarır.Bu hem kod karmaşasından hemde hız bakımından çok önemlidir… B(Satır Sütun) = S(3 2) şeklinde yazılım 4 satır 3 sütünu ifade eder..S(0 0)S(0 1)S(0 2)S(1 0)S(1 1)S(1 2)S(2 0)S(2 1)S(2 2)S(3 0)S(3 1)S(3 3)Örnek Dim dizi(2 3) As Integerdizi(0 2) = 200MsgBox(dizi(0 2))JAGGED DİZİLER Eğer oluşturucağımız dizilerde satırların eleman sayıları(sütün sayıları) birbirinden farklıysa bu durummda diziyi Jagged yapısında tanımlamamız gerekmektedir…Bu diziyi Jagged olarak tanımlamak ona herhangi başka bir özellik katmaz diğer dizilerdeki gibi kullanabilirsiniz..jdizi = New Integer(2)() {} Programcı yukarıda sunu demek istemiştir.ßen 3 satırdan oluşan bir dizi tanımladım fakat her satırının eleman sayısı birbirinden farklı olacaktır… Dim jdizi()() As Integer jdizi = New Integer(2)() {} jdizi(0) = New Integer(3) {} 'İlk satır 4 sütünden oluşuyor jdizi(1) = New Integer(2) {} 'ikinci satır 2 sütünden oluşuyor jdizi(2) = New Integer(1) {} '3'üncü satır ise 1 sütündan oluşuyor... Artık dizi elemanlarına istediğimiz gibi değer verebiliriz bu tamamen bize kalmış bir şeydir…Aşağıdaki gibi Örnek: jdizi(0)(3) = 100 'ilk satırın 4. sütünu jdizi(2)(1) = 500 '3. satırın 2. sütünu MsgBox(jdizi(0)(3)) |
|
|
|