Visual Basic Denetimlerini Kullanmak
Visual Basic’de kullanıcı arabirimini oluştururken Toolbox’dan faydalanırız. Form üzerinde bulunmasını istediğimiz denetimleri Toolbox üzerinden seçerek form üzerine çizebiliriz. Bu şekilde kullanıcı arabirimini dizayn etmiş oluruz. Toolbox üzerinde bulunan simgeler üzerine imleci getirdiğimizde bize o simgenin ne olduğunu açıklayan mesaj gelecektir. Toolbox üzerinde istediğimiz denetime ait simge üzerine tıkladıktan sonra form üzerinde mouse’un sol tuşunu basılı tutarak denetimimizi çizebiliriz.
Visual Basic’de form üzerinde bulunan bir denetimin boyutlarını değiştirmek için, denetim üzerine tıkladıktan sonra etrafında oluşan noktacıklar üzerine mouse’umuzu getirir ve sol tuşu basılı tutarak yeni boyutları belirleyebiliriz. Bir nesnenin üzerine mouse imlecini getirip sol tuş basılı iken hareket ettirere taşıyabiliriz. Herhangi bir nesneyi seçili hale getirip klavyeden “Delete” tuşuna basarak form üzerinden silebilirz.
Not : Birden fazla denetimi seçmek için, “Shift” tuşu basılı iken sırası ile nesnelere tıklayarak çok sayıda denetimi seçili hale getirebiliriz.
Özellikler (Properties)
Visual Basic’de bütün nesnelerin karakteristiklerini belirleyen özellikleri bulunur. Özellikler nesnenin tanımını, görünümünü ve hatta tutumunu değiştirebilmemizi sağlar. Bu özellikler tasarım aşamasında değiştirilebileceği gibi çalışma esnasında da değiştirilebilir. Bir nesneye ait özelliği değiştirmek için Propeties Penceresinin ekranda olması gerekir. Eğer Propeties Penceresi ekranda değilse View menüsü aracılığı ile ekrana getirilebilir.
Form üzerinde bir nesne seçildikten sonra Propeties Penceresine o nesneye ait özelliklerin listesi gelir. Buradan istenilen özellik seçilerek istediğimiz değeri atayabiliriz. Bir başka nesnenin özelliklerini değiştirmek için ise form üzerinde diğer nesneyi seçili hale getirmemiz gerekir. Bu işlemi yaptığımız anda Propeties Penceresinde listelenen özellikler değişir. Bir başka yol ise Propeties Penceresinin üst tarafında bulunan açılan liste kutusundan farklı bir nesne adı seçmektir. Birden fazla nesne seçilerek, o nesnelere ait ortak özellikler değiştirilebilir.
Çalışma anında bir nesnenin özelliklerini değiştirmek için ise Code Editörde kod yazmamız gerekir. Bir nesneye ait kod yazarken önce nesne adı yazılır ardından bir “.” işareti konulur ve özellik adı yazılır. Aşağıdaki ifadede Command1 nesnesinin Caption özelliğini Durdur olarak değiştiriyoruz.
NesneAdı.Özellik=Değer
Command1.Caption = “ Durdur ”
Olaylar (Event)
Visual Basic olay güdümlü bir programla dilidir. Visual Basic’de her nesne için önceden belirlenmiş bir takım olaylar vardır. Windows’a yeni geçiş yapan bir DOS programcısıysanız, veya Visual Basic’e henüz yeni başlamış bir programcıysanız öğrenmeniz gereken en önemli konulardan biri olay güdümlü programlardır. Dos ortamında yazılan projeler, uygulama başladıktan sonra bütün olaylardan sorumludur. Visual Basic bu detayları bizim için düşünmüştür. Örneğin bir butona tıkladığınızda mesaj yazdıran bir program yazmak istiyorsunuz; DOS tabanlı bir programlama dilinde, mouse’un konumunu, mouse’un tıklanıp tıklanmadığını takip etmeniz gerekir. Visual Basic’de ise aynı işi yapmak için form üzerinde bulunan Command Button nesnesini click olayına bir satır kod yazmamız yeterlidir. Visual Basic bizim için mouse’u izler ve kullanıcı butona tıkladığı anda yazdığınız kodu devreye sokar.
Bir olay prosedürü yazmak için Code Editörde nesneyi ve olayı seçmemiz yeterlidir. Visual Basic bizim için Code Editörde bir prosedür yaratacaktır. Bizim ise tek yapmamız gereken bu olay gerçekleştiğinde meydana gelmesini istediğimiz işlemin kodunu yazmaktır.
Veri Tipleri
Visual Basic’de verilerin geçici olarak depolandıkları yere değişken adı verilir. Değişkenlerde program çalışırken kullanıcının girdiği bir bilgi, bir hesaplamanın sonucu, sözcük, sayı, tarih veya özellikleri saklayabiliriz. Değişkenlerin kolay hatırlanır isimlere sahip olmaları gerekir. Visual Basic’de bir değişken kullanılmadan önce tanıtılması gerekir. Değişken tanımlanırken Dim bildirisi kullanır ve değişkenin tipi belirtilir.
Değişkenlerle çalışmayı düşünüyorsak projemizin Declarations bölümüne Option Excplicit söz dizimini girmemiz ileride karşılaşabileceğimiz sorunlara bir çözüm oluşturur. Bu söz dizimini kullandığımızda kod içerisinde tanıtılmamış bir değişken kullanırsak Visual Basic bizi uyaracaktır. Tools-Options komutunu vererek gelen pencerede Edit sekmesinden Require Variable Declaration onay kutusunu işaretlersek, Visual Basic başladığımız her projeye Option Explicit ifadesini otomatik olarak yerleştirecektir.
String
Metin türü bilgileri saklamak için kullanılabilecek veri türüdür. 0 ile 65,535 arasında karakter alabilir. Hafızada içerisinde bulunan karakter kadar yer kaplar. $ işareti ilede tanımlanabilir
Dim Ad As String Dim Ad$
Ad=”Uğur ŞAHİN” Ad=”Uğur ŞAHİN”
String türü degişkenlere sabit bir uzunlukta yer ayırmak istersek aşagıdaki şekilde bir tanımlama yapmalıyız.
Dim Ad As String *12
Integer
Tam sayıları depolamak için kullanılan bir veri türüdür. Hafızada 2 Byte yer kaplarlar.
–32.768 ile +32.767 arasındaki değerleri saklayabilir. % işareti ilede tanımlanabilir
Dim Toplam As Integer Dim Toplam%
Toplam=100+50 Toplam=100+50
Long
Integer türü değişkenlerde tutamayacağımız büyüklükteki verileri saklar. Alabileceği değerler
-2.147.483.648 ile +2.147.483.647 arasındaki tam sayılardır. Hafızada 4 Byte yer kaplar. & işareti ilede tanımlanabilir.
Dim Sonuc As Long Dim Sonuc&
Sonuc=460.000 Sonuc=460.000
Single
Tam sayı olmayan küsüratlı sayılar için kullanabilecegimiz bir veri tipidir. –3,402823E38 ile +3,402823E38 arasındaki değerlerini alabilirler. Hafızada 4 Byte yer kaplar. 7 haneye kadar hassastır, daha sonrası yuvarlatılır. ! işareti ilede tanımlanabilir.
Dim Sonuc As Single Dim Sonuc!
Sonuc=66,99 Sonuc=66,99
Double
Visual Basic’de kullanılabilecek en büyük sayısal veri tipidir. -1,797693134862232D308 ile +1,797693134862232D308 arasındaki değerleri alabilirler. Hafızada 8 Byte yer kaplar. 16 haneye kadar hassastır, daha sonrası yuvarlatılır. # işareti ilede tanımlanabilir.
Dim Pi As Double Dim Pi#
Pi=3,1415926535 Pi=3,1415926535
Currency
Sayısal tipdeki veriler için tanımlanmış özel bir veri tipidir. Özellikle parasal hesaplamalarda kullanılır. Hafızada 8 Byte yer kaplarlar. 14 hanelik sayılara kadar veri saklayabilir ve ayrıca virgülden sonra da 4 hanelik değer alabilir. Alabilecegi maximum degerler
–9.223.371.203.685.477,5808 ile +9.223.371.203.685.477,5807 arasındadır. @ işareti ilede tanımlanabilir.
Dim Kredi As Currency Dim Kredi@
Kredi=100.760.030,50 Kredi=100.760.030,50
Variant
Bu tipte tanımlanmış bir degişkene herhangi bir tip’te veri yüklenebilir. Her tür veriyi saklayabilir. Bu tür degişkenler sayılarda 16 Byte, dizilimlerde karakter sayısı +22 Byte kadar yer kaplarlar. Tarih, saat gibi verilerde bu tip değişkenlerde saklanırlar. Veri tipi belirtilmeden kullanılabilirler.
Dim X As Variant Dim X
X=289,33 X=289,33
Dim DogumGunu As Variant
DogumGunu =#21-4-1974#
Boolean
Mantıksal veri tipleri için kullanılır. İki seçenekten birisini alabilir.Bunlar True veya False değerleridir. Bellekte 2 byte yer işgal ederler.
Dim Cevap As Boolean
Cevap=True
Byte
0 ile 255 arasında değer alabilen bir veri tipidir.
Dim Not As Byte
Not=78
Değişken Tanımlama
Visual Basic’de degişken tanımlanırken dikkat edilmesi gereken kurallar vardır. Tanımlanacak degişkenlerin ilk karakteri mutlaka bir harf ile başlamalıdır. Geri kalan karakterler; harflerden, rakamlardan, alt çizgi karakterinden oluşabilir. Degişken isimlerinde noktalama işaretlerini, matematiksel ve mantıksal ve karşılaştırma operatörleri kullanamayız. Visual Basic’de kullanılan anahtar sözcükler, nesne adları, özellikler değişken adı olarak kullanılamaz. Degişken isimleri 255 karakter uzunluğunda olabilir. Degişken tanımlarken Visual Basic’te Dim bildiri deyimini kullanabiliriz. Değişkenin tanomlanırken saklayabileceği veri türünün belirtilmesi hafızada ayrılacak miktarının belirli olmasını sağlar. Eger degişkenlerin tipini belirtmeden bir kullanım yaparsak bu değişkenlerin Variant tipinde olduğu kabul edilir. Bu da hafızada gereksiz yer kaybına sebep olur.
Örnek
Private Sub Form_Load()
Dim Ad As String
Dim Maas As Currency
Dim D_tarihi As Date
Dim Adres As String
Dim Sira As Integer
End Sub
Burada görmüş olduğunuz gibi 5 adet değişken tanımlanmaktadır. Ad String tipinde, Maaş Currency tipinde, D_tarihi Date tipinde, Adres String tipinde, Sira ise Integer tipinde bir değişkendir.
Örnek
Private Sub Form_Load()
Dim Ad As String , Soyad As String
Dim Maas As Currency
End Sub
Const
Bunlar program içinde değeri degiştirilemeyen sabitlerdir. Public ve Private tipinde sabitler tanımlanabiliilir. Public sabitlere tüm modüller içinden ulaşılabilir. Private türündeki sabitler ise sadece tanımlandıkları modül içersinde geçerlidirler.
Const Sehir=”İstanbul”
Const Ulke="Turkey"
Const Posta_Kodu=34650
Const Tel_Kod=212
Static
Bir prosedür içerisinde oluşturulan değişken prosedür çalıştığı sürece değerini korur. Prosedur sona erdiğinde ise değişken yokolur. Sürekli değerini koruyabilen yerel değişkenler oluşturabilmek için Static deyimi kullanılır.
Private Sub Command1_Click()
Static i As Integer
i = i + 1
MsgBox i & ". Denemeniz."
End Sub
Type - End Type Yapısı
Type yapısını kullanarak, programcı farklı veri tiplerini kullanarak kendi veri yapısını oluşturabilir. Bu C dilindeki Struct yapısına benzetilebilir. Bu yeni veri tipine record adı verilir. Herhangi bir modülün General Declarations kısmında aşagıdaki gibi bir tanımlama yapabiliriz.
Type Ogrenci
Ad As String *10
Soyad As String *12
Not As Byte
Kredi As Integer
End Type
Öğrenci veri tipi toplam hafızada 25 Byte yer kaplamaktadır. Bu veri tipini kullanmak için Öğrenci tipinde değişkenler tanımlamak gerekmektedir.
Private Sub Form_Load()
Dim A As Ogrenci
Dım B As Ogrenci
'Bu degıskenlere bilgi atamak aşagıdaki şekildeki gibidir.
A.Ad="Ali"
A.Soyad ="Armer"
End Sub
Tip Döşümleri
Visual Basic'de zaman zaman herhangi bir veri tipinde saklanan değeri farklı bir veri tipine dönüştürme ihtiyacı duyarız. Bu işlemi yapan fonksiyonlara tip dönüşüm fonksiyonları adı verilir.
Private Sub Command1_Click()
Text1.Text = 6
Text2.Text = 10
Label1.Caption = Text1.Text + Text2.Text
End Sub
Bu kodu çalıştırdığımızda Label1 içerisinde 610 değeri yazacaktır. Visual Basic her iki metin kutusu içerisinde bulunan değerlerin birer metin olduğunu varsayarak iki metinide birleştirme işlemi yaptı. Eğer bu değerlerin toplanmasını istiyorsak tip dönüşümlerini kullanarak string tipindeki verileri integere çevirmemiz gerekirdi.
Private Sub Command1_Click()
Text1.Text = 6
Text2.Text = 10
Label1.Caption = CInt(Text1.Text) + CInt(Text2.Text)
End Sub
Yukarıdaki kodda Text1 ve Text2 içeriği önce CInt adlı fonksiyonla tamsayıya çevrildi ve ardından toplandı. Label1’in içeriği de 16 olarak değişti.
Aşağıda Visual Basic’de kullanılan tip dönüşüm fonksiyonları verilmiştir.
Fonksiyon Geri Dönen Deger Yaptıgı İşlem
CBool(Değer) Boolean Matemetiksel ifadeyi Boolean türüne dönüştürür.
CByte(Değer) Byte Matemetiksel ifadeyi Byte türüne dönüştürür.
CCur(Değer) Currency Matemetiksel ifadeyi Currency türüne dönüştürür.
CDate(Değer) Date Matemetiksel ifadeyi Date türüne dönüştürür.
CDbl(Değer) Double Matemetiksel ifadeyi Double türüne dönüştürür.
CDec(Değer) Decimal Matemetiksel ifadeyi Decimal sayıya dönüştürür.
CInt(Değer) Integer Matemetiksel ifadeyi tam sayıya dönüştürür.
CLng(Değer) Long Matemetiksel ifadeyi Long türüne dönüştürür.
CSng(Değer) Single Matemetiksel ifadeyi Single türüne dönüştürür.
CVar(Değer) Variant Matemetiksel ifadeyi Variant türüne dönüştürür.
CStr(Değer) String Matemetiksel ifadeyi String türüne dönüştürür.
Aşagıda tip dönüşümleri ile ilgili çeşitli örnekler verilmiştir.
Örnek1
A=10 , B=5 , C=10 , D=0
Sonuc= CBool(A < B) ‘Sonuc =False
Sonuc= CBool(A > B) ‘Sonuc =True
Sonuc= CBool(A = C) ‘Sonuc =True
Örnek2
A=10 , B=5 , C=0
Sonuc= CByte(A < B) ‘Sonuc =0
Sonuc= CByte(A > B) ‘Sonuc =255
Sonuc= CByte(A = C) ‘Sonuc =255
Örnek3
A=1 , B=2 , C=36000 , D=36001
Sonuc= CDate(A) ‘Sonuc =12/31/1899
Sonuc= CDate(B) ‘Sonuc =1/1/1900
Sonuc= CDate(C) ‘Sonuc =7/24/98
Sonuc= CDate(D) ‘Sonuc =7/25/98
Örnek4
A=2.4 , B=2.5 , C=2.6 , D=3.5
Sonuc= CInt(A) ‘Sonuc =2
Sonuc= CInt(B) ‘Sonuc =3
Sonuc= CInt(C) ‘Sonuc =3
Sonuc= CInt(D) ‘Sonuc =4