Visual Basic IDE Yapısı

Slides:



Advertisements
Benzer bir sunumlar
CEIT 101 Teorik Emrah Soykan - Konu 3 -.
Advertisements

Not Sosyal Bilgiler Öğretmenliği
ŞAHİN AKDAĞ.
STRİNG FONKSİYONLARI.
Sık Kullanılan Kontroller
JavaScript Birinci Hafta.
BİLGİ GİRİŞ VE MESAJ PENCERELERİ. PROGRAM AKIŞI SIRASINDA BİLGİ VERMEK VE ONAY ALMAK İÇİN KULLANILAN MESAJ KUTULARIDIR. ÖRNEĞİN BİR PROGRAMDAN ÇIKARKEN.
KLAVYE KULLANIMI.
Power Point’a Resim Nesneleri Ekleme ve Kullanma
Excel’de VBA programlama (Visual Basic Application) Ders 2
Temel Bilgisayar Bilimleri Dersi
İSİM UZAYLARI.
BİLGİ ve İletİŞİM TeknolojİSİ
Problemi Çözme Adımları
Yard.Doç.Dr. Selim YILDIRIM
Visual Basic 6.0 Ders Notları
Kelime İşlemci Programı
SQL de Değişken Tanımlama
2. VISUAL BASIC PROGRAM YAPISI
4. KONTROL VE DÖNGÜ KOMUTLARI
PROSEDÜRLER (YORDAMLAR) (FONKSİYONLAR VE ALT PROGRAMLAR)
KLAVYE EĞİTİMİ.
Excel’de VBA programlama (Visual Basic Application) Ders 7
Veri Tabanı Yönetim Sistemleri
ÖĞRENME FAALİYETİ 3. PARAGRAF DÜZENLEME.
VERİ TABANI VE YÖNETİM SİSTEMLERİ
İNTERNET PROGRAMCILIĞI I BTP 207 Ders 9. Tek değişkende birden fazla bilgi tutulmak istendiğinde kullanılır. Kullanım şekli: var dizi_adı= new Array(eleman1,
 HTML nin en önemli araçlarından biri de bilgi girişinde kullanılan form kontrolleridir.  Formlar, web sayfası tasarlayan kişi veya şirketlerle internet.
WINDOWS TEMEL İŞLEMLER
3. DEĞİŞKENLER Değişkenlerin kullanım ve tanımlanma şekli, o dilde program yapmayı ve programların anlaşılırlığını etkileyen önemli faktörlerden biridir.
Dosya Yönetimi.
8. VİSUAL BASİC İLE TEMEL DOSYALAMA İŞLEMLERİ
PROGRAMLAMA DİLLERİNE GİRİŞ Ders 8: Windows Formları
Microsoft EXCEL (2) Kapsam Kopyalama, Yapıştırma Açıklama Ekleme Satır ve Sütunların Boyutlandırılması Bitişik Hücrelere Dayanarak Otomatik Veri Girme.
Akış Kontrol Mekanizmaları
Chapter 6: Using Arrays.
MESAJ KUTUSU.
© Copyright by Deitel & Associates, Inc. and Pearson Education Inc. All Rights Reserved. 1 Amaçlar Bu derste öğrenilecekler: –Uygulamaları “method”
BİL 102 BİLGİSAYAR PROGRAMLAMA
EXCEL 2003 Ders 2.
INPUTBOX() ile Veri Girişi
Visual Basic Windows Programlama.
Değişken Türleri.
4. KONTROL VE DÖNGÜ KOMUTLARI
BİLGİSAYAR MUHASEBE YAZILIMLARI
BİLİŞİM TEKNOLOJİ DERSİ KLAVYENİN TUŞLARI
Modül 1: Giriş. Genel Bakış Temel.NET kavramları Geliştirme ortamında gezinti Bir C# projesi oluştur Use Visual Studio.NET Veriye eriş Hata ayıkla ve.
FARE VE KLAVYE ÖĞR. GÖR. A. ÇAĞLAR ERKAN.
BİLİŞİM TEKNOLOJİLERİ
BM-103 Programlamaya Giriş Güz 2012 (3. Sunu)
YAPISAL PROGRAMLAMA KAVRAMI
İnternet Programlama-I
Adım Adım Algoritma.
SAYISAL ANALİZ Doç.Dr. Cüneyt BAYILMIŞ.
Bilgisayar Görmesi Ders4:GUI OLUSTURMA Yrd. Doç. Dr. Serap KAZAN.
VERİ TİPLERİ BYTE:0-255 ARASI TAMSAYI (1 BYTE)
ELEKTRONİK TABLOLAMA PROGRAMI: EXCEL
KURTKÖY TİCARET MESLEK LİSESİ EĞİTİM ÖĞRETİM YILI
PHP'de Program Denetimi
Bilgisayar Programlamasına ve Veri Analizine Giriş - IV
Bu Hafta Öğreneceklerimiz
KLAVYE TUŞLARI VE ÖZELLİKLERİ
Bu Hafta Öğreneceklerimiz KLAVYE.
Tayfun KOÇ , Bilgisayar ve Öğretim Teknolojileri Eğitmeni
Dosya Yönetimi.
2. VISUAL BASIC PROGRAM YAPISI
ACTIONSCRIPT TEMELLER İ SAVAŞ TUNÇER
Excel’de VBA Programlama (Visual Basic Application)
Bilgisayar Bilimi Problem Çözme Süreci-2.
Tayfun KOÇ , Bilgisayar ve Öğretim Teknolojileri Eğitmeni
Sunum transkripti:

Visual Basic IDE Yapısı Menu Bar                            : VB program mönüsü Tool Bar                              : Mönü kısayol tuşları Project Explorer                 : Projede yer alan form, module gibi elemanları listeler Properties Window            : Kontrol ve formların özelliklerini gösterir Form Layout Window        : Formun ekran üzerinde bulunduğu yeri gösterir ToolBox                              : Arayüz tasarımında kullanılanılabilecek kontroller Form Desinger                   : Projenin ara yüzünün tasarlandığı pencere Object Browser                  : VB kütüphanesinde kullanılan tip ve değişkenleri gösterir Code Window                     : Programın kodlamasının yapılacağı editör

 

File Mönüsü New Project                 : Yeni bir proje başlatır ( Ctrl + N ) Open Project               : Daha önce kaydedilmiş bir projeyi açar  ( Ctrl + O ) Add Project                 : Uygulamaya yeni projeler ekler Remove Project          : Uygulama içindeki bir projeyi uygulamadan çıkarır Save Project               : Projede bulunan tüm nesneleri kaydeder Save Project As          : Tüm nesneleri ve projeyi yeni bir isimle kaydeder Save                            : Sadece aktif nesneyi kaydeder Save As                       : Sadece aktif nesneyi yeni bir isimle kaydeder Print                            : Projeyi yazdırır ( Ctrl + P ) Current Module           : Aktif modülü yazdırır Current Project           : Projede bulunan bütün nesneleri yazdırır Form Image                : Form görüntüsünü yazdırır Form as Text               : Nesnelere ait özellikleri yazdırır Print Setup                  : Yazıcı ve baskı ayarlarını değiştirir Make Project1.exe      : EXE dosya oluşturur Auto Increment           : Program sürüm numarası her exe yapışta otomatik olarak artar Exit                              : Visual Basic programından çıkış

tool(alet) lar Visual Basic'in solunda bulunan ToolBox'in üzerindeki elemanlardır VB'de Tool Box                              IMLEÇ: Form üzerine yerleştirilmiş kontrol nesnelerinin yerini ve boyutunu degiştirmek için kullanılır.  PICTURE BOX (Resim Kutusu): Form üzerinde resimleri göstermek ,diskten form'a resim yüklemek için kullanılır. LABEL (Etiket): Bilgi vermek ya da başlık koymak amacıyla kullanılan alet.         TEXT BOX (Metin Kutusu): Bilgi girişi veya üretilen bilgilerin gösterilmesi için kullanılır.        FRAME (Çerçeve): Kontrol veya kontroller için gurup oluşturur. COMMAND BUTTON (Komut Butonu): Kullanıcının belirli 1 işi yerine getirmesi için onaylama butonudur. CHECK BOX (Kontrol Kutusu): Kullanıcıya evet/hayir ya da doğru/yanlış gibi seçenekler vermek için kullanilir. OPTION BUTTON (Opsiyon Butonu): En fazla bir seçeneğin seçilebileceğii durumlarda kullanılır.

COMBO BOX (Kombine Kutu): Metin kutusu gibi içine metin yazılabilinir,liste kutusu gibi istenilen seçilinebilir.  LIST BOX (Liste Kutusu): Kullanıcının, içinden bir veya daha fazla isim seçebileceği bir liste içerir. HORIZONTAL SCROLL BARS (Yatay Hareket Çubukları): Kullanıcıya, uzun bilgilerde, yatayda hareket imkani saglar. VERTICAL SCROLL BARS (Düşey Hareket Çubuklari): Kullaniciya uzun bilgilerde, düşeyde hareket imkani sağlar. TIMER (Zamanlayıcı): Formun çalıştığı sırada, zamana bağlı olarak belirli aralıklarla ,eylemlerin gerçekleşmesini denetler. DRIVE LIST BOX (Sürücü Listeleme Kutusu): Geçerli sürücülerin bir listesini göstermeye yarar.Aynı zamanda sürücüler arası geçiş'te kullanılır.  DIRECTORY LIST BOX (Dizin Listeleme Kutusu): Sürücülerin yolunu ve dizinlerini görüntüler. FILE LIST BOX (Dosya Listeleme kutusu): Verilen bir dizin içindeki tüm dosyaları listeler.

SHAPE (Sekil): Form üzerine geometrik şekiller çizmek için kullanılır.  LINE (Çizgi): Form üzerine çizgi çizmek için kullanılır. IMAGE (Görüntü): Resim kutusu gibi bir resmi gösterir.Bilgisayarı; daha az yorar.Mousela tiklandigi zaman command buton gibi davranır. DATA ACCESS (Veriye Erişim): Sistemdeki mevcut veri tabanına erişerek, bilgi güncelleme ,edit yada bilgi görüntüleme işlemlerinin yapilabilmesine olanak sağlar. OLE CLIENT (Ole Istemcisi): Bu tool ile form içine bir Windows programından (Access,Excel gibi) nesneler aktarmak mümkün.

Visual Basic' te Formlar Visual Basic' te iki çeşit form vardır. Bunlardan bir tanesi tek başına çalışan form türü olan Visual Basic ilk çalıştığı zaman ekrana gelen form ve projeye her eklenen yeni formun türü olan SDI (Single Document Interface) formlarıdır. Bu tür formların içinde başka formlar çalışamazlar. İkinci tür form çeşidi ise içerisinde başka formların çalışmasına izin veren ve MDI (Multi Document Interface) olarak bilinen form türüdür.Bu tür formların içinde Child form olarak adlandırılan ve normal SDI formların Child özelliğinin true yapılmasıyla oluşan formlar çalıştırılabilir. Aşağıdaki birince resimde örnek bir SDI form , ikinci resimde ise örnek bir MDI form ve bu formun içindeki Child formları görebilirsiniz. SDI form örneği MDI form örneği

Caption: Formun başlığına yazılacak yazıyı belirtir Caption: Formun başlığına yazılacak yazıyı belirtir.Bu özelliğe formun properties penceresinden ulaşılabileceği gibi kod kullanarak da formun başlığı değiştirilebilir.

Icon : Formda kullanılacak iconu belirtir Icon : Formda kullanılacak iconu belirtir. Bu icon programınıza ait bir kısayol oluşturduğunuzda gözükecek icondur aynı zamanda. BorderStyle : Formun sınırlarının belirlendiği bu özellik aşağıda belirten değerleri alabilir. 0-None:Bu değer verildiğinde form boyutlandırılamaz ,taşınamaz ve kapatılamaz. Ayrıca formun çerçevesi ,başlığı,kontrol kutusu ,min ve max düğmeleri de formda yer almayacaktır. Çalıştığında aşağıdaki şekli alır.

1-FixedSingle: Bu değer verildiğinde kullanıcı formu büyültüp küçültemez ama formu taşıyabilir ve kapatabilir.Ayrıca formun boyutlarında herhangi bir değişiklik yapılamaz. 2-Sizable: Varsayılan değer budur ve formun tüm özellikleri kullanılabilir. 3-FixedDouble :Kullanıcı formu boyutlandıramaz ama formu taşıyabilir ve formu kapatabilir. 4-FixedToolWindow :Normal forma göre başlığı daha küçük olan ve kontrol menüsü içermeyen bir form oluşturur.Bu formun boyutları kullanıcı tarafından değiştirilemez. 5-SizableToolWindow :Yukarıdaki forma benzer terk farkı boyutları kullanıcı tarafından değiştirilebilir. MaxButton, MinButton : Formun sağ üst köşesinde bulunan ve formun büyültülüp küçültülmesi işlemleri için kullanılan düğmelerin formda bulunup bulunmamasını belirler. ControlBox : Formun sol üst köşesinde bulunan kontrol menüsünün görünüp görünmemesini sağlar.Bu değer true veya false değerlerini alabilir.Eğer bu değer true ise kontrol menüsü görünür ve bu form Alt+F4 tuş kombinasyonu kullanılarak kapatılabilir. Moveable : Bu özellik ile kullanıcının formu taşıyıp taşıyamayacağı belirlenir.Bu özellik true veya false değerini alabilir.Eğer bu değer true ise kullanıcı formu taşıyabilir. ShowInTaskbar : Bu özellik formun çalışma esnasında görev çubuğunda görünüp görünmeyeceğini belirler.True yada false değerlerini alabilir.Eğer bu özellik true ise program çalıştığında form görev çubuğunda görünür. AutoRedraw : Bu özellik ile formun üzerine başka bir form geldiğinde veya formun boyutlarıyla oynandığında formun üzerindeki yazı veya çizimlerin yenilenip yenilenmeyeceği belirlenir.Bu özellik true veya false olmak üzere iki değer alabilir. Eğer bu değer true ise formda yenileme yapılır ve formun üzerindeki yazı ve çizimler kaybolmaz. FontTransparent : Formun üzerine Print metodu ile yazılan yazıların zemin renginin olup olmamasını belirler. Bu özellik true yada false olabilir.Eğer true ise yazıların zemin rengi olmayacaktır. False ise yazı kandı zemin rengi üzerine yazılır ve altındaki nesneyi göstermez.

WindowState : Formun ilk çalışmaya başlayacağı zaman alacağı durumu belirler.Bu özellik üç değer alabilir. 0-Normal :Normal durumda açılır. 1-Minimized :Simge durumunda açılır. 2-Maximized :Ekranın tamamını kaplayacak şekilde açılır. StartupPosition : Formun yüklenmeye başlandığı zaman ekran koordinatlarının neye göre belirleneceğini belirler.bu özellik dört farklı değer alabilir. 0-Manuel :Form tasarlandığı zamanki konumda açılır. 1-CenterOwner : Child özelliği true yapılmış formların MDI formun ortasında açılmasını sağlar. 2-CenterScreen :Formun ekranın ortasında açılmasını sağlar. 3-WindowsDefault :Formun konumunu Windows belirler. KeyPreview : Form aktifken basılan tuşlardan formun etkilenip etkilenmeyeceği bu özellik kullanılarak ayarlanılır.Bu özellik iki değer alabilir.Eğer değer true ise formda bulunan herhangi bir kontrolün üzerinde basılan tuşlar ilk önce formun KeyPress , Keydown ,KeyUp olaylarını meydana getirir.Bu değer false ise kontrolün üzerinde basılan tuşlar o kontrolün KeyPress , Keydown , KeyUp olaylarını meydana getirir. Count : Formdaki menüler dahil kontrol sayısını belirtir. Picture : Formun üzerinde gösterilecek resmi belirtir. MDIChild : Yukarıda bahsettiğimiz MDI formların içinde çalışabilen bir form istiyorsak bu özelliği true yapmamız gerekiyor. CurrentX, CurrentY : Formun üzerindeki aktif pixelin yerini belirtir. Formun üzerine yazdırılacak yazılar bu noktadan başlayarak yazdırılır.

Width : Formun genişliğinin belirlendiği özellik Width : Formun genişliğinin belirlendiği özellik. Heigth : Formun yüksekliğinin belirlendiği özellik. Left : Formun ekranın ne kadar solunda olacağının belirlendiği özellik. Top : Formun ekranın ne kadar üstünde yer olacağının belirlendiği özellik. Font : Formlara yazılacak yazıların fontlarının belirlendiği özellik. BackColor: Formun zemin renginin belirlendiği özellik. ScaleMode : Formda kullanılan ölçü birimini belirtir.Varsayılan ölçü birimi Twip'dir.Kullanılabilecek ölçü birimleri ise; 1- Twip 2- Point 3- Pixel 4- Character 5- Inch 6- Millimeter 7- Centimeter MousePointer: Form üzerindeki fare işaretçisinin şeklini belirler. Enabled : Formların kullanılabilir olup olmamasının belirlendiği özellik.Eğer bu özellik bir form için false ise o form proje içerisinde kullanılamaz. Bu yazımızda formların genel özelliklerine değindik. şimdi formlara uygulanabilecek olayları inceleyelim.

Visual Basic 'de formlara uygulanabilecekler Bildiğimiz gibi Visual Basic olay temelli bir programa aracı olup, kullanılan kontroller için önceden tanımlanmış olaylara ilişkin kodlar yazılarak programın çalışması sağlanır. Örneğin siz ,formun üzerine çift tıklanması durumunda bir olayın meydana gelmesini istiyorsunuz. Bunun için formda tanımlanmış DblClick olayına ilgili kodu yazarak bu olayın meydana gelmesini sağlayabilirsiniz. şimdi sırasıyla formlara uygulanabilecek olayları inceleyelim. Load() : Formun ilk defa hafızaya yüklendiği zaman meydana gelen olaydır.Bu olay kullanılarak ,kullanıcıya formu göstermeden önce yapılması gereken işler yapılabilir. Örneğin ,kullanıcı programı başlattığında ilk önce kullanıcıdan,kullanıcı adı ve şifresini alarak daha sonra yüklenecek ana formda bu bilgileri kullanarak bir veritabanına bağlantı sağlayabiliriz. Activate() : Formun ,programda aktif olması sırasında meydana gelir. Eğer programımızda bir tane form varsa bu form her zaman aktiftir. Bu olaya ,formun aktif olması sırasında yapılmasını istediğimiz olayları yazabiliriz. Deactivate() : Formun , programda aktivitesini kaybetmesi sırasında meydana gelen olaydır. Bu olaya ,formun aktivitesini kaybetmesi sırasında yapılmasını istediğimiz olayları yazabiliriz. Unload(Cancel As Integer) : Formun kapatılması sırasında meydana gelen olaydır. Ayrıca bu olayda tanımlanmış Cancel değişkenini kullanarak sadece bizim istediğimiz durumda formun kapanmasını sağlayabiliriz. Bunu gerçekleştirmek için ,yani formun kullanıcı tarafından hiçbir şekilde kapatılmaması için Cancel değişkenine True değerini atamalıyız. Aşağıdaki örnekte kullanıcı formu kapatmak istediği zaman bir pencereyle(inputbox) karşılaşıyor ve bir değer girmesi isteniyor. Eğer girdiği değer 2 ve 2'den büyükse form kapanmıyor.

Private Sub Form_Unload(Cancel As Integer) Dim c c = InputBox("Formu kapatmak için bir sayi giriniz", "Çikis") If c > 2 Then Cancel = True Else Cancel = False End If End Sub Not : Bu olay formun End komutuyla sonlandırılması sırasında meydana gelmez. Yani bu olayın meydana gelebilmesi için formun program tarafından End komutu kullanılarak sonlandırılmaması gerekir. Yukarıdaki programı çalıştırdığınızda aşağıdakine benzer bir ekranla karşılaşmalısınız.

Resize() : Formun boyutlarının değiştirilmesi sırasında meydana gelir Resize() : Formun boyutlarının değiştirilmesi sırasında meydana gelir.Örneğin formun genişliğinin veya yüksekliğinin değiştirilmesi bu olayın meydana gelmesini sağlar. KeyPress(KeyAscii As Integer) : Formun çalışması sırasında yön ve kontrol(Ctrl,Alt,Shift) tuşları dışında herhangi bir tuşa basılması sırasında meydana gelen olaydır. Bu olayda basılan tuşun Ascii değeri KeyAscii değişkenine atanır. Bu değişkeni kullanarak hangi tuşa basıldığını öğrenebilirsiniz. Aşağıdaki program, formun çalışması sırasında hangi tuşa basıldığını ekrana yazar. Private Sub Form_KeyPress(KeyAscii As Integer) Show Print Chr(KeyAscii) & " tusuna bastiniz." End Sub

KeyDown(KeyCode As Integer, Shift As Integer) : Bu olay herhangi bir tuşa basıldığı anda meydana gelir. Bu olayda iki parametre kullanılır.Bu parametrelerin biri basılan tuşun Ascii değerini , diğeri ise bu tuşla birlikte Shift,Ctrl ve Alt tuşlarından herhangi birine basılıp basılmadığı konusunda bilgi tutar. Aşağıdaki tabloda Shift parametresinin alabileceği değerler ve açıklamalarını bulabilirsiniz. Shift Parametresinin Değeri Açıklama Shift ,Ctrl ,Alt tuşlarından herhangi birisi basılı durumda değil. 1 Shift tuşu basılı durumda. 2 Ctrl tuşu basılı durumda. 3 Shift ve Ctrl tuşları basılı durumda. 4 Alt tuşu basılı durumda. 5 Shift ve Alt tuşları basılı durumda. 6 Ctrl ve Alt tuşları basılı durumda. 7 Shift ,Ctrl ve Alt tuşları basılı durumda.

Aşağıdaki örnekte kullanıcı Ctrl tuşu ile birlikte A tuşuna basarsa kullanıcıya mesaj verecektir. Private Sub Form_KeyDown(KeyCode As Integer, Shift As Integer) If KeyCode = 65 And Shift = 2 Then MsgBox "Ctrl+A tus kombinasyonunu kullandiniz." End If End Sub KeyUp(KeyCode As Integer, Shift As Integer) : Bu olay ise kullanıcının bastığı tuşu bırakması sırasında meydana gelir. önceki tabloda Shift parametresi için gösterilen değerler bu olayda da geçerlidir.

MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single) : Bu olay formun üzerinde mouse'un herhangi bir tuşuna basılması sırasında meydana gelir. Bu olayda kullanılan parametrelerden Button parametresi,kullanıcını mouse'un hangi tuşuna bastığı bilgisine tutar ve kullanıcı mouse'un sol tuşuna basmışsa 1,sağ tuşuna basmışsa 2,her iki tuşa birlikte basmışsa 3 değerini alır. İkinci parametre olan Shift ise mouse'un tuşlarına basıldığı sırada herhangi bir kontrol karakterine basılıp basılmadığı bilgisini tutar ve yukarıdaki tabloda açıklanan değerler bu olaydaki Shift parametresi için de geçerlidir.X ve Y parametreleri ise bu olayının meydana geldiği andaki mouse işaretçisinin yerinin Twip cinsinden değerlerini tutarlar. Aşağıdaki örnekte mouse'un sol tuşuna tıklandığı yerin Twip olarak değeri kullanıcıya mesaj olarak gösteriliyor. Private Sub Form_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single) If Button = 1 Then MsgBox ("Mouse'un yeri :" & Str(X) & "," & Str(Y)) End If End Sub

