Favorilerine Ekle | Giriş Sayfan Yap | Tavsiye Et

 

Kurs Tanıtım Sayfası | Süper Üye Kimdir? | Menü Tasarımı Konulu Örnek Ders
Kod İndir| Hazır Kodlar | Makaleler| İpuçları | VB .NET Kursu | Dersler | Forum | Alt Bölümler | Servisler
    Merhaba Misafir
    anasayfa » visual basic makaleleri » Temel Visual Basic
Üye Girişi
Kullanıcı Adı:  
Şifre : 
Kaydet ?
Siteden tam olarak faydalanabilmek için üye olmalısınız.
Unuttuğunuz şifrenizi öğrenebilmek için kayıt sırasında verdiğiniz Hatırlatma Cevabı'nı bilmeniz gereklidir.
Şifre hatırlatma işlevini sadece 3 defa kullanma hakkınız vardır.
Kullanıcı adını ve şifresini unutan üyelere email ile yardım verilmez.

Aktivasyon Gelmedi mi?Aktivasyon mesajınız email adresinize gelmedi mi?
Buraya tıklayarak bir kez daha aktivasyon mesajı gönderilmesini sağlayabilirsiniz.
Lütfen email hesabınızın BULK ve SPAM klasörlerini de kontrol ediniz.
Rastgele Makale

Net Send ile ağda mesaj göndermek

Yazar: hdturk
Net Send ile ağda mesaj göndermek


Webmasterlar
Sitenize Ekleyin!
Sitenizde "Son Eklenen 10 Visual Basic Yazısı"'nı göstermek ve içeriğini zenginleştirmek için buraya tıklayınız.

Vbasicmaster.com'a link verin!
Aşağıdaki minik banneri sitenize eklemek için tıklayın!

Üye Sayısı:
Ziyaretçiler nerede?
Yayın № : 682
Yayın Tar:21.08.2004
Yazar : ugursahin
Hit :7756

Bu Yazarın Yazıları Sadece bu yazarın  göster
Bu Yazıyı Tavsiye Et

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 üzere uyarlanmıştır. Microsoft Qbasic ve Microsoft-Dos Qbasic?de dahil olmak üzere çeşitli sürümleri 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 sürümünü çıkarmıştır. Visual Basic, devamlı geliştiği bu süre sonunda; yüksek hızlı uygulamalar, OLE Serverlar, ActiveX kontrolleri ve daha bir çok projeyi geliştirebilecek hale gelmiştir. Visual Basic yapısal bir programlama dili olan Basic dilinden türetilmiş olmasına rağmen olaya bağlı bir programlama dilidir.
Yapısal yada yordamsal uygulamalarda , uygulama kodun hangi kısımlarının çalışacağını ve hangi sırada çalışacağını denetler. Uygulama kodun ilk satırı ile başlar ve gerektiğinde yordamları çağırarak uygulama boyunca önceden tanımlanmış bir yolu izler.
Olaya bağlı bir uygulamanın çalışması, önceden belirlenmiş bir yolu izlemez. Farklı kod bölümleri olaylara bağlı olarak çalışır. Olaylar, kullanıcın eylemlerinden, sistem yada diğer uygulamalardan gelen iletilerden tetiklenir. Olaya bağlı programlamanın en gerekli bölümü bir uygulamada oluşabilecek olası tüm olaylara yanıt veren kodlar yazmaktır.


Visual Basic?i çalış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 için alternatifler bulunmaktadır. Genellikle Standart.EXE seçeneği seçilerek yeni bir projeye başlanır. Eğer istenirse diğer seçeneklerde kullanılarak ActiveX denetimleri, Dll dosyaları, DHTML sayfalar oluşturulabilir. Existing sekmesi ile daha önceden oluşturulmuş projeler sürücü ve klasör seçimi yapılarak açılabilir. Recent sekmesi ise üzerinde çalışmış olduğumuz projelerin bir listesini verir ve bunlar arasından istediğimizi seçerek çalıştırabiliriz.

