![]() |
|
|
#1 (permalink) |
|
*BUNALIMLARIN ADMİNİ*
![]() |
Select Case Karar Yapısı
If...Then karar yapısının gelişmişidir. Sadece bir değişkenin durumunu kontrol eder. Kontrolu yapılacak değişken birden fazla değer alabiliyorsa If...Then yapısına oranla daha kulanışlıdır. Kullanım şekli aşağıdaki gibidir. Örnek Dim Ay Ay = InputBox ("Bir ay giriniz") Select Case Ay Case 1 MsgBox “Bu ay 31 gün” Case 2 Dim Artık as Integer Artık = 2001 Mod 4 If Artık=0 Then MsgBox “Bu ay 29 gün” Else MsgBox “Bu ay 28 gün” Endif Case 3 MsgBox “Bu ay 31 gün” Case 4 MsgBox “Bu ay 30 gün” Case 5 MsgBox “Bu ay 31 gün” Case 6 MsgBox “Bu ay 30 gün” Case 7 MsgBox “Bu ay 31 gün” Case 8 MsgBox “Bu ay 30 gün” Case 9 MsgBox “Bu ay 31 gün” Case 10 MsgBox “Bu ay 30 gün” Case 11 MsgBox “Bu ay 31 gün” Case 12 MsgBox “Bu ay 30 gün” Case Else MsgBox ” Bir yılda 12 ay vardır.” End Select Örnek Select Case No Case 1304 Name="Murat Tuna" Case 1305 Name="Ayse Sinem" Case 1306 Name="Uğur Şahin" Case 1307 Name="Osman Bilgin" End Select Msgbox Fonksiyonu Msgbox fonksiyonu kullanıcıya bir dialog kutusu içerisinde bilgi vermek amacı ile kullanılır. Örneğin bir hata sonrasında kullanıcıya hatanın sebebini açıklayan bir bilgi verirken. Kullanuım şekli aşağıdaki gibidir; Msgbox “Brain Bilişim Akademisi” Yukarıdaki kodu kullanarak ekrana yandaki gibi içerisinde bir dialog penceresi getirebiliriz. İlk önce fonksiyon adını yazarız ardından tırnak işaretleri içerisinde Brain Bilişim Akademisi yazarız. Tırnak işaretlerini kullanmamızın sebebi bir metinin gösterilmesini istiyor olmamızdır. Eğer bir metin değilde bir nesne veya bir değişken içerisinde var olan değeri göstermek istersek tırnak işaretlerini kullanmamıza gerek kalmaz. Msgbox Text1.Text Yukarıdaki ifade ise Text1 nesnesinin Text özelliğini dialog kutusu içerisinde görmemizi sağlar. Msbgox fonksiyonu kullanıcıya seçenekler sunan bir dialog penceresi gibide kullanılabilir. Örneğin programdan çıkılmak istendiğinde kullanıcı uyarılsın. Bu tip dialog kutuları kullanıcın verdiği cevaba göre bir sonuç döndürür. Formunuzun unload yordamına aşağıdaki kodu girin. Private Sub Form_Unload(Cancel As Integer) Dim Cevap As Integer Cevap = MsgBox("Programdan çıkmak istediğinizde emin misiniz?" 20 "Brain")If Cevap = 6 Then Cancel = True End If End Sub Kullanıcı formu kapatmak istediğinde dialog penceresi ile karşılaşacak. Evet tıklanırsa form kapanacak hayır tıklanırsa kapatma işleminden vazgeçilecektir. Msgbox fonksiyonu bu şekilde kullanıldığı zaman kullanıcının verdiği cevaba göre geriye bir değer gönderecektir. Daha sonra If karar yapısı ile Cevap değişkenin içeriği kontrol edilmekte ve gerekli işlem yapılmaktadır.MsgBox("Programdan çıkmak istediğinizde emin misiniz?" 20 "Brain")Yukarıdaki yazımda "Programdan çıkmak istediğinizde emin misiniz?" bildirisi dialog kutusunda çıkacak bildiriyi 20 rakamı dialog kutusunda bulunacak komut butonlarını ve gösterilecek simgeyi ve "Brain" bildiriside dialog kutusunun başlık çubuğunda yazmasını istediğimiz metni belirtir. Msgbox fonksiyonu geriye evet için 6 hayır için ise 7 değerini gönderir. Buton Değer VB Değeri Tamam 0 vbOK Tamam İptal 1 vbOKCancelDurdur Yeniden Dene Yoksay 2 vbAbortRetryIgnoreEvet Hayır İptal 3 vbYesNoCancel Evet Hayır 4 vbYesNoYeniden Dene İptal 5 vbRetryCancel Simge Değer VB Değeri Kritik 16 vbCritical Soru 32 vbQuestion Uyarı 48 vbExclamation Bilgi 64 vbInformation Cevap Değer VB Değeri Tamam 1 vbOK İptal 2 vbCancel Durdur 3 vbAbort Yeniden Dene 4 vbRetry Yoksay 5 vbIgnore Evet 6 vbYes Hayır 7 vbNo Msgbox fonksiyonunda çıkmasını istediğimiz butonlar ve simgeler için yukarıdaki değerler kullanılır. İstediğimiz buton ve simgeye ait rakamı toplayarak yazarız. Cevap olarakda yine yukarıdaki değeri gönderilir. Bu değerler akılda pek kalıcı olmadığından dolayı VB değerlerinide kullanabiliriz. MsgBox("Programdan çıkmak istediğinizde emin misiniz?" 20 "Brain") MsgBox("Programdan çıkmak istediğinizde emin misiniz?" vbYesNo+ vbCritical "Brain") Her iki ifade arasında bir fark yoktur. Inputbox Fonksiyonu Inputbox fonksiyonu kullanıcıdan bilgi alınmak istendiği durumlarda kullanılır. Örneğin ; Private Sub Form_Load() Dim Ad As String Ad = InputBox("Adınızı giriniz" "Bilgi Girişi")MsgBox "Adınız " & Ad End Sub Yukarıdaki kodu çalıştırdığımızda karşımıza aşağıdaki gibi bir bilgi giriş penceresi gelir. Buraya girdiğimiz değer ise Ad değişkenine aktarılır ve ardından bir dialog kutusu ile bize bilgi verilir. Döngüler Döngüler belirli işlemleri belirli sayıda veya herhangi bir şart sağlanana kadar tekrarlamak amacı ile kullanılırlar. Visual Basic’de kullanılan döngüler aşagıda verilmiştir. For ….. Next Döngüsü Do Until ……Loop Döngüsü Do While …. Loop Döngüsü Do …… Loop Until Döngüsü Do …… Loop While Döngüsü For Next Bu döngü belirli bir işlemi belirli bir sayıada çalıştırmamıza olanak sağlar. Genel yazılım şekli aşagıdaki gibidir. For Sayaç=BaşlangıçDeğeri To BitişDeğeri Step ArtımDeğeri Bildiri Next Sayaç Bu döngüde Sayac değişkenine BaşlangıçDeğeri verilir ve Sayaç BitişDeğerini geçene kadar çalıştırılır. Döngü her çalışında Sayaç değeri ArtımDeğeri kadar artırılır. Eğer ArtımDeğeri belirtilmezse Sayaç her seferde 1 artırılır. Örnek Liste kutusuna 1’den 10 kadar olan rakamları eklemek için aşağıdaki döngü kurulur. Dim Sayac As Integer For Sayac = 1 To 10 List1.AddItem Sayac Next Sayac Örnek Liste kutusuna 2’şer 2’şer 20’ye kadar olan rakamları eklemek için aşağıdaki döngü kurulur. Dim Sayac As Integer For Sayac = 2 To 20 Step 2 List1.AddItem Sayac Next Sayac For..Next döngüsünden çıkmak için Exit For bildirisi kullanılır Örnek Dim Sayac As Integer For Sayac = 2 To 20 Step 2 List1.AddItem Sayac If Sayac=10 Then Exit For End If Next Sayac Do Until For...Next dögüsünün gelişmişidir. Bir koşul yanlış olduğu sürece devam eder. Genel yazım şekli aşağıdaki gibidir. Do Until Koşul Bildiri Loop Örnek Program çalıştığı anda kullanıcıya adını soran ve yanlış isim girildikçe soruyu tekrarlayan bir kod örneği. 3.denemeden sonra sonra Do..until döngüsünden çıkılıyor. Private Sub Form_Load() Dim Ad As String Dim Tekrar As Integer Tekrar = 0 Ad = InputBox("Adınızı Giriniz?") Do Until Ad = "Uğur" Tekrar = Tekrar + 1 If Tekrar = 3 Then MsgBox "Üzgünüm. Deneme hakkınız dolmuştur." Exit Do End If MsgBox "Yanlış isim girdiniz. Lütfen tekrar deneyin." Ad = InputBox("Adınızı Giriniz?") Loop End Sub Do While Do Until döngüsünün tersidir. Bir koşul doğru olduğu sürece devam eder. Genel yazım şekli aşağıdaki gibidir. Do While Koşul Bildiri Loop Örnek Kullanıcıdan bir isim yazmasını isteyen bir kod örneği. Ad değişkeni “son” olmadığı sürece devam ediyor. Her defasında font boyutu 1 punto artırılıyor. Private Sub Form_Load() Dim Ad As String Dim Boyut As Integer Boyut = 12 Tekrar = 0 Ad = InputBox("Lütfen adınızı yazınız. Çıkmak için son yazın") Do While Ad <> "son" Form1.FontSize = Boyut Print Ad Boyut = Boyut + 1 If Boyut = 20 Then Exit Do End If Ad = InputBox("Lütfen adınızı yazınız. Çıkmak için son yazın") Loop End Sub |
|
|
|
![]() |
| Konuyu Toplam 1 Üye okuyor. (0 Kayıtlı üye ve 1 Misafir) | |
| Seçenekler | |
| Stil | |
|
|