Temel VISUAL BASIC

1963 yılında Darmouth College’de John G. Kemeny ve Thomas E. Kurtz tarafından Basic dili geliştirilmiştir. Daha sonralarda Microsoft tarafından PC’lerde kullanılmak uzere uyarlanmıştır. Microsoft Qbasic ve Microsoft-Dos Qbasic’de dahil olmak uzere ceşitli surumleri bulunmaktadır. Microsoft ileriki yıllarda Basic dilini geliştirerek Windows ortamına uyarlamış ve geliştirilen bu yeni dile Visual Basic adını vermiştir. Microsoft en son Visual Basic’in 6.0 surumunu cıkarmıştır. Visual Basic, devamlı geliştiği bu sure sonunda; yuksek hızlı uygulamalar, OLE Serverlar, ActiveX kontrolleri ve daha bir cok projeyi geliştirebilecek hale gelmiştir. Visual Basic yapısal bir programlama dili olan Basic dilinden turetilmiş olmasına rağmen olaya bağlı bir programlama dilidir.
Yapısal yada yordamsal uygulamalarda , uygulama kodun hangi kısımlarının calışacağını ve hangi sırada calışacağını denetler. Uygulama kodun ilk satırı ile başlar ve gerektiğinde yordamları cağırarak uygulama boyunca onceden tanımlanmış bir yolu izler.
Olaya bağlı bir uygulamanın calışması, onceden belirlenmiş bir yolu izlemez. Farklı kod bolumleri olaylara bağlı olarak calışır. Olaylar, kullanıcın eylemlerinden, sistem yada diğer uygulamalardan gelen iletilerden tetiklenir. Olaya bağlı programlamanın en gerekli bolumu bir uygulamada oluşabilecek olası tum olaylara yanıt veren kodlar yazmaktır.


Visual Basic’i calıştırdığımızda karşımıza yandaki dialog penceresi gelir. Bu dialog penceresinde 3 adet sekme bulunur. New sekmesinde oluşturulmak istenilen yeni proje icin alternatifler bulunmaktadır. Genellikle Standart.EXE seceneği secilerek yeni bir projeye başlanır. Eğer istenirse diğer seceneklerde kullanılarak ActiveX denetimleri, Dll dosyaları, DHTML sayfalar oluşturulabilir. Existing sekmesi ile daha onceden oluşturulmuş projeler surucu ve klasor secimi yapılarak acılabilir. Recent sekmesi ise uzerinde calışmış olduğumuz projelerin bir listesini verir ve bunlar arasından istediğimizi secerek calıştırabiliriz.

Visual Basic Calışma Ortamı
Visual Basic’de bir proje başlattığımızda aşağıdaki gibi bir goruntu ile karşılaşırız. Bu goruntuyu elde edebilmeniz icin acılışta "Standart EXE” seceneğini kullanmalıyız.


Proje geliştirme ekranında aşağıdaki araclar bulunur.
• Menu Cubuğu
• Arac Cubuğu
• Project Explorer
• Properties penceresi
• Form Layout penceresi
• Arac Kutusu
• Form Designer





Menu cubuğu Visual Basic penceresinin ust tarafında duran metin satırıdır. Diğer Windows uygulamalarında bulunan menu cubukları ile hemen hemen aynıdır. File Menusunde projeyi acma kaydetme gibi işlemler, Edit Menusunde standart edit işlemleri, View Menusunde programın mevcut olan fakat ekranda acık olmayan pencerelerini acma işlemleri, Project Menusunde form ekleme-kaldırma gibi proje ile ilgili işlemler, Format Menusunde forma eklenen nesnelerin duzenleme işlemleri, Debug Menusunde program calışırken programı kontrol etmeye yarayan işlemler bulunur. Run Menusu aracılığı ile programı calıştırabilir veya durdurabiliriz.Tolls Menusunde Visual Basic’i ozelleştirebileceğimiz ve Projeye menu ekleyebileceğimiz secenekler bulunur. Add-Ins Menusu ise raporlar ve database oluşturma seceneklerini bulunudurur.


Menu cubuğunun hemen altında yukarıda gorulen arac cubuğu bulunur.

Project Explorer penceresi projenizde bulunan elemanlara erişmenizi sağlar. Bu pencerede formalar, sınıflar ve moduller listelenir. Bu pencerenin arac cubuğunda 3 adet buton bulunur. Project Explorer penceresi icerisinden bir form secip View Object butonuna tıklayarak formu goruntuleyebilirsiniz. View Code butonu Code Editore ulaşmanızı sağlar. Toggle Folders butonu ise tum form ve modulleri kategoriler halinde gorebilmemizi sağlar. Project Explorer penceresinde bir oğeye sağ duğme ile tıkladığımızda bir cok işlev sunan bir menu acılır.



Visual Basic’de butun nesnelerin kendilerine has ozellikleri bulunur. Properties penceresi kullanılarak nesnelere ait ozellikler değiştirilebilir. Bir nesne secildikten sonra Properties penceresinde secili olan nesneye ait ozellikler yer alır. Visual Basic’de formlarda birer nesnedir. Yanda gorulen pencerede Form1’e ait ozellikler listelenmektedir. Properties penceresinin altında aktif olan ozelliğe ait bir acıklama gorulebilir.










Form Layout penceresi ile formun calışma esnasında ekranda nasıl goruleceğini belirleriz.
Toolbox uygulama arabirimimizi oluşturmak icin gereksinim duyacağımız denetimleri icerir. Toolbox’da bulunan butun simgeler birer denetimi temsil ederler. Visual Basic, mouse ikonunu bir denetimin uzerine getirdiğimizde bu denetimlerin adını bize verir. Toolbox’a yeni denetimler ekleyebilir yada varolan denetimleri cıkartabiliriz.
Toolbox’da bulunan bir denetimi kullanmak istersek mouse ikonu ile denetim uzerine bir kez tıklarız ve ardından formumuza bu denetimi cizeriz. Bu şekilde istediğimiz denetimi formumuza eklemiş oluruz.


Yukarıdaki resimde ekranının ortasında Form Tasarımcısı gorulur. Form gorunumunun, form uzerindeki denetimlerin duzenlendiği yerdir.
İyi bir programcının, kullandığı derleyicinin editorunu cok iyi tanıması gerekir. Visual Basic’de bu editore Code Editor adı verilir. Code Editor’u bir form uzerine veya nesneye cift tıklayarak veya sağ click yaptıktan sonra View Code seceneğini kullanarak acabiliriz. Code Editor, Project Explorer penceresinden bir oge secimi yapıldıktan sonra View Code butonuna tıklayarak da acılabilir. Yanda bir form uzerine cift tıklandıktan sonra gelen Code Editor goruluyor.
Bu pencerenin ust tarafında iki adet acılır liste kutusu bulunmaktadır. Sol taraftaki acılan metin kutusunda (Object), form icerisinde bulunan nesnelerin bir listesi bulunur, sağ taraftakinde (Procedure) ise secili nesneye ait olaylar bulunur, aşağıdaki bolum ise kodları yazacağımız kısımdır.
Programlamaya Giriş
Program, bilgisayar uzerinde bir takım yararlı işlerin gercekleşmesini sağlayan bir grup yonergedir. Program, kişilerin adres, telefon gibi bilgilerini tutmamızı sağlayan kucuk bir uygulama olabileceği gibi Microsoft Excel, Microsoft Word gibi cok gelişmiş bir uygulamada olabilir.
Programlamanın ilk adımı programımızın tam ve kesin olarak neler yapması gerektiğini belirlemektir. Bu işlem oldukca basit gibi gorunmektedir. Herşeyin yolunda gitmesi icin en başta herşeyin iyice duşunulup tasarlanması gereklidir. Burada yapılan planlama olayına algoritma adı verilir. Onceden yapılan bu calışma ileride programı geliştirirken kaybedilecek zamanı azaltır.
Program icin bir algoritma oluşturulduktan sonra kullanıcı arabirimini tasarlama işini gercekleştirmeliyiz. Kullanıcı arabirimi Visual Basic denetimleri kullanılarak hazırlanır Kullanıcı arabirimi, uygulamayı kullananların gorduğu butun menuleri, iletişim kutularını, nesneleri ve resimleri kapsar. Kullanıcı arabirimi ne kadar anlaşır, sade , gorsel ve Windows standartlarına uygun olursa programın kullanımı da bir o kadar kolay ve esnek olur.. Kullanıcı arabirimi tasarlandıktan sonra denetimlerin ozelliklerini belirler ve verilerin nasıl işleneceği ile ilgili kodları yazarız.
Visual Basic’de proje geliştirmeye başlarken yukarıda bahsedilen işlemleri gercekleştirirz. Bu işlemlerin neler olduğuna karar verebilmemiz icin kendimize bir takım sorular sormalıyız. Bu sorular programın nasıl calışacağına karar vermemize ve kullanıcı arabirimini tasarlamamıza yardımcı olur.