MouseUp(Button As Integer, Shift As Integer, X As Single, Y As Single) : Bu olay kullanıcını mouse'un bastığı tuşunu serbest bırakması sırasında meydana gelir ve kullanılan parametreler MouseDown olayındakilerle aynıdır. MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single) : Bu olay mouse işaretçisinin form üzerindeki yerinin değişmesi sırasında meydana gelir ve kullanılan parametreler MouseDown olayındakilerle aynıdır. Click() : Bu olay mouse ile formun herhangi bir yerine tek tıklama yapıldığında meydana gelir. DblClick() : Bu olay mouse ile formun herhangi bir yerine üst üste iki tıklama yapıldığında meydana gelir. Aşağıdaki programda kullanıcıya, formun herhangi bir yerine çift tıklaması durumunda bir mesaj gösterilecektir. Private Sub Form_DblClick() MsgBox "Mouse ile Çift Tıklama Yaptiniz.", , "Çift Tiklama" End Sub

VB'de Veri Yapıları ve Tanımlama 1-)Sabitler(Constants) 02021013 seklindeki bir sabit bir tamsayı sabittir.“BİLGİSAYAR" şeklindeki bir sabit ise string türü bir sabittir.String türü ifadeler sayisal işlemlere sokulmazlar.Değişkenleri elimizle tanımlarken,code(yazilimi yazdigimiz pencere)penceresinin general(pencerenin sol köşesindeki listbox'a bak)kisminda olmalıyız. Bu programı yazdığınızda,command1 butonuna tıkladığınızda text kutusunda bilgisayarak yazacaktır. Gördüğünüz gibi sabit değerleri general kısmında tanımladık.Sabit tanımlamak için mutlaka ihtiyacımız olan şeyler "const" ve sabitin ismi. private ve public, değişkenlerin etkili olacağı alanları belirlememizde işe yarar.Çoğu zaman private'yi kullanın çünkü standart.exe olarak açtığınız formlarda public hata verebilir.

