Visual Basic Denetimlerini Kullanmak...

Bu başlık kilitlidir. Yeni mesajlar gönderilemez veya mevcut mesajlar düzenlenemez.
liptolip
31-03-2006, 23:41   |  #1  
OP Taze Üye
Teşekkür Sayısı: 0
4 mesaj
Kayıt Tarihi:Kayıt: Mar 2006

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