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