Yazdığım programın hedefi nedir ?
Programı kim kullanacak ?
Calıştırıldığında program goruntusu nasıl olacak ?
Programa, kullanıcı hangi verileri, nasıl girecek ?
Program bu verileri nasıl işleyecek ?
Program hangi bilgileri uretecek ?
Merhaba Dunya Programı
Hemen hemen programlamaya ilk başlayan herkesin oğrendiği ilk program “Merhaba Dunya” programıdır. Visual Basic’de bu programı yazabilmek icin ilk once yeni bir proje başlatmamız gerekir. File-New Project komutunu verdikten sonra gelen pencereden “Standart.EXE” seceneğini secip “OK” butonuna basarız. Karşımıza Visual Basic proje geliştirme ortamı gelir. Visual Basic’de her projede en az bir adet Form olmalıdır. Şimdi calıştığı zaman ekranda “Merhaba Dunya” yazan bir proje hazırlayacağız. Bunu yapabilmek icin Code Editor’e bir satırlık bir kod yazmamız yeterli olacaktır. Code Editore ulaşabilmek icin Form uzerine cift tıklarız ve Code Editor karşımıza gelir. Visual Basic Code Editorde bizim icin otamatik olarak yandaki gibi Form’a ait Load prosedurunu acar. Code Editorde Private Sub Form_Load() ve End Sub bildirileri arasına Print "Merhaba Dunya" yazıp arac cubuğunda start duğmesine bastığımız anda programımız calışacak ve ekrana Merhaba Dunya yazan bir pencere gelecektir. Boylece ilk programımızı yazmış olduk.


Projeleri Calıştırmak
Visual Basic’de, hazırladığımız projeleri calıştırmak icin Run-Start komutunu veririz veya Arac cubuğunda bulunan Start butonuna tıklarız. Projeleri calıştırmak icin klavyeden F5 tuşunada basabiliriz. Calışmakta olan projeyi durdurup tekrar tasarım moduna donmek istersek Run-End komutunu veririz veya Arac Cubuğunda bulunan End butonuna tıklarız.
Projeleri Kaydetmek
Visual Basic’de hazırladığımız projeleri bilgisayara kaydetmek icin File-Save Project komutunu veririz. Gelen dialog penceresinden projemizi kaydetmek istediğimiz klasoru secip bir isim belirleriz. Visual Basic, forma ait kod ve denetimleri bir dosyaya, proje bileşenlerini ise farklı bir dosyaya kaydeder. Visual Basic form dosyalarına “frm” uzantısı, proje dosyalarına ise “vbp” uzantısını verir.
Projeleri Derlemek
Hazırladığımız projeleri Visual Basic olmadan calışabilir hale getirebilmek icin derlememiz gerekir. Derleme işlemini başlatabilmek icin File-Make Project.EXE komutunu vermemiz gerekir. Bu komutu verdikten sonra karşımıza gelen dialog penceresine oluşturmak istediğimiz Exe dosyasının adını ve oluşturulmasını istediğimiz klasoru belirtmemiz gerekir ve OK butonuna tıklarız.

Visual Basic Denetimlerini Kullanmak
Visual Basic’de kullanıcı arabirimini oluştururken Toolbox’dan faydalanırız. Form uzerinde bulunmasını istediğimiz denetimleri Toolbox uzerinden secerek form uzerine cizebiliriz. Bu şekilde kullanıcı arabirimini dizayn etmiş oluruz. Toolbox uzerinde bulunan simgeler uzerine imleci getirdiğimizde bize o simgenin ne olduğunu acıklayan mesaj gelecektir. Toolbox uzerinde istediğimiz denetime ait simge uzerine tıkladıktan sonra form uzerinde mouse’un sol tuşunu basılı tutarak denetimimizi cizebiliriz.
Visual Basic’de form uzerinde bulunan bir denetimin boyutlarını değiştirmek icin, denetim uzerine tıkladıktan sonra etrafında oluşan noktacıklar uzerine mouse’umuzu getirir ve sol tuşu basılı tutarak yeni boyutları belirleyebiliriz. Bir nesnenin uzerine mouse imlecini getirip sol tuş basılı iken hareket ettirere taşıyabiliriz. Herhangi bir nesneyi secili hale getirip klavyeden “Delete” tuşuna basarak form uzerinden silebilirz.

Not : Birden fazla denetimi secmek icin, “Shift” tuşu basılı iken sırası ile nesnelere tıklayarak cok sayıda denetimi secili hale getirebiliriz.
Ozellikler (Properties)
Visual Basic’de butun nesnelerin karakteristiklerini belirleyen ozellikleri bulunur. Ozellikler nesnenin tanımını, gorunumunu ve hatta tutumunu değiştirebilmemizi sağlar. Bu ozellikler tasarım aşamasında değiştirilebileceği gibi calışma esnasında da değiştirilebilir. Bir nesneye ait ozelliği değiştirmek icin Propeties Penceresinin ekranda olması gerekir. Eğer Propeties Penceresi ekranda değilse View menusu aracılığı ile ekrana getirilebilir.
Form uzerinde bir nesne secildikten sonra Propeties Penceresine o nesneye ait ozelliklerin listesi gelir. Buradan istenilen ozellik secilerek istediğimiz değeri atayabiliriz. Bir başka nesnenin ozelliklerini değiştirmek icin ise form uzerinde diğer nesneyi secili hale getirmemiz gerekir. Bu işlemi yaptığımız anda Propeties Penceresinde listelenen ozellikler değişir. Bir başka yol ise Propeties Penceresinin ust tarafında bulunan acılan liste kutusundan farklı bir nesne adı secmektir. Birden fazla nesne secilerek, o nesnelere ait ortak ozellikler değiştirilebilir.
Calışma anında bir nesnenin ozelliklerini değiştirmek icin ise Code Editorde kod yazmamız gerekir. Bir nesneye ait kod yazarken once nesne adı yazılır ardından bir “.” işareti konulur ve ozellik adı yazılır. Aşağıdaki ifadede Command1 nesnesinin Caption ozelliğini Durdur olarak değiştiriyoruz.

NesneAdı.Ozellik=Değer

