ForumTayfa  

Go Back   ForumTayfa > Güvenlik & Bilgisayar & İnternet & Webmaster & Programlama Bölümü > Güvenlik & Bilgisayar & İnternet & Webmaster & Programlama > Programlama

Programlama Programlama hakkında herşeyi paylaştığımız, soru ve sorunlarımızı tartıştığımız bölüm...

Yeni Konu aç  Cevapla
 
LinkBack Seçenekler Stil
Alt 25.12.06, 12:01   #1 (permalink)
Deneyimli Tayfa
 
silentwolf - ait Kullanıcı Resmi (Avatar)
 
Üyelik Tarihi: Dec 2006
Nereden: burada
Mesaj Sayısı: 3.964
Konu Sayısı: 157
Takım: Fenerbahçe
Rep Gücü: 196650
Rep Puanı: 19663395
Rep Derecesi : silentwolf 0-10000000silentwolf 0-10000000silentwolf 0-10000000silentwolf 0-10000000silentwolf 0-10000000silentwolf 0-10000000silentwolf 0-10000000silentwolf 0-10000000silentwolf 0-10000000silentwolf 0-10000000silentwolf 0-10000000
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.

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


Konuyu Toplam 1 Üye okuyor. (0 Kayıtlı üye ve 1 Misafir)
 
Seçenekler
Stil

Yetkileriniz
Konu Acma Yetkiniz Yok
Cevap Yazma Yetkiniz Yok
Eklenti Yükleme Yetkiniz Yok
Mesajınızı Değiştirme Yetkiniz Yok

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



Tüm Zamanlar GMT +3 Olarak Ayarlanmış. Şuanki Zaman: 10:39.


Powered by vBulletin® Version 3.8.0
Copyright ©2000 - 2020, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.6.0
User Alert System provided by Advanced User Tagging v3.0.6 (Lite) - vBulletin Mods & Addons Copyright © 2020 DragonByte Technologies Ltd.
ForumTayfa

Arşiv: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 16 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 260 261 262 263 264 265 266 267 268 269 270 271


ForumTayfa - Link Değişimi
Telinka İletişim | Voip Ürünleri | 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 [email protected] 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 [email protected] .Your reports will be evaluated as soon as the arrival of your e-mail.