Microsoft
Visual Basic
6.0
Microsoft Basic kelime anlamı?
 Visual Basic dilini tanımadan önce kelime anlamının ne
olduğuna bir bakalım.
 "Visual" kelimesinin anlamı "Görsel",
 "BASIC" kelimesinin anlamı da
 "Beginners All - purpose Symbolic Instruction Code
(Yeni Başlayanlar İçin Çok Amaçlı Sembolik Talimat
Kodu)"
 kelimesinin baş harflerinin kısaltması ile oluşturulmuş bir
dildir.
Visual Basic Nedir ?
 Windows uygulama geliştirme aracıdır.
 VB`nin Windows tabanlı olması kullanıcısına bir göz
aşinalığı sağlamaktadır.
 Görsel bir dil oluşu ile de öğrenim süresi kısalmış ve
Windows ortamları için önemli bir program
geliştirme aracı haline gelmiştir.
 (Unutmayınız ki Windows ortamında herşey birer Form`dur)
Visual Basic Özellikleri - 1
Windows uygulama geliştirme aracı olarak karşımıza çıkan
VB,karakteristik işletim sistemi geliştirme araçlarında olduğu
gibi kullanıcı taraflı klavye ağırlıklı bir dil değildir. Bu geliştirme
ortamına Text - Mod Geliştirme Ortamı diyebiliriz. Bu ortamda
kullanıclar seçim için klavye kullanırken Windows ortamında
genellikle fare kullanılır.
VB dili nesnel bir programlama dilidir. Nesne tabanlı
programlama dillerinde üç ana amaç vardır. Bunlar; nesne
hakkında bilgi verilmesi, nesnenin bir diğer nesne üzerine
kurulabilmesi ve belli bir işlemin birçok nesne tarafından
kullanılmasıdır.
Visual Basic Özellikleri - 2
VB Olay - Temelli bir programlama dilidir. Yani bir kullanıcı o
an hangi olayı yapmak isterse o nesneye ait olaylarını,
özelliklerini kullanabilir zira her nesnenin kendine ait bir olay
ve özellik örgüsü vardır.
VB dili Tümleşik Program geliştirme ortamı olarak kabul edilir.
Tümleşik Ortamlar size Ekran Tasarımı, Kod Yazma, Hataları
Farkedip Anında Giderme, Program Paketleme, Veritabanı
Etkileşimi ve diğer birçok olanaklar gibi yararlar sağlar.
Son olarak da Visual Basic dilinin hangi kısımlardan
oluştuğuna bir bakalım. VB dili kullanıcı arabirimi, bilgi işleme,
bilgi saklama, rapor işlemleri birimlerinden oluşur.
Visual Basic Özellikleri - 3
Visual Basic dizini...
• Visual Basic yüklenmiş bir bilgisayarda , VB ile ilgili
ilgili program dosyaları standart olarak C dizininin:
C:Program FilesMicrosoft Visual Studio
alt dizinine yerleştirilir.
• Kullanıcıların oluşturdukları projeler ise standart
olarak:
C:Program FilesMicrosoft Visual StudioVb98
dizinine yerleştirilir.
Visual Basic Çalıştırma
• Başlat menüsünü kullanarak >>
Start + All Programs + Microsoft Visual Basic 6
komutuna tıklanarak program çalıştırılır.
Visual Basic ilk ekran !
• “Standart EXE”
seçeneği temeldir.
Seçtikten sonra
“Open” komutuna
tıklayınız.
• New: yeni proje
• Existing: varsayılan
kayıt yeri
• Recent: son çalışılan
projeler
Visual Basic
-“Standart EXE”
seçeneği temeldir.
Seçtikten sonra “Open”
komutuna tıklayınız.
Form
ToolBox
(Araç Kutusu)
Özellikler
Penceresi
Araç Çubuğu
Araç Kutusu (Toolbox)
Standart Visual Basic Kontrolleri ve İşlevleri -1
PictureBox
(Resim Kutusu) =Bitmap, Icon, GIF resimlerin gösterilmesini sağlar.
Label(Etiket) =Sadece bilgi vermek yada görüntü olarak form üzerinde
durur. Genellikle metin kutularının adlarını göstermek için kullanılır.
TextBox(Metin Kutusu) =Genellikle veri girişi için kullanılan bir kontroldür.
Hemen hemen bütün programlarda kullanıcılardan veri girişi, değiştirme
yapması gereken alanlar gerekir. İşte metin kutusunu bu amaçla
kullanabiliriz...
Frame (Çerçeve) =Kontrolleri gruplamak için kullanılır.
Command Button (Komut Düğmesi)=Bir işlemin başlatılmasını sağlar.
Genellikle fare üzerine tıklanarak kullanılır.
CheckBox (İşaret Kutusu)=Bir seçim yapmayı sağlar.
OptionBox (Seçenek Kutusu)=Seçim yapmayı sağlar.
ListBox (Liste Kutusu) =Birçok elemanı liste biçiminde göstermek için
kullanılır
HscrollBar (Yatay Kaydırma Çubuğu)=Yatay olarak kullanılan kaydırma
çubuğu
VscrollBar (Dikey Kaydırma Çubuğu)=Dikey olarak kullanılan kaydırma
çubuğu
Timer (Zamanlayıcı)=Zamanın takip edilmesini sağlar.
DriveListBox (Sürücü Listesi)=Sistemdeki sürücüleri listeler.
DirListBox (Dizin Listesi)=Sistemdeki dizinleri (klasörleri) listeler.
FileListBox (Dosya Listesi)=Bir dizin içindeki dosyaları listeler.
Shape (Şekil)=Şekil çizmeyi sağlar.
Line (Çizgi)=Çizgi çizmek için kullanılır.
Image (İmaj)=Sadece resimleri göstermek için kullanılır.
Data (Veri)=Verileri göstermek için kullanılır.
Standart Visual Basic Kontrolleri ve İşlevleri -2
AraçKutusunu gösterir.
Projenin Kodlarını
gösterir.
Özellikler Penceresini gösterir.
Menü Araç Çubuğu + View
Formu Gösterir.
Formu
kenarlarından
tutarak
büyültebilirsiniz.
Toolbox içinden
aldığınız nesneleri
üstünde
çizebilirsiniz veya
çift tılayarak
yerleştirebilirsiniz.
Form penceresi
Kod Penceresi
Kod ekranı sağdaki pencerede görülmektedir. Formda boş bir
noktaya tıkladıktan sonra F7 tuşu ile veya bir komuta
tıklayarak ekrana getirebilirsiniz.
Burada önemli olan nokta Kod başlangıç satırıdır...
Kod İçerisine Açıklama Ekleme
Koda açıklama eklenmek istenirse ‘ tek tırnak açıklamanın başına konulur.
Form Metodları- 2. bir form oluşturma-Geçişler
Metodlar, nesnelere doğrudan yaptırmak istediğimiz işleri belirtmek için
kullanılır. en sık kullanılan metodlar şunlardır:
Show Metodu: Formun ekranda görüntülenmesini sağlar. Metod ile
nesne ismi arasına nokta işareti (.) konur.
Dizilim: Form ismi.Show
Örnek: Form1.Show
Hide Metodu: Formun görüntüsünü ekrandan kaldırır, formu saklar. Hide
metoduyla saklanan form arka planda çalışmasına devam eder.
Dizilim: Form ismi.Hide
Örnek: Form1.Hide
Veya tamamen kapatmak için End yazılır.
RUN MENÜSÜ
 Run
Geliştirdiğiniz projeyi çalıştırmak için kullanılır. F5 tuşu da
kullanılabilir.
 Start With Full Compile
