330 likes | 665 Views
4. KONTROL VE DÖNGÜ KOMUTLARI. KONTROL KOMUTLARI. Kontrol deyimleri belirli ifadeleri kontrol etmek veya bazı şartların gerçekleşip gerçekleşmedigini kontrol etmek amacıyla kullanılan komutlardır. Visual Basic ‘te kullanılan kontrol deyimleri If kontrol yapısı Select Case yapısı.
E N D
4. KONTROL VE DÖNGÜ KOMUTLARI KONTROL KOMUTLARI • Kontrol deyimleri belirli ifadeleri kontrol etmek veya bazı şartların gerçekleşip gerçekleşmedigini kontrol etmek amacıyla kullanılan komutlardır. • Visual Basic ‘te kullanılan kontrol deyimleri • If kontrol yapısı • Select Case yapısı If-End If Deyimi • Kullanılan her If kontrolu için mutlaka bir End If kullanılır; bu terim kontrol yapısının sonlandığını belirtir. Deyim 1: IfŞartThenKomutlar... End If
Eger koşul gerçekleşmemiş ise yapılması istenen bazı işlemler varsa o zaman şu şekilde bir kontrol yapısı kullanılabilir. Deyim 2: IfŞartThenKomutlar... ElseKomutlar... End If Örnek: • not=val(text1.text) • If not>=50 Then • text2.text=“geçti” • Else • text2.text=“kaldı” • End If
Aynı anda birkaç koşul için karşılaştırma yapılmak istenirse; Deyim 3: IfŞart1ThenKomutlar... ElseIfŞart2ThenKomutlar... ElseIfŞart3ThenKomutlar... Else Komutlar... End If Hiç bir şart doğru değil ise... Örnek: • If yas < 5 Then • Print "anaokulagitmeli" • ElseIf yas < 12 Then • Print "ilkokula gitmeli" • ElseIf yas < 18 Then • Print "liseye gitmeli" • Else • Print "üniversiteye gitmeli" • End If
End If terimini kullanmadan ve tek koşulun gerçekleşmesi için; Deyim 4: IfŞartThenKomutlar... Örnek: If yas>12 Then msgbox(“ilkokul bitmiş”) If yas>30 Then Print “Geçmiş olsun !” If a>50 Then x=x+1: z=5*x
Select Case Deyimi • Bu kontrol yapısında sadece bir degişkenin durum kontrolü yapılır. • Kontrolü yapılacak degişkenin genel olarak alabilecegi değerler belirli ise bu yapının kullanılması If yapısına göre daha avantajlıdır. • Her Select Case ifadesi için bir End Select kullanılır. Select CasedegiskenCasedeger1Komutlar...Casedeger2 Komutlar... Case > değer3 Komutlar... Case ElseKomutlar.... End Select
Örnek : Dim no As String no = InputBox("") Select Case no Case 2004485021 Print "Murat Tuna" Case 2004485022 Print "Ayse Sinem" Case 2004485023 Print "Hakan Kaya" Case 2004485024 Print "Abdullah Kahyalı" Case 2004485025 Print "Hatice Uygun" End Select
Örnek : Dim ogrnot As Integer ogrnot = Val(Text1.Text) Select Case ogrnot Case Is < 0, Is > 100 Text2.Text = "Notunuzu Yanlış Girdiniz !" Case 1 To 49 Text2.Text = "FF" Case 50 To 59 Text2.Text = "FD" Case 60 To 64 Text2.Text = "DD" Case 65 To 69 Text2.Text = "DC" Case 70 To 74 Text2.Text = "CC" Case 75 To 79 Text2.Text = "CB " Case 80 To 84 Text2.Text = "BB " Case 85 To 89 Text2.Text = "BA" Case Else Text2.Text = "AA" End Select
DÖNGÜ KOMUTLARI • Belirli işlemleri belirli sayıda veya herhangi bir şart sağlanana kadar tekrarlamak amacı ile kullanılırlar. Döngü çeşitleri sağda verilmiştir. • For … Next • Do While ... Loop • Do Until …Loop For...Next Döngüsü • Bütün dillerde bulunan en temel döngü yapısıdır. Genel formatı aşağıdaki gibidir. Forsayac=başlangıçTobitiş [Stepartım] Komutlar... Nextsayac
Örnek : 5 ! ’i hesaplayınız. Fact=1:n=5 For i=1 To n Fact= Fact * i Next i Örnek : Dim i As Integer For i = 0 To 10 Step 2 Print i Next i Örnek : Dim i As Integer For i = 10 To 0 Step -2 Print i Next i
Örnek : 1’den 10’a kadar olan sayıları toplatınız. Dim a As Integer Dim b As Integer For a = 1 To 10 b = b + a Next a Print b Örnek : 1’den 10’a kadar olan sayıları toplatınız. (print’ e dikkat!) Dim a As Integer Dim b As Integer For a = 1 To 10 b = b + a Print b Next a
Do While... Loop deyimi • Bir blok deyimi, verilen şart doğru (True) olduğu sürece işletir. Do WhileŞartKomutlar... Loop Do Until ...Loop Deyimi • Bir blok deyimi, verilen şart doğru (True) olana kadar işletir. Do UntilŞartKomutlar... Loop
Örnek : 5 ! ’i hesaplayınız. Fact=1:i=5:n=1 Do Until i<=n Fact=Fact * i i=i-1 Loop Fact=1:i=1: n=5 Do Whilei<=n Fact=Fact * i i=i+1 Loop Örnek : 1’den 10’a kadar olan sayıları toplatınız. i = 1 Do While i <= 10 Print i; i= i + 1 Loop i=1 Do Until i > 10 Print i; i = i + 1 Loop
Örnek : Girilen not 1-100 aralığı dışında ise, bu aralıkta not girilene kadar tekrar tekrar sorulsun. Dim ogrnot As Integer Do Until (ogrnot > 0) AND (ogrnot < 100) ogrnot = InputBox("not girişi", "sınav notunuz", "50") Loop MsgBox ("Girilen Not =" & ogrnot) VB’de Mantıksal Karşılaştırma Operatörleri • 1. AND (VE) • Örnek : if a>50 and b>70 then • 2. OR (VEYA) • Örnek :if a>50 or b>70 then • 3. NOT (DEĞİL) • Örnek :if not a=50 then • 4. XOR (AYNI İSE 0 FARKLI İSE 1 YAP) • Örnek :Print 11001101 xor 00110000 ’11111101
IIF() Fonksiyonu: Yapısı: IIF(Koşul,birinci ifade,ikinci ifade) Bir bakıma , IF deyiminin kısıtlı bir şeklidir. Yalnızca iki olasılığın söz konusu olduğu durumlarda IF deyimi yerine IIF fonksiyonu kullanılabilir. Private Sub Command2_Click() sonuc = IIf(ortalama >= 50, "Geçer Not", "Zayıf Not") MsgBox sonuc End Sub Dim Sonuç As String Notu = 45 Sonuç = IIF(Notu > 50, "Geçer","Kalır") ‘ Sonuç = "Kalır"
PROGRAM AKIŞI SIRASINDA BİLGİ VERMEK VE ONAY ALMAK İÇİN KULLANILAN MESAJ KUTULARIDIR.
1 6 7 2 3 4 5 0 256 512 1024 16 32 48 64
KULLANICININ SEÇTİĞİ DÜĞMEYE GÖRE MESAJ KUTUSUNDAN BİR TAMSAYI DÖNER. ÖRNEĞİN KULLANICI “OK” BUTONUNA TIKLADIYSA 1 SAYISI DÖNER. DİKKAT!!!
1 >>vbOK (TAMAM) 2 >>vbCancel (İPTAL) 3 >>vbAbort (DURDUR) 4 >>vbRetry (YENİDEN DENE) 5 >>vbIgnore (YOKSAY) 6 >>vbYes (EVET) 7 >>vbNo (HAYIR) DÖNEN SAYILAR
Dim cevap • Cevap=msgbox(“bugün kendinizi iyi hissediyormusunuz?”,1+32+0+4096,”Nasılsınız?”) If cevap=1 then Print “kendini iyi hissediyor” Else Print “kendini kötü hissediyor” End if ÖRNEK
Dim cevap • Cevap=msgbox(“dosya silinsin mi?”,vbYesNo+vbDefaultButton2+vbQuestion, “Dikkat! Dosya silinecek”) ÖRNEK
KULLANICILARDAN DEĞER ALMAK İÇİN KULLANILIR. BU FONKSİYONDA STANDART OLARAK SADECE “OK” VE “CANCEL” BUTONU BULUNUR.