ForumTayfa  

Geri git   ForumTayfa > Webmaster & Programlama Bölümü > Programlama > Visual Basic
Kayıt ol Yardım Üye Listesi Forumları Okundu Kabul Et

Cevapla
 
LinkBack Seçenekler Stil
Alt 25.12.06, 12:01   #1 (permalink)
Paylaşımcı Tayfa
 
silentwolf - ait Kullanıcı Resmi (Avatar)
 
Üyelik tarihi: Dec 2006
Nerden: İstanbul
Mesaj Sayısı: 2.363
Konu Sayısı: 127
Takım: Fenerbahçe
Rep Gücü: 4462
Rep Puanı: 445812
Rep Derecesi : silentwolf 0-120000silentwolf 0-120000silentwolf 0-120000silentwolf 0-120000silentwolf 0-120000silentwolf 0-120000silentwolf 0-120000silentwolf 0-120000silentwolf 0-120000silentwolf 0-120000silentwolf 0-120000
Ruh Hali:


Arrow Visual Basic'de Diziler Resimli Anlatım




VISUAL BASIC 6.0
DİZİLERResimli Anlatım


istediğimizde örneğin bir veri gurubunu sıralamak istediğimizde ya da verilere ait bazı istatiksel bilgilerin hesaplanmasında bize yardımcı olur. VB 'de diziler;


DiziAdi(ElemanSayisi)

Şeklinde gösterilir. Bir örnek verecek olursak

Sayilar(20)
Ucgen(2)
Kare(3)

Yukarda ki örneklerde Sayilar isminde 0 dan 20 ye kadar toplam 21 elemanlı bir dizi tanımlanmıştır.

VB 'de iki farklı dizi türü vardır bunlar;

1.) Statik Diziler:

Bu tip dizilerde dizinin eleman sayısı önceden belirlenir ve eleman sayısı sabittir. Örneğin programımızda Dim Sayilar(20) as Integer diye bir kod yazarsanız projenizde toplam 21 elamanlı ve sayısal bir veri türünü tutacak bir dizi tanımlamış olursunuz. Eğer dizimizin 20 elamanlı yani Sayilar(1) 'den başlamasını istiyorsak Form 'un veya Modülün General/Declarations kısmına Option Base 1 deyimini kullanmamız gerekecekti Option Base 0 ise dizinin ilk elemanının 0 'dan başlayacağını bildirir ki zaten bu da standart(default) biçimidir dolaysıyla kullanmaya gerek yoktur. Bu arada küçük birde not vermek gerekirse Option Base deyimi VB 6.0 sonrasında bulunmayacak yani bütün diziler 0 'dan başlayacak onun için bu deyimi kullanıp alışkanlık yaratmaya hiç gerek yok.

2.) Dinamik Diziler:

Bu tip dizilerde ise dizinin eleman sayısını program akışı içerisinde kontrol edebiliyoruz bunu ise diziyi Dim Sayilar() as Integer şeklinde dizinin eleman sayısı hakkında herhangi bir değer vermeden belirttikten sonra ReDim Sayilar(10) as Integer şeklinde dizinin eleman sayısını program akışı esnasında tanımlıyoruz. Ancak diziyi yeniden boyutlandırırken unutulmaması gereken nokta dizinin içindeki verilerin silineceğidir. Eğer verilerin silinmemesini istiyorsak diziyi yeninden boyutlandırırken ReDim Preserve Sayilar(10) As Integer şeklinde belirtmemiz gerekir.Şimdi buraya kadar öğrendiklerimizi bir örnekle pekiştirelim.

Örnek 1: Girilen 10 tane sayının toplamını ve ortalamasını veren örnek program


Yukarda ki örnekte bilmediğimiz hiç bir komut olmadığı için programın satır satır açıklamasını yapmayacağım onun yerine sadece ekran görüntülerini vereceğim



Yukarda ki resimlerden de anlaşılacağı üzere 10 adet sayıyı teker teker girdiğimizde programımız bize bu sayıların toplamını ve ortalamasını verecektir.



Örnek 2 : Şimdi de yukarda ki örneğimizi aktif bir dizi ile daha etkileşimli hale çevirelim


Bu örneğin uygulamasını da sizlere bırakıyorum

Birden Fazla Boyutlu Diziler :

VB 'de istenirse birden fazla boyutta dizilerde tanımlanabilir. Örneğin;

Dim Tablo(4,3) As Integer
Dim DersSonuçları(3,3,1) As Integer