2-)Değişkenler Program içerisinde değerleri sürekli olarak degişebilen veri yapısıdır. x=23 y=12 iken x=x+3 y=x+x dersek x ve y'nin değerlerini 26 ve 38 yaparak degiştirmiş oluruz.Yani bir değişkene yeni bir değer atanırsa eski değeri silinecektir. a-)Degişkenlere isim verme Degişken isminin ilk karakteri bir harf olmalıdır.Rakam değil. Diğer karakterler harf,isim,karakter,alttan çizgi_ v.s.olabailir. Harflerin küçük yada büyük olmasının bir önemi yoktur. Değişken isimlerinin uzunluklari 255 karaktere kadar olabilir. Değişken isimleri içerisinde diğer semboller (+,-,/, , vb) bulunmamalidir. b-)Değişken türleri Bu bölümde,vb'de program yazarken,programınızda kullanabileceğiiniz veri türleri tanıtılacaktır. variant: Bu tipte tanımlanmış bir değişkene herhangi bir tip’te veri yüklenebilir.Yani ne tür bir veri gireceğimizi bilmediğimiz degişkenlerde Variant kullanabiliriz.Ama bu tür degişkenler hafizada 16 byte tan fazla yer kaplarlar. Örnek: Private Sub Form_Load() Dim Ad As Variant , No As Variant Dim Dogum As Variant Ad="Elif BULUt" Tel="1112233332" Dogum=#Oct,25,1983# End Sub

string: Matematiksel işlemlere sokulamayan veri tipidir.Iki string ifade arasındaki + isareti bu stringleri birleştir anlamına gelir. Örnek: Private Sub Form_Load() Const A=20,B=50 Dim C As integer C=A+B End Sub Eger burada tanımlanan degişkenlere daha büyükk sayılar atanırsa overflow oluşur. long: Daha büyük bir aralıkta integer yani tamsayı tanımlamak için kullanabileceğiimiz bir veri tipidir. Hafizada 4 byte yer kaplar. Kullanılabilecek uç değerler +2,147,483,647 ile -2,147,483,648 dir. currency: Sayısal tipteki veriler için tanımlanmış bir veri tipidir.Hafizada 8 byte yer kaplarlar. 4 hane ondalık kısmı olmak üzere toplam 19 haneden oluşur.(nokta hariç) Alabileceği maximum degerler -922,337,203,685,477.5808 ile 922,337,203,685,477.5807 arasındadır.

date: Tarih türündeki bilgileri kullanmak için oluşturulmuş bir veri tipidir. Hafizada 8 byte yer kaplarlar. 1 Ocak ile 31 Aralik 9999 arasındaki tarihleri kullanabilirsiniz Örnek: Private Sub Form_Load() Dim Dogum_tarihi As Date , Olum_Tarihi As Date Dogum_tarihi =#Oct,25,1955# Olum _Tarihi=#Oct,6,2002# End Sub boolean: Mantıksal veri tipleri için kullanılır. Iki seçenekten birisini(True,False) alabilir.Bellekte 2 byte yer işgal ederler. byte: O ile 255 arasindaki tamsayıları ifade etmek için kullanılabilecek veri tipidir. Örnek Private Sub Form_Load() Dim A As Byte , B As Byte A =23 B= 143 End Sub

single: Tam sayı olmayan sayılar için kullanabileceğimiz bir veri tipidir.Single tipindeki veriler bellekte 4 byte yer kaplarlar. Negatif sayilar için alabileceği aralık -3.402823E38 ile –1.401298E-45 ,pozitif sayılar için alabileceği aralık 1.401298E-45 ile 3.402823E38 arasındadır. double: Visual Basic’te kullanılabilecek en büyük sayısal değerlerin veri tipidir. Hafızada 8 byte yer kaplarlar. 16 haneye kadar hassastırlar. Maximum alabileceği degerler pozitif sayılar için 4.94065645841247E-324 ile 1.797693134862232E308 , negatif sayılar için de -1.797693134862232E308 ile -4.94065645841247E-324 arasındadır.. Örnek: Private Sub Form_Load() DefDbl A-K Dari=50000 Bugday=600000 Arpa=340.56 End Sub b-)Tip bildirimi için DIM deyimi Iyi bir program oluşturmak için,değişkenlerin tiplerini önceden bildirmek faydalı bir alışkanlıktır.Tip bildiriminde bulunulmazsa,değişkenlerin tipi variant olarak atanır.Bu da gereksiz yer kaplamaya neden olur.Değişkenlerin tipini bildirmede alternatif bir yol Dim deyimini kullanmaktır.Dim x as integer gibi. Dim a,b,c,d as double şeklindeki ifade,sedece d'yi double olarak atayacak,a,b,c değişkenleri ise variant olarak kalacaktır. Dogru kullanım ise: Dim A As Double,B As Double,C As Double,D As Double şeklinde olmalıdır.

c-)Zorunlu tip bildirimi VB'de tip bildirimi zorunlu değildir.Fakat yazılımcı isterse bunu zorunlu hale getirebilir.Bunun için şu adımlar izlenmelidir. Kod penceresi açılır. General, declarations kısmı; seçilir. Bu bölüme option explicit yazılır. bunu yaptıktan sonra programınızı yazarsanız,ve eğer degiskenleri tanımlamadıysanız,programı da o halde çalıştırdıysanız hata verecektir.

d-)Degişkenlerin geçerlilik bölgesi Aksi belirtilmediği sürece vb'de tanımlanan değişkenler sadece tanımlandıkları; prosedür (command1_click,text1_change... bir prosedürdür)içinde geçerlidir. Bazi değişkenleri prosedürler arası; kullanmanız gerekebilir,prosedürler arası değer alıp, verme ihtimaliniz olabilir.Böyle durumlarda modül düzeyinde değişkenlere ihtiyaç vardır,bu tip değişkenleri ancak general, declarations kısmında tanımlayarak elde edebiliriz. e-)değişkenlerin static Ve dinamik durumları Aksi belirtilmediği sürece tanımladığıimiz değişkenler dinamiktir;yani olay, prosedürün her çalışmasında(mesela, her command1_click olduğunda)bir önceki işlem sonundaki hesaplanmış değeri saklamazlar.Fakat değişkeninizi tanımlarken Dim X As integer değil de Static X As integer olarak tanımlarsanız her prosedür çalıştığındanda 1 önceki procedure sonundaki hesaplanmış değeri saklar onun üstünden işlem yapar.

VB'de Fonksiyonlar Asc:Klavyeden girilen herhangi bir ifadenin,nümerik ascii karşılığını verir.Eğer tek harfli ifade yerine sözcük girerseniz, sözcüğün ilk karakterini baz alacaktır. Mesela asc(bilgisayar)denirse b'nin nümerik ascii karşılığı olan 98 elde edilir. Chr$:0-255 arasında girilen bir nümerik ascii koduna karşılık gelen karakteri verir. Bu programda text1'e gireceğniz karakterin karşılığı text2'de,text3'de girdiğiniz karakterin karşılığı text4'de görünecektir. Private Sub Command1_Click() a = Text1.Text a = Asc(a) Text2.Text = Str(a) End Sub Private Sub Command2_Click() b = Text3.Text b = Val(b) If b > 255 Then GoTo son b = Chr(b) Text4.Text = b son: End Sub

