You need to enable JavaScript to run this app.

Skip to main content

Array (Dizi) Değişken Tanımlamak , Değer Atamak , Tekrar Boyutlandımak , Ve Önceki içeriğini Korumak

Array (Dizi) Değişken Tanımlamak , Değer Atamak , Tekrar Boyutlandımak , Ve Önceki içeriğini Korumak

Posting Freak
Array (Dizi) Değişken Tanımlamak , Değer Atamak , Tekrar Boyutlandımak , Ve Önceki içeriğini Korumak
Burada Array Değişken Tanımlamayı , Değer Atamayı , Array Değikenlerimin Sayısını arttırmayı Yani Tekrar boyutlandırmayı , Bu Boyutlandırma esnasında bir önceki içeriğin kayboluşu ve Kaybolmadan Nasıl korunacağını anlatan bir Kod Yazdım. (Program : VB.NET 2003, .Net FreamWork 1.1 sürümü.)

Programımızın Amaçları

1 - gunler Adlı bir değişken tanımlayıp buna haftanın gunlerini değer olarak atıyacağız.

2- bu değişkenleri Bir döngü araçılığı ile ListBox1 nesnesinin öğeleri haline getireceği

3- gunler değişkenimize sonrada bir Değer daha ekleyerek
bunuda listemize eklemeyi deniyeceğiz.

--------------------------------------------------------------------
Programımızın Nesneleri :

1- Bir ListBox Nesnesi Ekleyerek , Name özelliğini ; "lstGunler" (Tırnak işaretleri yok) yapalım.

2- 3 adet Button Nesnesi Ekleyip alt alta hizalayalım ,
en üstteki yani ilk butonumuzun , Name özelliğini ; "btnEkle" (Tırnak işaretleri yok)
olarak değiştirelim. Text Özelliğini ise ; "İlk Değişkenleri Yükle" (Tırnak işaretleri yok) olarak değiştirelim

İkinci Buttonımızın , Name özelliğini ; "btnGuncel" (Tırnak işaretleri yok) olarak değiştirelim. Text özelliğini ise ; "Yeni Değişkeni Ekle"(Tırnak işaretleri yok) olarak değiştirelim.

Üçüncü buttonımızın , Name özelliğini ; "btnIlk"(Tırnak işaretleri yok) olarak değiştirip , Text özelliğinide "En Başa Dön" (Tırnak işaretleri yok) olarak değiştirelim

Bu özellikleri ve Arayüzü ayarladıktan sonra artık program
Kodunu Yazmaya geçebiliriz. Sonraki Adımlarıda Program Kodu içersinde açıklayarak ilerliyeceğim.

