Visual Basic Dersleri 5

Bu dersimizde veritiplerinden, değişken tanımlamadan, fonksiyon ve sub kullanımından bahsedeceğiz.
İlk olarak veritiplerinden bahsedelim.Bazılarınız -“veri veridir kardeşim, neden sınıflandırıyoruz?” diye sorabilir.
Veritiplerini ayırmamızın en büyük sebeplerinden biri hafızayı en optimal şekilde kullanabilmemiz içindir.
Örnek olarak bir arabanın yapacağı maximum sürat verisi ile bir adres verisini ele alalım.
Bir araba max 3 haneli bir hız yapar.Dolayısı ile hafızada arabanın max. Hız verisi için 3 haneli bir sayı tutacağız.
Bir adres bilgisi ise en kötü ihtimalle düşündüğümüzü varsayarsak 200 karakteri aşmayacaktır.Şimdi bir düşünelim;
İki veri için de hafızada aynı büyüklükte yer ayırmak biraz savurganlık olmaz mı? Kesinlikle J
Şimdi bu ayrımı yapabilmemiz için visual basic’in bize sunmuş olduğu veri tiplerine bir göz atalım.



Sıra geldi bu değişkenleri kullanmaya.
Standart bir exe projesi açın.Formun kod kısmına geçin.
Değişken tanımlama Dim,Redim,Private,Public,Globa l,Static anahtar sözcükleri ile yapılmaktadır ve yazımı
Dim değişken_ismi as veri_tipi
şeklindedir.Şimdi 2.Lab’ı indirip bu değişkenleri nasıl kullandığımızı görelim.
Formun yüklenmesinde (form_load sub’i calisir) gördüğünüz üzere değişkenlerimizi tanımladık, herbir değişkene değerler atayıp formun üzerine yazdırdık.
Form yüklendikten sonra “Hatalı Atama Yap” butonuna bastığınızda ise vb Overflow hatası verecektir.Bunun sebebi max 255 değer alabilecek byte veri tipine 260 değerini atamaya çalışmamızdır.

Lab2 de farkettiyseniz bytArabaninMaxHizi değişkeni iki kere tanımlanmıştır.Bunun sebebi değişkenlerin tanımlandıkları yerlerle alakalıdır.Aslında bunu en iyi aşağıdaki şema açıklar.



Şemada standart bir exe projesinin kod bölümünü görmektesiniz.Bütün kod sayfasının başında
Dim dteDogumGunum as Date değişken tanımlaması bulunmaktadır.Şimdi olayı biraz daha karmaşıklaştırıyoruz.

-dteDogumGunum değişkeninin değeri form unload edilene kadar yani biz formu kapatana kadar hafızada kalacak ve formun içinden herhangi bir program bloğundan (sub veya function) erişilebilecektir.
-strDegisken1 değişkeninin değeri sadece Command1_Click sub’ı süresince hafızada tutulacaktır.
-intA değişkeninin değeri de sadece Command2_Click sub’ı süresince hafızada tutulacaktır.
Peki ya Private ve Public ? Eğer bir formun kod sayfasının en üstüne (General Declerations)
Public strDeğişken1 as string yazarsanız proje’de herhangi bir bölümden formismi.strDeğişken1 yazarak değişkene erişebilirsiniz.
Bunu daha iyi anlamak için 3.Lab’ı indirip çalıştırmanız yeterli olacaktır.

İlerleyen derslerimizde örneklerle daha detaylı açıklamalar yapacağız.

Simdi gelelim Sub ve Functionlara.Sub ve Functionlar program bloklarıdır.Belli bir iş için biraraya getirdiğimiz kodu içerirler.Örnek olarak Toplama işlemi için Toplama Sub’ına istegiğimiz değerleri gönderir ve toplatırız.Dolayısı ile projede herhangi bir yerde toplama işlemini kullanmamız gerektiğinde bu Sub’i çağırabilir tekrar kodlama yapmaktan kurtulabiliriz.

Sublar iki bölüme ayrılırlar.Form objelerinin olayları tetiklendiğinde çalıştırdıkları sublar ve kullanıcının kendi yazdığı sublar.Orneğin Private Sub Command1_Click sub’ı command1 objesinin click olayı tetiklendiğinde vb tarafından otomatik olarak çalıştırılır.

Sub’ın Function dan farkı nedir? Sub’ı çağırdığınızda vb o sub içindeki kodu çalıştırır ve End Sub ile işlemi bitirir.
Functionlara hatırlarsanız bir önceki dersimizde biraz değinmiştik.Tekrar yapmamız gerekirse functionlar yaptıkları işlemler sonucunda çağırıldıkları yere bir sonuç, bir değer döndürürler.
Değişken tanımlamalarda olduğu gibi fonksiyon ve sub larında tanımalama sınırları mevcuttur ve bu sınırlar Private,Public,Friend anahtar kelimeleriyle belirlenir.


Private Sub MerhabaDunya()
Msgbox “Merhaba Dunya”
End Sub
Public Sub HeryerdenErisebilirsin()
Msgbox “Eriştin”
End Sub

Projede çok fazla public değişken sub veya function kullanırsanız bu hafızayı gereğinden fazla meşgul eder ve performansı etkiler.Bunu engellemenin bir yolu da sub veya function ın içine parametre gödermek ile olur.

Private Sub ParametreleriToplaVeGoster(int Param1 as integer,intParam2 as integer)
Msgbox intParam1+intParam2

End Sub


Bir sonraki dersimizde modüller, classmodüller konularına değineceğiz.
Lab2 ve lab3 'ü indirmek için
TIKLAYINIZ

0 yorum:

Yorum Gönder

 
Copyright © Visual Basic Blogu