Space$(n):Belirtilen text'e veya herhangi bir yere n kadar boşluk koyar. Text1.text=space$(4)gibi Right$:Belirtilen stringin en sağından başlayarak belirtilen sayıda stringi kopyalamak için kullanılır. A=Right$(“bilgisayar",5) derseniz A=“sayar" olacaktır. Left$:Belirtilen stringin en solundan başlayarak belirtilen sayıda stringi kopyalamak için kullanılır. A=Leftt$(“bilgisayar",4) derseniz A=“bilg" olacaktır. Mid$:Belirtilen stringin belirtilen karakterinden başlayarak,soldan sağa doğru belirtilen kadar karakter kopyalamaya yarar. A=Mid$(“bilgisayar",2,4) derseniz A=“ilgi" olacaktır.Yani 2.karakterden başlayarak sağa doğru 4 karakter kopyalayacaktir. Private Sub Form_Load() Text1.Text = “bilgisayar" End Sub Private Sub Command3_Click() Dim c As String c = Mid$(“bilgisayar", 2, 4) Text1.Text = c End Sub Private Sub Command1_Click() Dim a As String a = Right$(“bilgisayar", 5) Text1.Text = a End Sub Private Sub Command2_Click() Dim b As String b = Left$(“bilgisayar", 5) Text1.Text = b End Sub

Len(String):Girilen stringin kaç karakter uzunluğunda olduğunu öğrenmemize yardımcı olur.Sayısal bir değer alır.A=Len(“bilgisayar") derseniz A=10 olur. Val(String):Girilen stringi sayısal ifadeye çevirir ve bize,onu toplama,çıkarma... gibi işlemlerde kullanma imkanı sağlar. A=val("15") ifadesi text kutusundan veya herhangi bir yolla girilmiş 15 yazısını rakamsallaştırmaya yarar. Str(Rakam):Val'ın yaptığını tam tersini yapar.Örneğin text kutusunda rakamsal ifadeleri kullanamayız,anca onları str ile string haline getirip kullanabiliriz. A=Str(15) derseniz A="15" olacaktır. Lcase(String):İçine girilen küçüklü büyüklü yazıyı tamamen küçük harfe çevirir. A=Lcase(“DeNEme") derseniz A=“deneme" olacaktır. Ucase(String):İçine girilen küçüklü büyüklü yazıyı tamamen büyük harfe çevirir. Ucase(“DeNEme") derseniz A=“DENEME" olacaktır. Instr(Rakam,String1,String2):Birinci string içinde ikinci stringi arar.Eğer aradığını bulursa değeri bulduğu karakterin sıra numarası olur.Örneğin birinci stringimiz “mutfak" ikinci stringimiz "a" yani birinci string içinde a'yı arıyacağız.Programı yazıp çalıştırdığımızda değer 5 olacaktır,yani "a" 5.sırada.İsterseniz aramayı istediğiniz sıradan başlatabilirsiniz.Örneğin A=Instr(6,"mutfakda","a") derseniz A=8 olacaktir.Çünkü direk 6.karakterden aramaya başlattığımız için 8. sıradaki "a" yı gördü. Trim(String):Parantez içine girilen stringin sağındaki ve solundaki boşluk karakterini siler. Ltrim(String):Parantez içine girilen stringin solundaki boşluk karakterini siler. Rtrim(String):Parantez içine girilen stringin sağındaki boşluk karakterini siler.

Date:Bu komut sayesinde sistemin tarihini öğrenebilir yada onu yeniden set edebiliriz.A=Date dersek A o günün tariki olacaktır.Yanlız atlanılmaması gereken önemli bir ayrıntı ise A yı dim ile tanımlarken dim A as date demeliyiz.Eğer bilgisayarın tarihini set etmek istiyorsak Date="aa-gg-yyyy".Bir de date olarak tanımladığımız bir değişkene tarih atayabiliriz.Mesela dim t as date olarak tanımladığımız değişkene tarih atamak istersek t=#aa-gg-yyyy# şeklinde bir ibare kullanmalıyız.Eğer ay kısmına 13 ve daha büyük yada gün kısmına 32 ve daha büyük rakamlar girerseniz programın çalışması esnasında hata verecektir. Time: Hem zamanı öğrenmede hem de zamanı set etmede kullanılır. Time="SaSa:dkdk:snsn" şeklinde set edilebilir. Ayrıca... Private Sub Command1_Click() Text1.Text = Time End Sub ile zamanı bir değişken olarak elimizde tutabiliriz Now:O anki tarih ve zamanı bize verir. Private Sub Command1_Click() Text1.Text = Now End Sub

Datevalue(string):İçine girilen string türü bir ifadeyi date türü bir değişkende tutmamıza yarar.Örneğin programda kullanıcıdan textboxa doğum tarihini girmesini istediniz,textbox bunu tabi ki string türü bir ifade olarak saklayacaktır.Bunu date türü bir ifadeye çevirmede datevalue komutu devreye giriyor... Dim t as date Text1.text="25-10-1983" t= Datevalue("text1.text") Dateserial(Yıl,Ay,Gün):Girilen integer türü değişkenleri date türü değişkenlere çevirmeye yarar.Ayrıca Dateserial(1996,10,28)-Dateseria(1954,3,5) gibi bir kullanımla 2 tarih arasındaki gün sayısını bulabiliriz. Timeserial(saat,dakika,saniye):Parantez içine girilen ifadeyi zaman türünde değişkene çevirir.A=Timeserial(22,11,08) komutu ile A; 10:11:08 PM değerine eşit olacaktır. Day(Tarih):Verilen tarih türü bilginin içinden gün kısmını alır.A=Day("10/25/1983") ifedesinde A=25 olacaktır. Month(Tarih):Verilen tarih türü bilginin içinden ay kısmını alır. Year(Tarih):Verilen tarih türü bilginin içinden yıl kısmını alır. Hour(Zaman):Zaman türü bilginin içinden saati alır. Minute(Zaman):Zaman türü bilginin içinden dakikayı alır. Second(Zaman):Zaman türü bilginin içinden saniyeyi alır.

VB'de İşletim Sistemine Hükmeden Komutlar VB'de İşletim Sistemi Düzeyindeki Komutlar MKDiR:Dostan alınmış bir komuttur.Aktif dizinin altinda yada belirlenen yeni 1 yola uygun olarak yeni dizin yaratır.Örneğin MkDir “pmyo" ile aktif yolun altına yeni bir dizin açabilirsiniz.Bu dizin zaten mevcutsa hata verir. RmDir:Dostan alinmiş bit komuttur.Geçerli yolun altindaki belirtilen klasörü silmeye yarar. Örnegin RmDir “pmyo"ile aktif yolun altindaki pmyo dizinini siler.Eğer öyle 1 dizin yoksa hata verir.Ayrica dizinin içi boş olmali yoksa gene hata verecektir. Kill:Belirtilen bir dosya veya dosya gurubunu siler.Mesela RmDir ile içi dolu dizini silemezsiniz ilk önce kill “pmyo\*.*"diyerek içini boşaltırsınız.Sonra içi boş dizini RmDir ile silersiniz. ChDrive:Aktif sürücüyü değiştirir.ChDrive "D" komutu ileaktif sürücüyü D yapmış olursunuz. ChDir:Aktif dizini değiştirir.Örneğin ChDir "D:\MsOffice\Excel" Name:Belirtilen dosyanın adını ve yolunu değiştirir.Name "c:\Vb\Bordro.bas" as c:\Hb\Hesap.bas

VB'de İşletim Sistemi Düzeyindeki Fonksiyonlar CurDir:O anki geçerli olan sürücünün yolunu(aktif dizini)veya o anda kullanılmayan fakat daha önce kullanılmış sürücünün enson yolunu verir.String türü ifade yollar. A=Curdir(c) şeklinde kullanılır. Shell:Kullanılış şekli Değişken=Shell(Yol Adı,Pencere Stili) şeklindedir.Com,Exe,Bat uzantılı dosyaların Vb içinden çalıştırmaya yarar. Private Sub Command1_Click() x=Shell("c:\msoffice\excel\excel.exe,1) End Sub FileCopy:Kaynaktaki dosyaları alır hedefe kopyalar. FileCopy"c:\a1.bmp",c:\Vb\a1.Bmp SetAttr:Belirtilen dosyanın özelliklerini değiştirmek için kullanılır. Örneğin,SetAttr "C:\Vb\Xdat",vbHidden+vbReadOnly ifadesi ile,x.dat adlı dosya,sadece okunabilir ve gizli olarak değiştirilir. Dir:Yazılış biçimi Dir(Yol Adı) şeklindedir.Yoladında belirtilen dosyanın olup olmadığını araştırır,eğer varsa dosyanın yolunun ismini string olarak gönderir.?ve* gibi joker karakterler kullanmaya izin verir.

VB'de if-then-else, select-case if koşul then KOMUTU Belirtilen koşulun olması hainde programa yaptırmak istediğimiz şeyleri yaptırmaya yardımcı koddur. kullanımı; if koşul then KOMUTLAR end if şeklindedir.Yani belirttiğimiz koşul sağlanırsa program, if ile end if arasında belirttiğimiz komutları uygulayacaktır.Eğer belirttiğimiz koşul sağlanmamışsa program direk -end if- komutunun 1 alt satırına atlayacaktır.Yani if ve end if komutları arasındaki hiç bir işlemi yapmayacaktır. Örnek: Standart.exe olarak açmış olduğunuz formunuza bir textbox (text1) ve bir commandbutton (command1) ekleyiniz.Sonra tasarım penceresindeyken command buttona çift tıklayarak açılan kod penceresine aşağıdaki kodlarıyazınız.Daha sonra F-5'e basarak programı çalıştırınız.Program sayınızın tek mi çift mi olduğunu kontrol ediyor ve ona göre mesaj veriyor. Private Sub Command1_Click() a = Text1.Text a = Val(a) If a Mod (2) = 0 Then MsgBox "girdiğiniz sayı çifttir" End If If a Mod (2) <> 0 Then MsgBox "girdiğiniz sayı tektir" End Sub

if koşul then.... else...KOMUTU If ... end if 'ten tek farki vardır,koşulun sağlanmadığı durumda da programa mudahale edebilirsiniz.Örneğin belirttiğiniz koşulun olup olmadığını if ile kontrol ediyordunuz,şimdi burada da else diyerek,programa; koşulun olmadığı durumda da şunu yap diye emir veriyorsunuz.Kullanımı şu şekildedir: if koşul Then KOMUTLAR else End if Daha önce de dediğim gibi,eğer belirttiğiniz koşul varsa if'in altındaki komutlar yerine getiriliyor,eğer belirttiğiniz koşullar yoksa else nin altındaki komutlar yerine getiriliyor. Örnek: Yukarıda 2 tane if komutu kullanarak yazdığımız komutu daha kısa satırda else kullanarak yazacak olursak; Private Sub Command1_Click() a = Text1.Text a = Val(a) If a Mod (2) = 0 Then MsgBox "girdiğiniz sayı çifttir" Else MsgBox "girdiğiniz sayı tektir" End If End Sub