Command1.Caption = “ Durdur ”
Olaylar (Event)
Visual Basic olay gudumlu bir programla dilidir. Visual Basic’de her nesne icin onceden belirlenmiş bir takım olaylar vardır. Windows’a yeni geciş yapan bir DOS programcısıysanız, veya Visual Basic’e henuz yeni başlamış bir programcıysanız oğrenmeniz gereken en onemli konulardan biri olay gudumlu programlardır. Dos ortamında yazılan projeler, uygulama başladıktan sonra butun olaylardan sorumludur. Visual Basic bu detayları bizim icin duşunmuştur. Orneğ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 icin form uzerinde bulunan Command Button nesnesini click olayına bir satır kod yazmamız yeterlidir. Visual Basic bizim icin mouse’u izler ve kullanıcı butona tıkladığı anda yazdığınız kodu devreye sokar.
Bir olay proseduru yazmak icin Code Editorde nesneyi ve olayı secmemiz yeterlidir. Visual Basic bizim icin Code Editorde bir prosedur yaratacaktır. Bizim ise tek yapmamız gereken bu olay gercekleştiğinde meydana gelmesini istediğimiz işlemin kodunu yazmaktır.

Veri Tipleri
Visual Basic’de verilerin gecici olarak depolandıkları yere değişken adı verilir. Değişkenlerde program calışırken kullanıcının girdiği bir bilgi, bir hesaplamanın sonucu, sozcuk, sayı, tarih veya ozellikleri saklayabiliriz. Değişkenlerin kolay hatırlanır isimlere sahip olmaları gerekir. Visual Basic’de bir değişken kullanılmadan once tanıtılması gerekir. Değişken tanımlanırken Dim bildirisi kullanır ve değişkenin tipi belirtilir.
Değişkenlerle calışmayı duşunuyorsak projemizin Declarations bolumune Option Excplicit soz dizimini girmemiz ileride karşılaşabileceğimiz sorunlara bir cozum oluşturur. Bu soz dizimini kullandığımızda kod icerisinde 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 turu bilgileri saklamak icin kullanılabilecek veri turudur. 0 ile 65,535 arasında karakter alabilir. Hafızada icerisinde 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 turu 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 icin kullanılan bir veri turudur. 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 turu değişkenlerde tutamayacağımız buyuklukteki 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 kusuratlı sayılar icin 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 buyuk 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 icin tanımlanmış ozel bir veri tipidir. Ozellikle parasal hesaplamalarda kullanılır. Hafızada 8 Byte yer kaplarlar. 14 hanelik sayılara kadar veri saklayabilir ve ayrıca virgulden 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 [email protected]
Kredi=100.760.030,50 Kredi=100.760.030,50
Variant
Bu tipte tanımlanmış bir degişkene herhangi bir tip’te veri yuklenebilir. Her tur veriyi saklayabilir. Bu tur 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 icin kullanılır. İki secenekten 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 cizgi karakterinden oluşabilir. Degişken isimlerinde noktalama işaretlerini, matematiksel ve mantıksal ve karşılaştırma operatorleri kullanamayız. Visual Basic’de kullanılan anahtar sozcukler, nesne adları, ozellikler 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 turunun 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.

Ornek:
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 gormuş 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.


Ornek:
Private Sub Form_Load()
Dim Ad As String , Soyad As String
Dim Maas As Currency
End Sub
Const
Bunlar program icinde değeri degiştirilemeyen sabitlerdir. Public ve Private tipinde sabitler tanımlanabiliilir. Public sabitlere tum moduller icinden ulaşılabilir. Private turundeki sabitler ise sadece tanımlandıkları modul icersinde gecerlidirler.

Const Sehir=”İstanbul”
Const Ulke="Turkey"
Const Posta_Kodu=34650
Const Tel_Kod=212
Static
Bir prosedur icerisinde oluşturulan değişken prosedur calıştığı surece değerini korur. Prosedur sona erdiğinde ise değişken yokolur. Surekli değerini koruyabilen yerel değişkenler oluşturabilmek icin 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 modulun 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

Oğrenci veri tipi toplam hafızada 25 Byte yer kaplamaktadır. Bu veri tipini kullanmak icin Oğ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 Doşumleri
Visual Basic'de zaman zaman herhangi bir veri tipinde saklanan değeri farklı bir veri tipine donuşturme ihtiyacı duyarız. Bu işlemi yapan fonksiyonlara tip donuşum fonksiyonları adı verilir.

Private Sub Command1_Click()
Text1.Text = 6
Text2.Text = 10
Label1.Caption = Text1.Text + Text2.Text
End Sub

Bu kodu calıştırdığımızda Label1 icerisinde 610 değeri yazacaktır. Visual Basic her iki metin kutusu icerisinde bulunan değerlerin birer metin olduğunu varsayarak iki metinide birleştirme işlemi yaptı. Eğer bu değerlerin toplanmasını istiyorsak tip donuşumlerini kullanarak string tipindeki verileri integere cevirmemiz 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 iceriği once CInt adlı fonksiyonla tamsayıya cevrildi ve ardından toplandı. Label1’in iceriği de 16 olarak değişti.
Aşağıda Visual Basic’de kullanılan tip donuşum fonksiyonları verilmiştir.

Fonksiyon Geri Donen Deger Yaptıgı İşlem
CBool(Değer) Boolean Matemetiksel ifadeyi Boolean turune donuşturur.
CByte(Değer) Byte Matemetiksel ifadeyi Byte turune donuşturur.
CCur(Değer) Currency Matemetiksel ifadeyi Currency turune donuşturur.
CDate(Değer) Date Matemetiksel ifadeyi Date turune donuşturur.
CDbl(Değer) Double Matemetiksel ifadeyi Double turune donuşturur.
CDec(Değer) Decimal Matemetiksel ifadeyi Decimal sayıya donuşturur.
CInt(Değer) Integer Matemetiksel ifadeyi tam sayıya donuşturur.
CLng(Değer) Long Matemetiksel ifadeyi Long turune donuşturur.
CSng(Değer) Single Matemetiksel ifadeyi Single turune donuşturur.
CVar(Değer) Variant Matemetiksel ifadeyi Variant turune donuşturur.
CStr(Değer) String Matemetiksel ifadeyi String turune donuşturur.

Aşagıda tip donuşumleri ile ilgili ceşitli ornek:ler verilmiştir.

Ornek:1
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

Ornek:2
A=10 , B=5 , C=0
Sonuc= CByte(A < B) ‘Sonuc =0
Sonuc= CByte(A > B) ‘Sonuc =255
Sonuc= CByte(A = C) ‘Sonuc =255
Ornek:3
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