Yukarda ki tanımlama ile çok boyutlu diziler yaratmış olduk Dikkat ettiyseniz her boyuta ait index numarası birbirinden virgülle ayrılarak diziler boyutlandırılabiliyor. Bu konuyu her zaman yaptığımız gibi bir örnekle açıklayalım


Etiketlerin (Label) ve Düğmelerin başlıklarını VB 'nin sol tarafındaki "Properties" Penceresinde ki "Caption" değerine yeni başlığı yazarak değiştirebiliriz.

Bileşenleri formumuza yukarda ki gibi yerleştirdikten sonra Matematik dersi için koyduğumuz 3 tane "Text Box" 'ın adını VB 'nin sol tarafındaki "Properties" Penceresinde ki "(Name)" değerini değiştirerek sırası ile "Matematik1", "Matematik2" ve "Matematik3" yapalım bu işlemi diğer dersler içinde tekrarlayalım daha sonra "Ortalaması" başlıklı Labellerimizin hepsinede "Ortalama" adını verelim bu sırada VB bize "You have already a control named 'Ortalama'. Do you want to create a control array?" diyerek bir kontrol dizisi oluşmak isteyip istemediğimizi soracak bu soruyu "Evet" diye cevaplandırarak bir kontrol dizisi oluşturalım(*) "Ortalama" başlıklı düğmemize çift tıklayarak aşağıda ki kodları yazalım



Yukarda ki örneğimizde derslere ait notlar dizimize aktarılıyor daha sonra ise dizimizde ki notları "For ...Next" döngüsü ile kod tekrarı yapmadan ortalamasını alıp bunu Ortalama isimli kontrol dizimizde ki Etiketlerimiz de (Label) görüntülüyoruz. Bu örneğe ilişkin VB kaynak kodlarını buradan indirebilirsiniz

Dizi İçin Sınırlar : VB 'de dizi için alt ve üst sınırlar belirleyebiliriz bu sınır 0 ve pozitif sayılar olabileceği gibi negatif sayılarda olabilir. Örneğin


LBOUND ve UBOUND Fonksiyonları :
İstenilen bir dizinin belirtilen boyutunun alt ve üst sınırlarının ne olduğunu öğrenmemize yarar örneğin
__________________
bir silahım olsaydı...



hiç bir farklılık ayrımcılığa neden olamaz.
Hürriyet Hürriyettir.




Her türlü soru ve sorunlarınız için
silentwolf@forumtayfa.com

silentwolf isimli Üye şimdilik offline konumundadır   Alıntı ile Cevapla
Cevapla



Seçenekler
Stil

Yetkileriniz
Yeni Mesaj yazma yetkiniz aktif değil dir.
Mesajlara Cevap verme yetkiniz aktif değil dir.
Eklenti ekleme yetkiniz aktif değil dir.
Kendi Mesajınızı değiştirme yetkiniz aktif değil dir.

Smileler Açık
[IMG] Kodları Açık
HTML-KodlarıKapalı
Trackbacks are Açık
Pingbacks are Açık
Refbacks are Açık




Powered by vBulletin Version 3.6.4
Copyright ©2000 - 2007, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO 3.1.0
ForumTayfa

Arşiv: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 16 17 18 19 20 21 22 23 24 25 26 27 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 95 96 97 98 99 100 102 103 104 105 106 155 156 157 158 159 160 161 162 163 164 167 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 257 258 259


ForumTayfa - Link Değişimi
ForumTayfa.Net | Sahil Oto | Nazhar | MySpace TopSites | Voip Destek | Tamamıucuz.com | fikiristan.com | Link Değişimine Katılın |

Sitemiz bir forum sitesi olduğundan dolayı, kullanıcılar her türlü görüşlerini önceden onay olmadan anında siteye yazabilmektedir. ForumTayfa Yöneticileri mesajları itina ile kontrol etse de, bu yazılardan dolayı doğabilecek her türlü sorumluluk yazan kullanıcılara aittir. Yine de sitemizde yasalara aykırı unsurlar bulursanız iletisim@forumtayfa.com email adresine bildirebilirsiniz, şikayetiniz incelendikten sonra en kısa sürede gereken yapılacaktır.
Any member of our web site has the right of adding comments instantly without getting permisson due to the forum structure of our site basis. Althought, our site modarators check comments with care, all the responsibilities sourced from these comments directly belong to the members. If you still find any illegal content in our site ( A.buse, H.arassment, S.camming, H.acking, W.arez, C.rack, D.ivx, Mp.3 or any Illegal Activity ), please report us via iletisim@forumtayfa.com .Your reports will be evaluated as soon as the arrival of your e-mail.