If koşul then..... ElseIf koşul then.....KOMUTU Birden fazla koşulumuzun olduğu durumlarda defalarca if kullanmaktansa if ve else if lerle durumu bağlayabiliriz.Belki programı daha az satırda yazma adına çok şey yapmış olmayız ama programı yazmada hakimiyeti kaybetmeyiz,programı takip etmek daha kolay olur... If koşul Then KOMUTLAR ElseIf Koşul1 Then ElseIf Koşul2 Then End If Örnek: şimdiki örnekte 1'den 5 e kadar olan sayıların kontrolünü yapan,girdiğiniz sayının kaç olduğunu size söyleyen ve 5 ten büyük bir sayı girmişseniz uyaran 1 program yazıyoruz.Formunuza bir textbox ve bir command buton ekleyin ve tasarım aşamasındayken command butona cift tıklayıp açılan pencerede bu kodu yazın.. Private Sub Command1_Click() a = Text1.Text a = Val(a) If a > 5 Then MsgBox "5'ten büyük sayı giremezsiniz" End If If a = 1 Then MsgBox "Girdiğiniz sayı=1" ElseIf a = 2 Then MsgBox "Girdiğiniz sayı=2" ElseIf a = 3 Then MsgBox "Girdiğiniz sayı=3" ElseIf a = 4 Then MsgBox "Girdiğiniz sayı=4" ElseIf a = 5 Then MsgBox "Girdiğiniz sayı=5" End Sub

Select .... Case Mantık olarak yukarıda anlattığımız If..ElseIf yapısının aynısıdır.Mevzu bahsi olan değişken Select Case DEGİşKEN komutuyla seçilir ve bu değişkenin birden fazla durumları Case Deger1... Case Değer2.... komutlarıyla kontrol edilir.Kullanımı; Select Case Değişken Case Değer1 ..... Case Değer2 Case Değer3 to Değer 10 Case Else End Select Gördüğünüz gibi 1 den fazla koşullu durumda select case yi kullandık.Case deger 3 to deger 10 yazan satır dikkatinizi çekmiştir sanırım.Değişkenin değerinin belli bir şeyden diğer şeye kadar olan durumda şunu şunu yap anlamına gelir.Dikkat edilmesi gereken diğer komut da Case Else.Bu da belirtilen tüm seçeneklerin dışında başka 1 değer olması durumunda altında belirtilen komutları uygulatır.

VB'de InputBox & MsgBox Kullanımı Visual Basic programının icrası esnasından klavyeden bilgi girmek amacıyla kullanılır.Buradan gelecek değer string türü bir değerdir,eğer girilecek bu değeri sayısal bir hesapta kullanmak istiyorsak Val(String) komutuyla sayısal değere çevirmeliyiz.Kullanımı Değişken=Inputbox("Başlık") şeklindedir. Örnek: Standart.exe olarak açtığınız formunuza 1 adet text.box koyun ve textbox koyduğunuz projenin üzerinde herhangi biryere çift tıklayarak (Private Sub Form_Load() ve End Sub ifadelerini otomatikman elde edebilmek için forma çift tıkladık) aşağıdaki ifadeleri yazın. Private Sub Form_Load() a = InputBox("İsminizi Giriniz...") T ext1.Text = a End Sub

MsgBox Visual Basic programının çalışması sırasında elde edilen bazı sonuçları ve kullanıcıyı uyaracak gerekli bazı mesajları ekrana taşımamıza yardımcı olur. Kullanımı: A=MsgBox("Mesaj",Görünüm,"başlık") şeklindedir.Görünüm ve başlık kısımları kullanılmasada olur.Bu kısımlar kullanılmazsa sadece MsgBox "mesjimiz" şeklinde kullanımımız doğru olanıdır.Görünüm kısmında tanımlayacağımız komutlarla ok,cancel,yes,no gibi kontrol butonları koyabileceğiz.Mesela bazen Kullanıcıya ....... yapmak istermisiniz diye sorarsınız,evet mi hayır mı deyip demediğini bu gürünümün değişkene yollayacağı ifadeyle anlarız.Ama görünüm kısmına Hiçbirşey yazmazsak sadece ok butonu olacaktır mesaj kutumuzda.Görünümde; VbOkOnly,VbOkCancel,VbYesNo,VbYesNoCancel... gibi tanımlamalarla mesaj kutumuza 1den fazla buton koyabiliriz.Kullanıcının tıklayacağı buton A değişkenine Vbok,VbCancel... gibi yansiyacaktir.Daha sonra işlemlerimizi bunlara göre yapacaksak,ilerki derslerimizde göreceğimiz,if kontrolüyle bunları yönlendirebiliriz. Örnek: Standart.exe olarak açtığınız formunuza 1 adet text.box koyun ve programın tasarım aşamasındayken forma çift tıklayarak (Private Sub Form_Load() ve End Sub ifadelerini otomatikman elde edebilmek için) aşağıdaki ifadeleri yazınız. Programınızı çalıştırdığınızda direk isminizi soracak,sonra isminizi text kutusuna yazacak,text kutusunda yazılı olan isminizin doğru olup olmadığını soracak eğer eveti tıkladıysanız program ekranına geri dönecek,hayırı tıkladıysanız 1 uyarı mesajı daha gönderecektir. Private Sub Form_Load() a = InputBox("İsminizi Giriniz...") Text1.Text = a Form1.Show b = MsgBox("İsminiz Doğrumu?", vbYesNo, "Sorgu Ekranı") If b = vbNo Then MsgBox ("Yanlış Olması İmkansız") End If End Sub

VB'de Do ... Loop Döngü Yapısı Programlama dillerinde döngüler genelde aynı işi birden fazla yaptırmak amacıyla işlemi istenilen miktarda tekrarlamak için kullanılır.Ya da belli aralıklarda birşey arattırmak için veya belli aralığa bir şeyler eklemek için aynı işlemi tekrar tekrar yapmaktan kurtulmak için. Döngüler yapı olarak ikiye ayrılır. For....Next Ve Do...Loop biz bu derste Do...Loop yapısını inceleyeceğiz.VB de Do...Loop sözcüklerini içeren dört ayrı tür mevcuttur. 1)Do While ... Loop Yapısı Bu yapıda önce koşul kontrol edilir.Kontrol doğruysa programın akışı döngünün içine girer.Değilse döngüye 1 kez bile girilmeden program işleyişine devam edecektir. şunu da unutmamak gerek, döngü while koşulu sağlandığı sürece işlevine devam edecektir. Yapısı; Do While Koşul Komutlar Loop Örnek: Standart.exe olarak açtığınız bir forma bir buton yerleştirin.Butonu çift tıklayın Private Sub Command1.click ile başlayan paragrafi yazın. Sonra tekrar project penceresine geçin ve formun herhangi bir yerine çift tıklayın Private Sub Form Load ile başlayan paragrafı Yazın. Sonra F5 e basarak çalıştırın. Project penceresinden çift tıklatmamın sebebi,ilgili kısma ait private sub... end sub metinlerini vb nin otomatik yazması sebebiyledir.

2)Do Until ... Loop Private Sub Command1_Click() End End Sub Private Sub Form_Load() a = MsgBox("Devam için evet,bitirmek için hayırı tıkla", vbOKCancel, "DoWhile-Loop Yapısı incelemesi") Do While a = vbOK a = MsgBox("Devam için evet,bitirmek için hayırı tıkla", vbOKCancel, "DoWhile-Loop Yapısı incelemesi") Loop 2)Do Until ... Loop Bu yapıda da önce koşul kontrol edilir ancak while..loop yapısının tersine burada koşul doğru olmadığı sürece programın akışı döngünün içine girer,doğru olduğunda döngünün dışına çıkar.Yada koşul zaten doğruysa hiç döngünün içine girmez. Yapısı; Do Until Koşul Komutlar Loop

Örnek: Yukarıda While..Loop Yapısındaki yaptığımız programla aynı işe yarıyan programı until..loop ile yapacağız. Anlaşılması açısından daha yararlı olacağını düşündüm.Yapmanız gereken while ı silip until,vbok u silip vbcancel yapmanız. Private Sub Command1_Click() End End Sub Private Sub Form_Load() a = MsgBox("Devam için evet,bitirmek için hayırı tıkla", vbOKCancel, "DoWhile-Loop Yapısı incelemesi") Do Until a = vbCancel a = MsgBox("Devam için evet,bitirmek için hayırı tıkla", vbOKCancel, "DoWhile-Loop Yapısı incelemesi") Loop 3)Do ... Loop While İşte geldik koşulun altta kontrol eildiği yapıya.Bundan sonra anlatacağım dördüncü yapıda da böyle. Koşul altta kontrol ediliyor. Tahmin edeceğiniz gibi birinci yapıda anlattığım Do While ... Loop yapısından tek farkı while ın en üstte değil de en altta olmasıdır. Hal böyle olunca koşul sağlansa da sağlanmasa da döngü yukarıdan aşağıya en az bir kez akacaktır, sonra aşağıdaki while ile belirtilen koşul sağlandığında döngü yukarı çıkıp bir kez daha dönecektir,ta ki koşul sağlanmayıncaya dek.Sağlanmayınca programın akışı döngüden çıkar ve alt satırdan devam eder. Yani birinci ve ikinci yapıdan farkı,hiçbirşey olmasa bile döngü,koşul en aşağıda kontrol edildiği için en az bir kez icra eder.Yapısı; Do Komutlar Loop While Koşul

VB'de For ... Next Döngü Yapısı 4)Do ... Loop Until Bu da bir üstte anlattığım yapı gibi koşulu aşağıda kontrol ediyor. Yani koşul kontrol edilmesi için program döngünün içinde enaz bir kere akıyor. Sizin de tahmin ettiğiniz gibi ikinci yapıda anlattığım Do Until...Loop yapısından tek farkı az önce bahsettiğim gibi koşulun aşağıda kotrol edilmesi.Yapısı; Do Komutlar Loop Until Koşul VB'de For ... Next Döngü Yapısı For..Next döngüsünde olay for ve next arasında istenilen miktarda tekrar edilerek döner.Kullanımı: For x=a to b step Y Komutlar Next x Burada sayacımız x oluyor. Bu x, a dan b ye kadar Y kadar atlayarak sayıyor. Mesela For x=1 to 10 step 1 gibi bir ifadeyle döngü 1 den 10 a kadar 10 kez donecektir. Yani yukarıdaki ifadede x=1 görecek next e kadar olan komutları yerine getirecek,x=2 görecek next e kadar olan komutları yerine getirecek, x=5 görecek next e kadar olan komutları yerine getirecek,dikkat! x=10 görecek next e kadar olan komutları yerine getirecekve döngüden çıkıp artık next in altındaki komutları yerine getirmeye başlıyacak. Eğer step 2 deseydik x 1,3,5,7,9 değerlerini olacaktı, eğer for x=0 to 10 step 2 deseydik x 0,2,4,6,8,10. Mesela 0 den 10 a kadar olan çift sayıların toplamını bu şekilde döngü içerisinde yapabiliriz. Örnek: Sıfır ile 10 arasındaki çift sayıları toplayan çok küçük bir program yazacağız. Standart.exe olarak açtığınız programa bir tane command buton koyarak çifr tıklayın. Çift tıklayınca project penceresinden command penceresine geçecektir. Bu pencerede şu kodu yazın ve F5 e basarak progamı çalıştırıp command butonunu tıklayın. içinde 30 yazan bir Mesaj kutusu elde edeceksiniz.

