SlideShare a Scribd company logo
1 of 104
Download to read offline
VB.Net Örnek Uygulamalar




                Tolga GÜYER
                02.11.2011
VB.Net Örnek Uygulamalar
                                                               2 Kasım 2011


İçindekiler
Uygulama No: 1 – Buraya Basmayın! ...................................................................................................... 4
Uygulama No: 2 – Vücut-Kitle İndeksi ..................................................................................................... 5
Uygulama No: 3 – Burçlar ........................................................................................................................ 7
Uygulama No: 4 – Not Hesapla................................................................................................................ 9
Uygulama No: 5 – Ders Ekle .................................................................................................................. 11
Uygulama No: 6 – Ders Kodu................................................................................................................. 12
Uygulama No: 7 – Geçme Notu ............................................................................................................. 13
Uygulama No: 8 – Numara Oluştur ....................................................................................................... 15
Uygulama No: 9 – İl ve İlçe .................................................................................................................... 17
Uygulama No: 10 – Kimlik Ekle .............................................................................................................. 18
Uygulama No: 11 – E-Posta Adresi Oluşturma ...................................................................................... 20
Uygulama No: 12 – Olaylar-1................................................................................................................. 21
Uygulama No: 13 – Dört İşlem .............................................................................................................. 23
Uygulama No: 14 – Ardışık Sayıların Toplamı ........................................................................................ 24
Uygulama No: 15 – Mekanik Sayaç ....................................................................................................... 25
Uygulama No: 16 – Asal Sayı Testi......................................................................................................... 26
Uygulama No: 17 – Pi Sayısının Yaklaşık Hesabı .................................................................................... 27
Uygulama No: 18 – Kuvvet ve Faktöriyel Hesabı ................................................................................... 29
Uygulama No: 19 – İç İçe Döngü ........................................................................................................... 30
Uygulama No: 20 – 153 Sayısı ............................................................................................................... 31
Uygulama No: 21 – Pisagor Üçlüleri ...................................................................................................... 32
Uygulama No: 22 – Collatz Problemi ..................................................................................................... 33
Uygulama No: 23 – Kaprekar Sayıları .................................................................................................... 35
Uygulama No: 24 – Kaprekar Sabiti ....................................................................................................... 37
Uygulama No: 25 – Mükemmel Sayılar ................................................................................................. 39
Uygulama No: 26 – Aritmetik Ortalama ve Standart Sapma................................................................. 40
Uygulama No: 27 – Renk Aktarımı......................................................................................................... 42
Uygulama No: 28 – Fonksiyon Kullanımı 1 ............................................................................................ 44
Uygulama No: 29 – Fonksiyon Kullanımı 2 ............................................................................................ 45
Uygulama No: 30 – Palindrom............................................................................................................... 48
Uygulama No: 31 – Palindrom/Liste...................................................................................................... 49


Tolga GÜYER                                                                                                                             Sayfa 2
VB.Net Örnek Uygulamalar
                                                               2 Kasım 2011

Uygulama No: 32 – Metin İstatistikleri .................................................................................................. 50
Uygulama No: 33 – Anahtarlı Metin Şifreleme ..................................................................................... 52
Uygulama No: 34 – Anahtarlı Metin Şifre Çözme.................................................................................. 54
Uygulama No: 35 – Veritabanı Uygulaması 1 ........................................................................................ 55
Uygulama No: 36 – Veritabanı Uygulaması 2 ........................................................................................ 57
Uygulama No: 37 – Veritabanı Uygulaması 3 ........................................................................................ 59
Uygulama No: 38 – Veritabanı Uygulaması 4 ........................................................................................ 60
Uygulama No: 39 – Veritabanı Uygulaması 5 ........................................................................................ 62
Uygulama No: 40 – Veritabanı Uygulaması 6 ........................................................................................ 65
VERİTABANI UYGULAMALARI HAKKINDA ÖZET BİLGİ ........................................................................... 75
Uygulama No: 41 – Veritabanı Uygulaması 7 ........................................................................................ 78
Uygulama No: 42 – Veritabanı Uygulaması 8 ........................................................................................ 81
Uygulama No: 43 – Anket ...................................................................................................................... 85
Uygulama No: 44 – Anket Göster .......................................................................................................... 88
Uygulama No: 45 – Veritabanı Uygulaması 9 ........................................................................................ 95
Uygulama No: 46 – Veritabanı Uygulaması 10 ...................................................................................... 97
Uygulama No: 47 – Veritabanı Uygulaması 11 .................................................................................... 100




Tolga GÜYER                                                                                                                           Sayfa 3
VB.Net Örnek Uygulamalar
                                  2 Kasım 2011

Uygulama No: 1 – Buraya Basmayın!


Açıklama      :                  Metin kutusuna herhangi bir metin girilmemiş ise butona
                                 basıldığında tepki veriliyor.

                                Ekran Görüntüsü




                                Açıklamalı Kodlar
Public Class Form1

    Private Sub basma_Click(ByVal sender As Object, ByVal e As
System.EventArgs) Handles basma.Click
        If giris.Text = "" Then ‘Eğer metin kutusu boş ise…
             MsgBox("Basmayın demiştim")
             basma.BackColor = Color.Red ‘Buton kırmızı oluyor.
        Else
             basma.BackColor = Color.GreenYellow ‘Aksi halde yeşile dönüyor.
        End If
    End Sub
End Class




Tolga GÜYER                                                                       Sayfa 4
VB.Net Örnek Uygulamalar
                                    2 Kasım 2011

Uygulama No: 2 – Vücut-Kitle İndeksi


Açıklama      :                     Girilen ağırlık ve boy verilerine göre vücut-kitle indeksi
                                    belirleniyor ve kişinin girdiği ağırlık sınıfı görsel destekle
                                    sunuluyor.

                                  Ekran Görüntüsü




                                  Açıklamalı Kodlar
Public Class Form1

    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles Button1.Click
        TxtVki.Text = TxtKilo.Text / (TxtBoy.Text * TxtBoy.Text)
        ‘Vücut kitle indeksi=ağırlık (kg) / boyun (m) karesi.
        If TxtVki.Text <= 19 Then
            TxtSonuc.Text = "Zayıf"
            PictureBox1.ImageLocation = "zayif.jpg"
        End If


Tolga GÜYER                                                                                Sayfa 5
VB.Net Örnek Uygulamalar
                                   2 Kasım 2011

       If TxtVki.Text >= 20 And TxtVki.Text < 25 Then
           TxtSonuc.Text = "İdeal sınırlarda"
           PictureBox1.ImageLocation = "ideal.jpg"
       End If
       If TxtVki.Text >= 25 And TxtVki.Text < 30 Then
           TxtSonuc.Text = "Hafif şişman"
           PictureBox1.ImageLocation = "hafif_sisman.jpg"
       End If
       If TxtVki.Text >= 30 And TxtVki.Text < 35 Then
           TxtSonuc.Text = "Şişman"
           PictureBox1.ImageLocation = "sisman.jpg"
       End If
       If TxtVki.Text >= 35 And TxtVki.Text < 45 Then
           TxtSonuc.Text = "Sağlık açısından önemli"
           PictureBox1.ImageLocation = "saglik_acisindan_tehlike.jpg"
       End If
       If TxtVki.Text >= 45 And TxtVki.Text < 50 Then
           TxtSonuc.Text = "Aşırı şişman"
           PictureBox1.ImageLocation = "cok_sisman.jpg"
       End If
       If TxtVki.Text >= 50 Then
           TxtSonuc.Text = "Morbid (ölümcül) şişman"
           PictureBox1.ImageLocation = "morbid.jpg"
       End If

    End Sub
End Class




Tolga GÜYER                                                             Sayfa 6
VB.Net Örnek Uygulamalar
                                    2 Kasım 2011

Uygulama No: 3 – Burçlar


Açıklama      :                     Date-Time Picker kontrolünden seçilen tarihe göre kişinin
                                    burcunun ne olduğu belirleniyor ve görsel destekle
                                    sunuluyor.

                                  Ekran Görüntüsü




                                  Açıklamalı Kodlar
Public Class Form1
    Dim gun, ay As Integer
    Private Sub DateTimePicker1_ValueChanged(ByVal sender As Object, ByVal e As
System.EventArgs) Handles DateTimePicker1.ValueChanged
        gun = DateTimePicker1.Value.Day ‘Sadece gün bilgisi alınıyor.
        ay = DateTimePicker1.Value.Month ‘Sadece ay bilgisi alınıyor.
        If (ay = 12 And gun >= 23) Or (ay = 1 And gun <= 20) Then
            TxtBurc.Text = "OĞLAK"
            PictureBox1.ImageLocation = "oglak.jpg"
        End If
        If (ay = 9 And gun >= 22) Or (ay = 10 And gun <= 23) Then
            TxtBurc.Text = "TERAZİ"
            PictureBox1.ImageLocation = "terazi.jpg"
        End If
        If (ay = 1 And gun >= 21) Or (ay = 2 And gun <= 19) Then
            TxtBurc.Text = "KOVA"
            PictureBox1.ImageLocation = "kova.jpg"
        End If
        If (ay = 2 And gun >= 20) Or (ay = 3 And gun <= 20) Then
            TxtBurc.Text = "BALIK"
            PictureBox1.ImageLocation = "balik.jpg"
        End If

Tolga GÜYER                                                                          Sayfa 7
VB.Net Örnek Uygulamalar
                                    2 Kasım 2011

        If (ay = 3 And gun >= 21) Or (ay = 4 And gun <= 20) Then
            TxtBurc.Text = "KOÇ"
            PictureBox1.ImageLocation = "koc.jpg"
        End If
        If (ay = 4 And gun >= 21) Or (ay = 5 And gun <= 21) Then
            TxtBurc.Text = "BOĞA"
            PictureBox1.ImageLocation = "boga.jpg"
        End If
        If (ay = 5 And gun >= 22) Or (ay = 6 And gun <= 21) Then
            TxtBurc.Text = "İKİZLER"
            PictureBox1.ImageLocation = "ikizler.jpg"
        End If
        If (ay = 6 And gun >= 22) Or (ay = 7 And gun <= 23) Then
            TxtBurc.Text = "YENGEÇ"
            PictureBox1.ImageLocation = "yengec.jpg"
        End If
        If (ay = 7 And gun >= 24) Or (ay = 8 And gun <= 23) Then
            TxtBurc.Text = "ASLAN"
            PictureBox1.ImageLocation = "aslan.jpg"
        End If
        If (ay = 8 And gun >= 24) Or (ay = 9 And gun <= 23) Then
            TxtBurc.Text = "BAŞAK"
            PictureBox1.ImageLocation = "basak.jpg"
        End If
        If (ay = 10 And gun >= 23) Or (ay = 11 And gun <= 22) Then
            TxtBurc.Text = "AKREP"
            PictureBox1.ImageLocation = "akrep.jpg"
        End If
        If (ay = 11 And gun >= 23) Or (ay = 12 And gun <= 22) Then
            TxtBurc.Text = "YAY"
            PictureBox1.ImageLocation = "yay.jpg"
        End If
    End Sub
End Class




Tolga GÜYER                                                          Sayfa 8
VB.Net Örnek Uygulamalar
                                   2 Kasım 2011

Uygulama No: 4 – Not Hesapla


Açıklama      :                    Girilen ara sınav ve genel sınav notları kullanılarak geçme
                                   notu hesaplanıyor ve bu geçme notuna karşılık gelen harf
                                   notu belirleniyor.

                                 Ekran Görüntüsü




                                 Açıklamalı Kodlar
Public Class Form1
    Dim vize, final As Integer
    Dim gecme As Double

    Private Sub Txt_Final_TextChanged(ByVal sender As Object, ByVal e As
System.EventArgs) Handles Txt_Final.TextChanged
‘Final notunun girildiği metin kutusu değişirken…
        If Txt_Final.Text <> "" And IsNumeric(Txt_Final.Text) Then
        ‘Eğer final metin kutusu dolu ve sayısal veri ise…
            If Txt_Final.Text > 100 Then
            ‘Eğer girilen final değeri 100 den büyük ise…
                MsgBox("Hatalı Giriş!")
                Txt_Final.Clear()
                TxtGecme.Clear()
                TxtHarf.Clear()
                TxtGecme.BackColor = Color.White
            Else ‘Aksi halde, yani final 100 den küçük…
                If Txt_Vize.Text <> "" And IsNumeric(Txt_Vize.Text) Then
                    vize = Txt_Vize.Text
                    final = Txt_Final.Text
                    gecme = 2 * vize / 5 + 3 * final / 5
                    ‘vizenin %40’ı + finalin %60’ı
                    TxtGecme.Text = gecme
                    If gecme >= 50 Then TxtGecme.BackColor =
Color.GreenYellow Else TxtGecme.BackColor = Color.Red
                End If
            End If
        Else ‘Ya final alanı boş, ya da girilen değer sayısal değil.
            TxtGecme.Clear()

Tolga GÜYER                                                                           Sayfa 9
VB.Net Örnek Uygulamalar
                                  2 Kasım 2011

            TxtHarf.Clear()
            TxtGecme.BackColor = Color.White
        End If
    End Sub

    Private Sub Txt_Vize_TextChanged(ByVal sender As Object, ByVal e As
System.EventArgs) Handles Txt_Vize.TextChanged
    ‘Aynı şeyler vize notu için de yapılıyor.
        If Txt_Vize.Text <> "" And IsNumeric(Txt_Vize.Text) Then
             If Txt_Vize.Text > 100 Then
                  MsgBox("Hatalı Giriş!")
                  Txt_Vize.Clear()
                  TxtGecme.Clear()
                  TxtHarf.Clear()
                  TxtGecme.BackColor = Color.White
             Else
                  If Txt_Final.Text <> "" And IsNumeric(Txt_Final.Text) Then
                      vize = Txt_Vize.Text
                      final = Txt_Final.Text
                      gecme = 2 * vize / 5 + 3 * final / 5
                      TxtGecme.Text = gecme
                      If gecme >= 50 Then TxtGecme.BackColor =
Color.GreenYellow Else TxtGecme.BackColor = Color.Red
                  End If
             End If
        Else
             TxtGecme.Clear()
             TxtHarf.Clear()
             TxtGecme.BackColor = Color.White
        End If
    End Sub

    Private Sub TxtGecme_TextChanged(ByVal sender As Object, ByVal e As
System.EventArgs) Handles TxtGecme.TextChanged
        ‘Geçme notu alanı değişirken harf notu hesaplanıyor.
        If TxtGecme.Text <> "" Then
            If TxtGecme.Text >= 90 Then
                 TxtHarf.Text = "AA"
            ElseIf TxtGecme.Text >= 80 Then
                 TxtHarf.Text = "BA"
            ElseIf TxtGecme.Text >= 70 Then
                 TxtHarf.Text = "BB"
            ElseIf TxtGecme.Text >= 60 Then
                 TxtHarf.Text = "CB"
            ElseIf TxtGecme.Text >= 50 Then
                 TxtHarf.Text = "CC"
            ElseIf TxtGecme.Text >= 40 Then
                 TxtHarf.Text = "DC"
            ElseIf TxtGecme.Text >= 30 Then
                 TxtHarf.Text = "DD"
            ElseIf TxtGecme.Text >= 20 Then
                 TxtHarf.Text = "FD"
            Else
                 TxtHarf.Text = "FF"
            End If
        End If
    End Sub
End Class




Tolga GÜYER                                                           Sayfa 10
VB.Net Örnek Uygulamalar
                                 2 Kasım 2011

Uygulama No: 5 – Ders Ekle


Açıklama      :                   İki adet metin kutusundan alınan bilgilerle oluşturulan
                                  ders kodu ve adı liste kutusuna ekleniyor. Daha sonra
                                  liste kutusundan seçilen ders silinebiliyor.

                               Ekran Görüntüsü




                               Açıklamalı Kodlar
Public Class Form1
    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles Button1.Click
        ListBox1.Items.Add(TextBox1.Text + " " + TextBox2.Text)
        ‘Ders kodu ve adı metinleri birleştirilerek liste kutusuna
aktarılıyor.
    End Sub

    Private Sub Button3_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles Button3.Click
        ListBox1.Items.Clear()
    End Sub

    Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles Button2.Click
        ListBox1.Items.Remove(ListBox1.SelectedItem) ‘Liste kutusundan
seçili olan seçenek siliniyor.
    End Sub
End Class




Tolga GÜYER                                                                       Sayfa 11
VB.Net Örnek Uygulamalar
                                  2 Kasım 2011

Uygulama No: 6 – Ders Kodu


Açıklama      :            Metin kutusuna girilen ders kodu ve adı ayrıştırılarak iki ayrı liste
                           kutusuna ekleniyor.

                                Ekran Görüntüsü




                                Açıklamalı Kodlar
Public Class Form1
    Dim dersin_kodu, dersin_adi, ders As String
    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles Button1.Click
        ders = TextBox1.Text
        dersin_kodu = Strings.UCase(Strings.Left(ders, 6))
        ‘Ders kodu, büyük harfe dönüştürülen metnin soldan 6 karakteri
alınarak ayrıştırılıyor.
        dersin_adi = Strings.Right(ders, Strings.Len(ders) - 6)
        ‘Ders adı, metnin sağdan uzunluğu-6 karakteri alınarak
ayrıştırılıyor.
        ListBox1.Items.Add(dersin_kodu)
        ListBox2.Items.Add(dersin_adi)
        TextBox1.Clear()
    End Sub
End Class




Tolga GÜYER                                                                           Sayfa 12
VB.Net Örnek Uygulamalar
                                       2 Kasım 2011

Uygulama No: 7 – Geçme Notu


Açıklama      :             Metin kutusuna girilen numara bilgisi kullanılarak öğrencinin giriş
                            yılı ve fakültesi belirleniyor. Arasınav ve Final notları kullanılarak
                            geçme notu ve bu nota karşılık gelen harf notu hesaplanıyor.

                                     Ekran Görüntüsü




                                     Açıklamalı Kodlar
Public Class Form1

    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles Button1.Click
        Dim Notu As Integer
        Dim Yil As String
        Dim Fak, numara As String
        Yil = Strings.Left(TextBox1.Text, 2)
        ‘Eğer giriş yılının son iki hanesi 50’den küçükse 2000’li yıllar
olduğunu anla ve başına 20 ekle. Aksi halde başına 19 ekle:
        If Yil < 50 Then
             ListBox1.Items.Add("20" + Yil)
        Else
             ListBox1.Items.Add("19" + Yil)
        End If
        numara = TextBox1.Text
        Fak = Strings.Mid(numara, 3, 2)

           If Fak = "01" Then
                ListBox2.Items.Add("Mühendislik")
           ElseIf Fak = "02" Then
                ListBox2.Items.Add("Eğitim Bil.")
           ElseIf Fak = "03" Then
                ListBox2.Items.Add("Hukuk")
           ElseIf Fak = "04" Then
                ListBox2.Items.Add("iletişim")
           Else
                ListBox2.Items.Add("Diğerleri")
           End If

           ListBox3.Items.Add(TextBox2.Text + " " + TextBox3.Text)

           Notu = (TextBox4.Text * 0.4) + (TextBox5.Text * 0.6)

Tolga GÜYER                                                                                Sayfa 13
VB.Net Örnek Uygulamalar
                                   2 Kasım 2011

        ListBox4.Items.Add(Notu)
        If Notu <= 100 And Notu > 89 Then
            ListBox5.Items.Add("AA")
        ElseIf Notu > 84 Then
            ListBox5.Items.Add("BA")
        ElseIf Notu > 79 Then
            ListBox5.Items.Add("BB")
        ElseIf Notu > 74 Then
            ListBox5.Items.Add("CB")
        ElseIf Notu > 69 Then
            ListBox5.Items.Add("CC")
        ElseIf Notu > 64 Then
            ListBox5.Items.Add("DC")
        ElseIf Notu > 59 Then
            ListBox5.Items.Add("DD")
        ElseIf Notu > 49 Then
            ListBox5.Items.Add("FD")
        ElseIf Notu < 50 Then
            ListBox5.Items.Add("FF")

        End If
        TextBox1.Text = ""
        TextBox2.Text = ""
        TextBox3.Text = ""
        TextBox4.Text = ""
        TextBox5.Text = ""
        TextBox1.Focus()

    End Sub
End Class




Tolga GÜYER                                             Sayfa 14
VB.Net Örnek Uygulamalar
                                           2 Kasım 2011

Uygulama No: 8 – Numara Oluştur


Açıklama      :   Açılan kutudan (ComboBox) seçilen fakülteye göre öğrenci numarası
                  oluşturuluyor. Giriş yılı sistem zamanından alınıyor ve her fakülte için sıra
                  numaraları ayrı sayaçlarda tutuluyor.

                                        Ekran Görüntüsü




                                        Açıklamalı Kodlar
Public Class Form1
    Dim fakulte_adi, fakulte_kodu, sira, numara As String
    Dim egt_sayac, muh_sayac, huk_sayac, tip_sayac, sayac As Integer
    Private Sub ComboBox1_SelectedIndexChanged(ByVal sender As Object,
ByVal e As System.EventArgs) Handles ComboBox1.SelectedIndexChanged
        fakulte_adi = ComboBox1.Text
        If fakulte_adi = "Eğitim Bilimleri Fakültesi" Then
             fakulte_kodu = "04"
             egt_sayac = egt_sayac + 1
             sayac = egt_sayac
        ElseIf fakulte_adi = "Mühendislik Fakültesi" Then
             fakulte_kodu = "03"
             muh_sayac = muh_sayac + 1
             sayac = muh_sayac
        ElseIf fakulte_adi = "Hukuk Fakültesi" Then
             fakulte_kodu = "02"
             huk_sayac = huk_sayac + 1
             sayac = huk_sayac
        ElseIf fakulte_adi = "Tıp Fakültesi" Then
             fakulte_kodu = "01"
             tip_sayac = tip_sayac + 1
             sayac = tip_sayac
        End If
        ‘Sıra numarasının basamak sayısına göre başına ekleyeceği sıfır
