visualbasic 131004074619-phpapp01
TRANSCRIPT
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 Files\Microsoft Visual Studio\alt dizinine yerleştirilir.
• Kullanıcıların oluşturdukları projeler ise standart olarak:C:\Program Files\Microsoft Visual Studio\Vb98dizinine 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
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ğuVscrollBar (Dikey Kaydırma Çubuğu)=Dikey olarak kullanılan kaydırma çubuğuTimer (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.
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
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)
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 integerDim 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
Ö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
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 ThenLabel1.FontItalic = TrueElseLabel1.FontItalic = FalseEnd IfEnd Sub
Private Sub Check3_Click()If Check3.Value = 1 ThenLabel1.FontUnderline = TrueElseLabel1.FontItalic = FalseEnd IfEnd Sub
Private Sub Option1_Click()If Option1.Value = True ThenLabel1.ForeColor = vbRedEnd IfEnd Sub
Private Sub Option2_Click()If Option2.Value = True ThenLabel1.ForeColor = vbBlueEnd IfEnd Sub
Private Sub Option3_Click()If Option3.Value = True ThenLabel1.ForeColor = vbYellowEnd IfEnd 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 buton1 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 Integera = MsgBox("Değişiklikler Kaydedilsin mi?", 4 + 16 + 256, " MsgBox
Fonksiyonu")c = 10If a = 6 Thenb = c * 10Elseb = c * 2End IfPrint 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:
Aşağıdaki örnekte, Microsoft Word ve Excel programları ile bir oyun programınınshell 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
Date Değişkeni
Tarih türündeki bilgileri kullanmak için oluşturulmuş bir veri tipidir. Hafızada 8byte 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 DateDogum_tarihi =#Dec,9,1977#Evlenme_Tarihi=#May,15,1998#
End Sub
Sistem zamanını gösterir.
Örnek
Private Sub Command1_Click()
Dim zamanMsgBox ("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 Stringad = InputBox("Şehir Adını Giriniz : ?")Print adEnd 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 Stringad = InputBox("Şehir Adını Giriniz : ?", " Giriş Kutusu Başlığı")Print adEnd 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 IntegerDim b As IntegerDim c As IntegerDim d As Integera = InputBox("1. sayıyı giriniz")b = InputBox("2. sayıyı giriniz")c = a + bMsgBox("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.
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:
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 ByteDim Sinav2 As ByteDim 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şkencasecaseend select
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 girinCase ElseMsgBox ("boyle bir sayi girilemez")End SelectEnd 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
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: 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
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
End Sub
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