Private Sub Command1_Click() For x = 0 To 10 Step 2 a = a + x Next x MsgBox a End Sub

Edit Mönüsü Undo                            : Geri al Redo                            : Son yapılan işlemi tekrarla Cut                               : Kes ( Ctrl + X ) Copy                            : Kopyala ( Ctrl + C ) Paste                           : Yapıştır ( Ctrl + V ) Paste Link                   : DDE uygulamalarında bir Windows uygulamasından Clipboard’a          kopyalanan verileri VB uygulaması içine aktarır Delete                          : Silme Delete Table From Database : Veri tabanından bir tabloyu siler Select All                     : Tüm kod yada kontrolleri seçer  ( Ctrl + A ) Select All Columns      : Veri kaynağı penceresinde bulunan tüm alanları seçer Table                           : Tablo işlemleri yapar Set Primary Key          : Seçilen bir sütun için birincil anahtar tanımlar Insert Column             : Tabloya yeni bir alan ekler Delete Column             : Tablodan bir alan siler Find                             : Belirli bir ifadeyi arar Current Procedure      : Sadece aktif alt program içerisinde arar Current Module           : Sadece aktif olan form veya modülde arar Current Project           : Projede bulunan bütün form ve modüllerde arar Find Next                     : Bir sonrakini arar Replace                       : Bir ifadeyi arayarak başka bir ifade ile değiştirir

Indent                         : İmlecin bulunduğu satırı bir tab sağa kaydırır Outdent                       : İmlecin bulunduğu satırı  bir tab sola kaydırır Insert File                   : Koda imlecin bulunduğu noktadan itibaren başka bir dosyadan                                        alınan kodu ekler List Properties/Methods : Kod penceresine yazılan ifadeden sonra yazılabilecek              diğer ifadeleri gösterir List Constants             : İfadenin alabileceği sabit değerleri gösterir Quick Info                   : Fonksiyon, metot, prosedür ve değişkenlerin yazılışını gösterir Parameter Info           : Fonksiyon veya ifadelerin içerdikleri parametreleri gösterir Complete Word           : Yazılan ifadenin otomatik olarak tamamlanmasını sağlar Bookmarks                  : Sık kullanılan satırlara kolay bir erişim sağlar Toggle Bookmark        : Ulaşılmak istenen satırı işaretler veya işareti iptal eder Next Bookmark           : Bir sonraki işaretlenmiş kod satırına gider Previous Bookmark    : Bir önceki işaretlenmiş kod satırına gider Clear All Bookmarks   : Aktif penceredeki tüm işaretlemeleri iptal eder

View Mönüsü Code                            : Kod penceresini gösterir Object                          : Kod ortamında adı geçen kontrolü form üzerinde gösterir Definition                    : Değişkenin nerede tanımlandığını gösterir Last Position               : Kod penceresindeki bulunulan son noktaya geri gider Object Browser           : Nesne tarayıcı penceresini açar ( F2 ) Debug                          : Projeyi satır satır çalıştırır ve değişkenlerin değerlerini gösterir Immediate Window     : Hata ayıklama penceresi.Debug modda değişken üzerinde                                       işlem yapılmasını sağlar Local Window              : Debug modda kontrollere ait değerlerin izlemesini sağlar Watch Window             : Debug modda Debug - Add Watch menüleri ile eklenen                                        değişkenlerin   değişiminin izlemesini sağlar Call Stack                    : Aktif olan prosedür çağrılarının listesini gönderir Project Explorer         : Projedeki dosyaları görüntüler ( Ctrl + R ) Project Window           : Properties penceresini görüntüler Form Layout Window : Layout peceresini görüntüler Property Pages           : Özellikleri topluca değiştirme imkanı verir ( F4 ) Table                           : Diyagram pencerelerini görünür kılar. Query, View ve veritabanı         tasarım pencerelerinde kullanılır Show Panes                 : Query ve View tasarım pencerelerindeki kısımları görüntüler Zoom                           : Diyagram penceresini belirtilen oranlarda görüntüler Toolbox                       : Toolbox penceresini görüntüler Color Palet                  : Renk penceresini görüntüler Data View Window       : Data view penceresini görüntüler Toolbars                      : Araç çubuklarını gösterilip gizler

Project Mönüsü Add Form                        : Projeye form eklenir Add MDI Form                 : Projeye MDI form eklenir Add Module                     : Projeye Module eklenir Add Class Module            : Projeye Class Module eklenir Add User Control             : Projeye kullanıcı kontrolü eklenir Add Property Page          : Oluşturlan ActiveX için Property Page eklenir Add User Document        : ActiveX dökümanı eklenir Add DHTML Page             : Dinamik HTML uygulamalarına dinamik HTML sayfası eklenir Add Data Report              : Veritabanı uygulamalarına Data Report eklenir Add WebClass                 : Int. Information Server uygulamalarına WebClass                                           nesnesi eklenir Add Microsoft UserConneciton : UserConneciton nesnesi eklenir More ActiveX Designers  : Kullanılabilecek ActiveX tasarımlarını listeler Add File                           : Hazır modül, form, sınıf modülleri dosyalar gibi                                            bileşenleri eklenir Remove                           : Seçili olan dosyayı projeden çıkarır References                      : Nesne kütüphanelerinden nesneler eklenir Components                    : ToolBox’a yeni kontroller eklenir ( Ctrl + T ) Project Properties          : Proje ile ilgili özellikler ayarlanır

Align                            : Form üzerindeki kontrolleri aynı hizaya getirir Lefts                            : Kontrollerin sol taraflarını hizalar Centers                        : Kontrollerin merkez noktalarını hizalar Rights                          : Kontrollerin sağ taraflarını hizala Tops                            : Kontrollerin üst taraflarını hizalar Middles                        : Kontrollerin üst üste getirerek orta kısımlarını hizalar Bottoms                       : Kontrollerin alt taraflarını hizalar To Grid                        : Kontrollerin form üzerinde noktalarla göre hizalanır Make Same Size          : Form üzerindeki kontrolleri aynı boyuta getirir Width/Height              : Kontrolleri aynı genişliğe / yüksekliğe ayarlar Both                             : Kontrolleri aynı yükseklik ve genişliğe ayarlar Size to Grid                 : Kontrollerin köşe ve kenar çizgilerini gridlerle çakıştırır Horizontal Spacing      : Kontrollerin arasındaki yatay boşluğu ayarlar Make equal                  : Kontrollerin arasındaki yatay boşlukları eşitler Increase/Decrease    : Kontrollerin arasındaki yatay boşlukları artırır/azaltır Remove                       : Kontrollerin arasındaki yatay boşlukları tamamen kaldırır Vertical Spacing          : Kontrollerin arasındaki dikey boşluğu ayarlar Make Equal                  : Kontrollerin arasındaki dikey boşlukları eşitler Increase/ Decrease   : Kontrollerin arasındaki dikey boşlukları artırır/azaltır Remove                       : Kontrollerin arasındaki dikey boşlukları tamamen kaldırır Center In Form           : Form üzerindeki kontrolleri formun ortasına koyar Order                           : Form üzerindeki kontroller üst üste ise sıralarını değiştirir Bring to Front              : Alttaki kontrollü üste alır Send to Back               : Üstteki kontrollü alta alır Lock Controls              : Kontrollerin form üzerindeki yerlerini sabitler Format Mönüsü

Debug Mönüsü Step Into                     : Programı adım adım çalıştır ( F8 ) Step Over                    : Prosedür çağrıları halinde adım adım çalıştırılır Run To Cursor             : Programı yeniden başlatarak imlecin olduğu kısma kadar işletir Add Watch                   : Program çalışırken izlenecek değişkenler eklenir Watch Expression       : İfadenin değerini gösterir Break When Value True : Değişkenin değeri sıfırdan farklı ise program durur Breake When Value Changes : Değişkenin değeri değiştiğinde program durur Edit Watch                    : Add Watch ile eklenen değişkenleri siler veya değiştirir Quick Watch                 : Seçilen değişkenin veya işlemin o andaki değerini gösterir Toggle Breakpoint       : Programın BreakPoint bulunan koda  kadar çalıştırır Clear All Breakpoints  : Tüm durdurma noktalarını siler Set Next Statement     : Durdurulma noktasından sonra çalıştırılabilir ilk komutu seçer Show Next Statement  : Durdurulma noktasından sonra çalıştırılacak ilk komutu gösterir

Run Mönüsü   Start                            : Programı çalıştırır ( F5 ) Start With Full Compile : Projenin tamamını kontrol ettikten sonra çalıştırır Break                           : Çalışmakta olan programı geçici olarak durdurur (Ctrl + Break) End                              : Çalışan bir programın çalışmasını sona erdirir ReStart                        : Geçici olarak durdurulmuş programın çalışmasını baştan başlatır Tools Mönüsü Add Procudure            : Projeye; fonlsiyon, alt program, olay ve özellik eklenir Menü Editor                 : Mönü tasarımı yapılır  ( Ctrl + E ) Options                        : Çalışılan pencerelerle ilgili özellikler değiştirilir Auto Syntax Check      : Kodları yazılışını otomatik olarak kontrol eder Require Variable Declaration : Değişkenleri tanımlama mecburiyeti getirir Auto List Members      : Kodlamada kontrol özelliklerini otomatik olarak tamamlar Auto Quick Info           : Fonksiyon parametrelerini otomatik olarak tamamlar Auto Data Tips            : Debug moda bir değişkenin üzerinde mouse ile durulduğunda         değişkenin değerini gösterir Editor Format              : Kod penceresinin renk ve font özellikleri ayarlanır

Add-Ins Mönüsü   Add-In Manager          : Yardımcı uygulama ekleme penceresi Load On StartUp          : Visual Basic çalıştırıldığında yardımcı programı                                       otomatik olarak yükler Değişkenlere İsim Verme Kuralları Uzunluk 255 karaktere kadardır İlk karakter bir harf olmalıdır Sonraki karakterler, harf, rakam ya da alt çizgi (_) sembolü olabilir Harflerin büyük yada küçük harf olmasının önemi yoktur İçerisinde +, - , boşluk , /, … gibi karakterler bulunmamalıdır Akılda kalabilecek anlamlı isimler olmadır