Ornek:4
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
Oparatorler
Visual Basic’de matematiksel işlemlerimizi yaptırabilmemiz icin aşağıdaki oparatorleri kullanabiliriz.
+ Toplama
- Cıkarma
* Carpma
/ Bolme
Tamsayı Bolem
^ Us yani Kuvvet alma
Mod Kalanlı Bolme
& Dizilim Birleştirme
Ornek:
Dim Sonuc As Double 'Ondalık sayı tutabilecek bir değişken tanımlanıyor..
Dim Sayı1 As Integer, Sayı2 As Integer '2 Tane TamSayı değişken tanımlıyoruz..
Sayı1 = 9
Sayı2 = 2 ' Değişkenlere değer atıyoruz..
Sonuc = Sayı1 + Sayı2 ' Sonuc 11
Sonuc = Sayı1 - Sayı2 ' Sonuc 7
Sonuc = Sayı1 * Sayı2 ' Sonuc 18
Sonuc = Sayı1 / Sayı2 ' Sonuc 4,5
Sonuc = Sayı1 Sayı2 ' Sonuc 4 . Bu işlem cıkan değerin sadece tamsayı kısmını alır
Sonuc = Sayı1 ^ Sayı2 ' Sonuc 81
Sonuc = Sayı1 Mod Sayı2 ‘ Sonuc 1. Bolme işlemi yapıldı ve sonuc olarak kalanı verdi.
Ornek:
Dim Ad As String, Soyad As String, AdSoyad As String
Ad=”Uğur”
Soyad=”Şahin”
AdSoyad = Ad & Soyad ‘AdSoyad değişkenin değeri “UğurŞahin”
AdSoyad = Ad & “ “ & Soyad ‘AdSoyad değişkenin değeri “Uğur Şahin”
Ornek:
Dim Kenar As Integer ' Tamsayı
Dim Alan as Double, Hacim as Double ' Ondalık Sayı
Alan = Kenar ^ 2 ‘Karenin alanını hesaplanıyor
Hacim = Kenar ^ 3 ' Kupun Hacmini hesaplanıyor
Ornek:
Karekok hesabı yapmak icin Visual Basic’de SQR() kullanılıyor.

Dim Sonuc As Double
Dim Tamkare As Integer
Tamkare = 36
Sonuc = SQR(36) ' Sonuc = 6 olacaktır.

Visual Basic’de kullanılan bu oparatorlerde oncelik sırası vardır. Oncelik sıraları aşağıda verilmiştir.

( ) ‘Parantez icerisindeki ifadeler onceliğe sahiptir
^ ‘Us alma
*/ ‘Carpma ve bolme
‘Tamsayı bolme
Mod ‘Kalanlı Bolme
+ - ‘Toplama ve cıkarma