Visual Basic Çalışma Ortamı
Visual Basic?de bir proje başlattığımızda aşağıdaki gibi bir görüntü ile karşılaşırız. Bu görüntüyü elde edebilmeniz için açılışta "Standart EXE? seçeneğini kullanmalıyız.


Proje geliştirme ekranında aşağıdaki araçlar bulunur.
? Menü Çubuğu
? Araç Çubuğu
? Project Explorer
? Properties penceresi
? Form Layout penceresi
? Araç Kutusu
? Form Designer





Menü çubuğu Visual Basic penceresinin üst tarafında duran metin satırıdır. Diğer Windows uygulamalarında bulunan menü çubukları ile hemen hemen aynıdır. File Menüsünde projeyi açma kaydetme gibi işlemler, Edit Menüsünde standart edit işlemleri, View Menüsünde programın mevcut olan fakat ekranda açık olmayan pencerelerini açma işlemleri, Project Menüsünde form ekleme-kaldırma gibi proje ile ilgili işlemler, Format Menüsünde forma eklenen nesnelerin düzenleme işlemleri, Debug Menüsünde program çalışırken programı kontrol etmeye yarayan işlemler bulunur. Run Menüsü aracılığı ile programı çalıştırabilir veya durdurabiliriz.Tolls Menüsünde Visual Basic?i özelleştirebileceğimiz ve Projeye menü ekleyebileceğimiz seçenekler bulunur. Add-Ins Menüsü ise raporlar ve database oluşturma seçeneklerini bulunudurur.


Menü çubuğunun hemen altında yukarıda görülen araç çubuğu bulunur.

Project Explorer penceresi projenizde bulunan elemanlara erişmenizi sağlar. Bu pencerede formalar, sınıflar ve modüller listelenir. Bu pencerenin araç çubuğunda 3 adet buton bulunur. Project Explorer penceresi içerisinden bir form seçip View Object butonuna tıklayarak formu görüntüleyebilirsiniz. View Code butonu Code Editöre ulaşmanızı sağlar. Toggle Folders butonu ise tüm form ve modülleri kategoriler halinde görebilmemizi sağlar. Project Explorer penceresinde bir öğeye sağ düğme ile tıkladığımızda bir çok işlev sunan bir menü açılır.



Visual Basic?de bütün nesnelerin kendilerine has özellikleri bulunur. Properties penceresi kullanılarak nesnelere ait özellikler değiştirilebilir. Bir nesne seçildikten sonra Properties penceresinde seçili olan nesneye ait özellikler yer alır. Visual Basic?de formlarda birer nesnedir. Yanda görülen pencerede Form1?e ait özellikler listelenmektedir. Properties penceresinin altında aktif olan özelliğe ait bir açıklama görülebilir.










Form Layout penceresi ile formun çalışma esnasında ekranda nasıl görüleceğini belirleriz.
Toolbox uygulama arabirimimizi oluşturmak için gereksinim duyacağımız denetimleri içerir. Toolbox?da bulunan bütün simgeler birer denetimi temsil ederler. Visual Basic, mouse ikonunu bir denetimin üzerine getirdiğimizde bu denetimlerin adını bize verir. Toolbox?a yeni denetimler ekleyebilir yada varolan denetimleri çıkartabiliriz.
Toolbox?da bulunan bir denetimi kullanmak istersek mouse ikonu ile denetim üzerine bir kez tıklarız ve ardından formumuza bu denetimi çizeriz. Bu şekilde istediğimiz denetimi formumuza eklemiş oluruz.