Değişkenlerin Tanımlanması Tools > Options > Editor > Require Variable Declaration seçeneği seçili değil ise Visual Basic içerisinde tanımlanmayan değişkenler Variant tip olarak kullanılır. Seçili ise tüm değişkenlerin deklare edilmesi zorunluluğu getirilmiş olur. Ayrıca Form yada Modülün (General)(Declaration) kısmına Option Explicit yazıldığında tanımlanmamış değişkenler kabul edilmeyecektir. Variant tip değişkenler gereksiz hafıza kullanımına neden olur. Form (General)(Declaration) bölümünde tanımlanan değişkenler o forma ait alt yordamlarda, modül (General)(Declaration) bölümünde tanımlanan değişkenler ise o modüle ait alt yordamlarda kullanılır. Form, Module ya da Class bünyesinde değişken ve tip tanımlamaların bulunduğu kısım 64 KB'tan uzun olamaz. Dim ile değişken tanımlama : Bir form yada bir yordam içerisinde kullanılacak değişkenlerin tanımlanmasında kullanılır. Dim Ad As String * 12                                    ‘ Ad değişkeni String olarak saklanır           12 karakterlik yer ayrılır Dim Yas As Integer                                        ‘ Yas değişkeni Integer olarak saklanır Dim İlk                                                         ‘ İlk değişkeni Variant olarak saklanır Dim İlk As String, Son As String          Dim İlk, Son, Orta As String                           ‘ İlk, Son değişkeni Variant  Orta değişkeni String Dim ButonYeni As CommandButton                 ‘ Yeni bir denetim tanımlamak

Global ile değişken tanımlama : Modül düzeyinde tanımlama Global ile değişken tanımlama : Modül düzeyinde tanımlama. Projenin tamamında kullanılabilir. Global Sehir As String Global Nufus As Double Private ile değişken tanımlama : Form ve modül düzeyinde tanımlama. Tanımlı olduğu form ya da modül içerisinde kullanılabilir.                       Private  Sehir As String                      Public ile değişken tanımlama : Modül düzeyinde tanımlama.                     Public  Sehir As String                        Static değişken tanımlama : Alt yordamlar içerisinde deklare edilen yerel değişkenlerin; almış oldukları değerlerin alt yordamın tekrar çağrılmasında korunmasını sağlamak için kullanılır. Bir yordam Static olarak tanımlanırsa içerisindeki tüm değişkenler Static olur.       Static GecenOgrenciSayısı As Integer     Static Function Toplam ( AA As Integer, BB As Integer )

Dizi değişken tanımlama : Bir bilgi birden fazla değer taşıyorsa bu bilginin tanımlanmasında kullanılır. Dizi değişkenlerin 0 ‘dan değil 1 ‘den başlamasını isteniyorsa (General)(Declaration) kısmına Option Base 1 yazıldığında değişkenler 1’ den başlayacaktır. Diziler alt yordamlarda argüman olarak kullanılabilir.ü Dim Oda_No( ) As Integer                  ‘ Dinamik dizi    Dim Oda_No(255) As Integer              ‘ Statik dizi 256 Integer içerir Dim Oda(100) As String                     ‘ 0 ile 100 arasında sınırlı Dim Not(25 To 50) As Integer             ‘ 25 ile 50 arasında sınırlı Çok boyutlu dizi değişkenlerin tanımlanması Dim Boyut(1 To 2, 1 To 3)   Dizi elemanları           Boyut(1,1)                    Boyut(1,2)                    Boyut(1,3) Boyut(2,1)                    Boyut(2,2)                    Boyut(2,3)

ReDim ile dizilerin boyutunu değiştirme : Dinamik bir dizinin boyutunu belirler. Alt yordam içerisinde kullanılır. ReDim ile dinamik olarak açılan dizilerin isleri bitince Erase komutu ile silinmesi kullanılan belleği azaltır. Preserve deyimi ile yeni boyutlandırma yapılırken eski bilgiler saklanır. Bu şekilde boyut değiştirmede dizinin sadece son boyutu değiştirilebilir. Dim Arrayy()                                     ‘ Dinamik bir dizi ReDim Arrayy(120,120)                      ‘ Dizi yeniden boyutlandırılıyor    ReDim Arrayy(12,12)                         ‘ Dizinin boyutu küçültülüyor ReDim Preserve Arrayy(12,14)           ‘ Önceki değerler saklanarak dizi boyutu             artırılıyor Erase ile dizilerin silinmesi : Bir veya daha fazla diziyi siler. Dinamik dizilerde ayrılan hafıza serbest kalırken statik dizilerde alan saklanır.                         Erase Arrayy ()             ‘ Dizi ve bilgilerini siler

Def ile değişken tanımlama :  Değişken adının ilk karakterine göre tanımlama yapılmasını bir harf yada harf aralığı belirterek  sağlar. Form ve modüllerin (General)(Declaration) kısmında kullanılır. DefStr                       String DefInt                       Integer DefLng                      Long DefSgn                      Single DefDbl                      Double DefCur                      Currency DefVar                      Variant DefBool                     Boolean DefByte                     Byte DefDate                    Date DefObj                      Object DefStr           A          ‘ A ile başlayan değişkenler String DefInt           M-R      ‘ M - R aralığındaki harfler ile başlayan değişkenler Integer 

Const : Bunlar program içinde değeri değiştirilemeyen sabitlerdir Const : Bunlar program içinde değeri değiştirilemeyen sabitlerdir. Visual Basic içinde tanımlanmış sabitleri mönüden Add-Ins > Add_Ins Manager ile API Viewer çalıştırılarak  WIN32API.TXT dosyasından okunabilir. Const SbtVar = 3326 Public Const SbtString = "Merhaba" Private Const SbtInt As Integer = 2 Declare ile API fonksiyonlarını tanımlamak : DLL ‘ler içerisinde bulunan API fonksiyonları program içerisinde kullanılmadan önce declare ile (General)(Declaration) kısmında tanımlanırlar. Declare Sub GetSystemInfo Lib “Kernel32” (lpSystemInfo As SYSTEM_INFO)     Declare Function GetMenu Lib “User32” (ByVal hnwd As Long) As Long

Enum ... End Enum : Enumerated tip yani numaralandırılmış birkaç değer alabilen veri tiplerinin tanımlandırılmasında kullanılır.  Properties penceresi içerisinde listelenir. Enum Hiza                                            ‘ Numaralanmış hiza tanımlaması             [Sola Dayalı]                               ‘ 0 değeri             [Ortada]                                      ‘ 1 değeri             [Sağa Dayalı]                              ‘ 2 değeri    End Enum Set ile bir nesne değişkenine değer atamak : Bir kontrolü değişkene atayarak kontrol üzerinde işlem yapılabilmesini sağlar. Set TKutu = Text1         TKutu.Text = “Deneme” Nümerik değişkenler ilk kullanıldıklarında sıfır değeri alır Variant değişkenler ilk oluşturulduklarında boştur Single değişkenler 7 hane duyarlıdır sonrası yuvarlatılır Variant değişken değişkenler içerisinde en yavaş olanıdır Döngü sayaçları için Long ya da Variant yerine integer kullanmak programı hızlandır Integer bir değişkene kesirli sayılar tam sayıya dönüştürülerek atanır Tarih bilgileri “#” arasında verilir

Türler Arası Dönüşüm  CStr           : Matemetiksel değişkeni String değişkene dönüştürür            Sonuc = CStr(638.424)                                        ‘ Sonuc = "638.424" CInt           : Matemetiksel değişkeni yuvarlayarak Integer değişkene dönüştürür          Sonuc = CInt(5,5)                                               ‘ Sonuc = 6   CLng          : Matemetiksel değişkeni Long değişkene dönüştürür            Sonuc = CLng(35327,35)                                     ‘ Sonuc = 35327 CCur           : Matemetiksel değişkeni Currency değişkene dönüştürür          Sonuc = CCur(2096,529176)                                ‘ Sonuc = 2096,5292 CSng          : Matemetiksel değişkeni Single değişkene dönüştürür          Sonuc = CSng(86.4421125)                                 ‘ Sonuc = 86.44211

CDbl           : Matemetiksel değişkeni Double değişkene dönüştürür          Sonuc = CDbl(12,345)                                         ‘ Sonuc = 12345          Sonuc = CDbl(12345)                                          ‘ Sonuc = 12345 CVar           : Matemetiksel değişkeni Variant değişkene dönüştürür           Sonuc = Cvar(223 & “000”)                          ‘ Sonuc = 223000 CBool         : Matemetiksel değişkeni Boolean değişkene dönüştürür          Sonuc = CBool(12 < 5)                                       ‘ Sonuc = False CByte         : Matemetiksel değişkeni Byte değişkene dönüştürür                   Sonuc = CByte(12 > 7)                                       ‘ Sonuc = 1 CDate         : Matemetiksel değişkeni Date değişkene dönüştürür          Sonuc = CDate(1)                                               ‘ Sonuc = 12/31/1899          Sonuc = CDate(2)                                               ‘ Sonuc = 1/1/1900 CDec          : Matemetiksel değişkeni Decimal değişkene dönüştürür

Fonksiyonlar  InStr    : Bir String ‘in diğeri içerisinde ilk nerde bulunduğunu kontrol eder   AdSoyad =  “Murat Ustaoğlu”        Sonuc = InStr(1, AdSoyad , “r”)   ‘ Sonuc = 3       Sonuc = InStr(4, AdSoyad , “r”)   ‘ 4. karakterden itibaren arar. Sonuc = 0            Sonuc = InStr(8, AdSoyad , “u”)  ‘ 8. karakterden itibaren arar. Sonuc = 14          Left      : String ‘in soldaki belli sayıdaki karakteri ile yeni bir String oluşturur Sonuc = Left(AdSoyad , 5)                      ‘ Sonuc = “Murat”          Mid      : String ‘in ortasındaki karakterlerden yeni bir String yaratır Sonuc = Mid(AdSoyad , 3, 6)                   ‘ Sonuc = “rat Us” Right    : String ‘in sağındaki belli sayıdaki karakteri ile yeni bir String oluşturur Sonuc = Right(AdSoyad , 8)                    ‘ Sonuc = “Ustaoğlu” Trim    : String ‘in sağındaki ve solundaki boşlukları atarak yeni bir String oluşturur Soyad = “    usta   “ Sonuc = Trim(Soyad)                              ‘ Sonuc = “usta”           

LTrim   : String ‘in soldaki boşlukları atarak yeni bir String oluşturur Sonuc = LTrim(Soyad)                            ‘ Sonuc = “usta   “ RTrim  : String ‘in sağında boşlukları atarak yeni bir String oluşturur    Sonuc = RTrim(Soyad)                            ‘ Sonuc = “   usta” LCase  : String ‘in bütün karakterlerini küçük harf yapar Sonuc = LCase(AdSoyad)                                    ‘ Sonuc = “murat ustaoğlu” UCase  : String ‘in bütün karakterlerini büyük harf yapar Sonuc = UCase(AdSoyad)                                   ‘ Sonuc = “MURAT USTAOĞLU” Len      : Stringdeki karakter sayısını bulur Soyad=“usta” Sonuc = Len(soyad)                                ‘ Sonuc = 4