Start komutu ile Visual Basic sadece aktif kodu ve ilişkili kısımları
derler ve çalıştırır. Belli bir anda projenizin tümünün
derlenerek çalıştırılmasını istiyorsanız bu altenatifi
seçmelisiniz.
 Break
Normal akışını sürdüren programı durdurur ve programın
çalışması breake modda sürdürülür. Bu menü altenatifi
sadece Run Time’da kullanılabilir. Breake modda programın
kaynak kodunda yapılan bazı değişikliklerin çalışması için
programın yeniden başlatılması gerekir.
RUN MENÜSÜ
 End
Kodlanan programi durdurarak Visual Basic’in kullandiği tüm
sistem kaynaklarini iade eder.
 Restart
Kodlaması durdurulmuş olan programin yeniden çalışmasını
sağlar.
RUN MENÜSÜ
Nesnelere İsim verme (Caption)
Önce Sonra
Nesnelere İsim verme
Private Sub Form_Load()
'form başlığını ver
Form1.Caption = "HESAP MAKİNESİ"
'etiketlerin içeriğini yaz
Label1.Caption = "1. sayı değeri"
Label2.Caption = "2. sayı değeri"
Label3.Caption = "SONUÇ"
'Blgi kutularını boşalt
Text1.Text = ""
Text2.Text = ""
Text3.Text = ""
Devamı....
'Komut butonlarının adlarını ver
Command1.Caption = "Topla"
Command2.Caption = "Çıkar"
Command3.Caption = "Böl"
Command4.Caption = "Çarp"
'text3 ü yazmaya karşı koruyor
Text3.Locked = True
End Sub
Basit Bir Örnek (temel adımlar)
1. Yeni bir “Form” açın.
2. Forma bir “Button” ekleyin.
3. Buton seçili iken özelliklerine girin. (Properties)
4. Buradan “Caption” seçeneğine “Başla” olarak değiştirin.
5. Butonun üzerine çift tıklayın veya sağ tıklayıp “View
Code” komutuna tıklayın.
6. MsgBox ("BAŞARDINIZ")
7. Çalıştırın: F5 veya (Run + Start)
Bir örnek (makine kodu mantığı) 3 x 5 = ?
Dim a,b,c as integer
Değişken Tanımı
Visaul Basic’te değişkenlerin türünü belirtmek için
“Dim, Public, Private, ReDim” deyimlerinden biri kullanılır.
Dim a,b,c as integer
Dim a as integer, b as integer, c as integer
Dim a as integer
Dim b as integer
Dim c as integer
 •Mutlaka bir harf ile başlar.
 •Özel amaçlı nokta, virgül, parantez, artı, yıldız, boşluk gibi
işaretleri içeremez.
 •En fazla 255 harf ve/veya rakamdan oluşur.
 •VB de kullanılan özel kelimeler değişken olarak
kullanılamaz(örneğin End)
 Çç İı Ğğ Öö Şş gibi Türkçe’ye özgü karakterler düz yazı
dışında kullanılamaz.
 IV, LC gibi Romen rakamları kullanılamaz.
Değişken Tanımında Kurallar
Veri Tipleri
Veri Tipi Kullandığı Byte İçerik Aralığı Açıklama
Byte 1 0 den 255 kadar Tam sayı
Integer 2 -32768 den 32767 kadar Tam sayı
Long 4 -2 147 483 648 den 2 147 483 647 kadar Tam sayı
Single 4 ± 3.402823E38 den ± 1.401298E-45 kadar Ondalık sayı
Double 8 ± 1.79769313486232E308 den ± 4.94065645841247E-324
kadar
Ondalık sayı
Boolean 2 True veya False Mantıksal
String 10 + karakter
sayısı
Sadece harflerden, rakamlardan ve özel işaretlerden
oluşan dizi depolanabilir
Alfa sayısal
Decimal 14 +/-79 228 162 514 264 337 593 543 950 335 Tam/ondalık
sayı
Variant 16 Herhangi bir sayısal değer içerebilir, ancak aralığı
Double ile aynı
Herhangi bir tip
Date 8 1 Ocak 100 gününden 31 Aralık 9999 gününe kadar Tarih için
Currency 8 +/- 922 337 203 685 477.5807 (noktadan sonra sadece 4
hane)
Para hesabı için
Bazı Matematiksel ve Mantıksal İfadeler (Operatörler)
^ = Üs alma Mod = Kalanlı bölme
* = Çarpma & (+) = String birleştirme
/ = Bölme
 = Tamsayı Bölme
+ = Toplama,
- = Çıkarma
() = Parantez içi işlemler
Karşılaştırma - ilişki Operatörü Anlamı
= Eşit
<> Eşit değil
< ... den küçük
> ... den büyük
<= Küçük veya eşit
>= Büyük veya eşit
İŞLEM SIRASI KURALI
 Önce üs alma, sonra çarpma ve bölmeler ve daha sonra
da toplama çıkarmalar yapılır.
 Çarpma ve bölme (veya toplama ve çıkarma) gibi eşdeğer
işlemlerde hesap soldan sağa doğru sıra ile yapılır.
 Parantezli ifadeler (varsa), yukarıdaki kurala uygun olarak