Yukarıdaki resimde ekranının ortasında Form Tasarımcısı görülür. Form görünümünün, form üzerindeki denetimlerin düzenlendiği yerdir.
İyi bir programcının, kullandığı derleyicinin editörünü çok iyi tanıması gerekir. Visual Basic?de bu editöre Code Editör adı verilir. Code Editör?ü bir form üzerine veya nesneye çift tıklayarak veya sağ click yaptıktan sonra View Code seçeneğini kullanarak açabiliriz. Code Editor, Project Explorer penceresinden bir öge seçimi yapıldıktan sonra View Code butonuna tıklayarak da açılabilir. Yanda bir form üzerine çift tıklandıktan sonra gelen Code Editör görülüyor.
Bu pencerenin üst tarafında iki adet açılır liste kutusu bulunmaktadır. Sol taraftaki açılan metin kutusunda (Object), form içerisinde bulunan nesnelerin bir listesi bulunur, sağ taraftakinde (Procedure) ise seçili nesneye ait olaylar bulunur, aşağıdaki bölüm ise kodları yazacağımız kısımdır.
Programlamaya Giriş
Program, bilgisayar üzerinde bir takım yararlı işlerin gerçekleşmesini sağlayan bir grup yönergedir. Program, kişilerin adres, telefon gibi bilgilerini tutmamızı sağlayan küçük bir uygulama olabileceği gibi Microsoft Excel, Microsoft Word gibi çok 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 oldukça basit gibi görünmektedir. Herşeyin yolunda gitmesi için en başta herşeyin iyice düşünülüp tasarlanması gereklidir. Burada yapılan planlama olayına algoritma adı verilir. Önceden yapılan bu çalışma ileride programı geliştirirken kaybedilecek zamanı azaltır.
Program için bir algoritma oluşturulduktan sonra kullanıcı arabirimini tasarlama işini gerçekleştirmeliyiz. Kullanıcı arabirimi Visual Basic denetimleri kullanılarak hazırlanır Kullanıcı arabirimi, uygulamayı kullananların gördüğü bütün menüleri, iletişim kutularını, nesneleri ve resimleri kapsar. Kullanıcı arabirimi ne kadar anlaşır, sade , görsel 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 özelliklerini 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 gerçekleştirirz. Bu işlemlerin neler olduğuna karar verebilmemiz için kendimize bir takım sorular sormalıyız. Bu sorular programın nasıl çalışacağına karar vermemize ve kullanıcı arabirimini tasarlamamıza yardımcı olur.

Yazdığım programın hedefi nedir ?
Programı kim kullanacak ?
Çalıştırıldığında program görüntüsü nasıl olacak ?
Programa, kullanıcı hangi verileri, nasıl girecek ?
Program bu verileri nasıl işleyecek ?
Program hangi bilgileri üretecek ?
Merhaba Dünya Programı
Hemen hemen programlamaya ilk başlayan herkesin öğrendiği ilk program ?Merhaba Dünya? programıdır. Visual Basic?de bu programı yazabilmek için ilk önce yeni bir proje başlatmamız gerekir. File-New Project komutunu verdikten sonra gelen pencereden ?Standart.EXE? seçeneğini seçip ?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 çalıştığı zaman ekranda ?Merhaba Dünya? yazan bir proje hazırlayacağız. Bunu yapabilmek için Code Editör?e bir satırlık bir kod yazmamız yeterli olacaktır. Code Editöre ulaşabilmek için Form üzerine çift tıklarız ve Code Editör karşımıza gelir. Visual Basic Code Editörde bizim için otamatik olarak yandaki gibi Form?a ait Load prosedürünü açar. Code Editörde Private Sub Form_Load() ve End Sub bildirileri arasına Print "Merhaba Dünya" yazıp araç çubuğunda start düğmesine bastığımız anda programımız çalışacak ve ekrana Merhaba Dünya yazan bir pencere gelecektir. Böylece ilk programımızı yazmış olduk.


Projeleri Çalıştırmak
Visual Basic?de, hazırladığımız projeleri çalıştırmak için Run-Start komutunu veririz veya Araç çubuğunda bulunan Start butonuna tıklarız. Projeleri çalıştırmak için klavyeden F5 tuşunada basabiliriz. Çalışmakta olan projeyi durdurup tekrar tasarım moduna dönmek istersek Run-End komutunu veririz veya Araç Çubuğunda bulunan End butonuna tıklarız.
Projeleri Kaydetmek
Visual Basic?de hazırladığımız projeleri bilgisayara kaydetmek için File-Save Project komutunu veririz. Gelen dialog penceresinden projemizi kaydetmek istediğimiz klasörü seçip 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 çalışabilir hale getirebilmek için derlememiz gerekir. Derleme işlemini başlatabilmek için 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 klasörü 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 ü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 örnek:ler verilmiştir.

Örnek: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