---------------------------------------------------------------------
Program Kodu : (Kodu Direkt VB'ye Kopyalarak Devam Edebilirsiniz.)



Dim gunler() As String = {"Pazartesi", "Salı", "Çarşamba", "Perşembe" _
, "Cuma", "Cumartesi", "Pazar"}
'Burada Array değişkenimi tanımlayıp değerlerini atadım.
'Değer atamaksızın tanımlasaydım Dim Gunler(6) olarak
'tanımlamam gerekirdi. Fakat değerleri sonra atanmak
'durumunda kalırdı. Kullanıcıdan bilgi girişi alınarak
'değişkenlerin değerini bellirlerken Array değişken
'bu şekilde tanımlanmalıdır. (Başka Bir örnekte açıklancaktır)
' gunler(6) yazmamın sebebi Değişkenler 0 (Sifir)dan başlayarak
'Tanımlanmasıdır. yani 8 öğeli değişken 7 yazılarak tanımlanır
' açılımı ise 0,1,2,3,4,5,6,7 dir. Sifir dahil olunca 8 adet
'Değişken elde etmiş oluruz.

Dim i As Byte ' Döngüde kullanacağım Değişkeni tanımladım

'İlk Butonumuzun Click olayını inceliyelim

Private Sub btnEkle_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnEkle.Click
lstGunler.Items.Clear() ' listemi olası Tekrarlardan korumak için temizliyorum
' bu ifade diğer button_Click olaylarındada vardır. bu kodu temizlerseniz
'Nasıl bir hataya sebeb olduğunu görüceksiniz.
For i = 0 To UBound(gunler) ' burada bir Döngü başlatıyorum
' UBOUND fonksiyonu ile gunler Dizi değişkeninin en son sayısını bulmak
' için kullandım LBOUND fonksiyonuda VB.NET'de mevcuttur fakat her zaman
' 0 (Sifir) değerini döndürür. VB 6 da OPTION BASE deyimi ile Dizi değişkenlerin
' başlangıç değerini 0 veya 1 olarak ayarlama imkanımız vardı ve bu Fonksiyonlar
'çok faydalıydı. Ancak VB.NET'te OPTION BASE desteklenmemektedir. ve Dizi
'Değişkenler Herzaman Sıfırdan Başlamaktadır.
'Neden oraya 6 yazmadımda UBOUND fonksiyonu ile buldurdum. Aslında Bu
'Uygulamada buna gerek olmamasına karşın ileride programlarımız büyükdükçe
' Döngünün ne kadar döndürüleceği veya Dizi değişkenimizin Boyutlarının
'her zaman sabit kalamayacağı gerçeği karşımıza çıkacaktır
'bundan dolayı ileride alışkanlık olması açısından ucu acık bir kod yazdım
' Diğer tabiriyle Programıma Esneklik Kattım.

With lstGunler.Items ' burada kodumuza pratiklik kazandıran With deyimini
'kullandım burada kullanmama gerek yok fakat başka zaman başka yerde
'işinize yarayacak olmasına karşın yazdım. Neden Gerek yok ?
' Çünkü Döngü 7 Kere Aynı Komutu çalıştıracaktır.
'Eğer Döngü kullanmadan yazmak isteseydim her seferinde
'lstGunler.Items.Add Yazarak öğe Eklemek durumunda Kalıcaktım
' ama With lstGunler.Items ..... End With Deyimini kullanarak
' programın kod yükünü Hafiflettim Bu deyimler arasında "." Noktaya
'basarsak VB Addsence özelliği sayesinde LstGunler.Items 'a ait
'özellik ve metodları listelenecektir.

.Add(gunler(i)) ' gunleri Listeme Ekledim.

End With ' With Deyimini sonlandırdım
Next ' dongumun basına donerek gereken kadar dondurulmesini sağladım.
End Sub

Private Sub btnGuncel_Click(ByVal sender As System.Object _
, ByVal e As System.EventArgs) Handles btnGuncel.Click

ReDim gunler(7) ' burada görüldüğü gibi ReDim ifadesini kullanarak
'Array (Dizi) Değişkenimin Boyutlarını büyüterek tekrar tanımladım.
' bir Preserve ifadesini ekleyerek önceden Yani En yukarıda Atadığım değerleri
'korumasını Söyledim. Buradan PreServe İfadesini kaldırırsanız ListBox'a
' herhangi bir değer eklenmmiyecek ve Program Hata verip Çalışmayı Durduracaktır.
'deneminizde fayda var !!
lstGunler.Items.Clear() ' burayı yukarıda anlattım
For i = 0 To UBound(gunler)
gunler(7) = "Tatil Günü" ' burada Arrayımın Genişlettiğim Kısımına değerini Atadım.
With lstGunler.Items
.Add(gunler(i)) ' ve Diğer değişkenlerle birlikte Bu değerinde liste Kutusuna
'eklenmesini Sağladım. Eğer Yukarda PreServe Komutunu Girmeseydim Burada Sadece
'tatil Gunleri eklenecekti. tabii Bir oncekilerin Değeri KAybedilceğinden
' dolayı prgoramım hata vericekti ama Gunler(7) ="Tatil Günleri" komutu işletilmiş
'olucaktı. Sonuc Diğer değerler kaybolmuş olucak sadece Gunler(7) değişkenimin
'değeri belli olucaktı. Bunu Engellemek ve bir önceki değerleri korumak namına
'PreServe deyimini ReDim ifadesine ekledim.
End With
Next
End Sub



Private Sub btnIlk_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnIlk.Click
ReDim Preserve gunler(6) ' burada Tekrar Array Değişkeni boyutlandırdım
lstGunler.Items.Clear() ' listemi Temizledim.
For i = 0 To UBound(gunler) ' Döngümü Başlattım.
With lstGunler.Items
.Add(gunler(i)) ' ve listeye İlk atadığım değerlerin Yüklenmesini sağladım
' peki burada Gunler(7) değişkenine ne oldu ? Sizinde Tahmin edeceğiniz üzere
'Sevgili arkadaşlar Gunler(7) değişkeni yandı bitti Kül oldu Smile
End With
Next
End Sub
' Programımın Sonu



[Resim: 114ld.jpg]



Ben göremem daha uzun boyunu
Ahret derler kısaltamam yolunu
Bugün Sahı Merdan sarsın oglunu
Yetis Ya Üseyin baban gidiyo

İçerik sağlayıcı paylaşım sitesi olarak hizmet veren Pir Zöhre Ana Forum sitemizde 5651 sayılı kanunun 8. maddesine ve T.C.K'nın 125. maddesine göre tüm üyelerimiz yaptıkları paylaşımlardan kendileri sorumludur. Sitemiz hakkında yapılacak tüm hukuksal şikayetleri İletişim bağlantısından bize ulaşıldıktan en geç 3 (üç) gün içerisinde ilgili kanunlar ve yönetmenlikler çerçevesinde tarafımızca incelenerek, gereken işlemler yapılacak ve site yöneticilerimiz tarafından bilgi verilecektir.