ve en içteki parantezli ifadeden başlanarak, ilk önce
hesaplanı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
Örnekler
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.
CheckBox & OptionBox
CheckBox & OptionBox
Private Sub Check1_Click()
If Check1.Value = 1 Then
Label1.FontBold = True
Else
Label1.FontBold = False
End If
End Sub
Private Sub Check2_Click()
If Check2.Value = 1 Then
Label1.FontItalic = True
Else
Label1.FontItalic = False
End If
End Sub
Private Sub Check3_Click()
If Check3.Value = 1 Then
Label1.FontUnderline = True
Else
Label1.FontItalic = False
End If
End Sub
Private Sub Option1_Click()
If Option1.Value = True Then
Label1.ForeColor = vbRed
End If
End Sub
Private Sub Option2_Click()
If Option2.Value = True
Then
Label1.ForeColor = vbBlue
End If
End Sub
Private Sub Option3_Click()
If Option3.Value = True Then
Label1.ForeColor = vbYellow
End If
End Sub
Kontrol Nesnelerinin Özellikleri
Private Sub Form_Load()
Show
FontSize = 16
FontName = "Verdana"
Print "İLKER ÇAPLI"
FontBold = True
Print "Kodkolik.Com"
FontBold = False
FontItalic = True
Print "Visual Basic Dersleri"
FontItalic = False
Print "Visual Basic Eğitim Kitabı"
End Sub
Ö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”
Kontrol Nesnelerinin Özellikleri
MsgBox Deyimine ait Sabit Bilgileri
Seçili düğme
(çevresi kesik çizgili)
Tıklanan düğme=MsgBox(mesaj, düğmeler+Seçili düğme+simge, başlık)
Değer VB Sabiti Karşı Gelen Sembol
16 VbCritical Stop sembolü hata
32 VbQuestion Soru işareti sembolü
48 VbExclamation Ünlem sembolü
64 VbInformation Bilgi Sembolü
MsgBox Deyimine ait Sabit Bilgileri
Değer Butonlar
1 Ok , Cancel (Tamam – İptal)
2 Abort, Retry,Ignore (Durdur-Yeniden Dene – Yoksay)
3 Yes,No,Cancel ( Evet – Hayır – İptal)
4 Yes , No ( Evet - Hayır)
5 Retry, Cancel ( Yeniden Dene - İptal)
MsgBox Deyimine ait Sabit Bilgileri
Değer Karşılık gelen buton
1 OK (Tamam)
2 Cancel (İptal)
3 Cancel (İptal)
4 Retry (Yeniden Dene)
5 Ignore (Yoksay)
6 Yes (Evet)
7 No (Hayır)
MsgBox Deyimine ait Sabit Bilgileri
Private Sub Form_load()
Dim Cevap As Integer
Cevap = MsgBox("Programdan çıkmak istediğinizde
emin misiniz?", 20, "Brain")
If Cevap = 6 Then
Cancel = True
End If
End Sub
MsgBox Deyimine ait Sabit Bilgileri
Private Sub Command1_Click()
Dim a, b, c As Integer
a = MsgBox("Değişiklikler Kaydedilsin mi?", 4 + 16 + 256, "MsgBox
Fonksiyonu")
c = 10
If a = vbYes Then
b = c * 10
Else
b = c * 2
End If
Print b
End Sub
Sonuç;Yes butonuna basınca 100, No butonuna basınca 20 olur veya,
MsgBox Deyimine ait Sabit Bilgileri
veya,
Private Sub Command1_Click()
Dim a, b, c as Integer
a = MsgBox("Değişiklikler Kaydedilsin mi?", 4 + 16 + 256, " MsgBox
Fonksiyonu")
c = 10
If a = 6 Then
b = c * 10
Else
b = c * 2
End If
Print b
End Sub
MsgBox Deyimine ait Sabit Bilgileri
Shell (program çalıştırma) fonksiyonu
 Shell fonksiyonu Visual Basic kodları kullanılarak, sistemde bulunan
.EXE, .COM,.BAT veya .PIF uzantılı dosyaları aktif hale getirmek
(çalıştırmak) için kullanılır. Yani, örneğin herhangi bir kontrol nesnesi
bir uygulama programına (örneğin Microsoft Word) yönlendirilerek bu
programın çalışması sağlanabilir. Bu fonksiyonun genel
 Kullanılış şekli;
 HerHangiBirDeğişkenAdı = Shell (Çalıştırılacak program yolu ve adı,
aktivasyon türü) Şeklindedir. Bu komut dizisindeki Aktivasyon Türü
seçeneği 0 ile 6 arasında (5hariç) değer alabilir. Bu değerlerin
karşılıklar:
 Yukarıdaki form tasarımına ait Shell uygulaması
verilmiştir.
Shell (program çalıştırma) fonksiyonu
Aşağıdaki örnekte, Microsoft Word ve Excel
programları ile bir oyun programının
shell fonksiyonu ile açılması gösterilmektedir. Bu
örnekte kullanılan kodlarda
çalıştırılan programların yolları bilgisayarlara göre
değişiklik gösterebilir.
Veri Tipleri Arasında Dönüşüm
Bu programda, Double tipindeki d’nin değeri, Integer tipteki
C’ye atanarak otomatik olarak Integer’e dönüştürelecektir.
Bu programda, Double tipindeki d’nin değeri, Integer tipteki
C’ye atanarak otomatik olarak Integer’e dönüştürelecektir.
Veri Tipleri Arasında Dönüşüm
Girilen Sayının Karesinin ve Kübünün Bulunması
 Yeni bir “Form” açın.
 Forma 3 “Label” 3 “Text” ve 1 adet “Button” ekleyin.
Girilen Sayının Karesinin ve Kübünün Bulunması
1. Yeni bir “Form” açın.
2. Forma 3 “Label” 3 “Text” ve 1 adet “Button” ekleyin.
Üs ifadesi
End
4 İşlem
String
Metin Girdisi
+ Yan yana
Yazmayı
sağlar.
as String
Date Değişkeni
Tarih türündeki bilgileri kullanmak için oluşturulmuş bir veri tipidir. Hafızada 8
byte yer kaplarlar. 1 Ocak ile 31 Aralık 9999 arasındaki tarihleri kullanabilirsiniz.
DefDate bildirisi ile tarih türünde degişkenler tanımlayabiliriz.
Örnek :
Private Sub Form_Load()
Dim Dogum_tarihi As Date , Evlenme_Tarihi As Date
Dogum_tarihi =#Dec,9,1977#
Evlenme_Tarihi=#May,15,1998#
End Sub
Date Değişkeni
Sistem zamanını gösterir.
Örnek
Private Sub Command1_Click()
Dim zaman
MsgBox ("Sistem Tarihi : ") & Time
End Sub
Time Değişkeni
InputBox Fonksiyonu
Programın çalışması esnasında kullanıcıdan bilgi almak
istediğimiz zaman bu fonksiyonu kullanabiliriz. Örnek:
Değişken = InputBox (“Mesaj”, Başlık, Varsayım, Xpozisyonu, Ypozisyonu)
Private Sub Command1_Click()
Dim ad As String
ad = InputBox("Şehir Adını Giriniz : ?")
Print ad
End Sub
Bu fonksiyondan geri dönen değer karakter türünde bir bilgidir. Eğer
değişik veri tiplerinde bilgi almak istiyorsak bu aldığımız string türündeki
veriyi o veri tipine dönüştürmek zorundayız.
Sayısal veri için :
i=Val(InputBox("Yaşınızı giriniz ..."))
Private Sub Command1_Click()
Dim ad As String
ad = InputBox("Şehir Adını Giriniz :
?", " Giriş Kutusu Başlığı")
Print ad
End Sub
InputBox Fonksiyonu
İki tane arka arkaya sayı girilerek girilen iki sayının
toplamı MsgBox ile bize bildirilsin.
Private Sub Command1_Click()
Dim a As Integer
Dim b As Integer
Dim c As Integer
Dim d As Integer
a = InputBox("1. sayıyı giriniz")
b = InputBox("2. sayıyı giriniz")
c = a + b
MsgBox("iki sayının toplamı = " & c & , 64)
End Sub
InputBox Fonksiyonu
Bir şifre sorgulaması
 Örnek: Program yüklenirken ve form görüntülenmeden
önce kullanıcıya şifresi sorulsun istiyoruz.
 Bunun için InputBox penceresini kullanalım. Kullanıcı doğru
şifreyi girerek InputBox üzerindeki Ok düğmesini
tıkladığında form açılsın, kullanıcı programı kullanabilsin.
 Yanlış şifre girmesi durumunda program yüklenmesin.
Şifremiz Deve olsun. Gerekli kodları formun Load olayına
yazacağız.
Kontrol Komutları
IF – ELSE –ELSE IF
SELECT – CASE
FOR – LOOP
DO -WHILE
IF / ELSE Sorgusu
1.
If (koşul) Then (işlem)
2.
If (koşul) Then
(işlem1)
Else
(işlem2)
End if
3.
If (koşul1) Then
(işlem1)
ElseIf (koşul2) Then
(işlem2)
Else
(işlem-n)
End if
If deyimi belli bir ifadenin değerine göre
bir deyimin işletilmesini sağlar. If
deyiminin basitten karmaşığa doğru
değişik kalıpları vardır:
IF / ELSE %18 KDV Hesabı
IF / ELSE Geçti - Kaldı
IF / ELSE Sabit Sayıdan Sayı Büyük - Küçük
Ortalama
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
If...Then karar yapısında birden fazla koşulu kontrol
ederken Else If sözdizimini kullanırız.
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
IF / ELSE 3 Sayıdan Hangisi En Büyük
Örnekte; Ekrandan Inputbox ile alınan üç sayının en büyüğü bulunur:
IF – ELSE --- GoTo kullanımı
Dim kadi, pass As String
kadi:
kadi = InputBox(“Kullanıcı adını giriniz”, “Kullanıcı Adı”, “”)
pass:
pass = InputBox(“Şifrenizi giriniz”, “Şifre Girişi”, “”)
If kadi = “visual” Then
If pass = “1234” Then
MsgBox (“Hoşgeldiniz” & “Yetkileriniz:Administrator”)
Else
MsgBox (“Hatalı şifre girdiniz. Tekrar deneyin”)
GoTo pass
Else
MsgBox (Hatalı kullanıcı adı. Tekrar girin”)
Goto kadi
End If
AND - OR
Dim Sayi1, Sayi2 As Integer
Sayi1 = Val(InputBox("Birinci Sayıyı Giriniz"))
Sayi2 = Val(InputBox("İkinci Sayıyı Giriniz"))
If Sayi1 < 100 And Sayi2 < 100 Then
MsgBox "Girdiğiniz iki sayıda 100'den Küçük"
ElseIf Sayi1 < 100 Or Sayi2 < 100 Then
MsgBox "Girdiğiniz iki sayıdan biri 100 den küçük"
ElseIf Sayi1 > 100 And Sayi2 > 100 Then
MsgBox "Girdiğiniz iki sayıda 100'den Büyük"
ElseIf Sayi1 > 100 Or Sayi2 > 100 Then
MsgBox "Girdiğiniz iki sayıdan biri 100 den Büyük"
ElseIf Sayi1 = 100 And Sayi2 = 100 Then
MsgBox "Girdiğiniz iki sayıda 100'e eşit"
ElseIf Sayi1 = 100 Or Sayi2 = 100 Then
MsgBox "Girdiğiniz iki sayıdan biri 100'e eşit«
End If
SELECT / CASE
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.
Kullanımı Kalıbı
select case değişken
case
case
end select
SELECT / CASE
Klavyede 0 - 5 arasında bir rakam girilecek ve ne
girildiğini msgbox la bize göstersin
Private Sub Form_Load()
Dim a As Integer
a = InputBox("1 - 5 arasında bir sayı
giriniz")
Select Case a
Case 1
MsgBox ("girilen sayı 1'dir")
Case 2
MsgBox ("girilen sayı 2'dir")
Case 3
MsgBox ("girilen sayı 3'dür")
Case 4
MsgBox ("girilen sayı 4'dür")
Case 5
MsgBox ("girilen sayı 5'dir")
'ikinci bölüm
'mesala 8 rakamini girin
Case Else
MsgBox ("boyle bir sayi girilemez")
End Select
End Sub
SELECT / CASE Şifre
Private Sub Command1_Click()
Select Case Text1.Text
Case Is = " "
MsgBox " Biyeri Boş Bırakmışsınız.. "
Case Is = "visual«
If Text2.Text = "1234" Then
MsgBox ("Hoşgeldiniz/Welcome")
Case Else
MsgBox "Üzgünüz.Böyle bir kullanıcı adı bulunmamaktadır."
End Select
End Sub
SELECT / CASE Not Ortalaması
FOR / NEXT
Bir grup deyimi belli sayıda çalıştırarak bir döngü oluşturur.
Döngü bir kez işledikten sonra artırım değeri eklenir. Eğer
herhangi bir artırım değeri kullanılmadıysa o zaman bir arttırılır.
Sayaç değeri bitiş değerinden büyük olduğu zaman döngü sona
erdirilir ve program Next deyiminden itibaren devam eder.
Döngü değimleri amaç değişkenlerin değerlerini belli aralıklarla
yaptırmak. Belli aralıklardaki sayıların toplamı , çıkartmak,
çarpmak
DÖNGÜ (ÇEVRİM-LOOP) YAPILARI
Dim Sayac As Integer
For Sayac = 1 To 10
List1.AddItem Sayac
Next Sayac
Liste kutusuna 1’den 10 kadar olan rakamları eklemek için
aşağıdaki döngü kurulur.
FOR / NEXT
Private Sub Form_Load()
Dim Sayac As Integer
For Sayac = 2 To 20 Step 2
List1.AddItem Sayac
Next Sayac
End Sub
Liste kutusuna 2’şer 2’şer 20’ye kadar olan rakamları eklemek için
aşağıdaki döngü kurulur.
FOR / NEXT
Dim Sayac As Integer
For Sayac = 2 To 20 Step 2
List1.AddItem Sayac
If Sayac=10 Then
Exit For
End If
Next Sayac
For..Next döngüsünden çıkmak için Exit For bildirisi kullanılır
FOR / NEXT
Adımlama azalan biçimde de yapılabilir:
For sayi = 16 to 2 Step -2
Toplam = Toplam + 2
Next Sayi
MsgBox ‘’toplam: ‘’ & Toplam
End Sub
FOR / NEXT
Örnek: Birden yirmiye kadar sayıların toplamını alır:
FOR / NEXT
Örnek: Belirlenen belli bir sayıda ki sayıyı toplayarak bize sonucu bir
mesaj kutusunda görüntüler.
FOR / NEXT
 Kullanıcının textlere girdiği sayılar dahil arasında
kalan sayıların toplamını mesaj kutusunda verir.
FOR / NEXT
FOR / NEXT
KALAN PARA HESABIFOR / NEXT
FOR / NEXT
Faktöriyel Hesabı
 ( ! ) sembolü ile gösterilir.örneğin n! demek 1'den
n'e kadar olan sayılarının yanyana yazılıp çarpımı
demektir. 5! demek 1'den 5'e kadar sayıların
yanyana yazılıp çarpılmasıdır
Private Sub Form_Load()
Dim i, a, sayi As Integer
a = 1
sayi = InputBox("Sayıyı Giriniz:")
For i = 1 To sayi
a = a * i
Next
MsgBox "Girdiğiniz Sayının Faktöriyeli = " & a
End Sub
Faktöriyel Hesabı
Do ...... Loop ÇEVRIM YAPISI
 Visual BASIC’ te Do .... Loop sözcüklerini
içeren 4 ayrı tür çevrim yapısı mevcuttur
 Do ....... While Loop ÇEVRİM YAPISI
 Do Until ....... Loop ÇEVRİM YAPISI
 Do ................ Loop While ÇEVRİM
YAPISI
 Do ................ Loop Until ÇEVRİM YAPISI
1) Do ....... While Loop ÇEVRıM YAPISI
 Önce koşul kontrol edilir. Koşul doğru ise (TRUE), a ile
gösterilen komutlar grubu icra edilecektir. Başka bir deyişle,
Do ... While Loop yapısı, koşul doğru olduğu sürece sonsuz
bir çevrim teşkil edecektir.
ÖRNEK:
 1)Form üzerine bir komut butonu yerleştiriniz. Komut
butonunu Caption özelliğini TOPLAM yapınız. Komut
butonun kod penceresine aşağıdaki kodu giriniz:
Girilen sayıları kendi içinde toplar
Private Sub Command1_Click()
Dim x, z, y as Long
x = -1
z = 0
Do While x < 4
y = InputBox("Bir sayı giriniz...")
z = z + Val(y)
x = x + 1
Loop
MsgBox z, , "TOPLAM"
End Sub
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
Do Until - Loop
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ğrulanınca durur.
Do Until Koşul
Bildiri
Loop
Kullanıcının ilk girdiği sayı dahil 5 defa soru
girişi yapılacak ve hepsinin toplamı
verilecektir.
Private Sub Command1_Click()
x = -5
y = 0
Do Until x > 0
z = InputBox("Bir sayı giriniz...", , "")
y = y + Val(z)
x = x + 1
Loop
MsgBox y, , "TOPLAM"
End Sub
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
Finish

Visual Basic Ders Notu

  • 1.
  • 2.
    Microsoft Basic kelimeanlamı?  Visual Basic dilini tanımadan önce kelime anlamının ne olduğuna bir bakalım.  "Visual" kelimesinin anlamı "Görsel",  "BASIC" kelimesinin anlamı da  "Beginners All - purpose Symbolic Instruction Code (Yeni Başlayanlar İçin Çok Amaçlı Sembolik Talimat Kodu)"  kelimesinin baş harflerinin kısaltması ile oluşturulmuş bir dildir.
  • 3.
    Visual Basic Nedir?  Windows uygulama geliştirme aracıdır.  VB`nin Windows tabanlı olması kullanıcısına bir göz aşinalığı sağlamaktadır.  Görsel bir dil oluşu ile de öğrenim süresi kısalmış ve Windows ortamları için önemli bir program geliştirme aracı haline gelmiştir.  (Unutmayınız ki Windows ortamında herşey birer Form`dur)
  • 4.
    Visual Basic Özellikleri- 1 Windows uygulama geliştirme aracı olarak karşımıza çıkan VB,karakteristik işletim sistemi geliştirme araçlarında olduğu gibi kullanıcı taraflı klavye ağırlıklı bir dil değildir. Bu geliştirme ortamına Text - Mod Geliştirme Ortamı diyebiliriz. Bu ortamda kullanıclar seçim için klavye kullanırken Windows ortamında genellikle fare kullanılır.
  • 5.
    VB dili nesnelbir programlama dilidir. Nesne tabanlı programlama dillerinde üç ana amaç vardır. Bunlar; nesne hakkında bilgi verilmesi, nesnenin bir diğer nesne üzerine kurulabilmesi ve belli bir işlemin birçok nesne tarafından kullanılmasıdır. Visual Basic Özellikleri - 2
  • 6.
    VB Olay -Temelli bir programlama dilidir. Yani bir kullanıcı o an hangi olayı yapmak isterse o nesneye ait olaylarını, özelliklerini kullanabilir zira her nesnenin kendine ait bir olay ve özellik örgüsü vardır. VB dili Tümleşik Program geliştirme ortamı olarak kabul edilir. Tümleşik Ortamlar size Ekran Tasarımı, Kod Yazma, Hataları Farkedip Anında Giderme, Program Paketleme, Veritabanı Etkileşimi ve diğer birçok olanaklar gibi yararlar sağlar. Son olarak da Visual Basic dilinin hangi kısımlardan oluştuğuna bir bakalım. VB dili kullanıcı arabirimi, bilgi işleme, bilgi saklama, rapor işlemleri birimlerinden oluşur. Visual Basic Özellikleri - 3
  • 7.
    Visual Basic dizini... •Visual Basic yüklenmiş bir bilgisayarda , VB ile ilgili ilgili program dosyaları standart olarak C dizininin: C:Program FilesMicrosoft Visual Studio alt dizinine yerleştirilir. • Kullanıcıların oluşturdukları projeler ise standart olarak: C:Program FilesMicrosoft Visual StudioVb98 dizinine yerleştirilir.
  • 8.
    Visual Basic Çalıştırma •Başlat menüsünü kullanarak >> Start + All Programs + Microsoft Visual Basic 6 komutuna tıklanarak program çalıştırılır.
  • 9.
    Visual Basic ilkekran ! • “Standart EXE” seçeneği temeldir. Seçtikten sonra “Open” komutuna tıklayınız. • New: yeni proje • Existing: varsayılan kayıt yeri • Recent: son çalışılan projeler
  • 10.
    Visual Basic -“Standart EXE” seçeneğitemeldir. Seçtikten sonra “Open” komutuna tıklayınız. Form ToolBox (Araç Kutusu) Özellikler Penceresi Araç Çubuğu
  • 11.
  • 12.
    Standart Visual BasicKontrolleri ve İşlevleri -1 PictureBox (Resim Kutusu) =Bitmap, Icon, GIF resimlerin gösterilmesini sağlar. Label(Etiket) =Sadece bilgi vermek yada görüntü olarak form üzerinde durur. Genellikle metin kutularının adlarını göstermek için kullanılır. TextBox(Metin Kutusu) =Genellikle veri girişi için kullanılan bir kontroldür. Hemen hemen bütün programlarda kullanıcılardan veri girişi, değiştirme yapması gereken alanlar gerekir. İşte metin kutusunu bu amaçla kullanabiliriz... Frame (Çerçeve) =Kontrolleri gruplamak için kullanılır. Command Button (Komut Düğmesi)=Bir işlemin başlatılmasını sağlar. Genellikle fare üzerine tıklanarak kullanılır. CheckBox (İşaret Kutusu)=Bir seçim yapmayı sağlar. OptionBox (Seçenek Kutusu)=Seçim yapmayı sağlar.
  • 13.
    ListBox (Liste Kutusu)=Birçok elemanı liste biçiminde göstermek için kullanılır HscrollBar (Yatay Kaydırma Çubuğu)=Yatay olarak kullanılan kaydırma çubuğu VscrollBar (Dikey Kaydırma Çubuğu)=Dikey olarak kullanılan kaydırma çubuğu Timer (Zamanlayıcı)=Zamanın takip edilmesini sağlar. DriveListBox (Sürücü Listesi)=Sistemdeki sürücüleri listeler. DirListBox (Dizin Listesi)=Sistemdeki dizinleri (klasörleri) listeler. FileListBox (Dosya Listesi)=Bir dizin içindeki dosyaları listeler. Shape (Şekil)=Şekil çizmeyi sağlar. Line (Çizgi)=Çizgi çizmek için kullanılır. Image (İmaj)=Sadece resimleri göstermek için kullanılır. Data (Veri)=Verileri göstermek için kullanılır. Standart Visual Basic Kontrolleri ve İşlevleri -2
  • 14.
    AraçKutusunu gösterir. Projenin Kodlarını gösterir. ÖzelliklerPenceresini gösterir. Menü Araç Çubuğu + View Formu Gösterir.
  • 15.
  • 16.
    Kod Penceresi Kod ekranısağdaki pencerede görülmektedir. Formda boş bir noktaya tıkladıktan sonra F7 tuşu ile veya bir komuta tıklayarak ekrana getirebilirsiniz. Burada önemli olan nokta Kod başlangıç satırıdır...
  • 17.
    Kod İçerisine AçıklamaEkleme Koda açıklama eklenmek istenirse ‘ tek tırnak açıklamanın başına konulur.
  • 18.
    Form Metodları- 2.bir form oluşturma-Geçişler Metodlar, nesnelere doğrudan yaptırmak istediğimiz işleri belirtmek için kullanılır. en sık kullanılan metodlar şunlardır: Show Metodu: Formun ekranda görüntülenmesini sağlar. Metod ile nesne ismi arasına nokta işareti (.) konur. Dizilim: Form ismi.Show Örnek: Form1.Show Hide Metodu: Formun görüntüsünü ekrandan kaldırır, formu saklar. Hide metoduyla saklanan form arka planda çalışmasına devam eder. Dizilim: Form ismi.Hide Örnek: Form1.Hide Veya tamamen kapatmak için End yazılır.
  • 19.
    RUN MENÜSÜ  Run Geliştirdiğinizprojeyi çalıştırmak için kullanılır. F5 tuşu da kullanılabilir.
  • 20.
     Start WithFull Compile Start komutu ile Visual Basic sadece aktif kodu ve ilişkili kısımları derler ve çalıştırır. Belli bir anda projenizin tümünün derlenerek çalıştırılmasını istiyorsanız bu altenatifi seçmelisiniz.  Break Normal akışını sürdüren programı durdurur ve programın çalışması breake modda sürdürülür. Bu menü altenatifi sadece Run Time’da kullanılabilir. Breake modda programın kaynak kodunda yapılan bazı değişikliklerin çalışması için programın yeniden başlatılması gerekir. RUN MENÜSÜ
  • 21.
     End Kodlanan programidurdurarak Visual Basic’in kullandiği tüm sistem kaynaklarini iade eder.  Restart Kodlaması durdurulmuş olan programin yeniden çalışmasını sağlar. RUN MENÜSÜ
  • 22.
    Nesnelere İsim verme(Caption) Önce Sonra
  • 23.
    Nesnelere İsim verme PrivateSub Form_Load() 'form başlığını ver Form1.Caption = "HESAP MAKİNESİ" 'etiketlerin içeriğini yaz Label1.Caption = "1. sayı değeri" Label2.Caption = "2. sayı değeri" Label3.Caption = "SONUÇ" 'Blgi kutularını boşalt Text1.Text = "" Text2.Text = "" Text3.Text = "" Devamı.... 'Komut butonlarının adlarını ver Command1.Caption = "Topla" Command2.Caption = "Çıkar" Command3.Caption = "Böl" Command4.Caption = "Çarp" 'text3 ü yazmaya karşı koruyor Text3.Locked = True End Sub
  • 24.
    Basit Bir Örnek(temel adımlar) 1. Yeni bir “Form” açın. 2. Forma bir “Button” ekleyin. 3. Buton seçili iken özelliklerine girin. (Properties) 4. Buradan “Caption” seçeneğine “Başla” olarak değiştirin. 5. Butonun üzerine çift tıklayın veya sağ tıklayıp “View Code” komutuna tıklayın. 6. MsgBox ("BAŞARDINIZ") 7. Çalıştırın: F5 veya (Run + Start)
  • 25.
    Bir örnek (makinekodu mantığı) 3 x 5 = ? Dim a,b,c as integer
  • 26.
    Değişken Tanımı Visaul Basic’tedeğişkenlerin türünü belirtmek için “Dim, Public, Private, ReDim” deyimlerinden biri kullanılır. Dim a,b,c as integer Dim a as integer, b as integer, c as integer Dim a as integer Dim b as integer Dim c as integer
  • 27.
     •Mutlaka birharf ile başlar.  •Özel amaçlı nokta, virgül, parantez, artı, yıldız, boşluk gibi işaretleri içeremez.  •En fazla 255 harf ve/veya rakamdan oluşur.  •VB de kullanılan özel kelimeler değişken olarak kullanılamaz(örneğin End)  Çç İı Ğğ Öö Şş gibi Türkçe’ye özgü karakterler düz yazı dışında kullanılamaz.  IV, LC gibi Romen rakamları kullanılamaz. Değişken Tanımında Kurallar
  • 28.
    Veri Tipleri Veri TipiKullandığı Byte İçerik Aralığı Açıklama Byte 1 0 den 255 kadar Tam sayı Integer 2 -32768 den 32767 kadar Tam sayı Long 4 -2 147 483 648 den 2 147 483 647 kadar Tam sayı Single 4 ± 3.402823E38 den ± 1.401298E-45 kadar Ondalık sayı Double 8 ± 1.79769313486232E308 den ± 4.94065645841247E-324 kadar Ondalık sayı Boolean 2 True veya False Mantıksal String 10 + karakter sayısı Sadece harflerden, rakamlardan ve özel işaretlerden oluşan dizi depolanabilir Alfa sayısal Decimal 14 +/-79 228 162 514 264 337 593 543 950 335 Tam/ondalık sayı Variant 16 Herhangi bir sayısal değer içerebilir, ancak aralığı Double ile aynı Herhangi bir tip Date 8 1 Ocak 100 gününden 31 Aralık 9999 gününe kadar Tarih için Currency 8 +/- 922 337 203 685 477.5807 (noktadan sonra sadece 4 hane) Para hesabı için
  • 30.
    Bazı Matematiksel veMantıksal İfadeler (Operatörler) ^ = Üs alma Mod = Kalanlı bölme * = Çarpma & (+) = String birleştirme / = Bölme = Tamsayı Bölme + = Toplama, - = Çıkarma () = Parantez içi işlemler Karşılaştırma - ilişki Operatörü Anlamı = Eşit <> Eşit değil < ... den küçük > ... den büyük <= Küçük veya eşit >= Büyük veya eşit
  • 31.
    İŞLEM SIRASI KURALI Önce üs alma, sonra çarpma ve bölmeler ve daha sonra da toplama çıkarmalar yapılır.  Çarpma ve bölme (veya toplama ve çıkarma) gibi eşdeğer işlemlerde hesap soldan sağa doğru sıra ile yapılır.  Parantezli ifadeler (varsa), yukarıdaki kurala uygun olarak ve en içteki parantezli ifadeden başlanarak, ilk önce hesaplanır.
  • 32.
    Visual Basic’de kullanılanbu 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
  • 33.
    Örnek Dim Sayi AsInteger Sayi= 70 + 80 / 2 ‘Sonuc 110 Sayi= ( 70 + 80 ) / 2 ‘Sonuc 75
  • 34.
    Örnekler Dim Sayı1 AsInteger, 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.
  • 35.
  • 36.
    CheckBox & OptionBox PrivateSub Check1_Click() If Check1.Value = 1 Then Label1.FontBold = True Else Label1.FontBold = False End If End Sub Private Sub Check2_Click() If Check2.Value = 1 Then Label1.FontItalic = True Else Label1.FontItalic = False End If End Sub Private Sub Check3_Click() If Check3.Value = 1 Then Label1.FontUnderline = True Else Label1.FontItalic = False End If End Sub Private Sub Option1_Click() If Option1.Value = True Then Label1.ForeColor = vbRed End If End Sub Private Sub Option2_Click() If Option2.Value = True Then Label1.ForeColor = vbBlue End If End Sub Private Sub Option3_Click() If Option3.Value = True Then Label1.ForeColor = vbYellow End If End Sub
  • 37.
    Kontrol Nesnelerinin Özellikleri PrivateSub Form_Load() Show FontSize = 16 FontName = "Verdana" Print "İLKER ÇAPLI" FontBold = True Print "Kodkolik.Com" FontBold = False FontItalic = True Print "Visual Basic Dersleri" FontItalic = False Print "Visual Basic Eğitim Kitabı" End Sub
  • 38.
    Örnek Dim Ad AsString, 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” Kontrol Nesnelerinin Özellikleri
  • 39.
    MsgBox Deyimine aitSabit Bilgileri Seçili düğme (çevresi kesik çizgili) Tıklanan düğme=MsgBox(mesaj, düğmeler+Seçili düğme+simge, başlık)
  • 40.
    Değer VB SabitiKarşı Gelen Sembol 16 VbCritical Stop sembolü hata 32 VbQuestion Soru işareti sembolü 48 VbExclamation Ünlem sembolü 64 VbInformation Bilgi Sembolü MsgBox Deyimine ait Sabit Bilgileri
  • 41.
    Değer Butonlar 1 Ok, Cancel (Tamam – İptal) 2 Abort, Retry,Ignore (Durdur-Yeniden Dene – Yoksay) 3 Yes,No,Cancel ( Evet – Hayır – İptal) 4 Yes , No ( Evet - Hayır) 5 Retry, Cancel ( Yeniden Dene - İptal) MsgBox Deyimine ait Sabit Bilgileri
  • 42.
    Değer Karşılık gelenbuton 1 OK (Tamam) 2 Cancel (İptal) 3 Cancel (İptal) 4 Retry (Yeniden Dene) 5 Ignore (Yoksay) 6 Yes (Evet) 7 No (Hayır) MsgBox Deyimine ait Sabit Bilgileri
  • 43.
    Private Sub Form_load() DimCevap As Integer Cevap = MsgBox("Programdan çıkmak istediğinizde emin misiniz?", 20, "Brain") If Cevap = 6 Then Cancel = True End If End Sub MsgBox Deyimine ait Sabit Bilgileri
  • 44.
    Private Sub Command1_Click() Dima, b, c As Integer a = MsgBox("Değişiklikler Kaydedilsin mi?", 4 + 16 + 256, "MsgBox Fonksiyonu") c = 10 If a = vbYes Then b = c * 10 Else b = c * 2 End If Print b End Sub Sonuç;Yes butonuna basınca 100, No butonuna basınca 20 olur veya, MsgBox Deyimine ait Sabit Bilgileri
  • 45.
    veya, Private Sub Command1_Click() Dima, b, c as Integer a = MsgBox("Değişiklikler Kaydedilsin mi?", 4 + 16 + 256, " MsgBox Fonksiyonu") c = 10 If a = 6 Then b = c * 10 Else b = c * 2 End If Print b End Sub MsgBox Deyimine ait Sabit Bilgileri
  • 46.
    Shell (program çalıştırma)fonksiyonu  Shell fonksiyonu Visual Basic kodları kullanılarak, sistemde bulunan .EXE, .COM,.BAT veya .PIF uzantılı dosyaları aktif hale getirmek (çalıştırmak) için kullanılır. Yani, örneğin herhangi bir kontrol nesnesi bir uygulama programına (örneğin Microsoft Word) yönlendirilerek bu programın çalışması sağlanabilir. Bu fonksiyonun genel  Kullanılış şekli;  HerHangiBirDeğişkenAdı = Shell (Çalıştırılacak program yolu ve adı, aktivasyon türü) Şeklindedir. Bu komut dizisindeki Aktivasyon Türü seçeneği 0 ile 6 arasında (5hariç) değer alabilir. Bu değerlerin karşılıklar:
  • 47.
     Yukarıdaki formtasarımına ait Shell uygulaması verilmiştir. Shell (program çalıştırma) fonksiyonu
  • 48.
    Aşağıdaki örnekte, MicrosoftWord ve Excel programları ile bir oyun programının shell fonksiyonu ile açılması gösterilmektedir. Bu örnekte kullanılan kodlarda çalıştırılan programların yolları bilgisayarlara göre değişiklik gösterebilir.
  • 49.
    Veri Tipleri ArasındaDönüşüm Bu programda, Double tipindeki d’nin değeri, Integer tipteki C’ye atanarak otomatik olarak Integer’e dönüştürelecektir.
  • 50.
    Bu programda, Doubletipindeki d’nin değeri, Integer tipteki C’ye atanarak otomatik olarak Integer’e dönüştürelecektir. Veri Tipleri Arasında Dönüşüm
  • 51.
    Girilen Sayının Karesininve Kübünün Bulunması  Yeni bir “Form” açın.  Forma 3 “Label” 3 “Text” ve 1 adet “Button” ekleyin.
  • 52.
    Girilen Sayının Karesininve Kübünün Bulunması 1. Yeni bir “Form” açın. 2. Forma 3 “Label” 3 “Text” ve 1 adet “Button” ekleyin. Üs ifadesi
  • 53.
  • 54.
  • 56.
    String Metin Girdisi + Yanyana Yazmayı sağlar. as String
  • 57.
    Date Değişkeni Tarih türündekibilgileri kullanmak için oluşturulmuş bir veri tipidir. Hafızada 8 byte yer kaplarlar. 1 Ocak ile 31 Aralık 9999 arasındaki tarihleri kullanabilirsiniz. DefDate bildirisi ile tarih türünde degişkenler tanımlayabiliriz. Örnek : Private Sub Form_Load() Dim Dogum_tarihi As Date , Evlenme_Tarihi As Date Dogum_tarihi =#Dec,9,1977# Evlenme_Tarihi=#May,15,1998# End Sub
  • 58.
  • 59.
    Sistem zamanını gösterir. Örnek PrivateSub Command1_Click() Dim zaman MsgBox ("Sistem Tarihi : ") & Time End Sub Time Değişkeni
  • 60.
    InputBox Fonksiyonu Programın çalışmasıesnasında kullanıcıdan bilgi almak istediğimiz zaman bu fonksiyonu kullanabiliriz. Örnek: Değişken = InputBox (“Mesaj”, Başlık, Varsayım, Xpozisyonu, Ypozisyonu) Private Sub Command1_Click() Dim ad As String ad = InputBox("Şehir Adını Giriniz : ?") Print ad End Sub Bu fonksiyondan geri dönen değer karakter türünde bir bilgidir. Eğer değişik veri tiplerinde bilgi almak istiyorsak bu aldığımız string türündeki veriyi o veri tipine dönüştürmek zorundayız. Sayısal veri için : i=Val(InputBox("Yaşınızı giriniz ..."))
  • 61.
    Private Sub Command1_Click() Dimad As String ad = InputBox("Şehir Adını Giriniz : ?", " Giriş Kutusu Başlığı") Print ad End Sub InputBox Fonksiyonu
  • 62.
    İki tane arkaarkaya sayı girilerek girilen iki sayının toplamı MsgBox ile bize bildirilsin. Private Sub Command1_Click() Dim a As Integer Dim b As Integer Dim c As Integer Dim d As Integer a = InputBox("1. sayıyı giriniz") b = InputBox("2. sayıyı giriniz") c = a + b MsgBox("iki sayının toplamı = " & c & , 64) End Sub InputBox Fonksiyonu
  • 63.
    Bir şifre sorgulaması Örnek: Program yüklenirken ve form görüntülenmeden önce kullanıcıya şifresi sorulsun istiyoruz.  Bunun için InputBox penceresini kullanalım. Kullanıcı doğru şifreyi girerek InputBox üzerindeki Ok düğmesini tıkladığında form açılsın, kullanıcı programı kullanabilsin.  Yanlış şifre girmesi durumunda program yüklenmesin. Şifremiz Deve olsun. Gerekli kodları formun Load olayına yazacağız.
  • 65.
    Kontrol Komutları IF –ELSE –ELSE IF SELECT – CASE FOR – LOOP DO -WHILE
  • 66.
    IF / ELSESorgusu 1. If (koşul) Then (işlem) 2. If (koşul) Then (işlem1) Else (işlem2) End if 3. If (koşul1) Then (işlem1) ElseIf (koşul2) Then (işlem2) Else (işlem-n) End if If deyimi belli bir ifadenin değerine göre bir deyimin işletilmesini sağlar. If deyiminin basitten karmaşığa doğru değişik kalıpları vardır:
  • 67.
    IF / ELSE%18 KDV Hesabı
  • 68.
    IF / ELSEGeçti - Kaldı
  • 69.
    IF / ELSESabit Sayıdan Sayı Büyük - Küçük
  • 70.
    Ortalama Dim Sinav1 AsByte 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
  • 71.
    If...Then karar yapısındabirden fazla koşulu kontrol ederken Else If sözdizimini kullanırız. 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
  • 72.
    IF / ELSE3 Sayıdan Hangisi En Büyük Örnekte; Ekrandan Inputbox ile alınan üç sayının en büyüğü bulunur:
  • 73.
    IF – ELSE--- GoTo kullanımı Dim kadi, pass As String kadi: kadi = InputBox(“Kullanıcı adını giriniz”, “Kullanıcı Adı”, “”) pass: pass = InputBox(“Şifrenizi giriniz”, “Şifre Girişi”, “”) If kadi = “visual” Then If pass = “1234” Then MsgBox (“Hoşgeldiniz” & “Yetkileriniz:Administrator”) Else MsgBox (“Hatalı şifre girdiniz. Tekrar deneyin”) GoTo pass Else MsgBox (Hatalı kullanıcı adı. Tekrar girin”) Goto kadi End If
  • 74.
    AND - OR DimSayi1, Sayi2 As Integer Sayi1 = Val(InputBox("Birinci Sayıyı Giriniz")) Sayi2 = Val(InputBox("İkinci Sayıyı Giriniz")) If Sayi1 < 100 And Sayi2 < 100 Then MsgBox "Girdiğiniz iki sayıda 100'den Küçük" ElseIf Sayi1 < 100 Or Sayi2 < 100 Then MsgBox "Girdiğiniz iki sayıdan biri 100 den küçük" ElseIf Sayi1 > 100 And Sayi2 > 100 Then MsgBox "Girdiğiniz iki sayıda 100'den Büyük" ElseIf Sayi1 > 100 Or Sayi2 > 100 Then MsgBox "Girdiğiniz iki sayıdan biri 100 den Büyük" ElseIf Sayi1 = 100 And Sayi2 = 100 Then MsgBox "Girdiğiniz iki sayıda 100'e eşit" ElseIf Sayi1 = 100 Or Sayi2 = 100 Then MsgBox "Girdiğiniz iki sayıdan biri 100'e eşit« End If
  • 75.
    SELECT / CASE If...Thenkarar 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. Kullanımı Kalıbı select case değişken case case end select
  • 76.
  • 77.
    Klavyede 0 -5 arasında bir rakam girilecek ve ne girildiğini msgbox la bize göstersin Private Sub Form_Load() Dim a As Integer a = InputBox("1 - 5 arasında bir sayı giriniz") Select Case a Case 1 MsgBox ("girilen sayı 1'dir") Case 2 MsgBox ("girilen sayı 2'dir") Case 3 MsgBox ("girilen sayı 3'dür") Case 4 MsgBox ("girilen sayı 4'dür") Case 5 MsgBox ("girilen sayı 5'dir") 'ikinci bölüm 'mesala 8 rakamini girin Case Else MsgBox ("boyle bir sayi girilemez") End Select End Sub
  • 78.
    SELECT / CASEŞifre Private Sub Command1_Click() Select Case Text1.Text Case Is = " " MsgBox " Biyeri Boş Bırakmışsınız.. " Case Is = "visual« If Text2.Text = "1234" Then MsgBox ("Hoşgeldiniz/Welcome") Case Else MsgBox "Üzgünüz.Böyle bir kullanıcı adı bulunmamaktadır." End Select End Sub
  • 79.
    SELECT / CASENot Ortalaması
  • 80.
    FOR / NEXT Birgrup deyimi belli sayıda çalıştırarak bir döngü oluşturur. Döngü bir kez işledikten sonra artırım değeri eklenir. Eğer herhangi bir artırım değeri kullanılmadıysa o zaman bir arttırılır. Sayaç değeri bitiş değerinden büyük olduğu zaman döngü sona erdirilir ve program Next deyiminden itibaren devam eder. Döngü değimleri amaç değişkenlerin değerlerini belli aralıklarla yaptırmak. Belli aralıklardaki sayıların toplamı , çıkartmak, çarpmak DÖNGÜ (ÇEVRİM-LOOP) YAPILARI
  • 81.
    Dim Sayac AsInteger For Sayac = 1 To 10 List1.AddItem Sayac Next Sayac Liste kutusuna 1’den 10 kadar olan rakamları eklemek için aşağıdaki döngü kurulur. FOR / NEXT
  • 82.
    Private Sub Form_Load() DimSayac As Integer For Sayac = 2 To 20 Step 2 List1.AddItem Sayac Next Sayac End Sub Liste kutusuna 2’şer 2’şer 20’ye kadar olan rakamları eklemek için aşağıdaki döngü kurulur. FOR / NEXT
  • 83.
    Dim Sayac AsInteger For Sayac = 2 To 20 Step 2 List1.AddItem Sayac If Sayac=10 Then Exit For End If Next Sayac For..Next döngüsünden çıkmak için Exit For bildirisi kullanılır FOR / NEXT
  • 84.
    Adımlama azalan biçimdede yapılabilir: For sayi = 16 to 2 Step -2 Toplam = Toplam + 2 Next Sayi MsgBox ‘’toplam: ‘’ & Toplam End Sub FOR / NEXT
  • 85.
    Örnek: Birden yirmiyekadar sayıların toplamını alır: FOR / NEXT
  • 86.
    Örnek: Belirlenen bellibir sayıda ki sayıyı toplayarak bize sonucu bir mesaj kutusunda görüntüler. FOR / NEXT
  • 87.
     Kullanıcının textleregirdiği sayılar dahil arasında kalan sayıların toplamını mesaj kutusunda verir. FOR / NEXT
  • 88.
  • 89.
  • 90.
  • 91.
    Faktöriyel Hesabı  (! ) sembolü ile gösterilir.örneğin n! demek 1'den n'e kadar olan sayılarının yanyana yazılıp çarpımı demektir. 5! demek 1'den 5'e kadar sayıların yanyana yazılıp çarpılmasıdır
  • 92.
    Private Sub Form_Load() Dimi, a, sayi As Integer a = 1 sayi = InputBox("Sayıyı Giriniz:") For i = 1 To sayi a = a * i Next MsgBox "Girdiğiniz Sayının Faktöriyeli = " & a End Sub Faktöriyel Hesabı
  • 93.
    Do ...... LoopÇEVRIM YAPISI  Visual BASIC’ te Do .... Loop sözcüklerini içeren 4 ayrı tür çevrim yapısı mevcuttur  Do ....... While Loop ÇEVRİM YAPISI  Do Until ....... Loop ÇEVRİM YAPISI  Do ................ Loop While ÇEVRİM YAPISI  Do ................ Loop Until ÇEVRİM YAPISI
  • 94.
    1) Do .......While Loop ÇEVRıM YAPISI  Önce koşul kontrol edilir. Koşul doğru ise (TRUE), a ile gösterilen komutlar grubu icra edilecektir. Başka bir deyişle, Do ... While Loop yapısı, koşul doğru olduğu sürece sonsuz bir çevrim teşkil edecektir. ÖRNEK:  1)Form üzerine bir komut butonu yerleştiriniz. Komut butonunu Caption özelliğini TOPLAM yapınız. Komut butonun kod penceresine aşağıdaki kodu giriniz:
  • 95.
    Girilen sayıları kendiiçinde toplar Private Sub Command1_Click() Dim x, z, y as Long x = -1 z = 0 Do While x < 4 y = InputBox("Bir sayı giriniz...") z = z + Val(y) x = x + 1 Loop MsgBox z, , "TOPLAM" End Sub
  • 96.
    Kullanıcıdan bir isimyazması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
  • 97.
    Do Until -Loop 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ğrulanınca durur. Do Until Koşul Bildiri Loop
  • 98.
    Kullanıcının ilk girdiğisayı dahil 5 defa soru girişi yapılacak ve hepsinin toplamı verilecektir. Private Sub Command1_Click() x = -5 y = 0 Do Until x > 0 z = InputBox("Bir sayı giriniz...", , "") y = y + Val(z) x = x + 1 Loop MsgBox y, , "TOPLAM" End Sub
  • 99.
    Program çalıştığı andakullanı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
  • 100.