Örnek: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
Örnek: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

Örnek: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
Oparatörler
Visual Basic?de matematiksel işlemlerimizi yaptırabilmemiz için aşağıdaki oparatörleri kullanabiliriz.
+ Toplama
- Çıkarma
* Çarpma
/ Bölme
Tamsayı Bölem
^ Üs yani Kuvvet alma
Mod Kalanlı Bölme
& Dizilim Birleştirme
Örnek:
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 çı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. Bölme işlemi yapıldı ve sonuc olarak kalanı verdi.
Örnek:
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?
Örnek:
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 ' Küpün Hacmini hesaplanıyor
Örnek:
Karekök hesabı yapmak için 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 oparatörlerde öncelik sırası vardır. Öncelik sıraları aşağıda verilmiştir.

( ) ?Parantez içerisindeki ifadeler önceliğe sahiptir
^ ?Üs alma
*/ ?Çarpma ve bölme
?Tamsayı bölme
Mod ?Kalanlı Bölme
+ - ?Toplama ve çıkarma

Örnek:
Dim Sayi As Integer
Sayi= 70 + 80 / 2 ?Sonuc 110
Sayi= ( 70 + 80 ) / 2 ?Sonuc 75
Karşılaştırma Oparatörleri
Visual Basic?de verileri kontrol etmek karşılaştırmak için aşağıdaki oparatörler kullanılır. Bu oparatörlerin sonucun doğru çıkması durumda True yani ?1, yanlış çıkması durumunda False yani 0 değerini döndürürler.
< ?Küçüktür
<= ?Küçük Eşittir
> ?Büyüktür
>= ?Büyük Eşittir
= ?Eşittir
<> ?Eşit Değildir
Örnek:
Dim Sonuc As Integer
Sonuc = ( 3 < 5 ) ?Sonuc = -1
Sonuc = ( 7 > 9 ) ?Sonuc = 0
Sonuc = ( 10 <= SQR(100) ) ?Sonuc = -1
Sonuc = ( 2 = 6 ) ?Sonuc = 0
Sonuc = ( 4 = 4 ) ?Sonuc = -1
Sonuc = ( 2 <> 6) ?Sonuc = -1
Sonuc = ( 7 <> 7 ) ?Sonuc = 0
Sonuc = ("Uğur" <> "Uğur Şahin" ) ?Sonuc = 0
AND Operatörü
AND oparatörü tüm şartların doğru olduğu anlarda -1 değerini döndürür, diğer durumlarda ise 0 değerini döndürür.

sayı1 = 4
sayı2 = 5
Sonuc = (sayı1 = 4) AND (sayı2 = 5) ?Sonuc = -1
Sonuc = (sayı1 = 4) AND (sayı2 = 8) ?Sonuc = 0
OR Operatörü
OR oparatörü, tüm şartların yanlış olduğu anlarda 0 değerini döndürür, diğer durumlarda ise -1 değerini döndürür.

sayı1 = 4
sayı2 = 5
Sonuc = (sayı1 = 2) OR (sayı2 = 5) ?Sonuc = -1
Sonuc = (sayı1 = 4) OR (sayı2 = 5) ?Sonuc = -1
Sonuc = (sayı1 = 2) OR (sayı2 = 4) ?Sonuc = 0
XOR Operatörü
XOR oparatörü, şartlardan sadece birinin doğru olduğu anlarda -1 değerini döndürür, diğer durumlarda ise 0 değerini döndürür.

sayı1 = 4
sayı2 = 5
Sonuc = (sayı1 = 2) XOR (sayı2 = 5) ?Sonuc = -1
Sonuc = (sayı1 = 4) XOR (sayı2 = 5) ?Sonuc = 0
NOT Operatörü
NOT oparatörü çıkan sonucu tam tersine çevirir. Sonuç ?1 çıkarsa 0?a, 0 çıkarsa ?1?e çevirir.

sayı1 = 4
sayı2 = 5
Sonuc = sayi1=sayi2 ?Sonuc = 0
Sonuc = NOT(sayi1=sayi2) ?Sonuc = 0
EQV Operatörü :
EQV oparatörü iki ifadenin karşılaştırılması için kullanılır. İki koşulunda doğru veya yanlış olması durumunda ?1 sonucunu üretir.