sayısına karar veriyor:
        If Strings.Len(sayac.ToString) = 1 Then
             sira = "000" + sayac.ToString
        ElseIf Strings.Len(sayac.ToString) = 2 Then
             sira = "00" + sayac.ToString
        ElseIf Strings.Len(sayac.ToString) = 3 Then
             sira = "0" + sayac.ToString
        Else
             sira = sayac.ToString

Tolga GÜYER                                                                                   Sayfa 15
VB.Net Örnek Uygulamalar
                                 2 Kasım 2011

        End If
        numara = Strings.Right(System.DateTime.Today.Year, 2) +
fakulte_kodu + sira ‘Sistem saatinden bugünün tarihinin yılı alınıyor ve
bunun sağdan iki basamağı ayrıştırılıyor.
        TextBox3.Text = numara
    End Sub

    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles Button1.Click
        TextBox1.Clear()
        TextBox2.Clear()
        TextBox3.Clear()
        TextBox1.Focus()
    End Sub
End Class




Tolga GÜYER                                                          Sayfa 16
VB.Net Örnek Uygulamalar
                                           2 Kasım 2011

Uygulama No: 9 – İl ve İlçe


Açıklama      :   İl için tanımlanan açılan kutudan seçilen il adına göre ilçe için tanımlanan açılan
                  kutunun içeriği otomatik olarak dolduruluyor.

                                        Ekran Görüntüsü




                                        Açıklamalı Kodlar
Public Class Form1

Private Sub ComboBox1_SelectedIndexChanged(ByVal sender As System.Object,
ByVal e As System.EventArgs) Handles ComboBox1.SelectedIndexChanged
        ComboBox2.Items.Clear()
        If ComboBox1.Text = "Ankara" Then
            ComboBox2.Items.Add("Çankaya")
            ComboBox2.Items.Add("Etimesgut")
            ComboBox2.Items.Add("Keçiören")
            ComboBox2.Items.Add("Yenimahalle")
            ComboBox2.Items.Add("Mamak")
        ElseIf ComboBox1.Text = "İstanbul" Then
            ComboBox2.Items.Add("Beşiktaş")
            ComboBox2.Items.Add("Şişli")
            ComboBox2.Items.Add("Eminönü")
            ComboBox2.Items.Add("Beykoz")
            ComboBox2.Items.Add("Adalar")
        ElseIf ComboBox1.Text = "İzmir" Then
            ComboBox2.Items.Add("Karşıyaka")
            ComboBox2.Items.Add("Bornova")
            ComboBox2.Items.Add("Güzelyalı")
            ComboBox2.Items.Add("Buca")
            ComboBox2.Items.Add("Konak")
        End If
    End Sub
End Class




Tolga GÜYER                                                                                   Sayfa 17
VB.Net Örnek Uygulamalar
                                          2 Kasım 2011

Uygulama No: 10 – Kimlik Ekle


Uygulama No :    08
Uygulama Adı :   Kimlik Ekle
Açıklama     :   1. Alanların her üçünün de girilmiş olması gerekiyor. Aksi halde uyarı mesajı
                 veriliyor.
                 2. Kimlik numarası 11 hane olmazsa uyarı mesajı veriliyor.
                 3. Cinsiyet Kadın seçilirse Askerlik Durumu pasif konuma geçiyor.
                 4. Bilgileri Ekle butonuna basıldığında bilgiler liste kutusuna alt alta ekleniyor.

                                        Ekran Görüntüsü




                                       Açıklamalı Kodlar
Public Class Form1
    Dim cinsiyet, ask As String
    Private Sub Radio_kadin_Click(ByVal sender As Object, ByVal e As
System.EventArgs) Handles Radio_kadin.Click
        GroupBox2.Enabled = False ‘Grup kutusu pasifize ediliyor.
Dolayısıyla üzerindeki radyo düğmeleri de pasif hale gelmiş oluyor.
    End Sub

    Private Sub Radio_erkek_Click(ByVal sender As Object, ByVal e As
System.EventArgs) Handles Radio_erkek.Click
        GroupBox2.Enabled = True
    End Sub

     Private Sub Btn_ekle_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles Btn_ekle.Click
         If Strings.Trim(Txt_ad.Text) <> "" And
Strings.Trim(Txt_soyad.Text) <> "" And Strings.Trim(Txt_kimlik.Text) <> ""
Then
             If Strings.Trim(Strings.Len(Txt_kimlik.Text)) <> 11 Then
                 MsgBox("Kimlik Numarası uygun girilmedi")
                 Exit Sub
             End If


Tolga GÜYER                                                                                   Sayfa 18
VB.Net Örnek Uygulamalar
                                 2 Kasım 2011

            ListBox1.Items.Add("Adı Soyadı: " + Txt_ad.Text + " " +
Txt_soyad.Text)
            ListBox1.Items.Add("Kimlik No : " + Txt_kimlik.Text)
            If Radio_erkek.Checked = True Then
                 cinsiyet = "Erkek"
            Else
                 cinsiyet = "Kadın"
            End If
            ListBox1.Items.Add("Cinsiyeti : " + cinsiyet)
            If Radio_erkek.Checked = True Then
                 If Radio_as1.Checked = True Then
                      ask = "Yapmış"
                 ElseIf Radio_as2.Checked = True Then
                      ask = "Tecilli"
                 Else
                      ask = "Muaf"
                 End If
                 ListBox1.Items.Add("Askerlik Durumu : " + ask)
            End If

ListBox1.Items.Add("********************************************")
             Txt_ad.Clear()
             Txt_kimlik.Clear()
             Txt_soyad.Clear()
             Txt_ad.Focus()
        Else
             MsgBox("Alanların hepsi girilmemiş!")
        End If
    End Sub
End Class




Tolga GÜYER                                                           Sayfa 19
VB.Net Örnek Uygulamalar
                                         2 Kasım 2011

Uygulama No: 11 – E-Posta Adresi Oluşturma


Açıklama      :   Butona basıldığında kişinin adının ilk harfi ile soyadı birleştiriliyor,
                  ComboBox’dan seçilen üniversiteye göre e-posta adresi otomatik olarak
                  oluşturuluyor.

                                       Ekran Görüntüsü




                                       Açıklamalı Kodlar
Public Class Form1

    Dim eposta, alan As String
    Dim k As Byte

    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles Button1.Click
        k = Strings.InStr(Cmb_universite.Text, " ") 'Üniversite adındaki
ilk boşluğun konumu.
        alan = Strings.Mid(Cmb_universite.Text, 1, k - 1)
        eposta = Strings.LCase(Strings.Left(Txt_ad.Text, 1) & "." &
Txt_soyad.Text & "@" & alan & ".edu.tr")
        'Aşağıda, metin içersinden Türkçe harfler dönüştürülüyor.
        'Örneğin çetin => cetin gibi.
        eposta = Strings.Replace(eposta, "ş", "s", 1)
        eposta = Strings.Replace(eposta, "ğ", "g", 1)
        eposta = Strings.Replace(eposta, "ö", "o", 1)
        eposta = Strings.Replace(eposta, "ü", "u", 1)
        eposta = Strings.Replace(eposta, "ç", "c", 1)
        eposta = Strings.Replace(eposta, "ı", "i", 1)
        Txt_eposta.Text = eposta
    End Sub
End Class




Tolga GÜYER                                                                                  Sayfa 20
VB.Net Örnek Uygulamalar
                                         2 Kasım 2011

Uygulama No: 12 – Olaylar-1


Açıklama      :   Radyo düğmelerinin ve işaretleme kutularının tıklama olayları liste kutusuna
                  ekleniyor. Sil butonu, liste kutusundan seçilen kayıt(lar)ı siliyor.

                                       Ekran Görüntüsü




                                       Açıklamalı Kodlar

Public Class Form1
    Dim i As Byte
    Private Sub secenek1_Click(ByVal sender As Object, ByVal e As
System.EventArgs) Handles secenek1.Click
        ListBox1.Items.Add(secenek1.Text + " seçildi")
    End Sub

    Private Sub secenek2_Click(ByVal sender As Object, ByVal e As
System.EventArgs) Handles secenek2.Click
        ListBox1.Items.Add(secenek2.Text + " seçildi")
    End Sub

    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles BtnSil.Click
        If ListBox1.SelectedItems.Count <> 0 Then ‘En az bir seçilmiş
seçenek varsa.
            For i = 0 To ListBox1.SelectedItems.Count - 1
                 ListBox1.Items.Remove(ListBox1.SelectedItem)
            Next
        End If
    End Sub

    Private Sub secim1_Click(ByVal sender As Object, ByVal e As
System.EventArgs) Handles secim1.Click
        If secim1.Checked = True Then
             ListBox1.Items.Add(secim1.Text + " işaretlendi")
        Else
             ListBox1.Items.Add(secim1.Text + " işareti kaldırıldı")
        End If
    End Sub



Tolga GÜYER                                                                               Sayfa 21
VB.Net Örnek Uygulamalar
                                  2 Kasım 2011

    Private Sub secim2_Click(ByVal sender As Object, ByVal e As
System.EventArgs) Handles secim2.Click
        If secim2.Checked = True Then
             ListBox1.Items.Add(secim2.Text + " işaretlendi")
        Else
             ListBox1.Items.Add(secim2.Text + " işareti kaldırıldı")
        End If
    End Sub
End Class




Tolga GÜYER                                                            Sayfa 22
VB.Net Örnek Uygulamalar
                                           2 Kasım 2011

Uygulama No: 13 – Dört İşlem


Açıklama      :   İki sayı için seçilen işleme göre hesap yapılıyor.

                                         Ekran Görüntüsü




                                        Açıklamalı Kodlar

Public Class Form1
    Dim s1, s2 As Integer
    Dim s As Double

    Private Sub hesapla_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles hesapla.Click
        s1 = sayi1.Text
        s2 = sayi2.Text
        If topla.Checked = True Then
            s = s1 + s2
        ElseIf cikar.Checked = True Then
            s = s1 - s2
        ElseIf carp.Checked = True Then
            s = s1 * s2
        ElseIf bol.Checked = True And s2 <> 0 Then ‘Sıfıra bölme yapmasın.
            s = s1 / s2
        End If
        sonuc.Text = s
    End Sub
End Class




Tolga GÜYER                                                            Sayfa 23
VB.Net Örnek Uygulamalar
                                         2 Kasım 2011

Uygulama No: 14 – Ardışık Sayıların Toplamı


Açıklama      :   For-Next döngüsünün kullanımına ilişkin basit bir örnek.

                                       Ekran Görüntüsü




                                       Açıklamalı Kodlar

Public Class Form1

    Private Sub BtnToplam_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles BtnToplam.Click
        Dim sayac, toplam As Integer
        toplam = 0
        For sayac = TxtBaslangic.Text To TxtBitis.Text
             toplam = toplam + sayac
        Next
        MsgBox(toplam)
    End Sub
End Class




Tolga GÜYER                                                                  Sayfa 24
VB.Net Örnek Uygulamalar
                                          2 Kasım 2011

Uygulama No: 15 – Mekanik Sayaç


Açıklama      :   For-Next döngüsünün iç içe kullanımına ilişkin basit bir örnek.

                                        Ekran Görüntüsü




                                       Açıklamalı Kodlar

Public Class Form1
    Private Sub BtnBaslat_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles BtnBaslat.Click
        For basamak1 = 0 To 9
             LblB1.Text = basamak1
             For bekle = 0 To 10000000 ‘Her adımda beklemeyi sağlar.
             Next
             LblB1.Refresh()‘Etiketin (Label) tazelenmesi. Yeni sayıyı her
adımda göstermesi için gereklidir.
             For basamak2 = 0 To 9
                  LblB2.Text = basamak2
                  For bekle = 0 To 10000000
                  Next
                  LblB2.Refresh()
                  For basamak3 = 0 To 9
                       LblB3.Text = basamak3
                       For bekle = 0 To 10000000
                       Next
                       LblB3.Refresh()
                  Next
             Next
        Next
    End Sub

End Class




Tolga GÜYER                                                                         Sayfa 25
VB.Net Örnek Uygulamalar
                                            2 Kasım 2011

Uygulama No: 16 – Asal Sayı Testi


Açıklama      :   Sayı asal ise “Asaldır” mesajı veriliyor. Aksi halde sayının ilk böleni gösteriliyor.

                                         Ekran Görüntüsü




                                         Açıklamalı Kodlar

Public Class Form1

    Private Sub BtnAsalmi_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles BtnAsalmi.Click
         Dim asalmi As Boolean = True
         Dim say As UInt64 ‘En büyük tamsayı türü.
         For say = 2 To TxtSayi.Text / 2 ‘Sayının yarısına kadar bölen