Asc      : Stringin ilk karakterinin ascii kodunu bulur Sonuc = Asc(“A”)                        ‘ Sonuc “65” Sonuc = Asc(“aranan”)                            ‘ Sonuc “97” Sonuc = Asc(“a”)                        ‘ Sonuc “97”   Chr      : 0 – 255 arası tam sayıyı o sayıya karşılık gelen Ascii karaktere dönüştürür Sonuc = Chr(65)                         ‘ Sonuc “A” Str       : String‘e dönüştürme Sonuc = Str(654846546)                          ‘ Sonuc = “654846546” Space  : İstenen miktarda boşluk karakteri atar AdSoyad = "Murat" AdSoyad = AdSoyad + Space(10) AdSoyad = AdSoyad + "Ustaoğlu"             ‘ AdSoyad = “Murat          Ustaoğlu”

StrComp : Variant yada String iki değişkeni karşılaştırır   AD0 = “Murat Ustaoğlu” AD1= “murat ustaoğlu” Sonuc = StrComp(AD0, AD1, VbTextCompare)     ‘ Sonuc = 0 Sabit Açıklama VbTextCompare Text karşılaştırma VbBinaryCompare Binary Karşılaştırma VbDataBaseCompare Database ‘den karşılaştırma   StrComp Geri Dönen Değer string1 string2 ‘den küçükse -1 string1 string2 ‘ye eşitse string1 string2 ‘den büyükse 1 string1 yada string2 boş ise Null

StrConv : String değişkenlerde dönüşüm yapar   Ad =“ Murat” Sonuc = StrConv(ad, 1)                          ‘ Sonuc = “MURAT” Sabit Değer Açıklama VbUpperCase 1 Büyük harfe dönüşür VbLowerCase 2 Küçük harfe dönüşür VbProperCase 3 Bütün kelimelerin ilk harfi büyük harfe dönüşür VbUniCode 64 Varsayılan kod sayfasından UniCode dönüşür VbFromCode 128 UniCode ’den varsayılan kod sayfasına dönüşür

Hata denetimini ve araçlarını açıklamak. I. Hata Denetimi Hata denetimi (troubleshooting) programda oluşan çalışma zamanı ve diğer kodlama hatalarının tanımlanması (teşhis) ve giderilmesi için yapılan çalışmalardır. Visual Basic, programların yazılması (derlenmesi ve çalıştırılması) sırasında karşılaşılan hatalara karşı geliştirilmiş bir hata bulma ve düzeltme (debugging) olanağına sahiptir. Programın çalıştırılması sırasında kendisinden kaynaklanan bir hata varsa, hata bildirilir. Bunun dışında çalışma zamanı hataları ise, programın çalışması sırasında beklenmeyen bir durum sonucu oluşur. Örneğin okunacak dosyanın olmaması gibi. Bu durumda program hata verir. İşte bu durumlara karşı alınan önlemlere hata denetimi denir.

A. Çalışma Zamanı Hatalarının Kontrolü Çalışma zamanı hataları (run-time errors) programın çalışması sırasında oluşan hatalardır. Program hazırlanmış ve kullanıcıya sunulmuştur. Çalışma zamanı (run-time) hatalarına karşı herhangi bir önlem alınmazsa program hata verir ve kesilir. Diğer bir açıdan; bu durum kullanıcılar karşısında düşülebilecek en kötü durumlardan birisidir. Bu nedenle çalışma zamanı hatalarına karşı belli önlemler daha önceden alınmalıdır. Bu hatalar 1-1000 arasında hata kodu döndürürler. Bu hata kodları On Error deyimi ve Err nesnesi ile birlikte ele alınarak hataların değerlendirilmesi ve programın uygun biçimde yönlendirilmesi sağlanır.

Tablo: Kontrol edilebilir bazı hatalar KOD MESAJ 3 Return without GoSub (GoSub'sız Return) 5 Invalid procedure call (geçersiz procedure çağırması) 6 Overflow (taşma) 7 Out of memory (bellek yetersiz) 9 Subscript out of range (dizi dışı) 10 This array is fixed or temporarily locked (dizi sabit ya da kilitli) 11 Division by zero (sıfıra bölme) 13 Type mismatch (tip uyumsuzluğu) 14 Out of string space (string alanı yetersiz) 16 Expression too complex (ifade çok karışık) 58 File already exists (dosya zaten var) 67 Too many files (çok fazla dosya) 68 Device unavailable (aygıt kullanılamaz durumda) 71 Disk not ready (disk hazır değil) 92 For loop not initialized (döngü başlatılmamış)

B. On Error Deyimi Hata oluşumunda; mesaj vermek ve programın kontrolünü sağlamak için belli bir program parçasının işletilmesini sağlanabilir. Bu işlem için hata kontrolüyle ilgili olarak bir program bloğunun yazılmasını sağlanır. Yapısı: On Error GoTo satır On Error Resume Next On Error GoTo 0 Parametre Açıklama Go To 0 Procedure'daki hata kontrolünü iptal eder. GoTo satır / etiket Hata kontrolü satırının belirtilen satırdan ya da etiketten başlatılmasını sağlar. Resume Next Hatanın ardından programın bir sonraki deyimi işleyerek programı çalıştırmayı sürdürmesini sağlar. Eğer programcı, programında bir On Error deyimi kullanmaz ve olası hataları kontrol altına almazsa; hata oluştuğunda program çalışma zamanı içinde hatayı verir ve kesilir. Program içinde bir hata denetimi yapılırsa; hata oluştuğu anda program kontrolü, hata kontrolü kısmına atlar. Hata denetimi; Resume, Exit Sub ya da Exit komutuna kadar aktif kalır. Hata denetiminin ardından hatanın tanımlanması için Err nesnesinin Number özelliği kullanılır.

Örnek : Sıfıra bölünme hatalarına karşı tuzak Aşağıdaki örnekte OnError ile 11 (Division by Zero) hatası kontrol edilmektedir: Sub command1_Click () On Error GoTo HataKontrol A = 5 B = 0 Sunuc = A / B Exit Sub 'burada programa son verilir. HataKontrol: Select Case Err.Number Case 11: Mesaj = "Sıfıra bölünme hatası oluştu!!!" End Select MsgBox Mesaj Resume Next End Sub

II. Hata Düzeltme Araçları Bir Visual Basic programı geliştirirken ya da programın çalışması sırasında bir hata ile kesilmesinden sonra hatanın bulunması ve giderilmesi için belli araçlar kullanılır. Bunların başında Debug (Hata Giderme) araç çubuğu gelir: Şekil: Debug araç çubuğu Debug araç çubuğunun kullanılması için programın kesilmesi gerekir. Kesme (break) işlemi hata sonucunda ya da manuel olarak da yapılabilir Şekil: Break düğmesi Programın kesilmesi ya da Break düğmesine tıklanarak program debug moda alınır. İşte bu durumda programcı Visual Basic hata giderme araçlarını kullanır.

A. Kesme Noktası (Toggle Breakpoint) Programın bir yerine gelip durmasını istiyorsunuz. Ve o aşamada değerleri kontrol edeceksiniz. İşte bu olanağı size kesme noktası sağlar. Kod içinde kesme noktası ile işaretlenen satır işletilmeden önce program durur. Kesme noktası genellikle programı belli bir yerde durdurup o aşamada bazı değişkenlerin değerlerinin kontrol edilmesini sağlar. Bu işlem için araç çubuğundaki Toogle BreakPoint düğmesi kullanılır. Tekran tıklanarak kesme noktası kaldırılır. B. Bilgi Pencereleri (Locals Window, Immediate Window ve Watch Window) Program kesildikten sonra; Procedure içinde bir değişkenin ya da bir ifadenin seçilerek değerinin ne olduğuna bakılmak istenirse o zaman anlık izleme penceresi (instant watch) kullanılır.

Locals Window Program kesildiğinde bulunulan procedure içinde tanımlanan bütün değişkenlerin değerini verir: Expression sütünunda değişkenlerin adları listelenir. Bütün class modüllerinde buradaki ilk değer <Me> değeridir. Bu değerin üzerine tıklanarak genişletilir. Value sütünunda ise değişkenin değeri görünür. Bu değerin üzerinde çift tıklanarak değişiklik yapılabilir. Immediate Window Program kesildikten sonra; procedure içinde bir değişkenin ya da bir ifadenin seçilerek değerinin ne olduğuna bakılmak istenirse o zaman anlık izleme penceresi kullanılır. Anlık izleme penceresinde değişkenlerin ya da ifadelerin değerlerini göstermek için (Print) deyimi ya da ? kullanılır. Ayrıca istenirse kod satırından Immediate Window ekranına sürükleme yapılır.

Alt Yordamlar Belirli bir görevi yada olayı yerine getirmek amacı ile yazılan küçük kod grubudur.   Public Sub İsim                            ‘ Başlangıç satırı          ....                                     ‘ Olay sonucu yapılacak işlem End Sub                                      ‘ Bitiş satırı Public Sub Topla(X, Y)                    Deger = X + Y    MsgBox deger    Exit Sub                                         ‘ Tercihli çıkış End Sub   Private Sub Form_Click()    Deger1 = 100    Deger2 = 25    Topla Deger1, Deger2                     ‘ Alt yordam için 1. çağrı yöntemi    ‘ Call Topla(Deger1,Deger2)            ‘ Alt yordam için 2. çağrı yöntemi

Function – Fonksiyon Belli işlemleri yerine getirip işlem sonucuna bağlı olarak değer üreten kod parçasıdır.   Public Function Deger(X, Y)                                If X > 0 Then    Deger = X + Y    Else                            Exit Function                 ‘ Tercihli çıkış          End If          Deger = Sqr(Deger)                        ‘ Fonksiyon sonucu End Function    Private Sub Form_Load()          Dim D1 As Long, D2 As Long          D1 = InputBox("     D1  ?    ")          D2 = InputBox("     D2  ?    ")          Deger = Topla(D1, D2)                   ‘ Fonkisyon çağrılıyor          MsgBox Deger End Sub

1) Referans ile fonksiyon çağırmak : Fonksiyon içerisinde değeri değişen değişkenin bu değeri saklamasını sağlar.   Sub Bip(BipSayisi As Integer)          Do While BipSayisi > 0                            Beep    BipSayisi = BipSayisi - 1          Loop End Sub Dim KacDefaBip As Integer KacDefaBip = 5 Bip KacDefaBip MsgBox KacDefaBip & "Defa Bip Sesi "    ‘ Mesaj : 0 Defa Bip Sesi 2) Değer ile fonksiyon çağırmak : Fonksiyon içerisinde değeri değişen değişkenin; fonksiyon çağrılmadan önceki değerini almasını sağlar. Sub Bip(ByVal BipSayisi As Integer) Do While BipSayisi > 0 Beep BipSayisi = BipSayisi - 1 Loop End Sub               MsgBox KacDefaBip & "Defa Bip Sesi"    ‘ Mesaj : 5 Defa Bip Sesi