sayı1 = 4
sayı2 = 5
Sonuc = (sayi1=3) EQV (sayi2=8) ?Sonuc = -1
Sonuc = (sayi1=4) EQV (sayi2=1) ?Sonuc = 0
Karar Yapıları
Programlama dillerinde bilgileri işlemek için kullanılan en yararlı araçlardan biride koşullu bir ifadedir. Koşullu ifade bir özellik, değişken veya veride bulunan değere göre işlem yapmamızı sağlar. Visual Basic?de koşullu ifadeler kullanırken faydalanacağımız en önemli araçlar If ...Then ve Select Case karar yapılarıdır.
If...Then Karar Yapısı
Bir If...Then karar yapısı programdaki bir koşulu denetlememizi ve çıkan sonuca göre hareket etmemizi sağlar. En basit biçimiyle ?If Koşul Then Bildiri? gibi kullanılabilir.

Örnek:
Dim Sinav1 As Byte
Dim Sinav2 As Byte
Dim Ortalama As Byte
Sinav1 = 80
Sinav1 = 60
Ortalama = ( Sinav1 + Sinav2 ) / 2 ?Ortalama 70

If Ortalama >= 50 Then
Label1.Caption = ?Kazandınız!..?
Else
Label1.Caption = ?Kaybettiniz!..?
End If

Yukarıdaki ifadede Ortalama 50 ve üzerinde ise Label1.Caption = ?Kazandınız!..? işelemi gerçekleşecek, aksi takdirde Label1.Caption = ?Kaybettiniz!..? işlemi gerçekleşecektir.

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

Örnek:
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şekkür Aldınız!..?
Else If Ortalama >= 50
Label1.Caption = ?Sınıfınızı Geçtiniz!..?
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.

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

Örnek:
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 içerisinde bilgi vermek amacı ile kullanılır. Örneğin bir hata sonrasında kullanıcıya hatanın sebebini açıklayan bir bilgi verirken. Kullanuım şekli aşağıdaki gibidir;

Msgbox ?Brain Bilişim Akademisi?

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

Msgbox Text1.Text

Yukarıdaki ifade ise Text1 nesnesinin Text özelliğini dialog kutusu içerisinde görmemizi sağlar.
Msbgox fonksiyonu kullanıcıya seçenekler sunan bir dialog penceresi gibide kullanılabilir. Örneğin programdan çıkılmak istendiğinde kullanıcı uyarılsın. Bu tip dialog kutuları kullanıcın verdiği cevaba göre bir sonuç döndürür. Formunuzun unload yordamına aşağıdaki kodu girin.