Ornek:
Dim Sayi As Integer
Sayi= 70 + 80 / 2 ‘Sonuc 110
Sayi= ( 70 + 80 ) / 2 ‘Sonuc 75
Karşılaştırma Oparatorleri
Visual Basic’de verileri kontrol etmek karşılaştırmak icin aşağıdaki oparatorler kullanılır. Bu oparatorlerin sonucun doğru cıkması durumda True yani –1, yanlış cıkması durumunda False yani 0 değerini dondururler.
< ‘Kucuktur
‘Buyuktur
>= ‘Buyuk Eşittir
= ‘Eşittir
‘Eşit Değildir
Ornek:
Dim Sonuc As Integer
Sonuc = ( 3 < 5 ) ‘Sonuc = -1
Sonuc = ( 7 > 9 ) ‘Sonuc = 0
Sonuc = ( 10 = 50 Then
Label1.Caption = “Kazandınız!..”
Else
Label1.Caption = “Kaybettiniz!..”
End If

Yukarıdaki ifadede Ortalama 50 ve uzerinde ise Label1.Caption = “Kazandınız!..” işelemi gercekleşecek, aksi takdirde Label1.Caption = “Kaybettiniz!..” işlemi gercekleşecektir.

If...Then karar yapısında birden fazla koşulu kontrol ederken Else If sozdizimini kullanırız.

Ornek:
Dim Sinav1 As Byte
Dim Sinav2 As Byte
Dim Ortalama As Byte
Ortalama = ( Sinav1 + Sinav2 ) / 2
If Ortalama >= 85 Then
Label1.Caption = “Takdir Aldınız!..”
Else If Ortalama >= 75
Label1.Caption = “Teşekkur Aldınız!..”
Else If Ortalama >= 50
Label1.Caption = “Sınıfınızı Gectiniz!..”
Else
Label1.Caption = “Sınıfta Kaldınız!..”
End If

Select Case Karar Yapısı
If...Then karar yapısının gelişmişidir. Sadece bir değişkenin durumunu kontrol eder. Kontrolu yapılacak değişken birden fazla değer alabiliyorsa If...Then yapısına oranla daha kulanışlıdır. Kullanım şekli aşağıdaki gibidir.

Ornek:
Dim Ay
Ay = InputBox ("Bir ay giriniz")
Select Case Ay
Case 1
MsgBox “Bu ay 31 gun”
Case 2
Dim Artık as Integer
Artık = 2001 Mod 4
If Artık=0 Then
MsgBox “Bu ay 29 gun”
Else
MsgBox “Bu ay 28 gun”
Endif
Case 3
MsgBox “Bu ay 31 gun”
Case 4
MsgBox “Bu ay 30 gun”
Case 5
MsgBox “Bu ay 31 gun”
Case 6
MsgBox “Bu ay 30 gun”
Case 7
MsgBox “Bu ay 31 gun”
Case 8
MsgBox “Bu ay 30 gun”
Case 9
MsgBox “Bu ay 31 gun”
Case 10
MsgBox “Bu ay 30 gun”
Case 11
MsgBox “Bu ay 31 gun”
Case 12
MsgBox “Bu ay 30 gun”
Case Else
MsgBox ” Bir yılda 12 ay vardır.”
End Select

Ornek:
Select Case No
Case 1304
Name="Murat Tuna"
Case 1305
Name="Ayse Sinem"
Case 1306
Name="Uğur Şahin"
Case 1307
Name="Osman Bilgin"
End Select

Msgbox Fonksiyonu
Msgbox fonksiyonu kullanıcıya bir dialog kutusu icerisinde bilgi vermek amacı ile kullanılır. Orneğin bir hata sonrasında kullanıcıya hatanın sebebini acıklayan bir bilgi verirken. Kullanuım şekli aşağıdaki gibidir;

Msgbox “Brain Bilişim Akademisi”

Yukarıdaki kodu kullanarak ekrana yandaki gibi icerisinde bir dialog penceresi getirebiliriz. İlk once fonksiyon adını yazarız, ardından tırnak işaretleri icerisinde Brain Bilişim Akademisi yazarız. Tırnak işaretlerini kullanmamızın sebebi bir metinin gosterilmesini istiyor olmamızdır. Eğer bir metin değilde, bir nesne veya bir değişken icerisinde var olan değeri gostermek istersek tırnak işaretlerini kullanmamıza gerek kalmaz.

Msgbox Text1.Text

Yukarıdaki ifade ise Text1 nesnesinin Text ozelliğini dialog kutusu icerisinde gormemizi sağlar.
Msbgox fonksiyonu kullanıcıya secenekler sunan bir dialog penceresi gibide kullanılabilir. Orneğin programdan cıkılmak istendiğinde kullanıcı uyarılsın. Bu tip dialog kutuları kullanıcın verdiği cevaba gore bir sonuc dondurur. Formunuzun unload yordamına aşağıdaki kodu girin.

Private Sub Form_Unload(Cancel As Integer)
Dim Cevap As Integer
Cevap = MsgBox("Programdan cıkmak istediğinizde emin misiniz?", 20, "Brain")
If Cevap = 6 Then
Cancel = True
End If
End Sub
Kullanıcı formu kapatmak istediğinde dialog penceresi ile karşılaşacak. Evet tıklanırsa form kapanacak, hayır tıklanırsa kapatma işleminden vazgecilecektir. Msgbox fonksiyonu bu şekilde kullanıldığı zaman kullanıcının verdiği cevaba gore geriye bir değer gonderecektir. Daha sonra If karar yapısı ile Cevap değişkenin iceriği kontrol edilmekte ve gerekli işlem yapılmaktadır.

MsgBox("Programdan cıkmak istediğinizde emin misiniz?", 20, "Brain")

Yukarıdaki yazımda "Programdan cıkmak istediğinizde emin misiniz?" bildirisi dialog kutusunda cıkacak bildiriyi, 20 rakamı dialog kutusunda bulunacak komut butonlarını ve gosterilecek simgeyi ve "Brain" bildiriside dialog kutusunun başlık cubuğunda yazmasını istediğimiz metni belirtir. Msgbox fonksiyonu geriye evet icin 6 hayır icin ise 7 değerini gonderir.

Buton Değer VB Değeri
Tamam 0 vbOK
Tamam, İptal 1 vbOKCancel
Durdur, Yeniden Dene, Yoksay 2 vbAbortRetryIgnore
Evet, Hayır, İptal 3 vbYesNoCancel
Evet, Hayır 4 vbYesNo
Yeniden Dene, İptal 5 vbRetryCancel
Simge Değer VB Değeri
Kritik 16 vbCritical
Soru 32 vbQuestion
Uyarı 48 vbExclamation
Bilgi 64 vbInformation
Cevap Değer VB Değeri
Tamam 1 vbOK
İptal 2 vbCancel
Durdur 3 vbAbort
Yeniden Dene 4 vbRetry
Yoksay 5 vbIgnore
Evet 6 vbYes
Hayır 7 vbNo

Msgbox fonksiyonunda cıkmasını istediğimiz butonlar ve simgeler icin yukarıdaki değerler kullanılır. İstediğimiz buton ve simgeye ait rakamı toplayarak yazarız. Cevap olarakda yine yukarıdaki değeri gonderilir. Bu değerler akılda pek kalıcı olmadığından dolayı VB değerlerinide kullanabiliriz.

MsgBox("Programdan cıkmak istediğinizde emin misiniz?", 20, "Brain")

MsgBox("Programdan cıkmak istediğinizde emin misiniz?", vbYesNo+ vbCritical, "Brain")

Her iki ifade arasında bir fark yoktur.
Inputbox Fonksiyonu
Inputbox fonksiyonu kullanıcıdan bilgi alınmak istendiği durumlarda kullanılır. Orneğin ;

Private Sub Form_Load()
Dim Ad As String
Ad = InputBox("Adınızı giriniz", "Bilgi Girişi")
MsgBox "Adınız " & Ad
End Sub

Yukarıdaki kodu calıştırdığımızda karşımıza aşağıdaki gibi bir bilgi giriş penceresi gelir. Buraya girdiğimiz değer ise Ad değişkenine aktarılır ve ardından bir dialog kutusu ile bize bilgi verilir.


Donguler
Donguler belirli işlemleri belirli sayıda veya herhangi bir şart sağlanana kadar tekrarlamak amacı ile kullanılırlar. Visual Basic’de kullanılan donguler aşagıda verilmiştir.

For ….. Next Dongusu
Do Until ……Loop Dongusu
Do While …. Loop Dongusu
Do …… Loop Until Dongusu
Do …… Loop While Dongusu
For Next
Bu dongu belirli bir işlemi, belirli bir sayıada calıştırmamıza olanak sağlar. Genel yazılım şekli aşagıdaki gibidir.

For Sayac=BaşlangıcDeğeri To BitişDeğeri Step ArtımDeğeri
Bildiri
Next Sayac

Bu dongude Sayac değişkenine BaşlangıcDeğeri verilir ve Sayac BitişDeğerini gecene kadar calıştırılır. Dongu her calışında Sayac değeri ArtımDeğeri kadar artırılır. Eğer ArtımDeğeri belirtilmezse Sayac her seferde 1 artırılır.
Ornek:
Liste kutusuna 1’den 10 kadar olan rakamları eklemek icin aşağıdaki dongu kurulur.

Dim Sayac As Integer
For Sayac = 1 To 10
List1.AddItem Sayac
Next Sayac
Ornek:
Liste kutusuna 2’şer 2’şer 20’ye kadar olan rakamları eklemek icin aşağıdaki dongu kurulur.

Dim Sayac As Integer
For Sayac = 2 To 20 Step 2
List1.AddItem Sayac
Next Sayac

For..Next dongusunden cıkmak icin Exit For bildirisi kullanılır
Ornek:
Dim Sayac As Integer
For Sayac = 2 To 20 Step 2
List1.AddItem Sayac
If Sayac=10 Then
Exit For
End If
Next Sayac
Do Until
For...Next dogusunun gelişmişidir. Bir koşul yanlış olduğu surece devam eder. Genel yazım şekli aşağıdaki gibidir.

Do Until Koşul
Bildiri
Loop
Ornek:
Program calıştığı anda kullanıcıya adını soran ve yanlış isim girildikce soruyu tekrarlayan bir kod orneği. 3.denemeden sonra sonra Do..until dongusunden cıkılıyor.

Private Sub Form_Load()
Dim Ad As String
Dim Tekrar As Integer
Tekrar = 0
Ad = InputBox("Adınızı Giriniz?")
Do Until Ad = "Uğur"
Tekrar = Tekrar + 1
If Tekrar = 3 Then
MsgBox "Uzgunum. Deneme hakkınız dolmuştur."
Exit Do
End If
MsgBox "Yanlış isim girdiniz. Lutfen tekrar deneyin."
Ad = InputBox("Adınızı Giriniz?")
Loop
End Sub
Do While
Do Until dongusunun tersidir. Bir koşul doğru olduğu surece devam eder. Genel yazım şekli aşağıdaki gibidir.

Do While Koşul
Bildiri
Loop
Ornek:
Kullanıcıdan bir isim yazmasını isteyen bir kod orneği. Ad değişkeni “son” olmadığı surece devam ediyor. Her defasında font boyutu 1 punto artırılıyor.

Private Sub Form_Load()
Dim Ad As String
Dim Boyut As Integer
Boyut = 12
Tekrar = 0
Ad = InputBox("Lutfen adınızı yazınız. Cıkmak icin son yazın")
Do While Ad "son"
Form1.FontSize = Boyut
Print Ad
Boyut = Boyut + 1
If Boyut = 20 Then
Exit Do
End If
Ad = InputBox("Lutfen adınızı yazınız. Cıkmak icin son yazın")
Loop
End Sub
Do ….. Loop Until ve Do ….. Loop While
Do Until ve Do While donguleri koşul sağlandığı surece devam ederler, yani belirtilen koşul sağlanmazsa dongu hic calışmayabilir. Eğer dongunun en az bir kez calışması isteniyorsa Do..Loop Until veya Do...Loop While kullanılabilir. Bu dongulerin genel yazım şekli aşağıdaki gibidir.

Do
Bildiri
Loop Until / While Koşul

Bu ifadede dongu icinde komutlar mutlaka bir defe calıştırılır, daha sonra Koşul kontrol edilir. Eğer Koşul doğru ise tekrar Do satırına donulup aradaki komutlar calıştırılır.



Temel VISUAL BASIC 2
Formlar
Visual Basic’de pencerelere form adı verilir. Butun Visual Basic projelerinde en az bir form olmalıdır. Formlar uygulama arabirimini oluşturabilmek icin uzerlerine denetimler ekleyebileceğimiz nesnelerdir.
Ozellikler
Visual Basic’de formlara ait ozellikler bulunur. Bu ozellikler aracılığı ile formlarımızı istediğimiz gibi tasarlayabiliriz. Bu ozelliklerin bir kısmı tasarım aşamasında değişebileceği gibi bir kısmıda sadece calışma modunda değiştirilebilirler. Aşağıda en sık kullanılan form ozellikleri acıklanmıştır ;
AutoRedraw
Formun kendini yenilemesini sağlar. Ozellikle form uzerine bir şeyler yazdırıyor veya form uzerine cizim yaptırıyorsak kullanırız.
BackColor
Bu ozellik formun arka plan rengini belirlemizi sağlar.
BorderStyle
Formun kenarlarının nasıl goruleceğini belirler. Altı farklı değer alabilir.
0-None ; Form boyutları değiştirilemez ve form taşınamaz. Başlık cubuğu gorulmez.
1-Fixed Single ; Form kenarlarından tutularak genişletilemez.
2-Sizable ; Varsayılan değerdir.
3-Fixed Dialog ; Form boyutları değiştirilemez. Sadece form taşınabilir ve kapatılabilir.
4-Fixed ToolWindow ; Fixed Dialog ile benzerdir. Başlık Cubuğundaki etiket daha kucuk bir fontta gosterilir.
5-Sizable ToolWindow ; Sizable ile aynıdır ama Maximize ve Minizmize duğmeleri gorulmez.
Caption
Formun başlık cubuğunda gorulecek etiketi belirler.
ContorlBox
True veya False ayarını alır. Kontrol menusunu gizler.
Count
Form uzerindeki menuler dahil kontrol sayısını verir.
Controls(Index)
Form uzerindeki nesnelerin adını temsil eder.

Private Sub Command1_Click()
On Local Error Resume Next
Dim i
For i = 0 To Count - 1
Controls(i).BackColor = vbRed
Next
End Sub

Yukarıdaki kod form uzerindeki nesnelerin BackColor ozelliklerini kırmızıya ayarlar.
CurrentX, CurrentY
Form uzerine yapılan yazım ve cizimlerin nereden başlayacağını belirler.

Private Sub Form_Load()
Dim t, i
t = "Visual Basic 6.0"
For i = 1 To 10
FontSize = i * 5
CurrentX = (ScaleWidth - TextWidth(t)) / 2
Print t
Next
End Sub
FillColor, FillStyle
Circle ve Line metodu ile form uzerine cizilen cember ve kutuların rengini belirler.
ForeColor
Form uzerine yazılan yazının rengini belirler.
Height
Formun yuksekliği belirlenir. Olcu birimi Twips’dir.
Icon
Formun başlık cubuğunda gosterilecek ikonunu ayarlar.
KeyPreview
Form aktifken basılan tuşlardan haberdar edilip edilmeyeceğini belirler.
Left
Formun ekranın sol kenarından ne kadar uzakta olacağını ayarlar. Formu ekrana ortalatmak icin aşağıdaki kod kullanılabilir.

Private Sub Form_Load()
Left = (Screen.Width - Width) / 2
Top = (Screen.Height - Height) / 2
End Sub
MaxButton
Formun başlık cubuğunda Maximize duğmesinin gosterilip gosterilmeyeceğini belirler.
MinButton
Formun başlık cubuğunda Minmize duğmesinin gosterilip gosterilmeyeceğini belirler.
Moveable
Formun taşınıp taşınamayacağını belirler.
ScaleMode
Form icerisinde kullanılacak olcu birimini ayarlar.
Name
Formun en onemli ozelliklerinden biridir. Proje icerisinde formun hangi ismi kullanacağını belir. Visual Basic bir nesneye gonderme yaparken bu name ozelliğinden faydalanır. Genelde formlara verilen isimler frm harfleri ile başlar.
ShowInTaskbar
Formu gorev cubuğunda gizlememizi sağlar.
StartupPosition
Form yuklendiğinde ekrandaki kordinatlarını belirler.
0: Form tasarlanırken bulunduğu pozisyonda acılır
1: Form icinde bulunduğu formun ortasında acılır. ( MDIChild formlar icin )
2: Form ekranın ortasında acılır
3: Formun kordinatları Windows tarafından belirlenir
Width
Formun genişliğini belirler.
WindowState
Formun nasıl acılacağını ayarlar.
0-Normal ; Form normal durumda acılır
1-Minimized ; Form simge durumunda acılır
2-Maximized ; Form tam ekran durumda acılır
Olaylar
Visual Basic olay gudumlu bir programdır. Forma birkez tıkladığınızda, kapattığınızda ebatlarını genişlettiğinizde olaylar gelişir. Aşağıda en sık kullanılan form olayları acıklanmıştır ;
Activate
Formun ekranda aktif olması ile gelişir. Formun ilk yuklenmesinde Initialize ve Load olayından sonra gercekleşir.
Deactivate
Activate olayın tam tersidir. Form aktiviteyi kaybettiğinde gercekleşir.
DragDrop
Suruklenen bir denetim form uzerine bırakıldığında gercekleşir.
Load
Form henuz ekranda gorulmeden yuklenmesi aşamasında, Initialize olayından hemen sonra gercekleşir. En cok kulanılan olaydır.
Resize
Formun boyutları değiştirildiği zaman gercekleşir. Ekranı kapla, simge durumuna kucult veya kullanıcı tarafından formun boyutu değiştirildiği anda meydana gelir.
Unload
Bu olay form kapatıldığında meydana gelir. Kullanıcıya formu kapatıp kapatmak istemediğini soran bir kod yazabilirsiniz. Cancel parametresine True değeri vererek kapatma işlemini iptal edebiliriz.
Private Sub Form_Unload(Cancel As Integer)
Dim Cevap As Integer
Cevap = MsgBox("Programdan cıkmak istediğinizde emin misiniz?", 20, "Brain")
If Cevap = 5 Then
Cancel = True
End If
End Sub
QueryUnload
Form kapatıldığında meydana gelir. Unload olayından farkı formun nasıl kapatıldığını oğrenebilirsiniz. Kendi kodunuzla, kullanıcı veya windows tarafından ve kapatma işlemini iptal edebilirsiniz. Cancel ve UnloadMode parametreleri kullanılır. UnloadMode parametresi kontrol edilerek formun hangi yontem ile kapatıldığı oğrenilebilir. Cancel parametresine True değeri vererek kapatma işlemini iptal edebiliriz. UnloadMode aşağıdaki değerleri alabilir;
0: Kontrol kutusunda kapat secildi
1: Unload komutu kullanıldı
2: Windows’tan cıkılmaya calışldı
3: Task Manager aracılığı ile kapatılmaya caılışıldı
4:MDIChild bir form ise MDI form kapatılmaya calışıldı
Visual Basic Denetimlerine Giriş
Form nesneleri Visual Basic uygulamalarının temelidir. Geliştiriceğimiz tum uygulamalarda en az bir form olacaktır. Formları ise istediğimiz halde tasarlayabilmek icin denetimleri kullanırız.
CommandButton
Kullanıcıdan tepkiler toplamak icin form uzerine yerleştirilen denetimlerdir. Komut duğmelerinin en onemli iki ozelliği Name ve Caption’dur. Name ozelliği nesneyi projede kullanılan diğer kontrollerden ayırt edebilmemizi sağlar. Komut duğmelerine isim verirken genellikle cmd yazarak başlarız. Caption ozelliği ekranda gorulecek etiket belirler. Caption ozelliği verirken & karakterini kullanarak istenilen harfin altı cizgili gosterilir. Komut duğmelerinde en cok kullanılan ozelliklerden biride Default ve Cancel ozellikleridir. Default ozelliğine True değeri verildiğinde form uzerinde uzerinde Enter tuşuna basılması ile komut duğmesinin click olayı meydana gelir. Cancel ozelliğine True değeri verilmesi ile ise form uzerinde herhangibir denetim uzerinde ESC tuşuna basıldığında komut duğmesinin click olayı meydana gelir.
Komut duğmelerinde en cok kullanılan olay ise Click olayıdır. Kullanıcı komut duğmesi uzerine tıkladığı anda gercekleşir.
TextBox
Genellikle kullanıcıdan veri toplamak amacı ile kullanılır. Metin kutuların caption ozelliği bulunmaz bunun yerine text ozellikleri vardır. Metin kutusu icerisinde yazan değeri gormemizi sağlar. Aşağıda metin kutularının cok kullanılan ozellikleri verilmiştir.
Text
Metin kutusunun iceriğini gosterir.
MaxLenght
Varsayılan değeri 0’dır. Metin kutusu icerisine en fazla kac karakter yazılabileceğini ayarlar.
PasswordChar
Parola giriş kutularında kullanıcının girdiği karakterler metin kutusunda gosterilmez bunun yerin * kararkterleri gosterilir. Bu ozellik ilede metin kutusuna girilen karakterler yerine gosterilmesi istenen karakter ayarlanır.
MultiLine
Metin kutusuna bir satırdan fazla bilgi girilebilmesini sağlar.
ScrollBars
MultiLine ozelliği True yapılmış bir metin kutusuna kaydırma cubukları ekler.
Locked
Metin kutusu iceriğinde değişiklik yapılmamasını sağlar. Metin kutusunu kitler.
TabStop
Tab tuşlarına basılarak Metin kutusuna ulaşılıp ulaşılamayacağını ayarlar.
TabIndex
Tab tuşu ile denetimler arasında dolaşma sırasını belirler.
Enabled
Metin kutusunun aktif veya pasif olacağını ayarlar.
Visible
Metin kutusunun ekranda gosterilip gosterilmeyeceğini belirler.

Metin kutularında en sık aşağıdaki olaylar kullanılır.
Change
Metin kutusu iceriğinde bir değişiklik olduğunda gercekleşir.
GotFocus
Metin kutusu etkinleştiği anda gercekleşir.
KeyDown
Bir tuşa basıldığı anda gercekleşir.
KeyPress
Bir tuş basılı olduğu surece gercekleşir.
KeyUp
Tuş bırakıldığı anda gercekleşir.
LostFocus
İmlec metin kutusundan ayrıldığı anda gercekleşir.

Private Sub Text1_LostFocus()
MsgBox "Metin Kutusunda " & Text1.Text & " yazıyor."
End Sub

Metin kutularında kullanılan birkac tane metot vardır. Bunlardan en onemlisi SetFocus metodudur. Bir metin kutusunu etkinleştirmek amacı ile kullanılır.

Text1.SetFocus
Label
Etiketlerde metin kutularına benzer, aralarında fark ise kullanıcı etiketlere değer giremez. Cok fazla ozelliği yoktur. Caption ozelliklei kullanılarak iclerine yazılar yazılabilir.
Alignment
İcerisinde bulunan yazının hizalanmasını sağlar.
AutoSize
Etiket icerisinde bulunan değere gore boyutlarını otomatik olarak ayarlar
BackStyle
Etiketin form ile aynı rengi almasını sağlar.
BorderStyle
Etiketin 3 boyutlu gorulmesini sağlar.
MouseMove
Mouse işaretcisi uzerlerine geldiğinde gercekleşir.
UseMnemonic
Etiketlerde Caption ozelliğinde & karakteri kullanılmasını sağlar.
Image
Goruntu denetimleri resim gosterme işlemlerinde kullanılırlar. Resim denetime oranla daha az hazfıza tuketir. Image’lar icerisinde *.Bmp, *.Ico, *.Wmf, *.Jpg, ve *.Gif dosyaları goruntulenebilir.
Picture
Bu ozelliği aracılığı ile resim eklenebilir.
Stretch
Bu ozellik False ise resmin boyutlarını alır. Eğer ozellik True olursa resim denetimin boyutlarına ayak uydurur.
PictureBox
Resim kutuları genellikle grafikleri (orneğin bmp, jpg, gif ) goruntulemek icin kullanılır. Goruntu denetimleri ile cok benzerdirler. Aralarında cok az farklılık vardır. Eğer sadece bir resim gostermek isteniyorsa goruntu kutusu daha iyi bir secimdir. Graifiği form uzerinde taşımayı duşunuyorsak resim kutuları daha esnektir. Resim kutuları icerisine cizim yapabiliriz.
AutoSize
Resim kutusuna bir resim yerleştirildiğinde normal boyutlarda gosterilir. Eğer resim, resim kutusundan buyuk ise resim kırpılır. Bu ozelliğin değerini True yaparsak resim kutusu boyutlarını grafiğe uyacak şekilde ayarlamasını sağlar.
Picture
Resim kutusu icerisinde gosterilen resim bu ozellikle belirlenir. Hem tasarım modunda hemde calışma modunda kullanılabilir.
Image
Bu ozellik sadece calışma modunda kullanılabilir. Resim kutusu icerisinde gosterilen resmi başka bir Resim kutusu icerisine kopyalarken kullanılabilir.
Picture2.Picture=Piture1.Image
LoadPicture
Bu metot calışma kipinde resim kutusuna resim yukletmek icin kullanılır.
Picture1.Picture=LoadPicture(dosya adı) ‘Bu kod dosya adı verilen resmi goruntuler
Picture1.Picture=LoadPicture( ) ‘Bu kod ise resim kutusu icerisini boşaltır.
Frame, OptionBox, CheckBox
Frameler cerceve olarakda gecerler ve formların biraz daha profosyonel gorulmelerini sağlarlar. Genellikle secim kutuları ve onay kutuları ile birlikte kullanılırlar. Secim kutuları ise kullanıcıya birkac secenek sunar. Kullanıcıda bu seceneklerden sadece bir tanesini secebilir. Onay kutuları da tıpkı secim kutularına benzer fakat aynı anda birden fazla onay kutusu işaretlenebilir. Secim ve onay kutularının en onemli ozelliği Value’dur. Bu ozellik True ve False değeri atayarak işaret koydurabilir veya işareti kaldırabiliriz.
File-New Project komutunu vererek yeni bir proje başlatalım. Aşağıdaki gibi bir form tasarlayalım. OptionBox ve CheckBox’ların Click olayına ise aşağıdaki kodları yazalım. Private Sub Check1_Click()
If Check1.Value = 1 Then
Label1.FontBold = True
Else
Label1.FontBold = False
End If
End Sub
Private Sub Check2_Click()
If Check2.Value = 1 Then
Label1.FontItalic = True
Else
Label1.FontItalic = False
End If
End Sub
Private Sub Check3_Click()
If Check3.Value = 1 Then
Label1.FontUnderline = True
Else
Label1.FontItalic = False
End If
End Sub
Private Sub Option1_Click()
If Option1.Value = True Then
Label1.ForeColor = vbRed
End If
End Sub
Private Sub Option2_Click()
If Option2.Value = True Then
Label1.ForeColor = vbBlue
End If
End Sub
Private Sub Option3_Click()
If Option3.Value = True Then
Label1.ForeColor = vbYellow
End If
End Sub
Timer
Zamanlayıcı denetimidir. Calışma kipinde gorulmezler. Onemli iki ozelliği vardır.
Enabled
Timer denetiminin aktif veya pasif olacağını belirler.
Interval
Timer denetiminin ne kadar aralıkla timer olayını ureteceğini belirleriz. Milisaniye cinsinden bir değer yazarız. 1 sn. icin 1000 yazmalıyız.
Timer
Timer olayını kullanarak istediğimiz aralıklalarla olaylar gercekleştirebiliriz. Aşağıdaki kodu kullanarak bir saat yapabiliriz.

Private Sub Timer1_Timer()
Text1.Text = Time
End Sub
ScroolBars
Formumuza yatay ve dikey kaydırma cubukları eklememizi sağlarlar. Her iki denetimde aynı ozellikleri taşırlar.
Max
Kaydırma cubuğunun alabileceği en buyuk değeri belirler.
Min
Kaydırma cubuğunun alabileceği en kucuk değeri belirler.
LargeChange
Kullanıcı kaydırma cubuğuna tıkladığında value değerinin en fazla ne kadar değişeceğini belirler.
SmallChange
Kullanıcı kaydırma cubuğuna tıkladığında value değerinin en az ne kadar değişeceğini belirler.
Value
Kaydırma cubuğunun değerini belirler.
Change
Kullanıcı kaydırma cubuğunun değerini değitirdiğinde gercekleşir.

Aşağıdaki şekilde form uzerine bir kaydırma cubuğu ve birde etiket yerleştirilmiştir. Kaydırma cubuğunun Max değeri 100 Min değeri ise 0 olarak ayarlanmıştır. Kullanıcının kaydırma cubuğunu suruklediğinde etiket icerisinde değerini gormek icin aşağıdaki kodu girmeliyiz.




Private Sub HScroll1_Change()
Label1.Caption = HScroll1.Value
End Sub



Listbox
Liste kutuları kullanıcılara bir liste sunmanın ideal bir yoludur. Kullanıcılar liste kusuntunda bulunan verileri inceleyebilir ve istediklerini secebilirler. Liste kutularının bazı ozellik ve metotları şunlardır.
List
Bu ozellik ile listedeki herhangi bir oğenin değeri oğrenilebilir. Listedeki ilk elamanın list ozelliği 0’dır. Ornegin listede bulunan 3. elemanın değerini oğrenmek icin şunu yazmalıyız;
MsgBox List1.List(2)

ListIndex
Listede secili olan elemanın indeks numarasını verir.
MsgBox List1.List(List1.ListIndex)
Yukarıdaki ifade yerine liste kutusunun text ozelliğide kullanılabilir.
List1.Text
Yukarıdaki her iki ifade de aynı işi gercekleştirir.
ListCount
Listede bulunan eleman sayısını verir. Eğer ListCount 0 ise liste kutusu boştur.
MultiSelect
Bu ozellik True olarak ayarlanmış ise listeden aynı anda birden fazla eleman secebiliriz. Listelerden birden fazla secim yapmak icin Shift tuşu kullanılır.
Sorted
Sadece tasarım kipinde ayarlanabilecek bir ozelliktir. Listedeki elemanları otomatik olarak sıralar.
AddItem
Liste kutularında kullanılan en onemli metotdur. Listeye yeni elemanlar eklemek icin kullanılır.
List1.AddItem "Uğur ŞAHIN"
RemoveItem
Listeden elemanları cıkartmak icin kullanılan bir metotdur.
List1.RemoveItem List1.ListIndex
Yukarıdaki kod listeden secili elemanı siler.
Clear
Liste boşaltır.
List1.Clear
ComboBox
Acılır liste kutularıda liste kutuları ile aynı ozellik ve metotları paylaşır. 3 değişik gorunum sunarlar; Bu gorunumleri style ozelliğini kullanarak değiştirebiliriz. Alabilecekleri değerler
0-Dropdown Combo ; İcerisine yazılabilir ComboBox
1-Simple Combo ;TextBox Gorunumunde
2-Dropdown List ; Salt okunur ComboBox.
Combo1.Style = 2
Shape
Form uzerine dikdortgen, kare, elips, cember ve oval cizmek icin kullanılır.
Shape
Shape kontrolunun cizeceği şekli belirler.
0: Dikdortgen
1: Kare
2: Elips
3:Cember
4: Oval Diktorgen
5: Oval Kare
BorderStyle
Nesnenin cerceve bicimini belirler.
0: Zemin rengiyle uyumlu, gorulmez
1: Solid, tam cerceve
2: Dash, Cizgi
3ot, Nokta
4: Dash Dot, Cizgi nokta
5: Dash Dot Dot, Cizgi nokta nokta
6: Inside Solid, Şekil ile cerceve kenarları cakışık şekilde
BorderWidth
Cerceve kalınlığını belirler. BorderStyle ozelliği Solid ve Inside Solid iken kullanılır.
FillColor
Şeklin ic boyama rengini belirler.
FillStyle
Şeklin icini boyamak icin kullanılacak deseni belirler.
Line
Form uzerine cizgi cizmek icin kullanılır.
X1, X2, Y1, Y2
X1 ve Y1 başlangıc noktasını X2 ve Y2 ise bitiş noktasını belirler.
DriveListBox
Surucu listelerini cağırmak icin kullanılır. Dizin ve dosya liste kutuları ile birlikte kullanılır. Name dışında onemli tek ozelliği Drive’dır.
Drive
Kullanıcının secmiş olduğu surucuyu gosterir. Calışma kipinde kullanılabilir.
Change
En populer olayıdır. Kullanıcı bir surucu sectiğinde gercekleşir.
DirListBox
Dizinleri listeletmek icin kullanılır. Surucu ve dosya liste kutuları ile birlikte kullanılır.
Path
Gosterilecek dizini ayarlayan ozelliğidir. Calışma kipinde kullanılabilir.
Change
En populer olayıdır. Kullanıcı bir dizin sectiğinde gercekleşir.
FileListBox
Dosyaları listeletmek icin kullanılır. Surucu ve dizin liste kutuları ile birlikte kullanılır.
FileName
Secili dosyanın adını verir.
Path
Gosterilecek dosyaların hangi dizin veya surucude olduğunu belirler. Calışma kipinde kullanılır.
Pattern
Hangi dosyaların gosterileceğini belirleyen biir ozellikltir. Bir filtre gorevi gorur. Gosterilecek dosyaların hangi dizin veya surucude olduğunu belirler. Calışma kipinde kullanılır.
Archive
True yada false değerini alabilir. Arşiv dosyalarının gorunumunu sağlar. Başlangıc değeri True’dur
Hidden
True yada false değerini alabilir. Gizli dosyalarının gorunumunu sağlar. Başlangıc değeri False’dir
ReadOnly
True yada false değerini alabilir. Salt okunur dosyalarının gorunumunu sağlar. Başlangıc değeri True’dur
System
True yada false değerini alabilir. Sistem dosyalarının gorunumunu sağlar. Başlangıc değeri False’dur
Change
Kullanıcı bir dosya sectiğinde gercekleşir.
PathChange
Path değeri değiştiğinde gercekleşir.
PatternChange
Pattern değeri değiştiğinde gercekleşir.

Yandaki şekilde gorulduğu gibi bir form dizayn edelim. Formumuza bir surucu listesi, bir dizin listesi, bir dosya listesi ve bir de image denetimi ilave edelim ve bu denetimlerin ozelliklerini aşağıdaki gibi değiştirelim sonrada aşağıda gorulen kodu girelim.

Nesne Ozellik Değeri
File1 Pattern *.bmp;*.wmf;*.ico
Image1 Stretch True
Image1 BorderStyle 1-Fixed Single

Private Sub Drive1_Change()
Dir1.Path = Drive1.Drive
End Sub

Private Sub Dir1_Change()
File1.Path = Di