araştırılacak.
              If TxtSayi.Text Mod say = 0 Then ‘Eğer tam bölüyor ise…
                  asalmi = False
                  Exit For ‘Daha fazla araştırmaya gerek yok.
              End If
         Next
         If asalmi = True Then ‘Demekki yukarıdaki koşula hiç girmemiş.
              MsgBox("ASALDIR")
         Else : MsgBox("ASAL DEĞİLDİR. " & say & " sayısı bu sayıyı
böler.")
         End If
    End Sub
End Class




Tolga GÜYER                                                                                     Sayfa 26
VB.Net Örnek Uygulamalar
                                          2 Kasım 2011

Uygulama No: 17 – Pi Sayısının Yaklaşık Hesabı


Açıklama      :   Girilen yaklaşım değerine bağlı olarak aşağıdaki toplam formülü ile Pi sayısı
                  yaklaşık olarak hesaplanıyor.




                                        Ekran Görüntüsü




                                       Açıklamalı Kodlar

Public Class Form1

    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles Button1.Click
        Dim toplam As Double = 1
        Dim k, i, faktor, faktor1 As Long
        If Strings.Trim(TxtYaklasim.Text) <> "" Then ‘Boş text
istemiyoruz.
             If IsNumeric(TxtYaklasim.Text) Then ‘Sayısal olmayan veri de
istemiyoruz.
                 If TxtYaklasim.Text > 0 And TxtYaklasim.Text < 10 Then
‘Bir de yaklaşım sayısı 1 il 9 arasında olacak.
                      For k = 1 To TxtYaklasim.Text
                           'k faktöriyel hesaplanıyor:
                           faktor = 1
                           For i = 1 To k
                                faktor = faktor * i
                           Next
                           '2k+1 faktöriyel hesaplanıyor:
                           faktor1 = 1
                           For i = 1 To 2 * k + 1
                                faktor1 = faktor1 * i
                           Next
                           'Toplam hesaplanıyor:
                           toplam = toplam + ((2 ^ k) * (faktor ^ 2)) /
faktor1
                      Next
                      LblSonuc.Text = 2 * toplam
                 Else
                      MsgBox("Yaklaşım sayısı 1-9 arasında olmalıdır!")
                 End If


Tolga GÜYER                                                                                 Sayfa 27
VB.Net Örnek Uygulamalar
                                    2 Kasım 2011

               Else
                   MsgBox("Lütfen sayısal veri giriniz!")
               End If
        Else
            MsgBox("İlgili alana veri girişi yapınız!")
        End If
    End Sub

End Class




Tolga GÜYER                                                 Sayfa 28
VB.Net Örnek Uygulamalar
                                          2 Kasım 2011

Uygulama No: 18 – Kuvvet ve Faktöriyel Hesabı


Açıklama      :   Girilen sayının istenilen kuvveti ve faktöriyeli hesaplanıyor. “For-Next” döngü
                  yapısının kullanımına ilişkin bir örnektir.

                                        Ekran Görüntüsü




                                       Açıklamalı Kodlar

Public Class Form1
    Dim sayi, kuvvet As Integer
    Dim sonuc As Long
    Private Sub btnhesapla_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles btnhesapla.Click
        sayi = txtsayi.Text
        kuvvet = txtkuvvet.Text
        sonuc = 1
        For sayac = 1 To kuvvet
            sonuc = sayi * sonuc ‘Sayı, kuvvet defa kendisi ile
çarpılıyor.
        Next sayac
        txtsonuc.Text = sonuc
    End Sub

    Private Sub btnfaktor_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles btnfaktor.Click
        sayi = txtsayi.Text
        sonuc = 1
        For sayac = 1 To sayi
            sonuc = sayac * sonuc ‘Sayıya kadar olan bütün sayılar
çarpılıyor.
        Next sayac
        txtfaktor.Text = sonuc
    End Sub
End Class




Tolga GÜYER                                                                                 Sayfa 29
VB.Net Örnek Uygulamalar
                                         2 Kasım 2011

Uygulama No: 19 – İç İçe Döngü


Açıklama      :   000 ile 999 arasındaki sayılar iç içe düzenlenmiş üç for-next döngü yapısı
                  kullanılarak oluşturuluyor. Kod içersinde yer alan
                  “System.Threading.Thread.Sleep(10)” ifadesi, her adımda bekleme
                  işlevini gerçekleştiriyor. Dolayısıyla sayaçların değişimi gözlenebiliyor.

                                      Ekran Görüntüsü




                                      Açıklamalı Kodlar

Public Class Form1
    Dim sayi As Integer
    Dim k As Long
    Private Sub btnbaslat_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles btnbaslat.Click
        For sayac1 = 0 To 9
            For sayac2 = 0 To 9
                 For sayac3 = 0 To 9
                     lstsayi.Items.Add(sayac1.ToString + sayac2.ToString +
sayac3.ToString)
                     txtsayi3.Text = sayac3
                     txtsayi2.Text = sayac2
                     txtsayi1.Text = sayac1
                     txtsayi3.Refresh()
                     txtsayi2.Refresh()
                     txtsayi1.Refresh()
                     System.Threading.Thread.Sleep(10) ‘Her adımda 10 ms
bekle.
                 Next sayac3
            Next sayac2
        Next sayac1
    End Sub
End Class




Tolga GÜYER                                                                             Sayfa 30
VB.Net Örnek Uygulamalar
                                          2 Kasım 2011

Uygulama No: 20 – 153 Sayısı


Açıklama      :   153 Sayısı şöyle bir özelliğe sahiptir: 153 = 13+ 53 + 33. Acaba 100 ile 999
                  arasında bu özelliği sağlayan, yani basamaklarının küplerinin toplamına eşit olan
                  başka sayı ya da sayılar var mıdır?

                                       Ekran Görüntüsü




                                       Açıklamalı Kodlar

Public Class Form1
    Dim sayi As Integer
    Private Sub Form1_Load(ByVal sender As Object, ByVal e As
System.EventArgs) Handles Me.Load
        For yuzler = 1 To 9
            For onlar = 0 To 9
                For birler = 0 To 9
                    sayi = 100 * yuzler + 10 * onlar + birler
                    If sayi = yuzler ^ 3 + onlar ^ 3 + birler ^ 3 Then
ListBox1.Items.Add(sayi)
                Next birler
            Next onlar
        Next yuzler
    End Sub
End Class




Tolga GÜYER                                                                                Sayfa 31
VB.Net Örnek Uygulamalar
                                           2 Kasım 2011

Uygulama No: 21 – Pisagor Üçlüleri


Açıklama      :   a2 + b2 = c2 özelliğini sağlayan sayılar, dik üçgenin kenar uzunluklarını gösterirler
                  ve Pisagor üçlüleri olarak anılırlar. 1 ile 99 arasındaki doğal sayılardan bu eşitliği
                  sağlayanlar hangileri olabilir?

                                         Ekran Görüntüsü




                                        Açıklamalı Kodlar

Public Class Form1

    Private Sub Form1_Load(ByVal sender As Object, ByVal e As
System.EventArgs) Handles Me.Load
        For a = 1 To 99
            For b = 1 To 99
                For c = 1 To 99
                    If (c ^ 2 = a ^ 2 + b ^ 2) And (a < b) Then
ListBox1.Items.Add(a.ToString + " - " + b.ToString + " - " + c.ToString)
                Next c
            Next b
        Next a
    End Sub
End Class




Tolga GÜYER                                                                                     Sayfa 32
VB.Net Örnek Uygulamalar
                                              2 Kasım 2011

Uygulama No: 22 – Collatz Problemi


Açıklama      :   Dolu tanesi sayıları olarak da bilinen problem, girilecek bir pozitif tamsayı ile
                  başlayan bir sayı dizisi oluşturmaya dayanır. Dizinin her bir elemanı, bir önceki
                  sayı kullanılarak şu kural dahilinde hesaplanır: Eğer sayı çift ise bir sonraki sayı
                  bu sayının yarısı, tek ise üç katının bir fazlası olacaktır. Böylece ilk sayısı verilen
                  bir sayı dizisi oluşturulur.

                  Örneğin, ilk sayı 7 ise dizi şu şekilde oluşacaktır:

                  7, 22, 11, 34, 17, 52, 26, 13, 40, 20, 10, 5, 16, 8, 4, 2, 1, 4, 2, 1, 4, 2, 1,...

                  Ya da ilk sayı 21 ise,

                  21, 64, 32, 16, 8, 4, 2, 1, ...

                  Görüldüğü gibi dizi 1 sayısına ulaştığı anda sonsuz döngüye girmektedir. Aslında
                  başlangıç sayısı olarak ne girersek girelim dizi her zaman 1 sayısına ulaşmaktadır,
                  ama bu durum henüz matematiksel olarak kanıtlanamamıştır...


                                           Ekran Görüntüsü




Tolga GÜYER                                                                                            Sayfa 33
VB.Net Örnek Uygulamalar
                                 2 Kasım 2011


                              Açıklamalı Kodlar

Public Class Form1
    Dim sayi, sayac, enbuyuk As Long
    Private Sub btnbaslat_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles btnbaslat.Click
        sayi = txtsayi.Text
        lstdizi.Items.Clear()
        sayac = 0
        enbuyuk = 0
        Do
            lstdizi.Items.Add(sayi)
            If sayi Mod 2 = 0 Then ‘Sayı çift ise.
                 sayi = sayi / 2
            Else                     ‘Sayı tek ise.
                 sayi = sayi * 3 + 1
            End If
            sayac = sayac + 1
            If sayi > enbuyuk Then enbuyuk = sayi ‘sayi enbuyuk’ten daha
büyük ise yeni enbuyuk değeri sayi olsun.
        Loop Until sayi = 1
        lstdizi.Items.Add(1)
        lbladimsayisi.Text = sayac + 1
        lblenbuyuk.Text = enbuyuk
    End Sub
End Class




Tolga GÜYER                                                          Sayfa 34
VB.Net Örnek Uygulamalar
                                            2 Kasım 2011

Uygulama No: 23 – Kaprekar Sayıları


Açıklama      :   Kaprekar sayıları , 1949 yılında Hintli matematikçi Kaprekar tarafından tariflenen
                  sayılardır.

                  n basamaklı bir t Kaprekar sayısının karesi alınıp sağdaki n basamağı solda kalan
                  n-1 basamağa eklendiğinde sonuç yine t sayısını verir.

                  Örnek:

                  55 , iki basamaklı bir sayıdır.

                  552 = 3025 , sağdan iki basamak 25 , soldan iki basamak 30.

                  Bu iki sayının toplamı 30+25=55 yani sayının kendisidir.

                  1, 9, 45, 55, 99, 297, 703, 999, 2223, 2728, 4879 sayıları da diğer bazı Kaprekar
                  sayılarıdır.

                                         Ekran Görüntüsü




                                         Açıklamalı Kodlar

Public Class Form1
    Dim sayi, uz, sayi_kare, sagtaraf, soltaraf, basla, bitir,
sagtaraf_uzunluk, sayi_kare_uzunluk As Long
    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles BtnHesapla.Click


Tolga GÜYER                                                                                 Sayfa 35
        LstSayi.Items.Clear()
VB.Net Örnek Uygulamalar
                                  2 Kasım 2011

        basla = TxtBaslangic.Text ' Bu sayı aralığın başlangıç sayısı ve
en az 9 girilmeli
        bitir = TxtBitis.Text
        For sayi = basla To bitir
             uz = Strings.Len(sayi.ToString)
             sayi_kare = sayi * sayi
             sagtaraf = Strings.Right(sayi_kare.ToString, uz)
             sayi_kare_uzunluk = Strings.Len(sayi_kare.ToString)
             sagtaraf_uzunluk = Strings.Len(sagtaraf.ToString)
             soltaraf = Strings.Left(sayi_kare.ToString, sayi_kare_uzunluk
- sagtaraf_uzunluk)
             If sagtaraf + soltaraf = sayi And sayi <> 10 Then
                 LstSayi.Items.Add(sayi)
             End If
        Next

    End Sub
End Class




Tolga GÜYER                                                          Sayfa 36
VB.Net Örnek Uygulamalar
                                          2 Kasım 2011

Uygulama No: 24 – Kaprekar Sabiti


Açıklama      :   Hintli matematikçi Kaprekar (1905-1986) tarafından tanımlanan , dört basamaklı
                  sayılara en fazla yedi kez aşağıdaki işlemler uygulandığında ortaya çıkan sabit
                  6174 sayısı.

                  İşlemler , tüm basamakları aynı sayıdan oluşmayan (2222 gibi - ilk adımda sıfır
                  sonucunu verecektir) ve herhangi üç basamağındaki sayılar aynı olup kalan bir
                  basamaktaki sayı bu sayıdan bir büyük ya da bir küçük olmayan (1112, 5565
                  veya 8788 gibi - ilk adımda 999 sayısını verecektir) dört basamaklı sayılara
                  uygulandığında en fazla yedi adımda sıfır veya 6174 sabit sayısını verir.

                  Yukarıdaki şartlara uygun dört basamaklı bir sayı alınır.
                  Sayının basamaklarını büyükten küçüğe ve küçükten büyüğe doğru sıralayarak
                  iki adet dört basamaklı sayı elde edilir.
                  Elden edilen sayılardan büyükten küçüğü çıkarılır.
                  2. adım tekrar edilir.
                  En fazla yedi adımda sıfır ya da 6174 sabit sayısı elde edilecek ve kısır döngüye
                  girilecektir.

                  Örnek:

                  6544 − 4456 = 2088
                  8820 − 0288 = 8532
                  8532 − 2358 = 6174
                  7641 − 1467 = 6174

                                        Ekran Görüntüsü




                                        Açıklamalı Kodlar

Public Class Form1
    Dim Tmp, Loop1, Loop2, Pos As Byte
    Dim enkucuksayi, enbuyuksayi, fark As Integer
    Dim sayilar(0 To 3)
    Private Sub BtnSirala_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles BtnSirala.Click

           LstBuyukKucuk.Items.Clear()




Tolga GÜYER                                                                                  Sayfa 37
           sayilar(0) = TxtSayi1.Text
VB.Net Örnek Uygulamalar
                                 2 Kasım 2011

        sayilar(1) = TxtSayi2.Text
        sayilar(2) = TxtSayi3.Text
        sayilar(3) = TxtSayi4.Text
        ‘Sıralama algoritması kullanılarak sayilar dizisi küçükten büyüğe
doğru sıralanıyor:
        Do
            For Loop1 = 0 To 3
                Pos = Loop1
                For Loop2 = Loop1 + 1 To 3
                    If sayilar(Loop2) < sayilar(Pos) Then
                        Pos = Loop2
                    End If
                Next Loop2
                If Pos <> Loop1 Then
                    Tmp = sayilar(Pos)
                    sayilar(Pos) = sayilar(Loop1)
                    sayilar(Loop1) = Tmp
                End If
            Next Loop1

            enkucuksayi = 1000 * sayilar(0) + 100 * sayilar(1) + 10 *
sayilar(2) + sayilar(3)
            enbuyuksayi = 1000 * sayilar(3) + 100 * sayilar(2) + 10 *
sayilar(1) + sayilar(0)
            fark = enbuyuksayi - enkucuksayi
            LstBuyukKucuk.Items.Add(enbuyuksayi.ToString + "-" +
enkucuksayi.ToString + "=" + fark.ToString)

            sayilar(0) = Strings.Mid(fark.ToString,   1,   1)
            sayilar(1) = Strings.Mid(fark.ToString,   2,   1)
            sayilar(2) = Strings.Mid(fark.ToString,   3,   1)
            sayilar(3) = Strings.Mid(fark.ToString,   4,   1)
        Loop Until fark = 6174

    End Sub
End Class




Tolga GÜYER                                                             Sayfa 38
VB.Net Örnek Uygulamalar
                                          2 Kasım 2011

Uygulama No: 25 – Mükemmel Sayılar


Açıklama      :   1 dahil, kendisi hariç olmak üzere bölenlerinin toplamına eşit olan sayılara
                  mükemmel sayı adı verilir.

                  Örneğin 6=1+2+3 olduğundan bir mükemmel sayıdır.

                  Bir sonraki mükemmel sayı 28’dir. Çünkü 28=1+2+4+7+14 olur.

                  Geliştirdiğimiz uygulama, kullanıcı tarafından girilecek bir sayının mükemmel
                  olup olmadığını test etmekte, değil ise bir sonraki mükemmel sayıyı
                  hesaplamaktadır.

                                        Ekran Görüntüsü




                                       Açıklamalı Kodlar

Public Class Form1
    Dim sayi, sayi1, toplam, k As Long
    Private Sub BtnKontrol_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles BtnKontrol.Click
        sayi = TxtSayi.Text
        toplam = 0
        For k = 2 To sayi / 2
             If sayi Mod k = 0 Then toplam = toplam + k
        Next
        If toplam + 1 = sayi Then
             MsgBox("MÜKEMMEL!")
        Else ‘Sayı mükemmel değil ise bir sonrakini ara:
             sayi1 = sayi
             Do
                 toplam = 0
                 sayi1 = sayi1 + 1
                 For k = 2 To sayi1 / 2
                      If sayi1 Mod k = 0 Then toplam = toplam + k
                 Next
             Loop Until toplam + 1 = sayi1
             MsgBox(sayi1)
        End If
    End Sub
End Class




Tolga GÜYER                                                                                 Sayfa 39
VB.Net Örnek Uygulamalar
                                          2 Kasım 2011

Uygulama No: 26 – Aritmetik Ortalama ve Standart Sapma


Açıklama      :   Liste kutusuna aktarılan sayıların aritmetik ortalama ve standart sapmaları
                  hesaplanıyor.

                                       Ekran Görüntüsü




                                       Açıklamalı Kodlar

Public Class Form1
    Dim toplam1, toplam2 As Integer
    Dim ort, StdSapma As Double
    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles BtnEkle.Click
        LstSayilar.Items.Add(TxtSayi.Text)
        TxtSayi.Clear()
        TxtSayi.Focus()
    End Sub

    Private Sub BtnCikis_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles BtnCikis.Click
        End
    End Sub

    Private Sub BtnOrtalama_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles BtnOrtalama.Click
        toplam1 = 0
        For k = 0 To LstSayilar.Items.Count - 1
             toplam1 = toplam1 + LstSayilar.Items.Item(k) 'liste kutusundaki
sayılar toplanıyor.
        Next
        ort = toplam1 / LstSayilar.Items.Count 'Toplamın say adetine oranı.
        MsgBox(ort)
    End Sub

    Private Sub BtnStdSapma_Click(ByVal sender As System.Object, ByVal e As

Tolga GÜYER                                                                                Sayfa 40
VB.Net Örnek Uygulamalar
                                    2 Kasım 2011

System.EventArgs) Handles BtnStdSapma.Click
        toplam2 = 0
        For k As Integer = 0 To LstSayilar.Items.Count - 1
             toplam2 = toplam2 + (LstSayilar.Items(k) - ort) ^ 2 'Liste
kutusundaki sayıların her biri ile ortalama arasındaki farkların kareleri
toplamı.
        Next
        StdSapma = Math.Sqrt(toplam2 / (LstSayilar.Items.Count - 1)) 'Kareler
toplamının sayı adetinin bir eksiğine oranının karekökü.
        MsgBox(StdSapma)
    End Sub

    Private Sub BtnSil_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles BtnSil.Click
        LstSayilar.Items.Clear()
        TxtSayi.Focus()
    End Sub
End Class




Tolga GÜYER                                                              Sayfa 41
VB.Net Örnek Uygulamalar
                                          2 Kasım 2011

Uygulama No: 27 – Renk Aktarımı


Açıklama      :   Label (etiket) nesneleri kullanarak oluşturulmuş bir renk paletinin kullanımı.

                                       Ekran Görüntüsü




                                       Açıklamalı Kodlar

Public Class Form1

    Private Sub Label1_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles Label1.Click
        If RBtnForm.Checked Then ‘Eğer formun rengi opsiyonu seçili ise
             Me.BackColor = Label1.BackColor
        Else
             TextBox1.BackColor = Label1.BackColor
        End If
    End Sub

    Private Sub Label2_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles Label2.Click
        If RBtnForm.Checked Then
             Me.BackColor = Label2.BackColor
        Else
             TextBox1.BackColor = Label2.BackColor
        End If
    End Sub

    Private Sub Label3_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles Label3.Click
        If RBtnForm.Checked Then
             Me.BackColor = Label3.BackColor
        Else
             TextBox1.BackColor = Label3.BackColor
        End If
    End Sub

    Private Sub Label4_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles Label4.Click
        If RBtnForm.Checked Then
             Me.BackColor = Label4.BackColor
        Else
             TextBox1.BackColor = Label4.BackColor


Tolga GÜYER                                                                                Sayfa 42
        End If
VB.Net Örnek Uygulamalar
                                 2 Kasım 2011

    End Sub

    Private Sub Label5_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles Label5.Click
        If RBtnForm.Checked Then
             Me.BackColor = Label5.BackColor
        Else
             TextBox1.BackColor = Label5.BackColor
        End If
    End Sub
End Class




Tolga GÜYER                                                          Sayfa 43
VB.Net Örnek Uygulamalar
                                          2 Kasım 2011

Uygulama No: 28 – Fonksiyon Kullanımı 1


Açıklama      :   Fonksiyon kullanılarak dört işlem hesabı.

                                       Ekran Görüntüsü




                                       Açıklamalı Kodlar

Public Class Form1
    Function islem(ByVal kod As Char, ByVal s1 As Integer, ByVal s2 As
Integer) As Double
        Select Case kod
            Case "+" : Return (s1 + s2)
            Case "-" : Return (s1 - s2)
            Case "*" : Return (s1 * s2)
            Case "/" : Return (s1 / s2)
        End Select
    End Function
    Private Sub RadioTopla_CheckedChanged(ByVal sender As System.Object,
ByVal e As System.EventArgs) Handles RadioTopla.CheckedChanged
        TxtSonuc.Text = islem("+", CInt(TxtSayi1.Text),
CInt(TxtSayi2.Text))
    End Sub

    Private Sub RadioCikar_CheckedChanged(ByVal sender As System.Object,
ByVal e As System.EventArgs) Handles RadioCikar.CheckedChanged
        TxtSonuc.Text = islem("-", CInt(TxtSayi1.Text),
CInt(TxtSayi2.Text))
    End Sub

    Private Sub RadioCarp_CheckedChanged(ByVal sender As System.Object,
ByVal e As System.EventArgs) Handles RadioCarp.CheckedChanged
        TxtSonuc.Text = islem("*", CInt(TxtSayi1.Text),
CInt(TxtSayi2.Text))
    End Sub

    Private Sub RadioBol_CheckedChanged(ByVal sender As System.Object,
ByVal e As System.EventArgs) Handles RadioBol.CheckedChanged
        TxtSonuc.Text = islem("/", CInt(TxtSayi1.Text),
CInt(TxtSayi2.Text))
    End Sub
End Class



Tolga GÜYER                                                          Sayfa 44
VB.Net Örnek Uygulamalar
                                         2 Kasım 2011

Uygulama No: 29 – Fonksiyon Kullanımı 2

Açıklama      :   Fonksiyon kullanılarak maaş hesabı.

                                       Ekran Görüntüsü




                                      Açıklamalı Kodlar

Public Class Form1

    Function cocuk_yardimi(ByVal m As Integer, ByVal c As Byte) As Double
        If c = 2 Then
            Return (c * m / 100)
        ElseIf c = 3 Then
            Return (2 * c * m / 100)
        ElseIf c > 3 Then
            Return (5 * c * m / 100)
        Else : Return 0
        End If
    End Function

    Function aile_yardimi(ByVal kod As Byte) As Integer
        If kod = 1 Then
            Return (22)
        ElseIf kod = 2 Then
            Return (48)
        Else : Return 0
        End If
    End Function

    Function yabanci_dil(ByVal kod As Byte) As Integer
        If kod = 1 Then

Tolga GÜYER                                                          Sayfa 45
VB.Net Örnek Uygulamalar
                                       2 Kasım 2011

             Return   125
        ElseIf kod    = 2 Then
             Return   55
        ElseIf kod    = 3 Then
             Return   25
        Else
             Return   0
        End If
    End Function

    Function kidem(ByVal m As Integer, ByVal kod As Byte) As Double
        Return (kod * m / 100)
    End Function

    Private Sub ComboBox1_SelectedIndexChanged(ByVal sender As
System.Object, ByVal e As System.EventArgs) Handles
ComboBox1.SelectedIndexChanged
        If ComboBox1.Text = "Bekar" Then
             ComboBox2.Enabled = False
             RadioButton1.Enabled = False
             RadioButton2.Enabled = False
             RadioButton1.Checked = False
             RadioButton2.Checked = False
        ElseIf ComboBox1.Text = "Boşanmış/Dul" Then
             ComboBox2.Enabled = True
             RadioButton1.Enabled = False
             RadioButton2.Enabled = False
             RadioButton1.Checked = False
             RadioButton2.Checked = False
        Else
             ComboBox2.Enabled = True
             RadioButton1.Enabled = True
             RadioButton2.Enabled = True
        End If
    End Sub

    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles Button1.Click
        Dim m_gosterge As Integer = TextBox1.Text
        Dim maas As Double
        Dim kod As Byte = 0
        Dim cocuk_sayisi As Byte

        If ComboBox2.Text = ">3" Then
             cocuk_sayisi = 4
        Else
             cocuk_sayisi = CInt(ComboBox2.Text)
        End If

        maas = m_gosterge + cocuk_yardimi(m_gosterge, cocuk_sayisi)
        If RadioButton1.Checked Then kod = 1
        If RadioButton2.Checked Then kod = 2
        maas = maas + aile_yardimi(kod)

        kod = 0
        If ComboBox3.Text = "90-100" Then kod = 1
        If ComboBox3.Text = "80-89" Then kod = 2
        If ComboBox3.Text = "70-79" Then kod = 3
        maas = maas + yabanci_dil(kod)



Tolga GÜYER                                                           Sayfa 46
VB.Net Örnek Uygulamalar
                                   2 Kasım 2011

        kod = 0
        If ComboBox4.Text = "Lise" Then kod = 1
        If ComboBox4.Text = "Üniversite" Then kod = 2
        If ComboBox4.Text = "Yüksek Lisans" Then kod = 3
        If ComboBox4.Text = "Doktora" Then kod = 4
        maas = maas + kidem(m_gosterge, kod)

        Label5.Text = maas
    End Sub
End Class




Tolga GÜYER                                                Sayfa 47
VB.Net Örnek Uygulamalar
                                         2 Kasım 2011

Uygulama No: 30 – Palindrom


Açıklama      :   Girilen metnin palindrom (tersten de aynı şekilde okunan) olup olmadığının test
                  edilmesi.

                                       Ekran Görüntüsü




                                       Açıklamalı Kodlar

Public Class Form1
    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles Button1.Click
        Dim metin As String = TextBox1.Text
        Dim metin_ters As String = ""
        For k = Len(metin) - 1 To 0 Step -1
             metin_ters = metin_ters & metin(k)
        Next
        If metin = metin_ters Then MsgBox("TAMAM")
    End Sub
End Class




Tolga GÜYER                                                                              Sayfa 48
VB.Net Örnek Uygulamalar
                                          2 Kasım 2011

Uygulama No: 31 – Palindrom/Liste


Açıklama      :   Girilen metnin içerisinde yer alan palindrom kelimeler ayıklanarak liste kutusuna
                  aktarılıyor.

                                       Ekran Görüntüsü




                                       Açıklamalı Kodlar

Public Class Form1
    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles Button1.Click
        Dim metin As String = TextBox1.Text & " "
        Dim kelime, kelime_ters As String
        Dim p As Integer = 1
        ListBox1.Items.Clear()
        For k = 0 To Len(metin) - 1
             If metin(k) = " " Then
                 kelime = Trim(Strings.Mid(metin, p, k - p + 1))
                 kelime_ters = ""
                 For j = Len(kelime) - 1 To 0 Step -1
                      kelime_ters = kelime_ters & kelime(j)
                 Next
                 If kelime = kelime_ters Then ListBox1.Items.Add(kelime)
                 p = p + Len(kelime) + 1
             End If
        Next
    End Sub
End Class




Tolga GÜYER                                                                                Sayfa 49
VB.Net Örnek Uygulamalar
                                          2 Kasım 2011

Uygulama No: 32 – Metin İstatistikleri


Açıklama      :   Çok-satırlı bir metin kutusuna girilen metnin hece, kelime ve cümle sayıları
                  hesaplanıyor ve girilen bir anahtar kelimenin metin içersinde geçme sayısı
                  bulunuyor.

                                       Ekran Görüntüsü




                                       Açıklamalı Kodlar

Public Class Form1
    Dim metin, anahtar, sonkarakter As String
    Dim kelime_sayisi, cumle_sayisi, hece_sayisi, p, konum, sayac As Integer
    Private Sub BtnHesapla_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles BtnHesapla.Click
        metin = TxtMetin.Text + " "
        kelime_sayisi = 0
        cumle_sayisi = 0
        hece_sayisi = 0
        For k = 0 To Strings.Len(metin) - 1 'Metni sonuna kadar karakter
karakter tarıyor.
            If metin(k) = " " Then kelime_sayisi = kelime_sayisi + 1 'Kelime
sayısı=boşluk sayısı. Çünkü yukarıda fazladan bir boşluk eklemiştik.
            If k = Strings.Len(metin) - 1 Then Exit For 'Aşağıdaki koşulda son
karakterden sonra (k+1) arama yapmasın


Tolga GÜYER                                                                                 Sayfa 50
VB.Net Örnek Uygulamalar
                                    2 Kasım 2011

             If (metin(k) = "." And (metin(k + 1) = " " Or Strings.Asc(metin(k +
1)) = 13)) Or metin(k) = "?" Or metin(k) = "!" Then cumle_sayisi = cumle_sayisi +
1
             'Hece sayısı=sesli harf sayısı:
             If metin(k) = "a" Or metin(k) = "e" Or metin(k) = "ı" Or metin(k) =
"i" Or metin(k) = "o" Or metin(k) = "ö" Or metin(k) = "u" Or metin(k) = "ü" Then
hece_sayisi = hece_sayisi + 1
        Next
        LblCumleSayisi.Text = cumle_sayisi
        LblKelimeSayisi.Text = kelime_sayisi
        LblHeceSayisi.Text = hece_sayisi
    End Sub

    Private Sub BtnBul_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles BtnBul.Click
        metin = TxtMetin.Text
        If RadioButton1.Checked Then 'Serbest arama. Yani "masa" aranırken
"masal" da bulunur.
             anahtar = TxtAnahtarKelime.Text
        Else
             anahtar = " " + TxtAnahtarKelime.Text + " " 'Tam eşitlik arama.
"masa" aranırken, "masal" bulunmaz.
        End If
        sayac = 0
        konum = 1
        Do
             p = Strings.InStr(konum, metin, anahtar) '"anahtar" kelime "metin"
içersinde "konum"dan başlayarak aranıyor.
             If p <> 0 Then sayac = sayac + 1
             konum = p + Strings.Len(anahtar) 'Bulunca aramaya yeni konumdan
devam et.
        Loop Until p = 0
        LblSayi.Text = sayac
    End Sub
End Class




Tolga GÜYER                                                                Sayfa 51
VB.Net Örnek Uygulamalar
                                         2 Kasım 2011

Uygulama No: 33 – Anahtarlı Metin Şifreleme


Açıklama :                              Çok-satırlı bir metin kutusuna girilen bir metin, anahtar
                                        kelime kullanılarak şifreleniyor. Şifreleme, metnin her bir
                                        karakterinin ASCII koduna, anahtar kelimenin her bir
                                        karakterinin ASCII kodunun eklenmesi ile gerçekleştiriliyor.
                                        Aşağıda, örnek üzerinden şifreleme algoritmasının
                                        açıklaması yapılmıştır:

                                          Ek Açıklama
Metin = “Bilgisayar ve Öğretim”
Anahtar = “okul”
 B 254           İ 60  l 254    g 254   i 254    s    a       y       a       r               v       e               Ö       ğ       r
 o 50            k 50 u 255 l 254       o 253    k    u       l       o       k       u       l       o       k       u       l       o
 ,               Ü     #        ^       ?        h    8       9       d       6       ,       i       2       1       m       *       }
 Toplam=304 110        509      508     507
 Mod 255=49 110        254      253     252

 , 49            Ü      # 254   ^ 253    ? 252    h       8       9       d       6       ,       i       2       1       m       *       }
                 110
 o 50            k 50   u 255   l 254    o 253    k       u       l       o       k       u       l       o       k       u       l       o
 Fark=-1         60     -1      -1       -1
 Fark<=0 ise
 +255 = 254             254     254      254
 Aksi halde
 Mod 255         60

                                        Ekran Görüntüsü




Tolga GÜYER                                                                                                               Sayfa 52
VB.Net Örnek Uygulamalar
                                    2 Kasım 2011


                                  Açıklamalı Kodlar

Public Class Form1
    Private Sub BtnSifrele_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles BtnSifrele.Click
        Dim metin As String = TxtMetin.Text
        Dim anahtar As String = InputBox("Anahtar kelimeyi giriniz:")
        Dim sifreli_metin As String = ""
        Dim j As Byte = 0
        For k = 0 To Strings.Len(metin) - 1 'Metni karakter karakter sonuna
kadar tara.
             sifreli_metin = sifreli_metin + Strings.Chr((Strings.Asc(metin(k)) +
Strings.Asc(anahtar(j))) Mod 255)
             'Şifreli metni, her bir karakterinin koduna anahtar kelimenin
sıradaki karakterinin kodunu ekleyerek bul.
             'Neden Mod 255? Çünkü toplam 255 değerini aşabilir.
             j = j + 1
             If j = Strings.Len(anahtar) Then j = 0 'Anahtar kelimenin indisi
ayrı tutulmalı. Yoksa indisde değer aşımı olur.
        Next
        TxtSifreliMetin.Text = sifreli_metin
    End Sub
End Class




Tolga GÜYER                                                                 Sayfa 53
VB.Net Örnek Uygulamalar
                                          2 Kasım 2011

Uygulama No: 34 – Anahtarlı Metin Şifre Çözme


Açıklama      :   Önceki uygulamada gerçekleştirilen şifrelemeyi, aynı anahtarın girilmesi şartıyla
                  ters algoritma kullanarak çözen uygulama.

                                       Ekran Görüntüsü




                                       Açıklamalı Kodlar

Public Class Form1
    Private Sub BtnSifrecoz_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles BtnSifrecoz.Click
        Dim sifreli_metin As String = TxtSifreliMetin.Text
        Dim anahtar As String = InputBox("Anahtar kelimeyi giriniz:")
        Dim metin As String = ""
        Dim kod As Integer
        Dim j As Byte = 0
        For k = 0 To Strings.Len(sifreli_metin) - 1
             kod = Strings.Asc(sifreli_metin(k)) - Strings.Asc(anahtar(j))
             If kod <= 0 Then kod = kod + 255 Else kod = kod Mod 255
             metin = metin + Strings.Chr(kod)
             j = j + 1
             If j = Strings.Len(anahtar) Then j = 0
        Next
        TxtMetin.Text = metin
    End Sub
End Class




Tolga GÜYER                                                                                Sayfa 54
VB.Net Örnek Uygulamalar
                                          2 Kasım 2011

Uygulama No: 35 – Veritabanı Uygulaması 1


Açıklama      :   Veritabanı ile bağlantı kurulması ve veri okunması.

                                       Ekran Görüntüsü




                                       Açıklamalı Kodlar

Public Class Form1

    Private Sub BtnTamam_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles BtnTamam.Click
        Dim baglanti_metni1, baglanti_metni2 As String

        baglanti_metni1 = "Provider=Microsoft.ACE.OLEDB.12.0; Data
Source=|DataDirectory|vt1.accdb; Persist Security Info=False;"
        baglanti_metni2 = "Provider=Microsoft.Jet.OLEDB.4.0; Data
Source=|DataDirectory|vt1.mdb; Persist Security Info=False;"
‘Bu bağlantı metinlerinden birisi kullanılacaktır.
‘MS.ACE.OLEDB motoru 64 bit işletim sistemlerinde sorun çıkarabiliyor.
‘Bu durumda MS.Jet.OLEDB motorunun ve mdb formatının kullanılması tavsiye
edilir.

        Dim baglanti1 As New Data.OleDb.OleDbConnection(baglanti_metni2)
        baglanti1.Open()
‘Bağlantı metni kullanılarak yeni bir bağlantı tanımlanıyor ve açılıyor.

        Dim sql1 As String
        sql1 = "select * from tablo1 where klnad='" & TxtKlnAd.Text & "'
and sifre='" & TxtSifre.Text & "'"
‘Formdaki alanların değerleri kullanılarak veri seçme işlevine sahip bir
SQL cümlesi oluşturuluyor.
        Dim komut1 As New System.Data.OleDb.OleDbCommand(sql1, baglanti1)
‘Bağlantı ve SQL cümlesi kullanılarak yeni bir veritabanı komutu
tanımlanıyor.

        Dim veri_okuyucu1 As Data.OleDb.OleDbDataReader
        veri_okuyucu1 = komut1.ExecuteReader
‘Tanımlanan veritabanı komutu üzerinden bir veri okuyucusu tanımlanıyor ve
çalıştırılıyor.
        If veri_okuyucu1.HasRows = True Then ‘Eğer veri okuyucusunda veri
varsa
            MsgBox("Kullanıcı kayıtlı.")

Tolga GÜYER                                                             Sayfa 55
VB.Net Örnek Uygulamalar
                                 2 Kasım 2011

        Else
            MsgBox("Kullanıcı kayıtlı değil.")
        End If
        baglanti1.Close()

    End Sub

End Class




Tolga GÜYER                                           Sayfa 56
VB.Net Örnek Uygulamalar
                                          2 Kasım 2011

Uygulama No: 36 – Veritabanı Uygulaması 2


Açıklama      :   Veritabanı ile bağlantı kurulması ve veri okunması.

                                       Ekran Görüntüsü




                                       Açıklamalı Kodlar

Public Class Form1

    Private Sub BtnTamam_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles BtnTamam.Click
        Dim baglanti_metni1, baglanti_metni2 As String

        baglanti_metni1 = "Provider=Microsoft.ACE.OLEDB.12.0; Data
Source=|DataDirectory|vt1.accdb; Persist Security Info=False;"
        baglanti_metni2 = "Provider=Microsoft.Jet.OLEDB.4.0; Data
Source=|DataDirectory|vt1.mdb; Persist Security Info=False;"
‘Bu bağlantı metinlerinden birisi kullanılacaktır.
‘MS.ACE.OLEDB motoru 64 bit işletim sistemlerinde sorun çıkarabiliyor.
‘Bu durumda MS.Jet.OLEDB motorunun ve mdb formatının kullanılması tavsiye
edilir.

        Dim baglanti1 As New Data.OleDb.OleDbConnection(baglanti_metni2)
        baglanti1.Open()
‘Bağlantı metni kullanılarak yeni bir bağlantı tanımlanıyor ve açılıyor.

        Dim sql1 As String
        sql1 = "select * from tablo1 where klnad='" & TxtKlnAd.Text & "'
and sifre='" & TxtSifre.Text & "'"
‘Formdaki alanların değerleri kullanılarak veri seçme işlevine sahip bir
SQL cümlesi oluşturuluyor.

        Dim komut1 As New System.Data.OleDb.OleDbCommand(sql1, baglanti1)
‘Bağlantı ve SQL cümlesi kullanılarak yeni bir veritabanı komutu
tanımlanıyor.
        Dim veri_okuyucu1 As Data.OleDb.OleDbDataReader
        veri_okuyucu1 = komut1.ExecuteReader
‘Tanımlanan veritabanı komutu üzerinden bir veri okuyucusu tanımlanıyor ve
çalıştırılıyor.
        If veri_okuyucu1.HasRows = True Then ‘Eğer veri okuyucusunda veri
varsa


Tolga GÜYER                                                             Sayfa 57
            veri_okuyucu1.Read()
VB.Net Örnek Uygulamalar
                                 2 Kasım 2011

             MsgBox("Merhaba " & veri_okuyucu1("ad") & " " &
veri_okuyucu1("soyad") & ". MATRIX'e hoşgeldin...") ‘Veri okuyucusu
kullanılarak istenilen alana ulaşmak mümkün.
        Else
             MsgBox("Kullanıcı kayıtlı değil.")
        End If
        baglanti1.Close()

    End Sub
End Class




Tolga GÜYER                                                           Sayfa 58
VB.Net Örnek Uygulamalar
                                         2 Kasım 2011

Uygulama No: 37 – Veritabanı Uygulaması 3


Açıklama      :   Veritabanına kayıt eklenmesi.

                                       Ekran Görüntüsü




                                      Açıklamalı Kodlar

Public Class Form1

    Private Sub BtnKaydet_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles BtnKaydet.Click

           Dim baglanti_metni1, baglanti_metni2 As String

        baglanti_metni1 = "Provider=Microsoft.ACE.OLEDB.12.0; Data
Source=|DataDirectory|vt2.accdb; Persist Security Info=False;"
        baglanti_metni2 = "Provider=Microsoft.Jet.OLEDB.4.0; Data
Source=|DataDirectory|vt2.mdb; Persist Security Info=False;"

           Dim baglanti1 As New Data.OleDb.OleDbConnection(baglanti_metni2)
           baglanti1.Open()

        Dim sql1 As String
        sql1 = "insert into anatablo (ad,soyad,fakulte,bolum) values ('" +
TxtAd.Text + "','" + TxtSoyad.Text + "','" + CmbFakulte.Text + "','" +
CmbBolum.Text + "')"
‘Veritabanı tablosuna satır eklemek için kullanılacak SQL cümlesi

           Dim komut1 As New System.Data.OleDb.OleDbCommand(sql1, baglanti1)
           komut1.ExecuteNonQuery()‘SQL sorgusu burada çalıştırılıyor.
           baglanti1.Close()
           MsgBox("Veriler Kaydedildi")
           TxtAd.Clear()
           TxtSoyad.Clear()
           TxtAd.Focus()
           CmbBolum.ResetText()
           CmbFakulte.ResetText()

    End Sub
End Class


Tolga GÜYER                                                             Sayfa 59
VB.Net Örnek Uygulamalar
                                         2 Kasım 2011

Uygulama No: 38 – Veritabanı Uygulaması 4

Açıklama      :   Veritabanına kayıt eklenmesi.

                                       Ekran Görüntüsü




                                      Açıklamalı Kodlar

Public Class Form1

    Private Sub BtnKaydet_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles BtnKaydet.Click
        Dim baglanti_metni1, baglanti_metni2 As String

        baglanti_metni1 = "Provider=Microsoft.ACE.OLEDB.12.0; Data
Source=|DataDirectory|sinema.accdb; Persist Security Info=False;"
        baglanti_metni2 = "Provider=Microsoft.Jet.OLEDB.4.0; Data
Source=|DataDirectory|sinema.mdb; Persist Security Info=False;"

           Dim baglanti1 As New Data.OleDb.OleDbConnection(baglanti_metni2)
           baglanti1.Open()

        Dim sql1 As String
        sql1 = "insert into filmler (film_adi,yonetmen,yili,yildiz,yorum)
values ('" + TxtFilmAdi.Text + "','" + TxtYonetmen.Text + "'," &
CInt(CmbYili.Text) & "," & CInt(CmbYildiz.Text) & ",'" & TxtYorum.Text +
"')"
‘Dikkat: insert cümlesinde veritabanında sayı türünde tanımlanmış alanlar
için tek tırnak işareti kullanılmaz.
        Dim komut1 As New System.Data.OleDb.OleDbCommand(sql1, baglanti1)
        komut1.ExecuteNonQuery()
        baglanti1.Close()
        MsgBox("Veriler Kaydedildi")
        TxtFilmAdi.Clear()
        TxtYonetmen.Clear()


Tolga GÜYER                                                             Sayfa 60
VB.Net Örnek Uygulamalar
                                 2 Kasım 2011

        TxtYorum.Clear()
        TxtFilmAdi.Focus()
        CmbYildiz.ResetText()
        CmbYili.ResetText()

    End Sub

    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles MyBase.Load
        For k = 1900 To 2010
             CmbYili.Items.Add(k)
        Next
    End Sub
End Class




Tolga GÜYER                                                            Sayfa 61
VB.Net Örnek Uygulamalar
                                         2 Kasım 2011

Uygulama No: 39 – Veritabanı Uygulaması 5


Açıklama      :   Veritabanına kayıt eklenmesi – Resim uygulamalı.

                                      Ekran Görüntüsü




                                      Açıklamalı Kodlar

Public Class Form1
    Dim b1, b2, b3, b4, b5, yildiz As Byte
    Private Sub BtnKaydet_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles BtnKaydet.Click
        Dim baglanti_metni1, baglanti_metni2 As String

        baglanti_metni1 = "Provider=Microsoft.ACE.OLEDB.12.0; Data
Source=|DataDirectory|sinema.accdb; Persist Security Info=False;"
        baglanti_metni2 = "Provider=Microsoft.Jet.OLEDB.4.0; Data
Source=|DataDirectory|sinema.mdb; Persist Security Info=False;"

           Dim baglanti1 As New Data.OleDb.OleDbConnection(baglanti_metni2)
           baglanti1.Open()

        Dim sql1 As String
        sql1 = "insert into filmler (film_adi,yonetmen,yili,yildiz,yorum)
values ('" + TxtFilmAdi.Text + "','" + TxtYonetmen.Text + "'," &
CInt(CmbYili.Text) & "," & yildiz & ",'" & TxtYorum.Text + "')"

           Dim komut1 As New System.Data.OleDb.OleDbCommand(sql1, baglanti1)
           komut1.ExecuteNonQuery()
           baglanti1.Close()
           TxtFilmAdi.Clear()
           TxtYonetmen.Clear()


Tolga GÜYER                                                             Sayfa 62
           TxtYorum.Clear()
VB.Net Örnek Uygulamalar
                                    2 Kasım 2011

        TxtFilmAdi.Focus()
        CmbYili.ResetText()

        PictureBox1.ImageLocation    = "bos_yildiz.bmp"
        PictureBox1.Load()
        PictureBox2.ImageLocation    = "bos_yildiz.bmp"
        PictureBox2.Load()
        PictureBox3.ImageLocation    = "bos_yildiz.bmp"
        PictureBox3.Load()
        PictureBox4.ImageLocation    = "bos_yildiz.bmp"
        PictureBox4.Load()
        PictureBox5.ImageLocation    = "bos_yildiz.bmp"
        PictureBox5.Load()
        b1 = 0
        b2 = 0
        b3 = 0
        b4 = 0
        b5 = 0
        yildiz = 0

    End Sub

    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles MyBase.Load
        For k = 1900 To 2010 ‘ComboBox bu döngü ile dolduruluyor.
             CmbYili.Items.Add(k)
        Next
        yildiz = 0 ‘Filmin yıldız toplamını tutacak değişken; başlangıçta
sıfırlanıyor.
    End Sub

    Private Sub PictureBox1_Click(ByVal sender As System.Object, ByVal e
As System.EventArgs) Handles PictureBox1.Click
        If b1 = 0 Then ‘Eğer ilk defa tıklandı ise
            PictureBox1.ImageLocation = "dolu_yildiz.bmp" ‘Resim dosyası
            PictureBox1.Load()‘Resmi yükle
            b1 = 1
            yildiz = yildiz + 1 ‘Her sarı yıldız resmi için yıldız puanını
bir artır.
        Else ‘Eğer ikinci defa tıklandı ise
            PictureBox1.ImageLocation = "bos_yildiz.bmp"
            PictureBox1.Load()
            b1 = 0
            yildiz = yildiz – 1 ‘Her beyaz yıldız resmi için yıldız
puanını bir azalt.
        End If
    End Sub

    Private Sub PictureBox2_Click(ByVal sender As System.Object, ByVal e
As System.EventArgs) Handles PictureBox2.Click
        If b2 = 0 Then
             PictureBox2.ImageLocation = "dolu_yildiz.bmp"
             PictureBox2.Load()
             b2 = 1
             yildiz = yildiz + 1
        Else
             PictureBox2.ImageLocation = "bos_yildiz.bmp"
             PictureBox2.Load()
             b2 = 0
             yildiz = yildiz - 1


Tolga GÜYER                                                          Sayfa 63
VB.Net Örnek Uygulamalar
                                 2 Kasım 2011

        End If
    End Sub

    Private Sub PictureBox3_Click(ByVal sender As System.Object, ByVal e
As System.EventArgs) Handles PictureBox3.Click
        If b3 = 0 Then
             PictureBox3.ImageLocation = "dolu_yildiz.bmp"
             PictureBox3.Load()
             b3 = 1
             yildiz = yildiz + 1
        Else
             PictureBox3.ImageLocation = "bos_yildiz.bmp"
             PictureBox3.Load()
             b3 = 0
             yildiz = yildiz - 1
        End If
    End Sub

    Private Sub PictureBox4_Click(ByVal sender As System.Object, ByVal e
As System.EventArgs) Handles PictureBox4.Click
        If b4 = 0 Then
             PictureBox4.ImageLocation = "dolu_yildiz.bmp"
             PictureBox4.Load()
             b4 = 1
             yildiz = yildiz + 1
        Else
             PictureBox4.ImageLocation = "bos_yildiz.bmp"
             PictureBox4.Load()
             b4 = 0
             yildiz = yildiz - 1
        End If
    End Sub

    Private Sub PictureBox5_Click(ByVal sender As System.Object, ByVal e
As System.EventArgs) Handles PictureBox5.Click
        If b5 = 0 Then
             PictureBox5.ImageLocation = "dolu_yildiz.bmp"
             PictureBox5.Load()
             b5 = 1
             yildiz = yildiz + 1
        Else
             PictureBox5.ImageLocation = "bos_yildiz.bmp"
             PictureBox5.Load()
             b5 = 0
             yildiz = yildiz - 1
        End If
    End Sub

    Private Sub BtnKapat_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles BtnKapat.Click
        End
    End Sub
End Class




Tolga GÜYER                                                          Sayfa 64
VB.Net Örnek Uygulamalar
                                   2 Kasım 2011

Uygulama No: 40 – Veritabanı Uygulaması 6


Açıklama      :          Veritabanına kayıt ekleme, kayıt düzeltme, kayıt silme ve dinamik
                         ComboBox denetimi

                         Ekran Görüntüsü – Form3 (Menü)




                                 Açıklamalı Kodlar

Public Class Form3

    Private Sub BtnGiris_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles BtnGiris.Click
        Form1.ShowDialog()‘Form1 in açılmasını sağlar. Show metodundan
farkı, form açıldığında arkada kalan diğer uygulama pencerelerinin
çalışmasına izin vermemesidir.
    End Sub

    Private Sub BtnAra_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles BtnAra.Click
        Form2.ShowDialog()
    End Sub

    Private Sub BtnKapat_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles BtnKapat.Click
        End
    End Sub
End Class




Tolga GÜYER                                                                        Sayfa 65
VB.Net Örnek Uygulamalar
                                   2 Kasım 2011




                       Ekran Görüntüsü – Form1 (Veri Girişi)




                                Açıklamalı Kodlar

Public Class Form1
    Dim baglanti As New
Data.OleDb.OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;
DataSource=|DataDirectory|meteor.mdb; Persist Security Info=False;")
    Private Sub BtnKaydet_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles BtnKaydet.Click
        baglanti.Open()
        If CmbBolge.Text = "SEÇİNİZ" Then ‘Bölge seçmeden olmaz…
             MsgBox("Bölge Seçiniz!")
        ElseIf Cmbil.Text = "SEÇİNİZ" Then ‘İl seçmeden olmaz…
             MsgBox("İl Seçiniz!")
        Else
             Dim sql, hava_durumu As String
             Dim hava_durumu_kodu As Byte

            If rdb_gunesli_1.Checked Then ‘Eğer güneşli resminin yanındaki
radyo düğmesi işaretli ise bu durumda hava durumu kodu ve haca durumu
değişkenlerine uygun değerler aktarılıyor.
                hava_durumu_kodu = 1
                hava_durumu = "Güneşli"
            ElseIf rdb_azbulutlu_2.Checked Then

Tolga GÜYER                                                          Sayfa 66
VB.Net Örnek Uygulamalar
                                    2 Kasım 2011

                   hava_durumu_kodu = 2
                   hava_durumu = "Az Bulutlu"
               ElseIf rdb_bulutlu_3.Checked Then
                   hava_durumu_kodu = 3
                   hava_durumu = "Bulutlu"
               ElseIf rdb_gokgurultulu_4.Checked Then
                   hava_durumu_kodu = 4
                   hava_durumu = "Gök Gürültülü ve Sağanak Yağışlı"
               ElseIf rdb_karlakar_5.Checked Then
                   hava_durumu_kodu = 5
                   hava_durumu = "Karla Karışık Yağmurlu"
               ElseIf rdb_kar_6.Checked Then
                   hava_durumu_kodu = 6
                   hava_durumu = "Kar Yağışlı"
               ElseIf rdb_parcali_7.Checked Then
                   hava_durumu_kodu = 7
                   hava_durumu = "Parçalı Bulutlu"
               ElseIf rdb_saganak_8.Checked Then
                   hava_durumu_kodu = 8
                   hava_durumu = "Sağanak Yağışlı"
               ElseIf rdb_sis_9.Checked Then
                   hava_durumu_kodu = 9
                   hava_durumu = "Sisli"
               ElseIf rdb_yeryeryagmur_10.Checked Then
                   hava_durumu_kodu = 10
                   hava_durumu = "Yer Yer Yağmurlu"
               End If

            sql = "insert into ana_tablo
(bolge,il,hava_durumu_kodu,hava_durumu,yorum,tarih) values ('" &
CmbBolge.Text & "','" & Cmbil.Text & "'," & hava_durumu_kodu & ",'" &
hava_durumu & "','" & TxtYorum.Text & "','" & Tarih.Value.Date & "')"

               Dim komut As New System.Data.OleDb.OleDbCommand(sql, baglanti)
               komut.ExecuteNonQuery()

               MsgBox("Bilgiler Veritabanına Kaydedilmiştir.")

               CmbBolge.Text = "SEÇİNİZ" ‘Kayıttan sora ekran ilk haline
getiriliyor.
            Cmbil.Text = "SEÇİNİZ"
            Cmbil.Items.Clear()
            TxtYorum.Clear()
            rdb_gunesli_1.Checked = False
            rdb_azbulutlu_2.Checked = False
            rdb_bulutlu_3.Checked = False
            rdb_gokgurultulu_4.Checked = False
            rdb_karlakar_5.Checked = False
            rdb_kar_6.Checked = False
            rdb_parcali_7.Checked = False
            rdb_saganak_8.Checked = False
            rdb_sis_9.Checked = False
            rdb_yeryeryagmur_10.Checked = False
            CmbBolge.Focus()
        End If
        baglanti.Close()
    End Sub

    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles MyBase.Load


Tolga GÜYER                                                                Sayfa 67
Auebf ornekler
Auebf ornekler
Auebf ornekler
Auebf ornekler
Auebf ornekler
Auebf ornekler
Auebf ornekler
Auebf ornekler
Auebf ornekler
Auebf ornekler
Auebf ornekler
Auebf ornekler
Auebf ornekler
Auebf ornekler
Auebf ornekler
Auebf ornekler
Auebf ornekler
Auebf ornekler
Auebf ornekler
Auebf ornekler
Auebf ornekler
Auebf ornekler
Auebf ornekler
Auebf ornekler
Auebf ornekler
Auebf ornekler
Auebf ornekler
Auebf ornekler
Auebf ornekler
Auebf ornekler
Auebf ornekler
Auebf ornekler
Auebf ornekler
Auebf ornekler
Auebf ornekler
Auebf ornekler
Auebf ornekler

More Related Content

Similar to Auebf ornekler

Adobe Fireworks CS5 Türkçe Yardım Kitapçığı
Adobe Fireworks CS5 Türkçe Yardım KitapçığıAdobe Fireworks CS5 Türkçe Yardım Kitapçığı
Adobe Fireworks CS5 Türkçe Yardım Kitapçığıdeniz armutlu
 
Yönetim muhasebesi
Yönetim muhasebesiYönetim muhasebesi
Yönetim muhasebesi1noludepo
 
Adobe Flash as3 actionscript 3 ile programlama türkçe
Adobe Flash as3 actionscript 3 ile programlama türkçeAdobe Flash as3 actionscript 3 ile programlama türkçe
Adobe Flash as3 actionscript 3 ile programlama türkçedeniz armutlu
 
Adobe Flash ActionScript 3 Programlama Türkçe
Adobe Flash ActionScript 3 Programlama TürkçeAdobe Flash ActionScript 3 Programlama Türkçe
Adobe Flash ActionScript 3 Programlama Türkçedeniz armutlu
 
Nesne tabanlı programlama 2
Nesne tabanlı programlama 2Nesne tabanlı programlama 2
Nesne tabanlı programlama 2Erol Dizdar
 
Açık-Kaynak-Kod-Geçiş-Rehberi-2023.pdf
Açık-Kaynak-Kod-Geçiş-Rehberi-2023.pdfAçık-Kaynak-Kod-Geçiş-Rehberi-2023.pdf
Açık-Kaynak-Kod-Geçiş-Rehberi-2023.pdfMustafa Kuğu
 
Adobe Fireworks CS4 Kullanım Kitapçığı Türkçe
Adobe Fireworks CS4 Kullanım Kitapçığı TürkçeAdobe Fireworks CS4 Kullanım Kitapçığı Türkçe
Adobe Fireworks CS4 Kullanım Kitapçığı Türkçedeniz armutlu
 
TEST ve HATA DURUMU İZLEME ARACI
TEST ve HATA DURUMU İZLEME ARACITEST ve HATA DURUMU İZLEME ARACI
TEST ve HATA DURUMU İZLEME ARACIEmrah İlerigelen
 

Similar to Auebf ornekler (8)

Adobe Fireworks CS5 Türkçe Yardım Kitapçığı
Adobe Fireworks CS5 Türkçe Yardım KitapçığıAdobe Fireworks CS5 Türkçe Yardım Kitapçığı
Adobe Fireworks CS5 Türkçe Yardım Kitapçığı
 
Yönetim muhasebesi
Yönetim muhasebesiYönetim muhasebesi
Yönetim muhasebesi
 
Adobe Flash as3 actionscript 3 ile programlama türkçe
Adobe Flash as3 actionscript 3 ile programlama türkçeAdobe Flash as3 actionscript 3 ile programlama türkçe
Adobe Flash as3 actionscript 3 ile programlama türkçe
 
Adobe Flash ActionScript 3 Programlama Türkçe
Adobe Flash ActionScript 3 Programlama TürkçeAdobe Flash ActionScript 3 Programlama Türkçe
Adobe Flash ActionScript 3 Programlama Türkçe
 
Nesne tabanlı programlama 2
Nesne tabanlı programlama 2Nesne tabanlı programlama 2
Nesne tabanlı programlama 2
 
Açık-Kaynak-Kod-Geçiş-Rehberi-2023.pdf
Açık-Kaynak-Kod-Geçiş-Rehberi-2023.pdfAçık-Kaynak-Kod-Geçiş-Rehberi-2023.pdf
Açık-Kaynak-Kod-Geçiş-Rehberi-2023.pdf
 
Adobe Fireworks CS4 Kullanım Kitapçığı Türkçe
Adobe Fireworks CS4 Kullanım Kitapçığı TürkçeAdobe Fireworks CS4 Kullanım Kitapçığı Türkçe
Adobe Fireworks CS4 Kullanım Kitapçığı Türkçe
 
TEST ve HATA DURUMU İZLEME ARACI
TEST ve HATA DURUMU İZLEME ARACITEST ve HATA DURUMU İZLEME ARACI
TEST ve HATA DURUMU İZLEME ARACI
 

Auebf ornekler

  • 1. VB.Net Örnek Uygulamalar Tolga GÜYER 02.11.2011
  • 2. VB.Net Örnek Uygulamalar 2 Kasım 2011 İçindekiler Uygulama No: 1 – Buraya Basmayın! ...................................................................................................... 4 Uygulama No: 2 – Vücut-Kitle İndeksi ..................................................................................................... 5 Uygulama No: 3 – Burçlar ........................................................................................................................ 7 Uygulama No: 4 – Not Hesapla................................................................................................................ 9 Uygulama No: 5 – Ders Ekle .................................................................................................................. 11 Uygulama No: 6 – Ders Kodu................................................................................................................. 12 Uygulama No: 7 – Geçme Notu ............................................................................................................. 13 Uygulama No: 8 – Numara Oluştur ....................................................................................................... 15 Uygulama No: 9 – İl ve İlçe .................................................................................................................... 17 Uygulama No: 10 – Kimlik Ekle .............................................................................................................. 18 Uygulama No: 11 – E-Posta Adresi Oluşturma ...................................................................................... 20 Uygulama No: 12 – Olaylar-1................................................................................................................. 21 Uygulama No: 13 – Dört İşlem .............................................................................................................. 23 Uygulama No: 14 – Ardışık Sayıların Toplamı ........................................................................................ 24 Uygulama No: 15 – Mekanik Sayaç ....................................................................................................... 25 Uygulama No: 16 – Asal Sayı Testi......................................................................................................... 26 Uygulama No: 17 – Pi Sayısının Yaklaşık Hesabı .................................................................................... 27 Uygulama No: 18 – Kuvvet ve Faktöriyel Hesabı ................................................................................... 29 Uygulama No: 19 – İç İçe Döngü ........................................................................................................... 30 Uygulama No: 20 – 153 Sayısı ............................................................................................................... 31 Uygulama No: 21 – Pisagor Üçlüleri ...................................................................................................... 32 Uygulama No: 22 – Collatz Problemi ..................................................................................................... 33 Uygulama No: 23 – Kaprekar Sayıları .................................................................................................... 35 Uygulama No: 24 – Kaprekar Sabiti ....................................................................................................... 37 Uygulama No: 25 – Mükemmel Sayılar ................................................................................................. 39 Uygulama No: 26 – Aritmetik Ortalama ve Standart Sapma................................................................. 40 Uygulama No: 27 – Renk Aktarımı......................................................................................................... 42 Uygulama No: 28 – Fonksiyon Kullanımı 1 ............................................................................................ 44 Uygulama No: 29 – Fonksiyon Kullanımı 2 ............................................................................................ 45 Uygulama No: 30 – Palindrom............................................................................................................... 48 Uygulama No: 31 – Palindrom/Liste...................................................................................................... 49 Tolga GÜYER Sayfa 2
  • 3. VB.Net Örnek Uygulamalar 2 Kasım 2011 Uygulama No: 32 – Metin İstatistikleri .................................................................................................. 50 Uygulama No: 33 – Anahtarlı Metin Şifreleme ..................................................................................... 52 Uygulama No: 34 – Anahtarlı Metin Şifre Çözme.................................................................................. 54 Uygulama No: 35 – Veritabanı Uygulaması 1 ........................................................................................ 55 Uygulama No: 36 – Veritabanı Uygulaması 2 ........................................................................................ 57 Uygulama No: 37 – Veritabanı Uygulaması 3 ........................................................................................ 59 Uygulama No: 38 – Veritabanı Uygulaması 4 ........................................................................................ 60 Uygulama No: 39 – Veritabanı Uygulaması 5 ........................................................................................ 62 Uygulama No: 40 – Veritabanı Uygulaması 6 ........................................................................................ 65 VERİTABANI UYGULAMALARI HAKKINDA ÖZET BİLGİ ........................................................................... 75 Uygulama No: 41 – Veritabanı Uygulaması 7 ........................................................................................ 78 Uygulama No: 42 – Veritabanı Uygulaması 8 ........................................................................................ 81 Uygulama No: 43 – Anket ...................................................................................................................... 85 Uygulama No: 44 – Anket Göster .......................................................................................................... 88 Uygulama No: 45 – Veritabanı Uygulaması 9 ........................................................................................ 95 Uygulama No: 46 – Veritabanı Uygulaması 10 ...................................................................................... 97 Uygulama No: 47 – Veritabanı Uygulaması 11 .................................................................................... 100 Tolga GÜYER Sayfa 3
  • 4. VB.Net Örnek Uygulamalar 2 Kasım 2011 Uygulama No: 1 – Buraya Basmayın! Açıklama : Metin kutusuna herhangi bir metin girilmemiş ise butona basıldığında tepki veriliyor. Ekran Görüntüsü Açıklamalı Kodlar Public Class Form1 Private Sub basma_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles basma.Click If giris.Text = "" Then ‘Eğer metin kutusu boş ise… MsgBox("Basmayın demiştim") basma.BackColor = Color.Red ‘Buton kırmızı oluyor. Else basma.BackColor = Color.GreenYellow ‘Aksi halde yeşile dönüyor. End If End Sub End Class Tolga GÜYER Sayfa 4
  • 5. VB.Net Örnek Uygulamalar 2 Kasım 2011 Uygulama No: 2 – Vücut-Kitle İndeksi Açıklama : Girilen ağırlık ve boy verilerine göre vücut-kitle indeksi belirleniyor ve kişinin girdiği ağırlık sınıfı görsel destekle sunuluyor. Ekran Görüntüsü Açıklamalı Kodlar Public Class Form1 Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click TxtVki.Text = TxtKilo.Text / (TxtBoy.Text * TxtBoy.Text) ‘Vücut kitle indeksi=ağırlık (kg) / boyun (m) karesi. If TxtVki.Text <= 19 Then TxtSonuc.Text = "Zayıf" PictureBox1.ImageLocation = "zayif.jpg" End If Tolga GÜYER Sayfa 5
  • 6. VB.Net Örnek Uygulamalar 2 Kasım 2011 If TxtVki.Text >= 20 And TxtVki.Text < 25 Then TxtSonuc.Text = "İdeal sınırlarda" PictureBox1.ImageLocation = "ideal.jpg" End If If TxtVki.Text >= 25 And TxtVki.Text < 30 Then TxtSonuc.Text = "Hafif şişman" PictureBox1.ImageLocation = "hafif_sisman.jpg" End If If TxtVki.Text >= 30 And TxtVki.Text < 35 Then TxtSonuc.Text = "Şişman" PictureBox1.ImageLocation = "sisman.jpg" End If If TxtVki.Text >= 35 And TxtVki.Text < 45 Then TxtSonuc.Text = "Sağlık açısından önemli" PictureBox1.ImageLocation = "saglik_acisindan_tehlike.jpg" End If If TxtVki.Text >= 45 And TxtVki.Text < 50 Then TxtSonuc.Text = "Aşırı şişman" PictureBox1.ImageLocation = "cok_sisman.jpg" End If If TxtVki.Text >= 50 Then TxtSonuc.Text = "Morbid (ölümcül) şişman" PictureBox1.ImageLocation = "morbid.jpg" End If End Sub End Class Tolga GÜYER Sayfa 6
  • 7. VB.Net Örnek Uygulamalar 2 Kasım 2011 Uygulama No: 3 – Burçlar Açıklama : Date-Time Picker kontrolünden seçilen tarihe göre kişinin burcunun ne olduğu belirleniyor ve görsel destekle sunuluyor. Ekran Görüntüsü Açıklamalı Kodlar Public Class Form1 Dim gun, ay As Integer Private Sub DateTimePicker1_ValueChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles DateTimePicker1.ValueChanged gun = DateTimePicker1.Value.Day ‘Sadece gün bilgisi alınıyor. ay = DateTimePicker1.Value.Month ‘Sadece ay bilgisi alınıyor. If (ay = 12 And gun >= 23) Or (ay = 1 And gun <= 20) Then TxtBurc.Text = "OĞLAK" PictureBox1.ImageLocation = "oglak.jpg" End If If (ay = 9 And gun >= 22) Or (ay = 10 And gun <= 23) Then TxtBurc.Text = "TERAZİ" PictureBox1.ImageLocation = "terazi.jpg" End If If (ay = 1 And gun >= 21) Or (ay = 2 And gun <= 19) Then TxtBurc.Text = "KOVA" PictureBox1.ImageLocation = "kova.jpg" End If If (ay = 2 And gun >= 20) Or (ay = 3 And gun <= 20) Then TxtBurc.Text = "BALIK" PictureBox1.ImageLocation = "balik.jpg" End If Tolga GÜYER Sayfa 7
  • 8. VB.Net Örnek Uygulamalar 2 Kasım 2011 If (ay = 3 And gun >= 21) Or (ay = 4 And gun <= 20) Then TxtBurc.Text = "KOÇ" PictureBox1.ImageLocation = "koc.jpg" End If If (ay = 4 And gun >= 21) Or (ay = 5 And gun <= 21) Then TxtBurc.Text = "BOĞA" PictureBox1.ImageLocation = "boga.jpg" End If If (ay = 5 And gun >= 22) Or (ay = 6 And gun <= 21) Then TxtBurc.Text = "İKİZLER" PictureBox1.ImageLocation = "ikizler.jpg" End If If (ay = 6 And gun >= 22) Or (ay = 7 And gun <= 23) Then TxtBurc.Text = "YENGEÇ" PictureBox1.ImageLocation = "yengec.jpg" End If If (ay = 7 And gun >= 24) Or (ay = 8 And gun <= 23) Then TxtBurc.Text = "ASLAN" PictureBox1.ImageLocation = "aslan.jpg" End If If (ay = 8 And gun >= 24) Or (ay = 9 And gun <= 23) Then TxtBurc.Text = "BAŞAK" PictureBox1.ImageLocation = "basak.jpg" End If If (ay = 10 And gun >= 23) Or (ay = 11 And gun <= 22) Then TxtBurc.Text = "AKREP" PictureBox1.ImageLocation = "akrep.jpg" End If If (ay = 11 And gun >= 23) Or (ay = 12 And gun <= 22) Then TxtBurc.Text = "YAY" PictureBox1.ImageLocation = "yay.jpg" End If End Sub End Class Tolga GÜYER Sayfa 8
  • 9. VB.Net Örnek Uygulamalar 2 Kasım 2011 Uygulama No: 4 – Not Hesapla Açıklama : Girilen ara sınav ve genel sınav notları kullanılarak geçme notu hesaplanıyor ve bu geçme notuna karşılık gelen harf notu belirleniyor. Ekran Görüntüsü Açıklamalı Kodlar Public Class Form1 Dim vize, final As Integer Dim gecme As Double Private Sub Txt_Final_TextChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles Txt_Final.TextChanged ‘Final notunun girildiği metin kutusu değişirken… If Txt_Final.Text <> "" And IsNumeric(Txt_Final.Text) Then ‘Eğer final metin kutusu dolu ve sayısal veri ise… If Txt_Final.Text > 100 Then ‘Eğer girilen final değeri 100 den büyük ise… MsgBox("Hatalı Giriş!") Txt_Final.Clear() TxtGecme.Clear() TxtHarf.Clear() TxtGecme.BackColor = Color.White Else ‘Aksi halde, yani final 100 den küçük… If Txt_Vize.Text <> "" And IsNumeric(Txt_Vize.Text) Then vize = Txt_Vize.Text final = Txt_Final.Text gecme = 2 * vize / 5 + 3 * final / 5 ‘vizenin %40’ı + finalin %60’ı TxtGecme.Text = gecme If gecme >= 50 Then TxtGecme.BackColor = Color.GreenYellow Else TxtGecme.BackColor = Color.Red End If End If Else ‘Ya final alanı boş, ya da girilen değer sayısal değil. TxtGecme.Clear() Tolga GÜYER Sayfa 9
  • 10. VB.Net Örnek Uygulamalar 2 Kasım 2011 TxtHarf.Clear() TxtGecme.BackColor = Color.White End If End Sub Private Sub Txt_Vize_TextChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles Txt_Vize.TextChanged ‘Aynı şeyler vize notu için de yapılıyor. If Txt_Vize.Text <> "" And IsNumeric(Txt_Vize.Text) Then If Txt_Vize.Text > 100 Then MsgBox("Hatalı Giriş!") Txt_Vize.Clear() TxtGecme.Clear() TxtHarf.Clear() TxtGecme.BackColor = Color.White Else If Txt_Final.Text <> "" And IsNumeric(Txt_Final.Text) Then vize = Txt_Vize.Text final = Txt_Final.Text gecme = 2 * vize / 5 + 3 * final / 5 TxtGecme.Text = gecme If gecme >= 50 Then TxtGecme.BackColor = Color.GreenYellow Else TxtGecme.BackColor = Color.Red End If End If Else TxtGecme.Clear() TxtHarf.Clear() TxtGecme.BackColor = Color.White End If End Sub Private Sub TxtGecme_TextChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles TxtGecme.TextChanged ‘Geçme notu alanı değişirken harf notu hesaplanıyor. If TxtGecme.Text <> "" Then If TxtGecme.Text >= 90 Then TxtHarf.Text = "AA" ElseIf TxtGecme.Text >= 80 Then TxtHarf.Text = "BA" ElseIf TxtGecme.Text >= 70 Then TxtHarf.Text = "BB" ElseIf TxtGecme.Text >= 60 Then TxtHarf.Text = "CB" ElseIf TxtGecme.Text >= 50 Then TxtHarf.Text = "CC" ElseIf TxtGecme.Text >= 40 Then TxtHarf.Text = "DC" ElseIf TxtGecme.Text >= 30 Then TxtHarf.Text = "DD" ElseIf TxtGecme.Text >= 20 Then TxtHarf.Text = "FD" Else TxtHarf.Text = "FF" End If End If End Sub End Class Tolga GÜYER Sayfa 10
  • 11. VB.Net Örnek Uygulamalar 2 Kasım 2011 Uygulama No: 5 – Ders Ekle Açıklama : İki adet metin kutusundan alınan bilgilerle oluşturulan ders kodu ve adı liste kutusuna ekleniyor. Daha sonra liste kutusundan seçilen ders silinebiliyor. Ekran Görüntüsü Açıklamalı Kodlar Public Class Form1 Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click ListBox1.Items.Add(TextBox1.Text + " " + TextBox2.Text) ‘Ders kodu ve adı metinleri birleştirilerek liste kutusuna aktarılıyor. End Sub Private Sub Button3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button3.Click ListBox1.Items.Clear() End Sub Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click ListBox1.Items.Remove(ListBox1.SelectedItem) ‘Liste kutusundan seçili olan seçenek siliniyor. End Sub End Class Tolga GÜYER Sayfa 11
  • 12. VB.Net Örnek Uygulamalar 2 Kasım 2011 Uygulama No: 6 – Ders Kodu Açıklama : Metin kutusuna girilen ders kodu ve adı ayrıştırılarak iki ayrı liste kutusuna ekleniyor. Ekran Görüntüsü Açıklamalı Kodlar Public Class Form1 Dim dersin_kodu, dersin_adi, ders As String Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click ders = TextBox1.Text dersin_kodu = Strings.UCase(Strings.Left(ders, 6)) ‘Ders kodu, büyük harfe dönüştürülen metnin soldan 6 karakteri alınarak ayrıştırılıyor. dersin_adi = Strings.Right(ders, Strings.Len(ders) - 6) ‘Ders adı, metnin sağdan uzunluğu-6 karakteri alınarak ayrıştırılıyor. ListBox1.Items.Add(dersin_kodu) ListBox2.Items.Add(dersin_adi) TextBox1.Clear() End Sub End Class Tolga GÜYER Sayfa 12
  • 13. VB.Net Örnek Uygulamalar 2 Kasım 2011 Uygulama No: 7 – Geçme Notu Açıklama : Metin kutusuna girilen numara bilgisi kullanılarak öğrencinin giriş yılı ve fakültesi belirleniyor. Arasınav ve Final notları kullanılarak geçme notu ve bu nota karşılık gelen harf notu hesaplanıyor. Ekran Görüntüsü Açıklamalı Kodlar Public Class Form1 Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click Dim Notu As Integer Dim Yil As String Dim Fak, numara As String Yil = Strings.Left(TextBox1.Text, 2) ‘Eğer giriş yılının son iki hanesi 50’den küçükse 2000’li yıllar olduğunu anla ve başına 20 ekle. Aksi halde başına 19 ekle: If Yil < 50 Then ListBox1.Items.Add("20" + Yil) Else ListBox1.Items.Add("19" + Yil) End If numara = TextBox1.Text Fak = Strings.Mid(numara, 3, 2) If Fak = "01" Then ListBox2.Items.Add("Mühendislik") ElseIf Fak = "02" Then ListBox2.Items.Add("Eğitim Bil.") ElseIf Fak = "03" Then ListBox2.Items.Add("Hukuk") ElseIf Fak = "04" Then ListBox2.Items.Add("iletişim") Else ListBox2.Items.Add("Diğerleri") End If ListBox3.Items.Add(TextBox2.Text + " " + TextBox3.Text) Notu = (TextBox4.Text * 0.4) + (TextBox5.Text * 0.6) Tolga GÜYER Sayfa 13
  • 14. VB.Net Örnek Uygulamalar 2 Kasım 2011 ListBox4.Items.Add(Notu) If Notu <= 100 And Notu > 89 Then ListBox5.Items.Add("AA") ElseIf Notu > 84 Then ListBox5.Items.Add("BA") ElseIf Notu > 79 Then ListBox5.Items.Add("BB") ElseIf Notu > 74 Then ListBox5.Items.Add("CB") ElseIf Notu > 69 Then ListBox5.Items.Add("CC") ElseIf Notu > 64 Then ListBox5.Items.Add("DC") ElseIf Notu > 59 Then ListBox5.Items.Add("DD") ElseIf Notu > 49 Then ListBox5.Items.Add("FD") ElseIf Notu < 50 Then ListBox5.Items.Add("FF") End If TextBox1.Text = "" TextBox2.Text = "" TextBox3.Text = "" TextBox4.Text = "" TextBox5.Text = "" TextBox1.Focus() End Sub End Class Tolga GÜYER Sayfa 14
  • 15. VB.Net Örnek Uygulamalar 2 Kasım 2011 Uygulama No: 8 – Numara Oluştur Açıklama : Açılan kutudan (ComboBox) seçilen fakülteye göre öğrenci numarası oluşturuluyor. Giriş yılı sistem zamanından alınıyor ve her fakülte için sıra numaraları ayrı sayaçlarda tutuluyor. Ekran Görüntüsü Açıklamalı Kodlar Public Class Form1 Dim fakulte_adi, fakulte_kodu, sira, numara As String Dim egt_sayac, muh_sayac, huk_sayac, tip_sayac, sayac As Integer Private Sub ComboBox1_SelectedIndexChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles ComboBox1.SelectedIndexChanged fakulte_adi = ComboBox1.Text If fakulte_adi = "Eğitim Bilimleri Fakültesi" Then fakulte_kodu = "04" egt_sayac = egt_sayac + 1 sayac = egt_sayac ElseIf fakulte_adi = "Mühendislik Fakültesi" Then fakulte_kodu = "03" muh_sayac = muh_sayac + 1 sayac = muh_sayac ElseIf fakulte_adi = "Hukuk Fakültesi" Then fakulte_kodu = "02" huk_sayac = huk_sayac + 1 sayac = huk_sayac ElseIf fakulte_adi = "Tıp Fakültesi" Then fakulte_kodu = "01" tip_sayac = tip_sayac + 1 sayac = tip_sayac End If ‘Sıra numarasının basamak sayısına göre başına ekleyeceği sıfır sayısına karar veriyor: If Strings.Len(sayac.ToString) = 1 Then sira = "000" + sayac.ToString ElseIf Strings.Len(sayac.ToString) = 2 Then sira = "00" + sayac.ToString ElseIf Strings.Len(sayac.ToString) = 3 Then sira = "0" + sayac.ToString Else sira = sayac.ToString Tolga GÜYER Sayfa 15
  • 16. VB.Net Örnek Uygulamalar 2 Kasım 2011 End If numara = Strings.Right(System.DateTime.Today.Year, 2) + fakulte_kodu + sira ‘Sistem saatinden bugünün tarihinin yılı alınıyor ve bunun sağdan iki basamağı ayrıştırılıyor. TextBox3.Text = numara End Sub Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click TextBox1.Clear() TextBox2.Clear() TextBox3.Clear() TextBox1.Focus() End Sub End Class Tolga GÜYER Sayfa 16
  • 17. VB.Net Örnek Uygulamalar 2 Kasım 2011 Uygulama No: 9 – İl ve İlçe Açıklama : İl için tanımlanan açılan kutudan seçilen il adına göre ilçe için tanımlanan açılan kutunun içeriği otomatik olarak dolduruluyor. Ekran Görüntüsü Açıklamalı Kodlar Public Class Form1 Private Sub ComboBox1_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ComboBox1.SelectedIndexChanged ComboBox2.Items.Clear() If ComboBox1.Text = "Ankara" Then ComboBox2.Items.Add("Çankaya") ComboBox2.Items.Add("Etimesgut") ComboBox2.Items.Add("Keçiören") ComboBox2.Items.Add("Yenimahalle") ComboBox2.Items.Add("Mamak") ElseIf ComboBox1.Text = "İstanbul" Then ComboBox2.Items.Add("Beşiktaş") ComboBox2.Items.Add("Şişli") ComboBox2.Items.Add("Eminönü") ComboBox2.Items.Add("Beykoz") ComboBox2.Items.Add("Adalar") ElseIf ComboBox1.Text = "İzmir" Then ComboBox2.Items.Add("Karşıyaka") ComboBox2.Items.Add("Bornova") ComboBox2.Items.Add("Güzelyalı") ComboBox2.Items.Add("Buca") ComboBox2.Items.Add("Konak") End If End Sub End Class Tolga GÜYER Sayfa 17
  • 18. VB.Net Örnek Uygulamalar 2 Kasım 2011 Uygulama No: 10 – Kimlik Ekle Uygulama No : 08 Uygulama Adı : Kimlik Ekle Açıklama : 1. Alanların her üçünün de girilmiş olması gerekiyor. Aksi halde uyarı mesajı veriliyor. 2. Kimlik numarası 11 hane olmazsa uyarı mesajı veriliyor. 3. Cinsiyet Kadın seçilirse Askerlik Durumu pasif konuma geçiyor. 4. Bilgileri Ekle butonuna basıldığında bilgiler liste kutusuna alt alta ekleniyor. Ekran Görüntüsü Açıklamalı Kodlar Public Class Form1 Dim cinsiyet, ask As String Private Sub Radio_kadin_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles Radio_kadin.Click GroupBox2.Enabled = False ‘Grup kutusu pasifize ediliyor. Dolayısıyla üzerindeki radyo düğmeleri de pasif hale gelmiş oluyor. End Sub Private Sub Radio_erkek_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles Radio_erkek.Click GroupBox2.Enabled = True End Sub Private Sub Btn_ekle_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Btn_ekle.Click If Strings.Trim(Txt_ad.Text) <> "" And Strings.Trim(Txt_soyad.Text) <> "" And Strings.Trim(Txt_kimlik.Text) <> "" Then If Strings.Trim(Strings.Len(Txt_kimlik.Text)) <> 11 Then MsgBox("Kimlik Numarası uygun girilmedi") Exit Sub End If Tolga GÜYER Sayfa 18
  • 19. VB.Net Örnek Uygulamalar 2 Kasım 2011 ListBox1.Items.Add("Adı Soyadı: " + Txt_ad.Text + " " + Txt_soyad.Text) ListBox1.Items.Add("Kimlik No : " + Txt_kimlik.Text) If Radio_erkek.Checked = True Then cinsiyet = "Erkek" Else cinsiyet = "Kadın" End If ListBox1.Items.Add("Cinsiyeti : " + cinsiyet) If Radio_erkek.Checked = True Then If Radio_as1.Checked = True Then ask = "Yapmış" ElseIf Radio_as2.Checked = True Then ask = "Tecilli" Else ask = "Muaf" End If ListBox1.Items.Add("Askerlik Durumu : " + ask) End If ListBox1.Items.Add("********************************************") Txt_ad.Clear() Txt_kimlik.Clear() Txt_soyad.Clear() Txt_ad.Focus() Else MsgBox("Alanların hepsi girilmemiş!") End If End Sub End Class Tolga GÜYER Sayfa 19
  • 20. VB.Net Örnek Uygulamalar 2 Kasım 2011 Uygulama No: 11 – E-Posta Adresi Oluşturma Açıklama : Butona basıldığında kişinin adının ilk harfi ile soyadı birleştiriliyor, ComboBox’dan seçilen üniversiteye göre e-posta adresi otomatik olarak oluşturuluyor. Ekran Görüntüsü Açıklamalı Kodlar Public Class Form1 Dim eposta, alan As String Dim k As Byte Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click k = Strings.InStr(Cmb_universite.Text, " ") 'Üniversite adındaki ilk boşluğun konumu. alan = Strings.Mid(Cmb_universite.Text, 1, k - 1) eposta = Strings.LCase(Strings.Left(Txt_ad.Text, 1) & "." & Txt_soyad.Text & "@" & alan & ".edu.tr") 'Aşağıda, metin içersinden Türkçe harfler dönüştürülüyor. 'Örneğin çetin => cetin gibi. eposta = Strings.Replace(eposta, "ş", "s", 1) eposta = Strings.Replace(eposta, "ğ", "g", 1) eposta = Strings.Replace(eposta, "ö", "o", 1) eposta = Strings.Replace(eposta, "ü", "u", 1) eposta = Strings.Replace(eposta, "ç", "c", 1) eposta = Strings.Replace(eposta, "ı", "i", 1) Txt_eposta.Text = eposta End Sub End Class Tolga GÜYER Sayfa 20
  • 21. VB.Net Örnek Uygulamalar 2 Kasım 2011 Uygulama No: 12 – Olaylar-1 Açıklama : Radyo düğmelerinin ve işaretleme kutularının tıklama olayları liste kutusuna ekleniyor. Sil butonu, liste kutusundan seçilen kayıt(lar)ı siliyor. Ekran Görüntüsü Açıklamalı Kodlar Public Class Form1 Dim i As Byte Private Sub secenek1_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles secenek1.Click ListBox1.Items.Add(secenek1.Text + " seçildi") End Sub Private Sub secenek2_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles secenek2.Click ListBox1.Items.Add(secenek2.Text + " seçildi") End Sub Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BtnSil.Click If ListBox1.SelectedItems.Count <> 0 Then ‘En az bir seçilmiş seçenek varsa. For i = 0 To ListBox1.SelectedItems.Count - 1 ListBox1.Items.Remove(ListBox1.SelectedItem) Next End If End Sub Private Sub secim1_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles secim1.Click If secim1.Checked = True Then ListBox1.Items.Add(secim1.Text + " işaretlendi") Else ListBox1.Items.Add(secim1.Text + " işareti kaldırıldı") End If End Sub Tolga GÜYER Sayfa 21
  • 22. VB.Net Örnek Uygulamalar 2 Kasım 2011 Private Sub secim2_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles secim2.Click If secim2.Checked = True Then ListBox1.Items.Add(secim2.Text + " işaretlendi") Else ListBox1.Items.Add(secim2.Text + " işareti kaldırıldı") End If End Sub End Class Tolga GÜYER Sayfa 22
  • 23. VB.Net Örnek Uygulamalar 2 Kasım 2011 Uygulama No: 13 – Dört İşlem Açıklama : İki sayı için seçilen işleme göre hesap yapılıyor. Ekran Görüntüsü Açıklamalı Kodlar Public Class Form1 Dim s1, s2 As Integer Dim s As Double Private Sub hesapla_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles hesapla.Click s1 = sayi1.Text s2 = sayi2.Text If topla.Checked = True Then s = s1 + s2 ElseIf cikar.Checked = True Then s = s1 - s2 ElseIf carp.Checked = True Then s = s1 * s2 ElseIf bol.Checked = True And s2 <> 0 Then ‘Sıfıra bölme yapmasın. s = s1 / s2 End If sonuc.Text = s End Sub End Class Tolga GÜYER Sayfa 23
  • 24. VB.Net Örnek Uygulamalar 2 Kasım 2011 Uygulama No: 14 – Ardışık Sayıların Toplamı Açıklama : For-Next döngüsünün kullanımına ilişkin basit bir örnek. Ekran Görüntüsü Açıklamalı Kodlar Public Class Form1 Private Sub BtnToplam_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BtnToplam.Click Dim sayac, toplam As Integer toplam = 0 For sayac = TxtBaslangic.Text To TxtBitis.Text toplam = toplam + sayac Next MsgBox(toplam) End Sub End Class Tolga GÜYER Sayfa 24
  • 25. VB.Net Örnek Uygulamalar 2 Kasım 2011 Uygulama No: 15 – Mekanik Sayaç Açıklama : For-Next döngüsünün iç içe kullanımına ilişkin basit bir örnek. Ekran Görüntüsü Açıklamalı Kodlar Public Class Form1 Private Sub BtnBaslat_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BtnBaslat.Click For basamak1 = 0 To 9 LblB1.Text = basamak1 For bekle = 0 To 10000000 ‘Her adımda beklemeyi sağlar. Next LblB1.Refresh()‘Etiketin (Label) tazelenmesi. Yeni sayıyı her adımda göstermesi için gereklidir. For basamak2 = 0 To 9 LblB2.Text = basamak2 For bekle = 0 To 10000000 Next LblB2.Refresh() For basamak3 = 0 To 9 LblB3.Text = basamak3 For bekle = 0 To 10000000 Next LblB3.Refresh() Next Next Next End Sub End Class Tolga GÜYER Sayfa 25
  • 26. VB.Net Örnek Uygulamalar 2 Kasım 2011 Uygulama No: 16 – Asal Sayı Testi Açıklama : Sayı asal ise “Asaldır” mesajı veriliyor. Aksi halde sayının ilk böleni gösteriliyor. Ekran Görüntüsü Açıklamalı Kodlar Public Class Form1 Private Sub BtnAsalmi_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BtnAsalmi.Click Dim asalmi As Boolean = True Dim say As UInt64 ‘En büyük tamsayı türü. For say = 2 To TxtSayi.Text / 2 ‘Sayının yarısına kadar bölen araştırılacak. If TxtSayi.Text Mod say = 0 Then ‘Eğer tam bölüyor ise… asalmi = False Exit For ‘Daha fazla araştırmaya gerek yok. End If Next If asalmi = True Then ‘Demekki yukarıdaki koşula hiç girmemiş. MsgBox("ASALDIR") Else : MsgBox("ASAL DEĞİLDİR. " & say & " sayısı bu sayıyı böler.") End If End Sub End Class Tolga GÜYER Sayfa 26
  • 27. VB.Net Örnek Uygulamalar 2 Kasım 2011 Uygulama No: 17 – Pi Sayısının Yaklaşık Hesabı Açıklama : Girilen yaklaşım değerine bağlı olarak aşağıdaki toplam formülü ile Pi sayısı yaklaşık olarak hesaplanıyor. Ekran Görüntüsü Açıklamalı Kodlar Public Class Form1 Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click Dim toplam As Double = 1 Dim k, i, faktor, faktor1 As Long If Strings.Trim(TxtYaklasim.Text) <> "" Then ‘Boş text istemiyoruz. If IsNumeric(TxtYaklasim.Text) Then ‘Sayısal olmayan veri de istemiyoruz. If TxtYaklasim.Text > 0 And TxtYaklasim.Text < 10 Then ‘Bir de yaklaşım sayısı 1 il 9 arasında olacak. For k = 1 To TxtYaklasim.Text 'k faktöriyel hesaplanıyor: faktor = 1 For i = 1 To k faktor = faktor * i Next '2k+1 faktöriyel hesaplanıyor: faktor1 = 1 For i = 1 To 2 * k + 1 faktor1 = faktor1 * i Next 'Toplam hesaplanıyor: toplam = toplam + ((2 ^ k) * (faktor ^ 2)) / faktor1 Next LblSonuc.Text = 2 * toplam Else MsgBox("Yaklaşım sayısı 1-9 arasında olmalıdır!") End If Tolga GÜYER Sayfa 27
  • 28. VB.Net Örnek Uygulamalar 2 Kasım 2011 Else MsgBox("Lütfen sayısal veri giriniz!") End If Else MsgBox("İlgili alana veri girişi yapınız!") End If End Sub End Class Tolga GÜYER Sayfa 28
  • 29. VB.Net Örnek Uygulamalar 2 Kasım 2011 Uygulama No: 18 – Kuvvet ve Faktöriyel Hesabı Açıklama : Girilen sayının istenilen kuvveti ve faktöriyeli hesaplanıyor. “For-Next” döngü yapısının kullanımına ilişkin bir örnektir. Ekran Görüntüsü Açıklamalı Kodlar Public Class Form1 Dim sayi, kuvvet As Integer Dim sonuc As Long Private Sub btnhesapla_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnhesapla.Click sayi = txtsayi.Text kuvvet = txtkuvvet.Text sonuc = 1 For sayac = 1 To kuvvet sonuc = sayi * sonuc ‘Sayı, kuvvet defa kendisi ile çarpılıyor. Next sayac txtsonuc.Text = sonuc End Sub Private Sub btnfaktor_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnfaktor.Click sayi = txtsayi.Text sonuc = 1 For sayac = 1 To sayi sonuc = sayac * sonuc ‘Sayıya kadar olan bütün sayılar çarpılıyor. Next sayac txtfaktor.Text = sonuc End Sub End Class Tolga GÜYER Sayfa 29
  • 30. VB.Net Örnek Uygulamalar 2 Kasım 2011 Uygulama No: 19 – İç İçe Döngü Açıklama : 000 ile 999 arasındaki sayılar iç içe düzenlenmiş üç for-next döngü yapısı kullanılarak oluşturuluyor. Kod içersinde yer alan “System.Threading.Thread.Sleep(10)” ifadesi, her adımda bekleme işlevini gerçekleştiriyor. Dolayısıyla sayaçların değişimi gözlenebiliyor. Ekran Görüntüsü Açıklamalı Kodlar Public Class Form1 Dim sayi As Integer Dim k As Long Private Sub btnbaslat_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnbaslat.Click For sayac1 = 0 To 9 For sayac2 = 0 To 9 For sayac3 = 0 To 9 lstsayi.Items.Add(sayac1.ToString + sayac2.ToString + sayac3.ToString) txtsayi3.Text = sayac3 txtsayi2.Text = sayac2 txtsayi1.Text = sayac1 txtsayi3.Refresh() txtsayi2.Refresh() txtsayi1.Refresh() System.Threading.Thread.Sleep(10) ‘Her adımda 10 ms bekle. Next sayac3 Next sayac2 Next sayac1 End Sub End Class Tolga GÜYER Sayfa 30
  • 31. VB.Net Örnek Uygulamalar 2 Kasım 2011 Uygulama No: 20 – 153 Sayısı Açıklama : 153 Sayısı şöyle bir özelliğe sahiptir: 153 = 13+ 53 + 33. Acaba 100 ile 999 arasında bu özelliği sağlayan, yani basamaklarının küplerinin toplamına eşit olan başka sayı ya da sayılar var mıdır? Ekran Görüntüsü Açıklamalı Kodlar Public Class Form1 Dim sayi As Integer Private Sub Form1_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load For yuzler = 1 To 9 For onlar = 0 To 9 For birler = 0 To 9 sayi = 100 * yuzler + 10 * onlar + birler If sayi = yuzler ^ 3 + onlar ^ 3 + birler ^ 3 Then ListBox1.Items.Add(sayi) Next birler Next onlar Next yuzler End Sub End Class Tolga GÜYER Sayfa 31
  • 32. VB.Net Örnek Uygulamalar 2 Kasım 2011 Uygulama No: 21 – Pisagor Üçlüleri Açıklama : a2 + b2 = c2 özelliğini sağlayan sayılar, dik üçgenin kenar uzunluklarını gösterirler ve Pisagor üçlüleri olarak anılırlar. 1 ile 99 arasındaki doğal sayılardan bu eşitliği sağlayanlar hangileri olabilir? Ekran Görüntüsü Açıklamalı Kodlar Public Class Form1 Private Sub Form1_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load For a = 1 To 99 For b = 1 To 99 For c = 1 To 99 If (c ^ 2 = a ^ 2 + b ^ 2) And (a < b) Then ListBox1.Items.Add(a.ToString + " - " + b.ToString + " - " + c.ToString) Next c Next b Next a End Sub End Class Tolga GÜYER Sayfa 32
  • 33. VB.Net Örnek Uygulamalar 2 Kasım 2011 Uygulama No: 22 – Collatz Problemi Açıklama : Dolu tanesi sayıları olarak da bilinen problem, girilecek bir pozitif tamsayı ile başlayan bir sayı dizisi oluşturmaya dayanır. Dizinin her bir elemanı, bir önceki sayı kullanılarak şu kural dahilinde hesaplanır: Eğer sayı çift ise bir sonraki sayı bu sayının yarısı, tek ise üç katının bir fazlası olacaktır. Böylece ilk sayısı verilen bir sayı dizisi oluşturulur. Örneğin, ilk sayı 7 ise dizi şu şekilde oluşacaktır: 7, 22, 11, 34, 17, 52, 26, 13, 40, 20, 10, 5, 16, 8, 4, 2, 1, 4, 2, 1, 4, 2, 1,... Ya da ilk sayı 21 ise, 21, 64, 32, 16, 8, 4, 2, 1, ... Görüldüğü gibi dizi 1 sayısına ulaştığı anda sonsuz döngüye girmektedir. Aslında başlangıç sayısı olarak ne girersek girelim dizi her zaman 1 sayısına ulaşmaktadır, ama bu durum henüz matematiksel olarak kanıtlanamamıştır... Ekran Görüntüsü Tolga GÜYER Sayfa 33
  • 34. VB.Net Örnek Uygulamalar 2 Kasım 2011 Açıklamalı Kodlar Public Class Form1 Dim sayi, sayac, enbuyuk As Long Private Sub btnbaslat_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnbaslat.Click sayi = txtsayi.Text lstdizi.Items.Clear() sayac = 0 enbuyuk = 0 Do lstdizi.Items.Add(sayi) If sayi Mod 2 = 0 Then ‘Sayı çift ise. sayi = sayi / 2 Else ‘Sayı tek ise. sayi = sayi * 3 + 1 End If sayac = sayac + 1 If sayi > enbuyuk Then enbuyuk = sayi ‘sayi enbuyuk’ten daha büyük ise yeni enbuyuk değeri sayi olsun. Loop Until sayi = 1 lstdizi.Items.Add(1) lbladimsayisi.Text = sayac + 1 lblenbuyuk.Text = enbuyuk End Sub End Class Tolga GÜYER Sayfa 34
  • 35. VB.Net Örnek Uygulamalar 2 Kasım 2011 Uygulama No: 23 – Kaprekar Sayıları Açıklama : Kaprekar sayıları , 1949 yılında Hintli matematikçi Kaprekar tarafından tariflenen sayılardır. n basamaklı bir t Kaprekar sayısının karesi alınıp sağdaki n basamağı solda kalan n-1 basamağa eklendiğinde sonuç yine t sayısını verir. Örnek: 55 , iki basamaklı bir sayıdır. 552 = 3025 , sağdan iki basamak 25 , soldan iki basamak 30. Bu iki sayının toplamı 30+25=55 yani sayının kendisidir. 1, 9, 45, 55, 99, 297, 703, 999, 2223, 2728, 4879 sayıları da diğer bazı Kaprekar sayılarıdır. Ekran Görüntüsü Açıklamalı Kodlar Public Class Form1 Dim sayi, uz, sayi_kare, sagtaraf, soltaraf, basla, bitir, sagtaraf_uzunluk, sayi_kare_uzunluk As Long Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BtnHesapla.Click Tolga GÜYER Sayfa 35 LstSayi.Items.Clear()
  • 36. VB.Net Örnek Uygulamalar 2 Kasım 2011 basla = TxtBaslangic.Text ' Bu sayı aralığın başlangıç sayısı ve en az 9 girilmeli bitir = TxtBitis.Text For sayi = basla To bitir uz = Strings.Len(sayi.ToString) sayi_kare = sayi * sayi sagtaraf = Strings.Right(sayi_kare.ToString, uz) sayi_kare_uzunluk = Strings.Len(sayi_kare.ToString) sagtaraf_uzunluk = Strings.Len(sagtaraf.ToString) soltaraf = Strings.Left(sayi_kare.ToString, sayi_kare_uzunluk - sagtaraf_uzunluk) If sagtaraf + soltaraf = sayi And sayi <> 10 Then LstSayi.Items.Add(sayi) End If Next End Sub End Class Tolga GÜYER Sayfa 36
  • 37. VB.Net Örnek Uygulamalar 2 Kasım 2011 Uygulama No: 24 – Kaprekar Sabiti Açıklama : Hintli matematikçi Kaprekar (1905-1986) tarafından tanımlanan , dört basamaklı sayılara en fazla yedi kez aşağıdaki işlemler uygulandığında ortaya çıkan sabit 6174 sayısı. İşlemler , tüm basamakları aynı sayıdan oluşmayan (2222 gibi - ilk adımda sıfır sonucunu verecektir) ve herhangi üç basamağındaki sayılar aynı olup kalan bir basamaktaki sayı bu sayıdan bir büyük ya da bir küçük olmayan (1112, 5565 veya 8788 gibi - ilk adımda 999 sayısını verecektir) dört basamaklı sayılara uygulandığında en fazla yedi adımda sıfır veya 6174 sabit sayısını verir. Yukarıdaki şartlara uygun dört basamaklı bir sayı alınır. Sayının basamaklarını büyükten küçüğe ve küçükten büyüğe doğru sıralayarak iki adet dört basamaklı sayı elde edilir. Elden edilen sayılardan büyükten küçüğü çıkarılır. 2. adım tekrar edilir. En fazla yedi adımda sıfır ya da 6174 sabit sayısı elde edilecek ve kısır döngüye girilecektir. Örnek: 6544 − 4456 = 2088 8820 − 0288 = 8532 8532 − 2358 = 6174 7641 − 1467 = 6174 Ekran Görüntüsü Açıklamalı Kodlar Public Class Form1 Dim Tmp, Loop1, Loop2, Pos As Byte Dim enkucuksayi, enbuyuksayi, fark As Integer Dim sayilar(0 To 3) Private Sub BtnSirala_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BtnSirala.Click LstBuyukKucuk.Items.Clear() Tolga GÜYER Sayfa 37 sayilar(0) = TxtSayi1.Text
  • 38. VB.Net Örnek Uygulamalar 2 Kasım 2011 sayilar(1) = TxtSayi2.Text sayilar(2) = TxtSayi3.Text sayilar(3) = TxtSayi4.Text ‘Sıralama algoritması kullanılarak sayilar dizisi küçükten büyüğe doğru sıralanıyor: Do For Loop1 = 0 To 3 Pos = Loop1 For Loop2 = Loop1 + 1 To 3 If sayilar(Loop2) < sayilar(Pos) Then Pos = Loop2 End If Next Loop2 If Pos <> Loop1 Then Tmp = sayilar(Pos) sayilar(Pos) = sayilar(Loop1) sayilar(Loop1) = Tmp End If Next Loop1 enkucuksayi = 1000 * sayilar(0) + 100 * sayilar(1) + 10 * sayilar(2) + sayilar(3) enbuyuksayi = 1000 * sayilar(3) + 100 * sayilar(2) + 10 * sayilar(1) + sayilar(0) fark = enbuyuksayi - enkucuksayi LstBuyukKucuk.Items.Add(enbuyuksayi.ToString + "-" + enkucuksayi.ToString + "=" + fark.ToString) sayilar(0) = Strings.Mid(fark.ToString, 1, 1) sayilar(1) = Strings.Mid(fark.ToString, 2, 1) sayilar(2) = Strings.Mid(fark.ToString, 3, 1) sayilar(3) = Strings.Mid(fark.ToString, 4, 1) Loop Until fark = 6174 End Sub End Class Tolga GÜYER Sayfa 38
  • 39. VB.Net Örnek Uygulamalar 2 Kasım 2011 Uygulama No: 25 – Mükemmel Sayılar Açıklama : 1 dahil, kendisi hariç olmak üzere bölenlerinin toplamına eşit olan sayılara mükemmel sayı adı verilir. Örneğin 6=1+2+3 olduğundan bir mükemmel sayıdır. Bir sonraki mükemmel sayı 28’dir. Çünkü 28=1+2+4+7+14 olur. Geliştirdiğimiz uygulama, kullanıcı tarafından girilecek bir sayının mükemmel olup olmadığını test etmekte, değil ise bir sonraki mükemmel sayıyı hesaplamaktadır. Ekran Görüntüsü Açıklamalı Kodlar Public Class Form1 Dim sayi, sayi1, toplam, k As Long Private Sub BtnKontrol_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BtnKontrol.Click sayi = TxtSayi.Text toplam = 0 For k = 2 To sayi / 2 If sayi Mod k = 0 Then toplam = toplam + k Next If toplam + 1 = sayi Then MsgBox("MÜKEMMEL!") Else ‘Sayı mükemmel değil ise bir sonrakini ara: sayi1 = sayi Do toplam = 0 sayi1 = sayi1 + 1 For k = 2 To sayi1 / 2 If sayi1 Mod k = 0 Then toplam = toplam + k Next Loop Until toplam + 1 = sayi1 MsgBox(sayi1) End If End Sub End Class Tolga GÜYER Sayfa 39
  • 40. VB.Net Örnek Uygulamalar 2 Kasım 2011 Uygulama No: 26 – Aritmetik Ortalama ve Standart Sapma Açıklama : Liste kutusuna aktarılan sayıların aritmetik ortalama ve standart sapmaları hesaplanıyor. Ekran Görüntüsü Açıklamalı Kodlar Public Class Form1 Dim toplam1, toplam2 As Integer Dim ort, StdSapma As Double Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BtnEkle.Click LstSayilar.Items.Add(TxtSayi.Text) TxtSayi.Clear() TxtSayi.Focus() End Sub Private Sub BtnCikis_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BtnCikis.Click End End Sub Private Sub BtnOrtalama_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BtnOrtalama.Click toplam1 = 0 For k = 0 To LstSayilar.Items.Count - 1 toplam1 = toplam1 + LstSayilar.Items.Item(k) 'liste kutusundaki sayılar toplanıyor. Next ort = toplam1 / LstSayilar.Items.Count 'Toplamın say adetine oranı. MsgBox(ort) End Sub Private Sub BtnStdSapma_Click(ByVal sender As System.Object, ByVal e As Tolga GÜYER Sayfa 40
  • 41. VB.Net Örnek Uygulamalar 2 Kasım 2011 System.EventArgs) Handles BtnStdSapma.Click toplam2 = 0 For k As Integer = 0 To LstSayilar.Items.Count - 1 toplam2 = toplam2 + (LstSayilar.Items(k) - ort) ^ 2 'Liste kutusundaki sayıların her biri ile ortalama arasındaki farkların kareleri toplamı. Next StdSapma = Math.Sqrt(toplam2 / (LstSayilar.Items.Count - 1)) 'Kareler toplamının sayı adetinin bir eksiğine oranının karekökü. MsgBox(StdSapma) End Sub Private Sub BtnSil_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BtnSil.Click LstSayilar.Items.Clear() TxtSayi.Focus() End Sub End Class Tolga GÜYER Sayfa 41
  • 42. VB.Net Örnek Uygulamalar 2 Kasım 2011 Uygulama No: 27 – Renk Aktarımı Açıklama : Label (etiket) nesneleri kullanarak oluşturulmuş bir renk paletinin kullanımı. Ekran Görüntüsü Açıklamalı Kodlar Public Class Form1 Private Sub Label1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Label1.Click If RBtnForm.Checked Then ‘Eğer formun rengi opsiyonu seçili ise Me.BackColor = Label1.BackColor Else TextBox1.BackColor = Label1.BackColor End If End Sub Private Sub Label2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Label2.Click If RBtnForm.Checked Then Me.BackColor = Label2.BackColor Else TextBox1.BackColor = Label2.BackColor End If End Sub Private Sub Label3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Label3.Click If RBtnForm.Checked Then Me.BackColor = Label3.BackColor Else TextBox1.BackColor = Label3.BackColor End If End Sub Private Sub Label4_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Label4.Click If RBtnForm.Checked Then Me.BackColor = Label4.BackColor Else TextBox1.BackColor = Label4.BackColor Tolga GÜYER Sayfa 42 End If
  • 43. VB.Net Örnek Uygulamalar 2 Kasım 2011 End Sub Private Sub Label5_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Label5.Click If RBtnForm.Checked Then Me.BackColor = Label5.BackColor Else TextBox1.BackColor = Label5.BackColor End If End Sub End Class Tolga GÜYER Sayfa 43
  • 44. VB.Net Örnek Uygulamalar 2 Kasım 2011 Uygulama No: 28 – Fonksiyon Kullanımı 1 Açıklama : Fonksiyon kullanılarak dört işlem hesabı. Ekran Görüntüsü Açıklamalı Kodlar Public Class Form1 Function islem(ByVal kod As Char, ByVal s1 As Integer, ByVal s2 As Integer) As Double Select Case kod Case "+" : Return (s1 + s2) Case "-" : Return (s1 - s2) Case "*" : Return (s1 * s2) Case "/" : Return (s1 / s2) End Select End Function Private Sub RadioTopla_CheckedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles RadioTopla.CheckedChanged TxtSonuc.Text = islem("+", CInt(TxtSayi1.Text), CInt(TxtSayi2.Text)) End Sub Private Sub RadioCikar_CheckedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles RadioCikar.CheckedChanged TxtSonuc.Text = islem("-", CInt(TxtSayi1.Text), CInt(TxtSayi2.Text)) End Sub Private Sub RadioCarp_CheckedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles RadioCarp.CheckedChanged TxtSonuc.Text = islem("*", CInt(TxtSayi1.Text), CInt(TxtSayi2.Text)) End Sub Private Sub RadioBol_CheckedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles RadioBol.CheckedChanged TxtSonuc.Text = islem("/", CInt(TxtSayi1.Text), CInt(TxtSayi2.Text)) End Sub End Class Tolga GÜYER Sayfa 44
  • 45. VB.Net Örnek Uygulamalar 2 Kasım 2011 Uygulama No: 29 – Fonksiyon Kullanımı 2 Açıklama : Fonksiyon kullanılarak maaş hesabı. Ekran Görüntüsü Açıklamalı Kodlar Public Class Form1 Function cocuk_yardimi(ByVal m As Integer, ByVal c As Byte) As Double If c = 2 Then Return (c * m / 100) ElseIf c = 3 Then Return (2 * c * m / 100) ElseIf c > 3 Then Return (5 * c * m / 100) Else : Return 0 End If End Function Function aile_yardimi(ByVal kod As Byte) As Integer If kod = 1 Then Return (22) ElseIf kod = 2 Then Return (48) Else : Return 0 End If End Function Function yabanci_dil(ByVal kod As Byte) As Integer If kod = 1 Then Tolga GÜYER Sayfa 45
  • 46. VB.Net Örnek Uygulamalar 2 Kasım 2011 Return 125 ElseIf kod = 2 Then Return 55 ElseIf kod = 3 Then Return 25 Else Return 0 End If End Function Function kidem(ByVal m As Integer, ByVal kod As Byte) As Double Return (kod * m / 100) End Function Private Sub ComboBox1_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ComboBox1.SelectedIndexChanged If ComboBox1.Text = "Bekar" Then ComboBox2.Enabled = False RadioButton1.Enabled = False RadioButton2.Enabled = False RadioButton1.Checked = False RadioButton2.Checked = False ElseIf ComboBox1.Text = "Boşanmış/Dul" Then ComboBox2.Enabled = True RadioButton1.Enabled = False RadioButton2.Enabled = False RadioButton1.Checked = False RadioButton2.Checked = False Else ComboBox2.Enabled = True RadioButton1.Enabled = True RadioButton2.Enabled = True End If End Sub Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click Dim m_gosterge As Integer = TextBox1.Text Dim maas As Double Dim kod As Byte = 0 Dim cocuk_sayisi As Byte If ComboBox2.Text = ">3" Then cocuk_sayisi = 4 Else cocuk_sayisi = CInt(ComboBox2.Text) End If maas = m_gosterge + cocuk_yardimi(m_gosterge, cocuk_sayisi) If RadioButton1.Checked Then kod = 1 If RadioButton2.Checked Then kod = 2 maas = maas + aile_yardimi(kod) kod = 0 If ComboBox3.Text = "90-100" Then kod = 1 If ComboBox3.Text = "80-89" Then kod = 2 If ComboBox3.Text = "70-79" Then kod = 3 maas = maas + yabanci_dil(kod) Tolga GÜYER Sayfa 46
  • 47. VB.Net Örnek Uygulamalar 2 Kasım 2011 kod = 0 If ComboBox4.Text = "Lise" Then kod = 1 If ComboBox4.Text = "Üniversite" Then kod = 2 If ComboBox4.Text = "Yüksek Lisans" Then kod = 3 If ComboBox4.Text = "Doktora" Then kod = 4 maas = maas + kidem(m_gosterge, kod) Label5.Text = maas End Sub End Class Tolga GÜYER Sayfa 47
  • 48. VB.Net Örnek Uygulamalar 2 Kasım 2011 Uygulama No: 30 – Palindrom Açıklama : Girilen metnin palindrom (tersten de aynı şekilde okunan) olup olmadığının test edilmesi. Ekran Görüntüsü Açıklamalı Kodlar Public Class Form1 Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click Dim metin As String = TextBox1.Text Dim metin_ters As String = "" For k = Len(metin) - 1 To 0 Step -1 metin_ters = metin_ters & metin(k) Next If metin = metin_ters Then MsgBox("TAMAM") End Sub End Class Tolga GÜYER Sayfa 48
  • 49. VB.Net Örnek Uygulamalar 2 Kasım 2011 Uygulama No: 31 – Palindrom/Liste Açıklama : Girilen metnin içerisinde yer alan palindrom kelimeler ayıklanarak liste kutusuna aktarılıyor. Ekran Görüntüsü Açıklamalı Kodlar Public Class Form1 Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click Dim metin As String = TextBox1.Text & " " Dim kelime, kelime_ters As String Dim p As Integer = 1 ListBox1.Items.Clear() For k = 0 To Len(metin) - 1 If metin(k) = " " Then kelime = Trim(Strings.Mid(metin, p, k - p + 1)) kelime_ters = "" For j = Len(kelime) - 1 To 0 Step -1 kelime_ters = kelime_ters & kelime(j) Next If kelime = kelime_ters Then ListBox1.Items.Add(kelime) p = p + Len(kelime) + 1 End If Next End Sub End Class Tolga GÜYER Sayfa 49
  • 50. VB.Net Örnek Uygulamalar 2 Kasım 2011 Uygulama No: 32 – Metin İstatistikleri Açıklama : Çok-satırlı bir metin kutusuna girilen metnin hece, kelime ve cümle sayıları hesaplanıyor ve girilen bir anahtar kelimenin metin içersinde geçme sayısı bulunuyor. Ekran Görüntüsü Açıklamalı Kodlar Public Class Form1 Dim metin, anahtar, sonkarakter As String Dim kelime_sayisi, cumle_sayisi, hece_sayisi, p, konum, sayac As Integer Private Sub BtnHesapla_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BtnHesapla.Click metin = TxtMetin.Text + " " kelime_sayisi = 0 cumle_sayisi = 0 hece_sayisi = 0 For k = 0 To Strings.Len(metin) - 1 'Metni sonuna kadar karakter karakter tarıyor. If metin(k) = " " Then kelime_sayisi = kelime_sayisi + 1 'Kelime sayısı=boşluk sayısı. Çünkü yukarıda fazladan bir boşluk eklemiştik. If k = Strings.Len(metin) - 1 Then Exit For 'Aşağıdaki koşulda son karakterden sonra (k+1) arama yapmasın Tolga GÜYER Sayfa 50
  • 51. VB.Net Örnek Uygulamalar 2 Kasım 2011 If (metin(k) = "." And (metin(k + 1) = " " Or Strings.Asc(metin(k + 1)) = 13)) Or metin(k) = "?" Or metin(k) = "!" Then cumle_sayisi = cumle_sayisi + 1 'Hece sayısı=sesli harf sayısı: If metin(k) = "a" Or metin(k) = "e" Or metin(k) = "ı" Or metin(k) = "i" Or metin(k) = "o" Or metin(k) = "ö" Or metin(k) = "u" Or metin(k) = "ü" Then hece_sayisi = hece_sayisi + 1 Next LblCumleSayisi.Text = cumle_sayisi LblKelimeSayisi.Text = kelime_sayisi LblHeceSayisi.Text = hece_sayisi End Sub Private Sub BtnBul_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BtnBul.Click metin = TxtMetin.Text If RadioButton1.Checked Then 'Serbest arama. Yani "masa" aranırken "masal" da bulunur. anahtar = TxtAnahtarKelime.Text Else anahtar = " " + TxtAnahtarKelime.Text + " " 'Tam eşitlik arama. "masa" aranırken, "masal" bulunmaz. End If sayac = 0 konum = 1 Do p = Strings.InStr(konum, metin, anahtar) '"anahtar" kelime "metin" içersinde "konum"dan başlayarak aranıyor. If p <> 0 Then sayac = sayac + 1 konum = p + Strings.Len(anahtar) 'Bulunca aramaya yeni konumdan devam et. Loop Until p = 0 LblSayi.Text = sayac End Sub End Class Tolga GÜYER Sayfa 51
  • 52. VB.Net Örnek Uygulamalar 2 Kasım 2011 Uygulama No: 33 – Anahtarlı Metin Şifreleme Açıklama : Çok-satırlı bir metin kutusuna girilen bir metin, anahtar kelime kullanılarak şifreleniyor. Şifreleme, metnin her bir karakterinin ASCII koduna, anahtar kelimenin her bir karakterinin ASCII kodunun eklenmesi ile gerçekleştiriliyor. Aşağıda, örnek üzerinden şifreleme algoritmasının açıklaması yapılmıştır: Ek Açıklama Metin = “Bilgisayar ve Öğretim” Anahtar = “okul” B 254 İ 60 l 254 g 254 i 254 s a y a r v e Ö ğ r o 50 k 50 u 255 l 254 o 253 k u l o k u l o k u l o , Ü # ^ ? h 8 9 d 6 , i 2 1 m * } Toplam=304 110 509 508 507 Mod 255=49 110 254 253 252 , 49 Ü # 254 ^ 253 ? 252 h 8 9 d 6 , i 2 1 m * } 110 o 50 k 50 u 255 l 254 o 253 k u l o k u l o k u l o Fark=-1 60 -1 -1 -1 Fark<=0 ise +255 = 254 254 254 254 Aksi halde Mod 255 60 Ekran Görüntüsü Tolga GÜYER Sayfa 52
  • 53. VB.Net Örnek Uygulamalar 2 Kasım 2011 Açıklamalı Kodlar Public Class Form1 Private Sub BtnSifrele_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BtnSifrele.Click Dim metin As String = TxtMetin.Text Dim anahtar As String = InputBox("Anahtar kelimeyi giriniz:") Dim sifreli_metin As String = "" Dim j As Byte = 0 For k = 0 To Strings.Len(metin) - 1 'Metni karakter karakter sonuna kadar tara. sifreli_metin = sifreli_metin + Strings.Chr((Strings.Asc(metin(k)) + Strings.Asc(anahtar(j))) Mod 255) 'Şifreli metni, her bir karakterinin koduna anahtar kelimenin sıradaki karakterinin kodunu ekleyerek bul. 'Neden Mod 255? Çünkü toplam 255 değerini aşabilir. j = j + 1 If j = Strings.Len(anahtar) Then j = 0 'Anahtar kelimenin indisi ayrı tutulmalı. Yoksa indisde değer aşımı olur. Next TxtSifreliMetin.Text = sifreli_metin End Sub End Class Tolga GÜYER Sayfa 53
  • 54. VB.Net Örnek Uygulamalar 2 Kasım 2011 Uygulama No: 34 – Anahtarlı Metin Şifre Çözme Açıklama : Önceki uygulamada gerçekleştirilen şifrelemeyi, aynı anahtarın girilmesi şartıyla ters algoritma kullanarak çözen uygulama. Ekran Görüntüsü Açıklamalı Kodlar Public Class Form1 Private Sub BtnSifrecoz_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BtnSifrecoz.Click Dim sifreli_metin As String = TxtSifreliMetin.Text Dim anahtar As String = InputBox("Anahtar kelimeyi giriniz:") Dim metin As String = "" Dim kod As Integer Dim j As Byte = 0 For k = 0 To Strings.Len(sifreli_metin) - 1 kod = Strings.Asc(sifreli_metin(k)) - Strings.Asc(anahtar(j)) If kod <= 0 Then kod = kod + 255 Else kod = kod Mod 255 metin = metin + Strings.Chr(kod) j = j + 1 If j = Strings.Len(anahtar) Then j = 0 Next TxtMetin.Text = metin End Sub End Class Tolga GÜYER Sayfa 54
  • 55. VB.Net Örnek Uygulamalar 2 Kasım 2011 Uygulama No: 35 – Veritabanı Uygulaması 1 Açıklama : Veritabanı ile bağlantı kurulması ve veri okunması. Ekran Görüntüsü Açıklamalı Kodlar Public Class Form1 Private Sub BtnTamam_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BtnTamam.Click Dim baglanti_metni1, baglanti_metni2 As String baglanti_metni1 = "Provider=Microsoft.ACE.OLEDB.12.0; Data Source=|DataDirectory|vt1.accdb; Persist Security Info=False;" baglanti_metni2 = "Provider=Microsoft.Jet.OLEDB.4.0; Data Source=|DataDirectory|vt1.mdb; Persist Security Info=False;" ‘Bu bağlantı metinlerinden birisi kullanılacaktır. ‘MS.ACE.OLEDB motoru 64 bit işletim sistemlerinde sorun çıkarabiliyor. ‘Bu durumda MS.Jet.OLEDB motorunun ve mdb formatının kullanılması tavsiye edilir. Dim baglanti1 As New Data.OleDb.OleDbConnection(baglanti_metni2) baglanti1.Open() ‘Bağlantı metni kullanılarak yeni bir bağlantı tanımlanıyor ve açılıyor. Dim sql1 As String sql1 = "select * from tablo1 where klnad='" & TxtKlnAd.Text & "' and sifre='" & TxtSifre.Text & "'" ‘Formdaki alanların değerleri kullanılarak veri seçme işlevine sahip bir SQL cümlesi oluşturuluyor. Dim komut1 As New System.Data.OleDb.OleDbCommand(sql1, baglanti1) ‘Bağlantı ve SQL cümlesi kullanılarak yeni bir veritabanı komutu tanımlanıyor. Dim veri_okuyucu1 As Data.OleDb.OleDbDataReader veri_okuyucu1 = komut1.ExecuteReader ‘Tanımlanan veritabanı komutu üzerinden bir veri okuyucusu tanımlanıyor ve çalıştırılıyor. If veri_okuyucu1.HasRows = True Then ‘Eğer veri okuyucusunda veri varsa MsgBox("Kullanıcı kayıtlı.") Tolga GÜYER Sayfa 55
  • 56. VB.Net Örnek Uygulamalar 2 Kasım 2011 Else MsgBox("Kullanıcı kayıtlı değil.") End If baglanti1.Close() End Sub End Class Tolga GÜYER Sayfa 56
  • 57. VB.Net Örnek Uygulamalar 2 Kasım 2011 Uygulama No: 36 – Veritabanı Uygulaması 2 Açıklama : Veritabanı ile bağlantı kurulması ve veri okunması. Ekran Görüntüsü Açıklamalı Kodlar Public Class Form1 Private Sub BtnTamam_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BtnTamam.Click Dim baglanti_metni1, baglanti_metni2 As String baglanti_metni1 = "Provider=Microsoft.ACE.OLEDB.12.0; Data Source=|DataDirectory|vt1.accdb; Persist Security Info=False;" baglanti_metni2 = "Provider=Microsoft.Jet.OLEDB.4.0; Data Source=|DataDirectory|vt1.mdb; Persist Security Info=False;" ‘Bu bağlantı metinlerinden birisi kullanılacaktır. ‘MS.ACE.OLEDB motoru 64 bit işletim sistemlerinde sorun çıkarabiliyor. ‘Bu durumda MS.Jet.OLEDB motorunun ve mdb formatının kullanılması tavsiye edilir. Dim baglanti1 As New Data.OleDb.OleDbConnection(baglanti_metni2) baglanti1.Open() ‘Bağlantı metni kullanılarak yeni bir bağlantı tanımlanıyor ve açılıyor. Dim sql1 As String sql1 = "select * from tablo1 where klnad='" & TxtKlnAd.Text & "' and sifre='" & TxtSifre.Text & "'" ‘Formdaki alanların değerleri kullanılarak veri seçme işlevine sahip bir SQL cümlesi oluşturuluyor. Dim komut1 As New System.Data.OleDb.OleDbCommand(sql1, baglanti1) ‘Bağlantı ve SQL cümlesi kullanılarak yeni bir veritabanı komutu tanımlanıyor. Dim veri_okuyucu1 As Data.OleDb.OleDbDataReader veri_okuyucu1 = komut1.ExecuteReader ‘Tanımlanan veritabanı komutu üzerinden bir veri okuyucusu tanımlanıyor ve çalıştırılıyor. If veri_okuyucu1.HasRows = True Then ‘Eğer veri okuyucusunda veri varsa Tolga GÜYER Sayfa 57 veri_okuyucu1.Read()
  • 58. VB.Net Örnek Uygulamalar 2 Kasım 2011 MsgBox("Merhaba " & veri_okuyucu1("ad") & " " & veri_okuyucu1("soyad") & ". MATRIX'e hoşgeldin...") ‘Veri okuyucusu kullanılarak istenilen alana ulaşmak mümkün. Else MsgBox("Kullanıcı kayıtlı değil.") End If baglanti1.Close() End Sub End Class Tolga GÜYER Sayfa 58
  • 59. VB.Net Örnek Uygulamalar 2 Kasım 2011 Uygulama No: 37 – Veritabanı Uygulaması 3 Açıklama : Veritabanına kayıt eklenmesi. Ekran Görüntüsü Açıklamalı Kodlar Public Class Form1 Private Sub BtnKaydet_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BtnKaydet.Click Dim baglanti_metni1, baglanti_metni2 As String baglanti_metni1 = "Provider=Microsoft.ACE.OLEDB.12.0; Data Source=|DataDirectory|vt2.accdb; Persist Security Info=False;" baglanti_metni2 = "Provider=Microsoft.Jet.OLEDB.4.0; Data Source=|DataDirectory|vt2.mdb; Persist Security Info=False;" Dim baglanti1 As New Data.OleDb.OleDbConnection(baglanti_metni2) baglanti1.Open() Dim sql1 As String sql1 = "insert into anatablo (ad,soyad,fakulte,bolum) values ('" + TxtAd.Text + "','" + TxtSoyad.Text + "','" + CmbFakulte.Text + "','" + CmbBolum.Text + "')" ‘Veritabanı tablosuna satır eklemek için kullanılacak SQL cümlesi Dim komut1 As New System.Data.OleDb.OleDbCommand(sql1, baglanti1) komut1.ExecuteNonQuery()‘SQL sorgusu burada çalıştırılıyor. baglanti1.Close() MsgBox("Veriler Kaydedildi") TxtAd.Clear() TxtSoyad.Clear() TxtAd.Focus() CmbBolum.ResetText() CmbFakulte.ResetText() End Sub End Class Tolga GÜYER Sayfa 59
  • 60. VB.Net Örnek Uygulamalar 2 Kasım 2011 Uygulama No: 38 – Veritabanı Uygulaması 4 Açıklama : Veritabanına kayıt eklenmesi. Ekran Görüntüsü Açıklamalı Kodlar Public Class Form1 Private Sub BtnKaydet_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BtnKaydet.Click Dim baglanti_metni1, baglanti_metni2 As String baglanti_metni1 = "Provider=Microsoft.ACE.OLEDB.12.0; Data Source=|DataDirectory|sinema.accdb; Persist Security Info=False;" baglanti_metni2 = "Provider=Microsoft.Jet.OLEDB.4.0; Data Source=|DataDirectory|sinema.mdb; Persist Security Info=False;" Dim baglanti1 As New Data.OleDb.OleDbConnection(baglanti_metni2) baglanti1.Open() Dim sql1 As String sql1 = "insert into filmler (film_adi,yonetmen,yili,yildiz,yorum) values ('" + TxtFilmAdi.Text + "','" + TxtYonetmen.Text + "'," & CInt(CmbYili.Text) & "," & CInt(CmbYildiz.Text) & ",'" & TxtYorum.Text + "')" ‘Dikkat: insert cümlesinde veritabanında sayı türünde tanımlanmış alanlar için tek tırnak işareti kullanılmaz. Dim komut1 As New System.Data.OleDb.OleDbCommand(sql1, baglanti1) komut1.ExecuteNonQuery() baglanti1.Close() MsgBox("Veriler Kaydedildi") TxtFilmAdi.Clear() TxtYonetmen.Clear() Tolga GÜYER Sayfa 60
  • 61. VB.Net Örnek Uygulamalar 2 Kasım 2011 TxtYorum.Clear() TxtFilmAdi.Focus() CmbYildiz.ResetText() CmbYili.ResetText() End Sub Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load For k = 1900 To 2010 CmbYili.Items.Add(k) Next End Sub End Class Tolga GÜYER Sayfa 61
  • 62. VB.Net Örnek Uygulamalar 2 Kasım 2011 Uygulama No: 39 – Veritabanı Uygulaması 5 Açıklama : Veritabanına kayıt eklenmesi – Resim uygulamalı. Ekran Görüntüsü Açıklamalı Kodlar Public Class Form1 Dim b1, b2, b3, b4, b5, yildiz As Byte Private Sub BtnKaydet_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BtnKaydet.Click Dim baglanti_metni1, baglanti_metni2 As String baglanti_metni1 = "Provider=Microsoft.ACE.OLEDB.12.0; Data Source=|DataDirectory|sinema.accdb; Persist Security Info=False;" baglanti_metni2 = "Provider=Microsoft.Jet.OLEDB.4.0; Data Source=|DataDirectory|sinema.mdb; Persist Security Info=False;" Dim baglanti1 As New Data.OleDb.OleDbConnection(baglanti_metni2) baglanti1.Open() Dim sql1 As String sql1 = "insert into filmler (film_adi,yonetmen,yili,yildiz,yorum) values ('" + TxtFilmAdi.Text + "','" + TxtYonetmen.Text + "'," & CInt(CmbYili.Text) & "," & yildiz & ",'" & TxtYorum.Text + "')" Dim komut1 As New System.Data.OleDb.OleDbCommand(sql1, baglanti1) komut1.ExecuteNonQuery() baglanti1.Close() TxtFilmAdi.Clear() TxtYonetmen.Clear() Tolga GÜYER Sayfa 62 TxtYorum.Clear()
  • 63. VB.Net Örnek Uygulamalar 2 Kasım 2011 TxtFilmAdi.Focus() CmbYili.ResetText() PictureBox1.ImageLocation = "bos_yildiz.bmp" PictureBox1.Load() PictureBox2.ImageLocation = "bos_yildiz.bmp" PictureBox2.Load() PictureBox3.ImageLocation = "bos_yildiz.bmp" PictureBox3.Load() PictureBox4.ImageLocation = "bos_yildiz.bmp" PictureBox4.Load() PictureBox5.ImageLocation = "bos_yildiz.bmp" PictureBox5.Load() b1 = 0 b2 = 0 b3 = 0 b4 = 0 b5 = 0 yildiz = 0 End Sub Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load For k = 1900 To 2010 ‘ComboBox bu döngü ile dolduruluyor. CmbYili.Items.Add(k) Next yildiz = 0 ‘Filmin yıldız toplamını tutacak değişken; başlangıçta sıfırlanıyor. End Sub Private Sub PictureBox1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles PictureBox1.Click If b1 = 0 Then ‘Eğer ilk defa tıklandı ise PictureBox1.ImageLocation = "dolu_yildiz.bmp" ‘Resim dosyası PictureBox1.Load()‘Resmi yükle b1 = 1 yildiz = yildiz + 1 ‘Her sarı yıldız resmi için yıldız puanını bir artır. Else ‘Eğer ikinci defa tıklandı ise PictureBox1.ImageLocation = "bos_yildiz.bmp" PictureBox1.Load() b1 = 0 yildiz = yildiz – 1 ‘Her beyaz yıldız resmi için yıldız puanını bir azalt. End If End Sub Private Sub PictureBox2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles PictureBox2.Click If b2 = 0 Then PictureBox2.ImageLocation = "dolu_yildiz.bmp" PictureBox2.Load() b2 = 1 yildiz = yildiz + 1 Else PictureBox2.ImageLocation = "bos_yildiz.bmp" PictureBox2.Load() b2 = 0 yildiz = yildiz - 1 Tolga GÜYER Sayfa 63
  • 64. VB.Net Örnek Uygulamalar 2 Kasım 2011 End If End Sub Private Sub PictureBox3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles PictureBox3.Click If b3 = 0 Then PictureBox3.ImageLocation = "dolu_yildiz.bmp" PictureBox3.Load() b3 = 1 yildiz = yildiz + 1 Else PictureBox3.ImageLocation = "bos_yildiz.bmp" PictureBox3.Load() b3 = 0 yildiz = yildiz - 1 End If End Sub Private Sub PictureBox4_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles PictureBox4.Click If b4 = 0 Then PictureBox4.ImageLocation = "dolu_yildiz.bmp" PictureBox4.Load() b4 = 1 yildiz = yildiz + 1 Else PictureBox4.ImageLocation = "bos_yildiz.bmp" PictureBox4.Load() b4 = 0 yildiz = yildiz - 1 End If End Sub Private Sub PictureBox5_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles PictureBox5.Click If b5 = 0 Then PictureBox5.ImageLocation = "dolu_yildiz.bmp" PictureBox5.Load() b5 = 1 yildiz = yildiz + 1 Else PictureBox5.ImageLocation = "bos_yildiz.bmp" PictureBox5.Load() b5 = 0 yildiz = yildiz - 1 End If End Sub Private Sub BtnKapat_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BtnKapat.Click End End Sub End Class Tolga GÜYER Sayfa 64
  • 65. VB.Net Örnek Uygulamalar 2 Kasım 2011 Uygulama No: 40 – Veritabanı Uygulaması 6 Açıklama : Veritabanına kayıt ekleme, kayıt düzeltme, kayıt silme ve dinamik ComboBox denetimi Ekran Görüntüsü – Form3 (Menü) Açıklamalı Kodlar Public Class Form3 Private Sub BtnGiris_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BtnGiris.Click Form1.ShowDialog()‘Form1 in açılmasını sağlar. Show metodundan farkı, form açıldığında arkada kalan diğer uygulama pencerelerinin çalışmasına izin vermemesidir. End Sub Private Sub BtnAra_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BtnAra.Click Form2.ShowDialog() End Sub Private Sub BtnKapat_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BtnKapat.Click End End Sub End Class Tolga GÜYER Sayfa 65
  • 66. VB.Net Örnek Uygulamalar 2 Kasım 2011 Ekran Görüntüsü – Form1 (Veri Girişi) Açıklamalı Kodlar Public Class Form1 Dim baglanti As New Data.OleDb.OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0; DataSource=|DataDirectory|meteor.mdb; Persist Security Info=False;") Private Sub BtnKaydet_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BtnKaydet.Click baglanti.Open() If CmbBolge.Text = "SEÇİNİZ" Then ‘Bölge seçmeden olmaz… MsgBox("Bölge Seçiniz!") ElseIf Cmbil.Text = "SEÇİNİZ" Then ‘İl seçmeden olmaz… MsgBox("İl Seçiniz!") Else Dim sql, hava_durumu As String Dim hava_durumu_kodu As Byte If rdb_gunesli_1.Checked Then ‘Eğer güneşli resminin yanındaki radyo düğmesi işaretli ise bu durumda hava durumu kodu ve haca durumu değişkenlerine uygun değerler aktarılıyor. hava_durumu_kodu = 1 hava_durumu = "Güneşli" ElseIf rdb_azbulutlu_2.Checked Then Tolga GÜYER Sayfa 66
  • 67. VB.Net Örnek Uygulamalar 2 Kasım 2011 hava_durumu_kodu = 2 hava_durumu = "Az Bulutlu" ElseIf rdb_bulutlu_3.Checked Then hava_durumu_kodu = 3 hava_durumu = "Bulutlu" ElseIf rdb_gokgurultulu_4.Checked Then hava_durumu_kodu = 4 hava_durumu = "Gök Gürültülü ve Sağanak Yağışlı" ElseIf rdb_karlakar_5.Checked Then hava_durumu_kodu = 5 hava_durumu = "Karla Karışık Yağmurlu" ElseIf rdb_kar_6.Checked Then hava_durumu_kodu = 6 hava_durumu = "Kar Yağışlı" ElseIf rdb_parcali_7.Checked Then hava_durumu_kodu = 7 hava_durumu = "Parçalı Bulutlu" ElseIf rdb_saganak_8.Checked Then hava_durumu_kodu = 8 hava_durumu = "Sağanak Yağışlı" ElseIf rdb_sis_9.Checked Then hava_durumu_kodu = 9 hava_durumu = "Sisli" ElseIf rdb_yeryeryagmur_10.Checked Then hava_durumu_kodu = 10 hava_durumu = "Yer Yer Yağmurlu" End If sql = "insert into ana_tablo (bolge,il,hava_durumu_kodu,hava_durumu,yorum,tarih) values ('" & CmbBolge.Text & "','" & Cmbil.Text & "'," & hava_durumu_kodu & ",'" & hava_durumu & "','" & TxtYorum.Text & "','" & Tarih.Value.Date & "')" Dim komut As New System.Data.OleDb.OleDbCommand(sql, baglanti) komut.ExecuteNonQuery() MsgBox("Bilgiler Veritabanına Kaydedilmiştir.") CmbBolge.Text = "SEÇİNİZ" ‘Kayıttan sora ekran ilk haline getiriliyor. Cmbil.Text = "SEÇİNİZ" Cmbil.Items.Clear() TxtYorum.Clear() rdb_gunesli_1.Checked = False rdb_azbulutlu_2.Checked = False rdb_bulutlu_3.Checked = False rdb_gokgurultulu_4.Checked = False rdb_karlakar_5.Checked = False rdb_kar_6.Checked = False rdb_parcali_7.Checked = False rdb_saganak_8.Checked = False rdb_sis_9.Checked = False rdb_yeryeryagmur_10.Checked = False CmbBolge.Focus() End If baglanti.Close() End Sub Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load Tolga GÜYER Sayfa 67