Private Sub Form_Unload(Cancel As Integer)
Dim Cevap As Integer
Cevap = MsgBox("Programdan çı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 vazgeçilecektir. Msgbox fonksiyonu bu şekilde kullanıldığı zaman kullanıcının verdiği cevaba göre geriye bir değer gönderecektir. Daha sonra If karar yapısı ile Cevap değişkenin içeriği kontrol edilmekte ve gerekli işlem yapılmaktadır.

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

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

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 çıkmasını istediğimiz butonlar ve simgeler için yukarıdaki değerler kullanılır. İstediğimiz buton ve simgeye ait rakamı toplayarak yazarız. Cevap olarakda yine yukarıdaki değeri gönderilir. Bu değerler akılda pek kalıcı olmadığından dolayı VB değerlerinide kullanabiliriz.

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

MsgBox("Programdan çı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. Örneğ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 çalış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.


Döngüler
Döngüler belirli işlemleri belirli sayıda veya herhangi bir şart sağlanana kadar tekrarlamak amacı ile kullanılırlar. Visual Basic?de kullanılan döngüler aşagıda verilmiştir.

For ?.. Next Döngüsü
Do Until ??Loop Döngüsü
Do While ?. Loop Döngüsü
Do ?? Loop Until Döngüsü
Do ?? Loop While Döngüsü
For Next
Bu döngü belirli bir işlemi, belirli bir sayıada çalıştırmamıza olanak sağlar. Genel yazılım şekli aşagıdaki gibidir.

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

Bu döngüde Sayac değişkenine BaşlangıçDeğeri verilir ve Sayaç BitişDeğerini geçene kadar çalıştırılır. Döngü her çalışında Sayaç değeri ArtımDeğeri kadar artırılır. Eğer ArtımDeğeri belirtilmezse Sayaç her seferde 1 artırılır.
Örnek:
Liste kutusuna 1?den 10 kadar olan rakamları eklemek için aşağıdaki döngü kurulur.

Dim Sayac As Integer
For Sayac = 1 To 10
List1.AddItem Sayac
Next Sayac
Örnek:
Liste kutusuna 2?şer 2?şer 20?ye kadar olan rakamları eklemek için aşağıdaki döngü kurulur.

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

For..Next döngüsünden çıkmak için Exit For bildirisi kullanılır
Örnek:
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 dögüsünün gelişmişidir. Bir koşul yanlış olduğu sürece devam eder. Genel yazım şekli aşağıdaki gibidir.

Do Until Koşul
Bildiri
Loop
Örnek:
Program çalıştığı anda kullanıcıya adını soran ve yanlış isim girildikçe soruyu tekrarlayan bir kod örneği. 3.denemeden sonra sonra Do..until döngüsünden çı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 "Üzgünüm. Deneme hakkınız dolmuştur."
Exit Do
End If
MsgBox "Yanlış isim girdiniz. Lütfen tekrar deneyin."
Ad = InputBox("Adınızı Giriniz?")
Loop
End Sub
Do While
Do Until döngüsünün tersidir. Bir koşul doğru olduğu sürece devam eder. Genel yazım şekli aşağıdaki gibidir.

Do While Koşul
Bildiri
Loop
Örnek:
Kullanıcıdan bir isim yazmasını isteyen bir kod örneği. Ad değişkeni ?son? olmadığı sürece 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("Lütfen adınızı yazınız. Çıkmak için 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("Lütfen adınızı yazınız. Çıkmak için son yazın")
Loop
End Sub
Do ?.. Loop Until ve Do ?.. Loop While
Do Until ve Do While döngüleri koşul sağlandığı sürece devam ederler, yani belirtilen koşul sağlanmazsa döngü hiç çalışmayabilir. Eğer döngünün en az bir kez çalışması isteniyorsa Do..Loop Until veya Do...Loop While kullanılabilir. Bu döngülerin genel yazım şekli aşağıdaki gibidir.

Do
Bildiri
Loop Until / While Koşul

Bu ifadede döngü içinde komutlar mutlaka bir defe çalıştırılır, daha sonra Koşul kontrol edilir. Eğer Koşul doğru ise tekrar Do satırına dönülüp aradaki komutlar çalıştırılır.






Yorumlar, eklemeler ve düşünceler
        güzel makale.

   spider58, 21.08.2004 20:31
   arkadaş iyi kopyalamısın hiç belli olmuyor <-:

   zombi, 22.08.2004 03:40
   başarılı

   kskmemory, 01.09.2004 09:37
   Merhaba ben Uğur Şahin

Bu notları yazan asıl kişi. Bu notları derslerde öğrencilerime vermek üzere hazırladım. Notları yazarken kendi bilgi ve biriimlerimi, interneti, çeşitli yerli ve yabancı kitapları kaynak olarak kullandım. Ama hiçbir kaynaktaki bilgiyi birebir aktarmadım. Burası ve daha birkaç farklı sitede bulunan bilgi hırsızlarının bu notları kendilerine aitmiş gibi yayınlamaları beni rahatsız etti.

cevap vermek istenirse mail : usahin74@hotmail.com

   ugursahin, 20.12.2004 16:04
   güzelll olmuuşş

   ayasofya__80, 12.11.2005 14:59
© Hakan Ersöz 2000-2013| Üyelik Sözleşmesi | | Ödeme Bildirimi
Sitemizden yenilikleri hemen öğrenin, pop upları engelleyin, chat yapın... ToolBarımızı indirin:
Vasicmaster Toolbar'ı indirin