Anda di halaman 1dari 104

VB.

Net rnek Uygulamalar

Tolga GYER
02.11.2011

VB.Net rnek Uygulamalar 2 Kasm 2011

indekiler
Uygulama No: 1 Buraya Basmayn! ...................................................................................................... 4 Uygulama No: 2 Vcut-Kitle ndeksi ..................................................................................................... 5 Uygulama No: 3 Burlar ........................................................................................................................ 7 Uygulama No: 4 Not Hesapla................................................................................................................ 9 Uygulama No: 5 Ders Ekle .................................................................................................................. 11 Uygulama No: 6 Ders Kodu................................................................................................................. 12 Uygulama No: 7 Geme Notu ............................................................................................................. 13 Uygulama No: 8 Numara Olutur ....................................................................................................... 15 Uygulama No: 9 l ve le .................................................................................................................... 17 Uygulama No: 10 Kimlik Ekle .............................................................................................................. 18 Uygulama No: 11 E-Posta Adresi Oluturma ...................................................................................... 20 Uygulama No: 12 Olaylar-1................................................................................................................. 21 Uygulama No: 13 Drt lem .............................................................................................................. 23 Uygulama No: 14 Ardk Saylarn Toplam ........................................................................................ 24 Uygulama No: 15 Mekanik Saya ....................................................................................................... 25 Uygulama No: 16 Asal Say Testi......................................................................................................... 26 Uygulama No: 17 Pi Saysnn Yaklak Hesab .................................................................................... 27 Uygulama No: 18 Kuvvet ve Faktriyel Hesab ................................................................................... 29 Uygulama No: 19 e Dng ........................................................................................................... 30 Uygulama No: 20 153 Says ............................................................................................................... 31 Uygulama No: 21 Pisagor lleri ...................................................................................................... 32 Uygulama No: 22 Collatz Problemi ..................................................................................................... 33 Uygulama No: 23 Kaprekar Saylar .................................................................................................... 35 Uygulama No: 24 Kaprekar Sabiti ....................................................................................................... 37 Uygulama No: 25 Mkemmel Saylar ................................................................................................. 39 Uygulama No: 26 Aritmetik Ortalama ve Standart Sapma................................................................. 40 Uygulama No: 27 Renk Aktarm......................................................................................................... 42 Uygulama No: 28 Fonksiyon Kullanm 1 ............................................................................................ 44 Uygulama No: 29 Fonksiyon Kullanm 2 ............................................................................................ 45 Uygulama No: 30 Palindrom............................................................................................................... 48 Uygulama No: 31 Palindrom/Liste...................................................................................................... 49 Tolga GYER Sayfa 2

VB.Net rnek Uygulamalar 2 Kasm 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 VERTABANI UYGULAMALARI HAKKINDA ZET BLG ........................................................................... 75 Uygulama No: 41 Veritaban Uygulamas 7 ........................................................................................ 78 Uygulama No: 42 Veritaban Uygulamas 8 ........................................................................................ 81 Uygulama No: 43 Anket ...................................................................................................................... 85 Uygulama No: 44 Anket Gster .......................................................................................................... 88 Uygulama No: 45 Veritaban Uygulamas 9 ........................................................................................ 95 Uygulama No: 46 Veritaban Uygulamas 10 ...................................................................................... 97 Uygulama No: 47 Veritaban Uygulamas 11 .................................................................................... 100

Tolga GYER

Sayfa 3

VB.Net rnek Uygulamalar 2 Kasm 2011

Uygulama No: 1 Buraya Basmayn!


Aklama : Metin kutusuna herhangi bir metin girilmemi ise butona basldnda tepki veriliyor. Ekran Grnts

Aklamal Kodlar
Public Class Form1 Private Sub basma_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles basma.Click If giris.Text = "" Then Eer metin kutusu bo ise MsgBox("Basmayn demitim") basma.BackColor = Color.Red Buton krmz oluyor. Else basma.BackColor = Color.GreenYellow Aksi halde yeile dnyor. End If End Sub End Class

Tolga GYER

Sayfa 4

VB.Net rnek Uygulamalar 2 Kasm 2011

Uygulama No: 2 Vcut-Kitle ndeksi


Aklama : Girilen arlk ve boy verilerine gre vcut-kitle indeksi belirleniyor ve kiinin girdii arlk snf grsel destekle sunuluyor. Ekran Grnts

Public Class Form1

Aklamal Kodlar

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) Vcut kitle indeksi=arlk (kg) / boyun (m) karesi. If TxtVki.Text <= 19 Then TxtSonuc.Text = "Zayf" PictureBox1.ImageLocation = "zayif.jpg" End If

Tolga GYER

Sayfa 5

VB.Net rnek Uygulamalar 2 Kasm 2011


If TxtVki.Text >= 20 And TxtVki.Text < 25 Then TxtSonuc.Text = "deal snrlarda" PictureBox1.ImageLocation = "ideal.jpg" End If If TxtVki.Text >= 25 And TxtVki.Text < 30 Then TxtSonuc.Text = "Hafif iman" PictureBox1.ImageLocation = "hafif_sisman.jpg" End If If TxtVki.Text >= 30 And TxtVki.Text < 35 Then TxtSonuc.Text = "iman" PictureBox1.ImageLocation = "sisman.jpg" End If If TxtVki.Text >= 35 And TxtVki.Text < 45 Then TxtSonuc.Text = "Salk asndan nemli" PictureBox1.ImageLocation = "saglik_acisindan_tehlike.jpg" End If If TxtVki.Text >= 45 And TxtVki.Text < 50 Then TxtSonuc.Text = "Ar iman" PictureBox1.ImageLocation = "cok_sisman.jpg" End If If TxtVki.Text >= 50 Then TxtSonuc.Text = "Morbid (lmcl) iman" PictureBox1.ImageLocation = "morbid.jpg" End If End Sub End Class

Tolga GYER

Sayfa 6

VB.Net rnek Uygulamalar 2 Kasm 2011

Uygulama No: 3 Burlar


Aklama : Date-Time Picker kontrolnden seilen tarihe gre kiinin burcunun ne olduu belirleniyor ve grsel destekle sunuluyor. Ekran Grnts

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 gn bilgisi alnyor. ay = DateTimePicker1.Value.Month Sadece ay bilgisi alnyor. If (ay = 12 And gun >= 23) Or (ay = 1 And gun <= 20) Then TxtBurc.Text = "OLAK" 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

Aklamal Kodlar

Tolga GYER

Sayfa 7

VB.Net rnek Uygulamalar 2 Kasm 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 = "BOA" PictureBox1.ImageLocation = "boga.jpg" End If If (ay = 5 And gun >= 22) Or (ay = 6 And gun <= 21) Then TxtBurc.Text = "KZLER" 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 = "BAAK" 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 GYER

Sayfa 8

VB.Net rnek Uygulamalar 2 Kasm 2011

Uygulama No: 4 Not Hesapla


Aklama : Girilen ara snav ve genel snav notlar kullanlarak geme notu hesaplanyor ve bu geme notuna karlk gelen harf notu belirleniyor. Ekran Grnts

Aklamal 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 girildii metin kutusu deiirken If Txt_Final.Text <> "" And IsNumeric(Txt_Final.Text) Then Eer final metin kutusu dolu ve saysal veri ise If Txt_Final.Text > 100 Then Eer girilen final deeri 100 den byk ise MsgBox("Hatal Giri!") Txt_Final.Clear() TxtGecme.Clear() TxtHarf.Clear() TxtGecme.BackColor = Color.White Else Aksi halde, yani final 100 den kk 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 deer saysal deil. TxtGecme.Clear()

Tolga GYER

Sayfa 9

VB.Net rnek Uygulamalar 2 Kasm 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 iin de yaplyor. 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 Geme notu alan deiirken harf notu hesaplanyor. 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 GYER

Sayfa 10

VB.Net rnek Uygulamalar 2 Kasm 2011

Uygulama No: 5 Ders Ekle


Aklama : ki adet metin kutusundan alnan bilgilerle oluturulan ders kodu ve ad liste kutusuna ekleniyor. Daha sonra liste kutusundan seilen ders silinebiliyor. Ekran Grnts

Aklamal 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 birletirilerek liste kutusuna aktarlyor. 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 seili olan seenek siliniyor. End Sub End Class

Tolga GYER

Sayfa 11

VB.Net rnek Uygulamalar 2 Kasm 2011

Uygulama No: 6 Ders Kodu


Aklama : Metin kutusuna girilen ders kodu ve ad ayrtrlarak iki ayr liste kutusuna ekleniyor. Ekran Grnts

Aklamal 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, byk harfe dntrlen metnin soldan 6 karakteri alnarak ayrtrlyor. dersin_adi = Strings.Right(ders, Strings.Len(ders) - 6) Ders ad, metnin sadan uzunluu-6 karakteri alnarak ayrtrlyor. ListBox1.Items.Add(dersin_kodu) ListBox2.Items.Add(dersin_adi) TextBox1.Clear() End Sub End Class

Tolga GYER

Sayfa 12

VB.Net rnek Uygulamalar 2 Kasm 2011

Uygulama No: 7 Geme Notu


Aklama : Metin kutusuna girilen numara bilgisi kullanlarak rencinin giri yl ve fakltesi belirleniyor. Arasnav ve Final notlar kullanlarak geme notu ve bu nota karlk gelen harf notu hesaplanyor. Ekran Grnts

Aklamal 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) Eer giri ylnn son iki hanesi 50den kkse 2000li yllar olduunu anla ve bana 20 ekle. Aksi halde bana 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("Mhendislik") ElseIf Fak = "02" Then ListBox2.Items.Add("Eitim Bil.") ElseIf Fak = "03" Then ListBox2.Items.Add("Hukuk") ElseIf Fak = "04" Then ListBox2.Items.Add("iletiim") Else ListBox2.Items.Add("Dierleri") End If ListBox3.Items.Add(TextBox2.Text + " " + TextBox3.Text)

Tolga GYER

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

Sayfa 13

VB.Net rnek Uygulamalar 2 Kasm 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 GYER

Sayfa 14

VB.Net rnek Uygulamalar 2 Kasm 2011

Uygulama No: 8 Numara Olutur


Aklama : Alan kutudan (ComboBox) seilen faklteye gre renci numaras oluturuluyor. Giri yl sistem zamanndan alnyor ve her faklte iin sra numaralar ayr sayalarda tutuluyor. Ekran Grnts

Aklamal 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 = "Eitim Bilimleri Fakltesi" Then fakulte_kodu = "04" egt_sayac = egt_sayac + 1 sayac = egt_sayac ElseIf fakulte_adi = "Mhendislik Fakltesi" Then fakulte_kodu = "03" muh_sayac = muh_sayac + 1 sayac = muh_sayac ElseIf fakulte_adi = "Hukuk Fakltesi" Then fakulte_kodu = "02" huk_sayac = huk_sayac + 1 sayac = huk_sayac ElseIf fakulte_adi = "Tp Fakltesi" Then fakulte_kodu = "01" tip_sayac = tip_sayac + 1 sayac = tip_sayac End If Sra numarasnn basamak saysna gre bana ekleyecei sfr saysna 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 GYER

Sayfa 15

VB.Net rnek Uygulamalar 2 Kasm 2011


End If numara = Strings.Right(System.DateTime.Today.Year, 2) + fakulte_kodu + sira Sistem saatinden bugnn tarihinin yl alnyor ve bunun sadan iki basama ayrtrlyor. 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 GYER

Sayfa 16

VB.Net rnek Uygulamalar 2 Kasm 2011

Uygulama No: 9 l ve le
Aklama : l iin tanmlanan alan kutudan seilen il adna gre ile iin tanmlanan alan kutunun ierii otomatik olarak dolduruluyor. Ekran Grnts

Aklamal 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("Keiren") ComboBox2.Items.Add("Yenimahalle") ComboBox2.Items.Add("Mamak") ElseIf ComboBox1.Text = "stanbul" Then ComboBox2.Items.Add("Beikta") ComboBox2.Items.Add("ili") ComboBox2.Items.Add("Eminn") ComboBox2.Items.Add("Beykoz") ComboBox2.Items.Add("Adalar") ElseIf ComboBox1.Text = "zmir" Then ComboBox2.Items.Add("Karyaka") ComboBox2.Items.Add("Bornova") ComboBox2.Items.Add("Gzelyal") ComboBox2.Items.Add("Buca") ComboBox2.Items.Add("Konak") End If End Sub End Class

Tolga GYER

Sayfa 17

VB.Net rnek Uygulamalar 2 Kasm 2011

Uygulama No: 10 Kimlik Ekle


Uygulama No : Uygulama Ad : Aklama : 08 Kimlik Ekle 1. Alanlarn her nn de girilmi olmas gerekiyor. Aksi halde uyar mesaj veriliyor. 2. Kimlik numaras 11 hane olmazsa uyar mesaj veriliyor. 3. Cinsiyet Kadn seilirse Askerlik Durumu pasif konuma geiyor. 4. Bilgileri Ekle butonuna basldnda bilgiler liste kutusuna alt alta ekleniyor. Ekran Grnts

Aklamal 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. Dolaysyla zerindeki radyo dmeleri 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 GYER

Sayfa 18

VB.Net rnek Uygulamalar 2 Kasm 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 = "Kadn" 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("Alanlarn hepsi girilmemi!") End If End Sub End Class

Tolga GYER

Sayfa 19

VB.Net rnek Uygulamalar 2 Kasm 2011

Uygulama No: 11 E-Posta Adresi Oluturma


Aklama : Butona basldnda kiinin adnn ilk harfi ile soyad birletiriliyor, ComboBoxdan seilen niversiteye gre e-posta adresi otomatik olarak oluturuluyor. Ekran Grnts

Aklamal 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 adndaki ilk boluun 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") 'Aada, metin iersinden Trke harfler dntrlyor. 'rnein 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 GYER

Sayfa 20

VB.Net rnek Uygulamalar 2 Kasm 2011

Uygulama No: 12 Olaylar-1


Aklama : Radyo dmelerinin ve iaretleme kutularnn tklama olaylar liste kutusuna ekleniyor. Sil butonu, liste kutusundan seilen kayt(lar) siliyor. Ekran Grnts

Aklamal 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 + " seildi") End Sub Private Sub secenek2_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles secenek2.Click ListBox1.Items.Add(secenek2.Text + " seildi") 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 seilmi seenek 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 + " iaretlendi") Else ListBox1.Items.Add(secim1.Text + " iareti kaldrld") End If End Sub

Tolga GYER

Sayfa 21

VB.Net rnek Uygulamalar 2 Kasm 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 + " iaretlendi") Else ListBox1.Items.Add(secim2.Text + " iareti kaldrld") End If End Sub End Class

Tolga GYER

Sayfa 22

VB.Net rnek Uygulamalar 2 Kasm 2011

Uygulama No: 13 Drt lem


Aklama : ki say iin seilen ileme gre hesap yaplyor. Ekran Grnts

Aklamal 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 Sfra blme yapmasn. s = s1 / s2 End If sonuc.Text = s End Sub End Class

Tolga GYER

Sayfa 23

VB.Net rnek Uygulamalar 2 Kasm 2011

Uygulama No: 14 Ardk Saylarn Toplam


Aklama : For-Next dngsnn kullanmna ilikin basit bir rnek. Ekran Grnts

Aklamal 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 GYER

Sayfa 24

VB.Net rnek Uygulamalar 2 Kasm 2011

Uygulama No: 15 Mekanik Saya


Aklama : For-Next dngsnn i ie kullanmna ilikin basit bir rnek. Ekran Grnts

Aklamal 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 admda beklemeyi salar. Next LblB1.Refresh()Etiketin (Label) tazelenmesi. Yeni sayy her admda gstermesi iin 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 GYER

Sayfa 25

VB.Net rnek Uygulamalar 2 Kasm 2011

Uygulama No: 16 Asal Say Testi


Aklama : Say asal ise Asaldr mesaj veriliyor. Aksi halde saynn ilk bleni gsteriliyor. Ekran Grnts

Aklamal 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 byk tamsay tr. For say = 2 To TxtSayi.Text / 2 Saynn yarsna kadar blen aratrlacak. If TxtSayi.Text Mod say = 0 Then Eer tam blyor ise asalmi = False Exit For Daha fazla aratrmaya gerek yok. End If Next If asalmi = True Then Demekki yukardaki koula hi girmemi. MsgBox("ASALDIR") Else : MsgBox("ASAL DELDR. " & say & " says bu sayy bler.") End If End Sub End Class

Tolga GYER

Sayfa 26

VB.Net rnek Uygulamalar 2 Kasm 2011

Uygulama No: 17 Pi Saysnn Yaklak Hesab


Aklama : Girilen yaklam deerine bal olarak aadaki toplam forml ile Pi says yaklak olarak hesaplanyor.

Ekran Grnts

Aklamal 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 Saysal olmayan veri de istemiyoruz. If TxtYaklasim.Text > 0 And TxtYaklasim.Text < 10 Then Bir de yaklam says 1 il 9 arasnda olacak. For k = 1 To TxtYaklasim.Text 'k faktriyel hesaplanyor: faktor = 1 For i = 1 To k faktor = faktor * i Next '2k+1 faktriyel hesaplanyor: faktor1 = 1 For i = 1 To 2 * k + 1 faktor1 = faktor1 * i Next 'Toplam hesaplanyor: toplam = toplam + ((2 ^ k) * (faktor ^ 2)) / faktor1 Next LblSonuc.Text = 2 * toplam Else MsgBox("Yaklam says 1-9 arasnda olmaldr!") End If

Tolga GYER

Sayfa 27

VB.Net rnek Uygulamalar 2 Kasm 2011


Else MsgBox("Ltfen saysal veri giriniz!") End If MsgBox("lgili alana veri girii yapnz!") End If End Sub End Class Else

Tolga GYER

Sayfa 28

VB.Net rnek Uygulamalar 2 Kasm 2011

Uygulama No: 18 Kuvvet ve Faktriyel Hesab


Aklama : Girilen saynn istenilen kuvveti ve faktriyeli hesaplanyor. For-Next dng yapsnn kullanmna ilikin bir rnektir. Ekran Grnts

Aklamal 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 arplyor. 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 Sayya kadar olan btn saylar arplyor. Next sayac txtfaktor.Text = sonuc End Sub End Class

Tolga GYER

Sayfa 29

VB.Net rnek Uygulamalar 2 Kasm 2011

Uygulama No: 19 e Dng


Aklama : 000 ile 999 arasndaki saylar i ie dzenlenmi for-next dng yaps kullanlarak oluturuluyor. Kod iersinde yer alan System.Threading.Thread.Sleep(10) ifadesi, her admda bekleme ilevini gerekletiriyor. Dolaysyla sayalarn deiimi gzlenebiliyor. Ekran Grnts

Aklamal 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 admda 10 ms bekle. Next sayac3 Next sayac2 Next sayac1 End Sub End Class

Tolga GYER

Sayfa 30

VB.Net rnek Uygulamalar 2 Kasm 2011

Uygulama No: 20 153 Says


Aklama : 153 Says yle bir zellie sahiptir: 153 = 13+ 53 + 33. Acaba 100 ile 999 arasnda bu zellii salayan, yani basamaklarnn kplerinin toplamna eit olan baka say ya da saylar var mdr? Ekran Grnts

Aklamal 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 GYER

Sayfa 31

VB.Net rnek Uygulamalar 2 Kasm 2011

Uygulama No: 21 Pisagor lleri


Aklama : a2 + b2 = c2 zelliini salayan saylar, dik genin kenar uzunluklarn gsterirler ve Pisagor lleri olarak anlrlar. 1 ile 99 arasndaki doal saylardan bu eitlii salayanlar hangileri olabilir? Ekran Grnts

Aklamal 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 GYER

Sayfa 32

VB.Net rnek Uygulamalar 2 Kasm 2011

Uygulama No: 22 Collatz Problemi


Aklama : Dolu tanesi saylar olarak da bilinen problem, girilecek bir pozitif tamsay ile balayan bir say dizisi oluturmaya dayanr. Dizinin her bir eleman, bir nceki say kullanlarak u kural dahilinde hesaplanr: Eer say ift ise bir sonraki say bu saynn yars, tek ise katnn bir fazlas olacaktr. Bylece ilk says verilen bir say dizisi oluturulur. rnein, ilk say 7 ise dizi u ekilde oluacaktr: 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, ... Grld gibi dizi 1 saysna ulat anda sonsuz dngye girmektedir. Aslnda balang says olarak ne girersek girelim dizi her zaman 1 saysna ulamaktadr, ama bu durum henz matematiksel olarak kantlanamamtr... Ekran Grnts

Tolga GYER

Sayfa 33

VB.Net rnek Uygulamalar 2 Kasm 2011

Aklamal 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 enbuyukten daha byk ise yeni enbuyuk deeri sayi olsun. Loop Until sayi = 1 lstdizi.Items.Add(1) lbladimsayisi.Text = sayac + 1 lblenbuyuk.Text = enbuyuk End Sub End Class

Tolga GYER

Sayfa 34

VB.Net rnek Uygulamalar 2 Kasm 2011

Uygulama No: 23 Kaprekar Saylar


Aklama : Kaprekar saylar , 1949 ylnda Hintli matematiki Kaprekar tarafndan tariflenen saylardr. n basamakl bir t Kaprekar saysnn karesi alnp sadaki n basama solda kalan n-1 basamaa eklendiinde sonu yine t saysn verir. rnek: 55 , iki basamakl bir saydr. 552 = 3025 , sadan iki basamak 25 , soldan iki basamak 30. Bu iki saynn toplam 30+25=55 yani saynn kendisidir. 1, 9, 45, 55, 99, 297, 703, 999, 2223, 2728, 4879 saylar da dier baz Kaprekar saylardr. Ekran Grnts

Aklamal 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 LstSayi.Items.Clear()

Tolga GYER

Sayfa 35

VB.Net rnek Uygulamalar 2 Kasm 2011


basla = TxtBaslangic.Text ' Bu say araln balang says 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 GYER

Sayfa 36

VB.Net rnek Uygulamalar 2 Kasm 2011

Uygulama No: 24 Kaprekar Sabiti


Aklama : Hintli matematiki Kaprekar (1905-1986) tarafndan tanmlanan , drt basamakl saylara en fazla yedi kez aadaki ilemler uygulandnda ortaya kan sabit 6174 says. lemler , tm basamaklar ayn saydan olumayan (2222 gibi - ilk admda sfr sonucunu verecektir) ve herhangi basamandaki saylar ayn olup kalan bir basamaktaki say bu saydan bir byk ya da bir kk olmayan (1112, 5565 veya 8788 gibi - ilk admda 999 saysn verecektir) drt basamakl saylara uygulandnda en fazla yedi admda sfr veya 6174 sabit saysn verir. Yukardaki artlara uygun drt basamakl bir say alnr. Saynn basamaklarn bykten ke ve kkten bye doru sralayarak iki adet drt basamakl say elde edilir. Elden edilen saylardan bykten k karlr. 2. adm tekrar edilir. En fazla yedi admda sfr ya da 6174 sabit says elde edilecek ve ksr dngye girilecektir. rnek: 6544 4456 = 2088 8820 0288 = 8532 8532 2358 = 6174 7641 1467 = 6174 Ekran Grnts

Aklamal 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 GYER

sayilar(0) = TxtSayi1.Text

Sayfa 37

VB.Net rnek Uygulamalar 2 Kasm 2011


sayilar(1) = TxtSayi2.Text sayilar(2) = TxtSayi3.Text sayilar(3) = TxtSayi4.Text Sralama algoritmas kullanlarak sayilar dizisi kkten bye doru sralanyor: 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, sayilar(1) = Strings.Mid(fark.ToString, sayilar(2) = Strings.Mid(fark.ToString, sayilar(3) = Strings.Mid(fark.ToString, Loop Until fark = 6174 End Sub End Class 1, 2, 3, 4, 1) 1) 1) 1)

Tolga GYER

Sayfa 38

VB.Net rnek Uygulamalar 2 Kasm 2011

Uygulama No: 25 Mkemmel Saylar


Aklama : 1 dahil, kendisi hari olmak zere blenlerinin toplamna eit olan saylara mkemmel say ad verilir. rnein 6=1+2+3 olduundan bir mkemmel saydr. Bir sonraki mkemmel say 28dir. nk 28=1+2+4+7+14 olur. Gelitirdiimiz uygulama, kullanc tarafndan girilecek bir saynn mkemmel olup olmadn test etmekte, deil ise bir sonraki mkemmel sayy hesaplamaktadr. Ekran Grnts

Aklamal 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("MKEMMEL!") Else Say mkemmel deil 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 GYER

Sayfa 39

VB.Net rnek Uygulamalar 2 Kasm 2011

Uygulama No: 26 Aritmetik Ortalama ve Standart Sapma


Aklama : Liste kutusuna aktarlan saylarn aritmetik ortalama ve standart sapmalar hesaplanyor. Ekran Grnts

Aklamal 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 saylar toplanyor. Next ort = toplam1 / LstSayilar.Items.Count 'Toplamn say adetine oran. MsgBox(ort) End Sub

Tolga GYER

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

Sayfa 40

VB.Net rnek Uygulamalar 2 Kasm 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 saylarn her biri ile ortalama arasndaki farklarn kareleri toplam. Next StdSapma = Math.Sqrt(toplam2 / (LstSayilar.Items.Count - 1)) 'Kareler toplamnn say adetinin bir eksiine orannn karekk. 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 GYER

Sayfa 41

VB.Net rnek Uygulamalar 2 Kasm 2011

Uygulama No: 27 Renk Aktarm


Aklama : Label (etiket) nesneleri kullanarak oluturulmu bir renk paletinin kullanm. Ekran Grnts

Aklamal 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 Eer formun rengi opsiyonu seili 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 End If

Tolga GYER

Sayfa 42

VB.Net rnek Uygulamalar 2 Kasm 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 GYER

Sayfa 43

VB.Net rnek Uygulamalar 2 Kasm 2011

Uygulama No: 28 Fonksiyon Kullanm 1


Aklama : Fonksiyon kullanlarak drt ilem hesab. Ekran Grnts

Aklamal 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 GYER

Sayfa 44

VB.Net rnek Uygulamalar 2 Kasm 2011

Uygulama No: 29 Fonksiyon Kullanm 2


Aklama : Fonksiyon kullanlarak maa hesab. Ekran Grnts

Aklamal 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 GYER

Sayfa 45

VB.Net rnek Uygulamalar 2 Kasm 2011


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

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 = "Boanm/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 GYER

Sayfa 46

VB.Net rnek Uygulamalar 2 Kasm 2011


kod = 0 If ComboBox4.Text = "Lise" Then kod = 1 If ComboBox4.Text = "niversite" Then kod = 2 If ComboBox4.Text = "Yksek 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 GYER

Sayfa 47

VB.Net rnek Uygulamalar 2 Kasm 2011

Uygulama No: 30 Palindrom


Aklama : Girilen metnin palindrom (tersten de ayn ekilde okunan) olup olmadnn test edilmesi. Ekran Grnts

Aklamal 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 GYER

Sayfa 48

VB.Net rnek Uygulamalar 2 Kasm 2011

Uygulama No: 31 Palindrom/Liste


Aklama : Girilen metnin ierisinde yer alan palindrom kelimeler ayklanarak liste kutusuna aktarlyor. Ekran Grnts

Aklamal 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 GYER

Sayfa 49

VB.Net rnek Uygulamalar 2 Kasm 2011

Uygulama No: 32 Metin statistikleri


Aklama : ok-satrl bir metin kutusuna girilen metnin hece, kelime ve cmle saylar hesaplanyor ve girilen bir anahtar kelimenin metin iersinde geme says bulunuyor. Ekran Grnts

Aklamal 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 taryor. If metin(k) = " " Then kelime_sayisi = kelime_sayisi + 1 'Kelime says=boluk says. nk yukarda fazladan bir boluk eklemitik. If k = Strings.Len(metin) - 1 Then Exit For 'Aadaki koulda son karakterden sonra (k+1) arama yapmasn

Tolga GYER

Sayfa 50

VB.Net rnek Uygulamalar 2 Kasm 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 says=sesli harf says: 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" aranrken "masal" da bulunur. anahtar = TxtAnahtarKelime.Text Else anahtar = " " + TxtAnahtarKelime.Text + " " 'Tam eitlik arama. "masa" aranrken, "masal" bulunmaz. End If sayac = 0 konum = 1 Do p = Strings.InStr(konum, metin, anahtar) '"anahtar" kelime "metin" iersinde "konum"dan balayarak aranyor. 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 GYER

Sayfa 51

VB.Net rnek Uygulamalar 2 Kasm 2011

Uygulama No: 33 Anahtarl Metin ifreleme


Aklama : ok-satrl bir metin kutusuna girilen bir metin, anahtar kelime kullanlarak ifreleniyor. ifreleme, metnin her bir karakterinin ASCII koduna, anahtar kelimenin her bir karakterinin ASCII kodunun eklenmesi ile gerekletiriliyor. Aada, rnek zerinden ifreleme algoritmasnn aklamas yaplmtr: Ek Aklama i 254 o 253 ? 507 252 ? 252 o 253 -1 254 s k h a u 8 y l 9 a o d r k 6 v l i e o 2 u m l * r o }

Metin = Bilgisayar ve retim Anahtar = okul B 254 60 l 254 g 254 o 50 k 50 u 255 l 254 ^ # , 508 509 Toplam=304 110 253 254 Mod 255=49 110 , 49 o 50 Fark=-1 Fark<=0 ise +255 = 254 Aksi halde Mod 255 110 k 50 60 # 254 u 255 -1 254 60 ^ 253 l 254 -1 254

u ,

k 1

h k

8 u

9 l

d o

6 k

, u

i l

2 o

1 k

m u

* l

} o

Ekran Grnts

Tolga GYER

Sayfa 52

VB.Net rnek Uygulamalar 2 Kasm 2011

Aklamal 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 sradaki karakterinin kodunu ekleyerek bul. 'Neden Mod 255? nk toplam 255 deerini aabilir. j = j + 1 If j = Strings.Len(anahtar) Then j = 0 'Anahtar kelimenin indisi ayr tutulmal. Yoksa indisde deer am olur. Next TxtSifreliMetin.Text = sifreli_metin End Sub End Class

Tolga GYER

Sayfa 53

VB.Net rnek Uygulamalar 2 Kasm 2011

Uygulama No: 34 Anahtarl Metin ifre zme


Aklama : nceki uygulamada gerekletirilen ifrelemeyi, ayn anahtarn girilmesi artyla ters algoritma kullanarak zen uygulama. Ekran Grnts

Aklamal 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 GYER

Sayfa 54

VB.Net rnek Uygulamalar 2 Kasm 2011

Uygulama No: 35 Veritaban Uygulamas 1


Aklama : Veritaban ile balant kurulmas ve veri okunmas. Ekran Grnts

Aklamal 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 balant metinlerinden birisi kullanlacaktr. MS.ACE.OLEDB motoru 64 bit iletim sistemlerinde sorun karabiliyor. Bu durumda MS.Jet.OLEDB motorunun ve mdb formatnn kullanlmas tavsiye edilir. Dim baglanti1 As New Data.OleDb.OleDbConnection(baglanti_metni2) baglanti1.Open() Balant metni kullanlarak yeni bir balant tanmlanyor ve alyor. Dim sql1 As String sql1 = "select * from tablo1 where klnad='" & TxtKlnAd.Text & "' and sifre='" & TxtSifre.Text & "'" Formdaki alanlarn deerleri kullanlarak veri seme ilevine sahip bir SQL cmlesi oluturuluyor. Dim komut1 As New System.Data.OleDb.OleDbCommand(sql1, baglanti1) Balant ve SQL cmlesi kullanlarak yeni bir veritaban komutu tanmlanyor. Dim veri_okuyucu1 As Data.OleDb.OleDbDataReader veri_okuyucu1 = komut1.ExecuteReader Tanmlanan veritaban komutu zerinden bir veri okuyucusu tanmlanyor ve altrlyor. If veri_okuyucu1.HasRows = True Then Eer veri okuyucusunda veri varsa MsgBox("Kullanc kaytl.")

Tolga GYER

Sayfa 55

VB.Net rnek Uygulamalar 2 Kasm 2011


Else MsgBox("Kullanc kaytl deil.") End If baglanti1.Close() End Sub End Class

Tolga GYER

Sayfa 56

VB.Net rnek Uygulamalar 2 Kasm 2011

Uygulama No: 36 Veritaban Uygulamas 2


Aklama : Veritaban ile balant kurulmas ve veri okunmas. Ekran Grnts

Aklamal 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 balant metinlerinden birisi kullanlacaktr. MS.ACE.OLEDB motoru 64 bit iletim sistemlerinde sorun karabiliyor. Bu durumda MS.Jet.OLEDB motorunun ve mdb formatnn kullanlmas tavsiye edilir. Dim baglanti1 As New Data.OleDb.OleDbConnection(baglanti_metni2) baglanti1.Open() Balant metni kullanlarak yeni bir balant tanmlanyor ve alyor. Dim sql1 As String sql1 = "select * from tablo1 where klnad='" & TxtKlnAd.Text & "' and sifre='" & TxtSifre.Text & "'" Formdaki alanlarn deerleri kullanlarak veri seme ilevine sahip bir SQL cmlesi oluturuluyor. Dim komut1 As New System.Data.OleDb.OleDbCommand(sql1, baglanti1) Balant ve SQL cmlesi kullanlarak yeni bir veritaban komutu tanmlanyor. Dim veri_okuyucu1 As Data.OleDb.OleDbDataReader veri_okuyucu1 = komut1.ExecuteReader Tanmlanan veritaban komutu zerinden bir veri okuyucusu tanmlanyor ve altrlyor. If veri_okuyucu1.HasRows = True Then Eer veri okuyucusunda veri varsa veri_okuyucu1.Read()

Tolga GYER

Sayfa 57

VB.Net rnek Uygulamalar 2 Kasm 2011


MsgBox("Merhaba " & veri_okuyucu1("ad") & " " & veri_okuyucu1("soyad") & ". MATRIX'e hogeldin...") Veri okuyucusu kullanlarak istenilen alana ulamak mmkn. Else MsgBox("Kullanc kaytl deil.") End If baglanti1.Close() End Sub End Class

Tolga GYER

Sayfa 58

VB.Net rnek Uygulamalar 2 Kasm 2011

Uygulama No: 37 Veritaban Uygulamas 3


Aklama : Veritabanna kayt eklenmesi. Ekran Grnts

Aklamal 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 satr eklemek iin kullanlacak SQL cmlesi Dim komut1 As New System.Data.OleDb.OleDbCommand(sql1, baglanti1) komut1.ExecuteNonQuery()SQL sorgusu burada altrlyor. baglanti1.Close() MsgBox("Veriler Kaydedildi") TxtAd.Clear() TxtSoyad.Clear() TxtAd.Focus() CmbBolum.ResetText() CmbFakulte.ResetText() End Sub End Class

Tolga GYER

Sayfa 59

VB.Net rnek Uygulamalar 2 Kasm 2011

Uygulama No: 38 Veritaban Uygulamas 4


Aklama : Veritabanna kayt eklenmesi. Ekran Grnts

Aklamal 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 cmlesinde veritabannda say trnde tanmlanm alanlar iin tek trnak iareti kullanlmaz. Dim komut1 As New System.Data.OleDb.OleDbCommand(sql1, baglanti1) komut1.ExecuteNonQuery() baglanti1.Close() MsgBox("Veriler Kaydedildi") TxtFilmAdi.Clear() TxtYonetmen.Clear()

Tolga GYER

Sayfa 60

VB.Net rnek Uygulamalar 2 Kasm 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 GYER

Sayfa 61

VB.Net rnek Uygulamalar 2 Kasm 2011

Uygulama No: 39 Veritaban Uygulamas 5


Aklama : Veritabanna kayt eklenmesi Resim uygulamal. Ekran Grnts

Aklamal 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() TxtYorum.Clear()

Tolga GYER

Sayfa 62

VB.Net rnek Uygulamalar 2 Kasm 2011


TxtFilmAdi.Focus() CmbYili.ResetText() PictureBox1.ImageLocation PictureBox1.Load() PictureBox2.ImageLocation PictureBox2.Load() PictureBox3.ImageLocation PictureBox3.Load() PictureBox4.ImageLocation PictureBox4.Load() PictureBox5.ImageLocation 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 dng ile dolduruluyor. CmbYili.Items.Add(k) Next yildiz = 0 Filmin yldz toplamn tutacak deiken; balangta sfrlanyor. End Sub Private Sub PictureBox1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles PictureBox1.Click If b1 = 0 Then Eer ilk defa tkland ise PictureBox1.ImageLocation = "dolu_yildiz.bmp" Resim dosyas PictureBox1.Load()Resmi ykle b1 = 1 yildiz = yildiz + 1 Her sar yldz resmi iin yldz puann bir artr. Else Eer ikinci defa tkland ise PictureBox1.ImageLocation = "bos_yildiz.bmp" PictureBox1.Load() b1 = 0 yildiz = yildiz 1 Her beyaz yldz resmi iin yldz puann 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 = "bos_yildiz.bmp" = "bos_yildiz.bmp" = "bos_yildiz.bmp" = "bos_yildiz.bmp" = "bos_yildiz.bmp"

Tolga GYER

Sayfa 63

VB.Net rnek Uygulamalar 2 Kasm 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 GYER

Sayfa 64

VB.Net rnek Uygulamalar 2 Kasm 2011

Uygulama No: 40 Veritaban Uygulamas 6


Aklama : Veritabanna kayt ekleme, kayt dzeltme, kayt silme ve dinamik ComboBox denetimi Ekran Grnts Form3 (Men)

Aklamal 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 almasn salar. Show metodundan fark, form aldnda arkada kalan dier uygulama pencerelerinin almasna 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 GYER

Sayfa 65

VB.Net rnek Uygulamalar 2 Kasm 2011

Ekran Grnts Form1 (Veri Girii)

Aklamal 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 = "SENZ" Then Blge semeden olmaz MsgBox("Blge Seiniz!") ElseIf Cmbil.Text = "SENZ" Then l semeden olmaz MsgBox("l Seiniz!") Else Dim sql, hava_durumu As String Dim hava_durumu_kodu As Byte If rdb_gunesli_1.Checked Then Eer gneli resminin yanndaki radyo dmesi iaretli ise bu durumda hava durumu kodu ve haca durumu deikenlerine uygun deerler aktarlyor. hava_durumu_kodu = 1 hava_durumu = "Gneli" ElseIf rdb_azbulutlu_2.Checked Then

Tolga GYER

Sayfa 66

VB.Net rnek Uygulamalar 2 Kasm 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 = "Gk Grltl ve Saanak Yal" ElseIf rdb_karlakar_5.Checked Then hava_durumu_kodu = 5 hava_durumu = "Karla Kark Yamurlu" ElseIf rdb_kar_6.Checked Then hava_durumu_kodu = 6 hava_durumu = "Kar Yal" ElseIf rdb_parcali_7.Checked Then hava_durumu_kodu = 7 hava_durumu = "Paral Bulutlu" ElseIf rdb_saganak_8.Checked Then hava_durumu_kodu = 8 hava_durumu = "Saanak Yal" 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 Yamurlu" 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 Veritabanna Kaydedilmitir.") getiriliyor. CmbBolge.Text = "SENZ" Kayttan sora ekran ilk haline

Cmbil.Text = "SENZ" 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 GYER

Sayfa 67

VB.Net rnek Uygulamalar 2 Kasm 2011


baglanti.Open() Dim sql As String sql = "select bolge from bolge_il group by bolge" Form yklenirken veritabanndaki bolge_il tablosundan corafi blgeler alnyor. Dim komut As New System.Data.OleDb.OleDbCommand(sql, baglanti) Dim veri_okuyucu As Data.OleDb.OleDbDataReader veri_okuyucu = komut.ExecuteReader While (veri_okuyucu.Read())Bu dng ekilen veriyi (blgeler) taramak iin kullanlyor. CmbBolge.Items.Add(veri_okuyucu("bolge")) Blgeler ilgili ComboBox a seenek olarak ekleniyor. End While baglanti.Close() End Sub Private Sub BtnKapat_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BtnKapat.Click baglanti.Close() End End Sub Private Sub CmbBolge_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles CmbBolge.SelectedIndexChanged baglanti.Open() Cmbil.Items.Clear() Cmbil.Text = "SENZ" Dim sql As String sql = "select il from bolge_il where bolge = '" & CmbBolge.Text & "'" Seilen blge altnda yer alan iller seiliyor ve ilgili ComboBox a seenek olarak ekleniyor. Dim komut As New System.Data.OleDb.OleDbCommand(sql, baglanti) Dim veri_okuyucu As Data.OleDb.OleDbDataReader veri_okuyucu = komut.ExecuteReader While (veri_okuyucu.Read()) Cmbil.Items.Add(veri_okuyucu("il")) End While baglanti.Close() End Sub End Class

Tolga GYER

Sayfa 68

VB.Net rnek Uygulamalar 2 Kasm 2011 Ekran Grnts Form2 (Veri Arama/Dzeltme/Silme)

Aklamal Kodlar
Public Class Form2 Dim baglanti As New Data.OleDb.OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0; Data Source=|DataDirectory|\meteor.mdb; Persist Security Info=False;") Private Sub Form2_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load baglanti.Open() Dim sql As String sql = "select bolge from bolge_il group by bolge" Dim komut As New System.Data.OleDb.OleDbCommand(sql, baglanti) Dim veri_okuyucu As Data.OleDb.OleDbDataReader veri_okuyucu = komut.ExecuteReader While (veri_okuyucu.Read()) CmbBolge.Items.Add(veri_okuyucu("bolge")) End While baglanti.Close() End Sub Private Sub CmbBolge_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles CmbBolge.SelectedIndexChanged baglanti.Open() Cmbil.Items.Clear()

Tolga GYER

Sayfa 69

VB.Net rnek Uygulamalar 2 Kasm 2011


Cmbil.Text = "SENZ" Dim sql As String sql = "select il from bolge_il where bolge = '" & CmbBolge.Text & "'" Dim komut As New System.Data.OleDb.OleDbCommand(sql, baglanti) Dim veri_okuyucu As Data.OleDb.OleDbDataReader veri_okuyucu = komut.ExecuteReader While (veri_okuyucu.Read()) Cmbil.Items.Add(veri_okuyucu("il")) End While baglanti.Close() End Sub Private Sub BtnKapat_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BtnKapat.Click baglanti.Close() Me.Close() End Sub Private Sub BtnAra_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BtnAra.Click baglanti.Open() Dim sql As String sql = "select hava_durumu_kodu,yorum from ana_tablo where il = '" & Cmbil.Text & "' and tarih like '" & Tarih.Value.Date & "'" il ve tarih deeri tutan kayt aranyor. Dim komut As New System.Data.OleDb.OleDbCommand(sql, baglanti) Dim veri_okuyucu As Data.OleDb.OleDbDataReader veri_okuyucu = komut.ExecuteReader If Not veri_okuyucu.HasRows Then Eer veri oluyucu kayt iermiyor Else MsgBox("Bu bilgiyi ieren herhangi bir kayt bulunamad...") While (veri_okuyucu.Read()) If veri_okuyucu("hava_durumu_kodu") = 1 rdb_gunesli_1.Checked = True ElseIf veri_okuyucu("hava_durumu_kodu") rdb_azbulutlu_2.Checked = True ElseIf veri_okuyucu("hava_durumu_kodu") rdb_bulutlu_3.Checked = True ElseIf veri_okuyucu("hava_durumu_kodu") rdb_gokgurultulu_4.Checked = True ElseIf veri_okuyucu("hava_durumu_kodu") rdb_karlakar_5.Checked = True ElseIf veri_okuyucu("hava_durumu_kodu") rdb_kar_6.Checked = True ElseIf veri_okuyucu("hava_durumu_kodu") rdb_parcali_7.Checked = True ElseIf veri_okuyucu("hava_durumu_kodu") rdb_saganak_8.Checked = True ElseIf veri_okuyucu("hava_durumu_kodu") rdb_sis_9.Checked = True Else rdb_yeryeryagmur_10.Checked = True End If Then = 2 Then = 3 Then = 4 Then = 5 Then = 6 Then = 7 Then = 8 Then = 9 Then

ise

Tolga GYER

Sayfa 70

VB.Net rnek Uygulamalar 2 Kasm 2011


TxtYorum.Text = veri_okuyucu("yorum") End While End If baglanti.Close() End Sub Private Sub BtnKaydet_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BtnKaydet.Click baglanti.Open() If CmbBolge.Text = "SENZ" Then MsgBox("Blge Seiniz!") ElseIf Cmbil.Text = "SENZ" Then MsgBox("l Seiniz!") Else Dim sql, hava_durumu As String Dim hava_durumu_kodu As Byte If rdb_gunesli_1.Checked Then hava_durumu_kodu = 1 hava_durumu = "Gneli" ElseIf rdb_azbulutlu_2.Checked Then 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 = "Gk Grltl ve Saanak Yal" ElseIf rdb_karlakar_5.Checked Then hava_durumu_kodu = 5 hava_durumu = "Karla Kark Yamurlu" ElseIf rdb_kar_6.Checked Then hava_durumu_kodu = 6 hava_durumu = "Kar Yal" ElseIf rdb_parcali_7.Checked Then hava_durumu_kodu = 7 hava_durumu = "Paral Bulutlu" ElseIf rdb_saganak_8.Checked Then hava_durumu_kodu = 8 hava_durumu = "Saanak Yal" 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 Yamurlu" End If sql = "update ana_tablo set hava_durumu_kodu = " & hava_durumu_kodu & ",hava_durumu = '" & hava_durumu & "',yorum = '" & TxtYorum.Text & "' where il = '" & Cmbil.Text & "' and tarih like '" & Tarih.Value.Date & "'" Veritabannda gncelleme ilemi gerekletiriliyor. Dim komut As New System.Data.OleDb.OleDbCommand(sql, baglanti) komut.ExecuteNonQuery()

Tolga GYER

MsgBox("Bilgiler Veritabannda Gncellenmitir.")

Sayfa 71

VB.Net rnek Uygulamalar 2 Kasm 2011


End If baglanti.Close() End Sub Private Sub BtnSil_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BtnSil.Click baglanti.Open() If CmbBolge.Text = "SENZ" Then MsgBox("Blge Seiniz!") ElseIf Cmbil.Text = "SENZ" Then MsgBox("l Seiniz!") Else Dim sql As String sql = "delete from ana_tablo where il = '" & Cmbil.Text & "' and tarih like '" & Tarih.Value.Date & "'" Veritabanndan formda bilgileri bulunan kayt siliniyor. Dim komut As New System.Data.OleDb.OleDbCommand(sql, baglanti) komut.ExecuteNonQuery() MsgBox("Bilgiler Veritabanndan Silinmitir.") End If baglanti.Close() CmbBolge.Text = "SENZ" Cmbil.Text = "SENZ" 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 Sub End Class

Tolga GYER

Sayfa 72

VB.Net rnek Uygulamalar 2 Kasm 2011 Veritaban Tasarm (meteor.mdb)

Tolga GYER

Sayfa 73

VB.Net rnek Uygulamalar 2 Kasm 2011

Tolga GYER

Sayfa 74

VB.Net rnek Uygulamalar 2 Kasm 2011

VERTABANI UYGULAMALARI HAKKINDA ZET BLG


VB.Net uygulamasndan bir Access veritabanna nasl balanrm? Bunun iin ilk yapmamz gereken, bir balant cmlesi kurmaktr. Aada iki farkl durum iin rnekler verilmitir:
Dim baglanti_metni1, baglanti_metni2 As String baglanti_metni1 = "Provider=Microsoft.ACE.OLEDB.12.0; DataSource=|DataDirectory|\vt1.accdb; Persist Security Info=False;" baglanti_metni2 = "Provider=Microsoft.Jet.OLEDB.4.0; DataSource=|DataDirectory|\vt1.mdb; Persist Security Info=False;"

lk cmlede (baglanti_metni1) balanlan veritaban dosyas Access 2007 srmne aittir. Dolaysyla accdb formatndadr. kinci cmlede ise (baglanti_metni2) balanlan veritaban dosyas Access 2003 srmne ait bir mdb dosyasdr. Bu cmlelerden uygun olan seilerek balant kurulur:
Dim baglanti1 As New Data.OleDb.OleDbConnection(baglanti_metni2) baglanti1.Open()

Balandm veritabannda bir tabloya nasl veri girebilirim? ncelikle buna uygun bir SQL cmlesi oluturmamz gerekir:
sql1 = "insert into anatablo (numarasi, adi, soyadi, fakultesi, bolumu) values (10909299, Salih, Baran, Eitim Bilimleri, BTE)"

kinci olarak, bu SQL cmlesi ve daha nce tanmladmz balant (baglanti1) kullanlarak bir komut tanmlanmas ve bu komutun altrlmas gerekir:
Dim komut1 As New System.Data.OleDb.OleDbCommand(sql1, baglanti1) komut1.ExecuteNonQuery()

Ve artk bilgiler veritabanmzn anatablo isimli tablosunda Balantmz kapatabiliriz:


baglanti1.Close()

Peki ya bilgileri form zerinden almak istersem? Yukardaki kodlarda yapacamz tek deiiklik, SQL cmlesinde olacaktr:
sql1 = "insert into anatablo (numarasi, adi, soyadi, fakultesi, bolumu) values ( & TxtNumara.Text & , & TxtAd.Text & , & TxtSoyad.Text & , & TxtFakulte.Text & , & TxtBolum.Text )"

Tolga GYER

Sayfa 75

VB.Net rnek Uygulamalar 2 Kasm 2011 Veritabanndaki bir tablodan nasl veri ekebilirim? Daha nce tanmladmz balantmz aarak balayalm:
baglanti1.Open()

imdi bu balant zerinden u SQL cmlesini altracaz: sql2 = select * from anatablo
Dim komut1 As New System.Data.OleDb.OleDbCommand(sql2, baglanti1)

imdi bu komut zerinden yeni bir nesne olan veri okuyucuyu altracaz:
Dim veri_okuyucu As Data.OleDb.OleDbDataReader veri_okuyucu = komut.ExecuteReader

Artk anatablo iindeki veriler veri_okuyucu nesnesi iersinde. Son olarak bu nesnenin ierdii bilgilerin nasl grntlenebileceine bakalm:
While (veri_okuyucu.Read()) LstBilgiler.Items.Add(veri_okuyucu("numarasi") & & veri_okuyucu("adi") & & veri_okuyucu("soyadi")) End While

Ve balantmz kapatalm:
baglanti1.Close()

Ya sadece belirli alanlar ekmek stersem? Sadece SQL cmlemizde deiiklik yapacaz:
sql2 = select numarasi, adi, soyadi from anatablo

Peki soyad A harfi ile balayan gibi bir koul koymak istersem? Yine SQL cmlemizi deitirmek yeterli olacaktr:
sql2 = select numarasi, adi, soyadi from anatablo where adi like A%

Veritabanndaki bir tablonun istediim bir kaydn nasl gncellerim? ncelikle u SQL cmlesinin oluturulmas gerekir:
sql1 = "update anatablo set adi= & TxtAd.Text & ,soyadi= & TxtSoyad.Text & where numarasi=" & TxtNumara.Text

Bundan sonraki adm, kayt ekleme ile ayn olacaktr:


Dim komut1 As New System.Data.OleDb.OleDbCommand(sql1, baglanti1) komut1.ExecuteNonQuery()

Balantmz kapatabiliriz: Tolga GYER


baglanti1.Close()

Sayfa 76

VB.Net rnek Uygulamalar 2 Kasm 2011 Veritabanndaki bir tablonun istediim bir kaydn nasl silebilirim? ncelikle SQL cmlemizi yazalm:
sql1 = "delete from anatablo where numarasi=" & TxtNumara.Text

Bundan sonraki adm, kayt ekleme ve gncelleme ile ayn olacaktr:


Dim komut1 As New System.Data.OleDb.OleDbCommand(sql1, baglanti1) komut1.ExecuteNonQuery()

Balantmz kapatabiliriz:
baglanti1.Close()

Tolga GYER

Sayfa 77

VB.Net rnek Uygulamalar 2 Kasm 2011

Uygulama No: 41 Veritaban Uygulamas 7


Aklama : Veritaban balantl Dinamik ComboBox kullanm Ekran Grnts

Aklamal Kodlar
Public Class Form1 Dim baglanti As New Data.OleDb.OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0; Data Source=|DataDirectory|\ogrenci.mdb; Persist Security Info=False;") Dim flag As Byte Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load baglanti.Open() Dim sql As String Faklteler form yklenirken veritabanndan gelsin sql = "select fakulte from fakulte_bolum group by fakulte" group by kullanlyor nk faklte adlar fakulte_bolum tablosunda tekrar ediyor. Dim komut As New System.Data.OleDb.OleDbCommand(sql, baglanti) Dim veri_okuyucu As Data.OleDb.OleDbDataReader veri_okuyucu = komut.ExecuteReader While (veri_okuyucu.Read()) CmbFakulte.Items.Add(veri_okuyucu("Fakulte")) End While baglanti.Close() End Sub Private Sub CmbFakulte_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles

Tolga GYER

Sayfa 78

VB.Net rnek Uygulamalar 2 Kasm 2011


CmbFakulte.SelectedIndexChanged If flag = 0 Then baglanti.Open() CmbBolum.Items.Clear() CmbBolum.Text = "SENZ" Dim sql As String sql = "select Bolum from fakulte_bolum where fakulte = '" & CmbFakulte.Text & "'" Dim komut As New System.Data.OleDb.OleDbCommand(sql, baglanti) Dim veri_okuyucu As Data.OleDb.OleDbDataReader veri_okuyucu = komut.ExecuteReader Veritabanndan seilen faklte altnda yer alan blmler ekiliyor While (veri_okuyucu.Read()) CmbBolum.Items.Add(veri_okuyucu("bolum")) End While If flag = 0 Then baglanti.Close() End Sub Private Sub BtnBilgiGetir_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BtnBilgiGetir.Click flag = 1 baglanti.Open() Dim sql As String sql = "select * from ana_tablo where Ogrencino = '" & TxtOgrenciNo.Text & "'" Dim komut As New System.Data.OleDb.OleDbCommand(sql, baglanti) Dim veri_okuyucu1 As Data.OleDb.OleDbDataReader veri_okuyucu1 = komut.ExecuteReader If Not veri_okuyucu1.HasRows Then Eer veri okuyucu bo dnm ise MsgBox("Bu bilgiyi ieren herhangi bir kayt bulunamad...") Else While (veri_okuyucu1.Read()) TextAd.Text = veri_okuyucu1("adi") TextSoyad.Text = veri_okuyucu1("soyadi") TextBabaAd.Text = veri_okuyucu1("babaadi") TextGun.Text = veri_okuyucu1("gun") TextAy.Text = veri_okuyucu1("ay") TextYil.Text = veri_okuyucu1("yil") CmbFakulte.SelectedItem = veri_okuyucu1("fakulte") CmbBolum.SelectedItem = veri_okuyucu1("bolum") End While End If baglanti.Close() flag = 0 End Sub Private Sub BtnKaydet_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BtnKaydet.Click baglanti.Open() Dim sql As String If CmbFakulte.Text = "SENZ" Then MsgBox("Faklte Seiniz!") ElseIf CmbBolum.Text = "SENZ" Then MsgBox("Blm Seiniz!") Else sql = "update ana_tablo set fakulte = '" & CmbFakulte.Text & "', bolum='" & CmbBolum.Text & "',adi = '" & TextAd.Text & "',soyadi='" & TextSoyad.Text & "',babaadi = '" & TextBabaAd.Text & "',gun=" & TextGun.Text & ",ay=" & TextAy.Text & ",yil=" & TextYil.Text & " where

Tolga GYER

Sayfa 79

VB.Net rnek Uygulamalar 2 Kasm 2011


ogrencino = '" & TxtOgrenciNo.Text & "'" Dim komut As New System.Data.OleDb.OleDbCommand(sql, baglanti) komut.ExecuteNonQuery() Veritabannda ana_tablo zerinde dzeltme yapld. MsgBox("Bilgiler Veritabannda Gncellenmitir.") End If baglanti.Close() End Sub End Class

Tolga GYER

Sayfa 80

VB.Net rnek Uygulamalar 2 Kasm 2011

Uygulama No: 42 Veritaban Uygulamas 8


Aklama : Veritaban balantl web taraycs uygulamas Ekran Grnts Form1

Aklamal Kodlar
Public Class Form1 Dim baglanti As New Data.OleDb.OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0; Data Source=|DataDirectory|\webadres.mdb; Persist Security Info=False;") Private Sub BtnGit_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BtnGit.Click If Trim(CmbAdres.Text) <> "" Then Dim adresTXT As String = CmbAdres.Text If Strings.Left(adresTXT, 7) <> "http://" And CmbAdres.Text <> "about:blank" Then adresTXT = "http://" & adresTXT End If Dim adresURL As New Uri(adresTXT) WebBrowser1.Url = adresURL CmbAdres.Text = adresTXT 'Adresi veritabanna ekle: baglanti.Open() Dim Sql As String = "insert into tablo1 (url,tarih) values ('" & adresTXT & "','" & Date.Now & "')" Dim komut As New System.Data.OleDb.OleDbCommand(Sql, baglanti) komut.ExecuteNonQuery() baglanti.Close()

Tolga GYER

Sayfa 81

VB.Net rnek Uygulamalar 2 Kasm 2011


'Adresi adres ubuuna ekle: CmbAdres.Items.Add(adresTXT) End If End Sub Private Sub CmbAdres_KeyPress(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles CmbAdres.KeyPress 'Enter tuuna basldnda Git butonuna bas: If e.KeyChar = Chr(13) Then BtnGit.PerformClick() End If End Sub Private Sub CmbAdres_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles CmbAdres.SelectedIndexChanged 'Adres ubuundan yeni adres seilir seilmez git: Dim adresURL As New Uri(CmbAdres.Text) WebBrowser1.Url = adresURL End Sub Private Sub WebBrowser1_Navigated(ByVal sender As Object, ByVal e As System.Windows.Forms.WebBrowserNavigatedEventArgs) Handles WebBrowser1.Navigated 'Gezinilen adresleri da gster: CmbAdres.Text = WebBrowser1.Url.ToString End Sub Private Sub KapatToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles KapatToolStripMenuItem.Click End End Sub Private Sub BtnAdres_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BtnAdres.Click Dim adresURL As New Uri(CmbAdres.Text) MsgBox(adresURL.AbsoluteUri) End Sub Private Sub SkKullanlanlaraEkleToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles SkKullanlanlaraEkleToolStripMenuItem.Click SkKullanlanlarToolStripMenuItem.DropDownItems.Add(WebBrowser1.Url.ToStrin g) End Sub Private Sub BtnGeri_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BtnGeri.Click WebBrowser1.GoBack() End Sub Private Sub BtnIleri_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BtnIleri.Click WebBrowser1.GoForward() End Sub Private Sub BtnGiris_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BtnGiris.Click WebBrowser1.GoHome()

Tolga GYER

Sayfa 82

VB.Net rnek Uygulamalar 2 Kasm 2011


End Sub Private Sub BtnArama_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BtnArama.Click WebBrowser1.GoSearch() End Sub Private Sub GemiZiyaretlerToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles GemiZiyaretlerToolStripMenuItem.Click Form2.Show() End Sub Private Sub nternetSeenekleriToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles nternetSeenekleriToolStripMenuItem.Click Form3.Show() End Sub End Class

Ekran Grnts Form2

Aklamal Kodlar
Public Class Form2 Private Sub Form2_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load Me.Tablo1TableAdapter.Fill(Me.WebadresDataSet4.Tablo1) End Sub

Tolga GYER

Private Sub DataGridView1_CellContentDoubleClick(ByVal sender As

Sayfa 83

VB.Net rnek Uygulamalar 2 Kasm 2011


Object, ByVal e As System.Windows.Forms.DataGridViewCellEventArgs) Handles DataGridView1.CellContentDoubleClick Form1.CmbAdres.Text = DataGridView1.CurrentCell.Value Form1.BtnGit.PerformClick() Git butonuna bastryoruz. Me.Close() End Sub End Class

Veritaban Yaps

Tolga GYER

Sayfa 84

VB.Net rnek Uygulamalar 2 Kasm 2011

Uygulama No: 43 Anket


Aklama : Veritaban balantl anket oluturma uygulamas. Soru Tipleri 1. Ak ulu soru 2. ok seimli 3. Tek seimli Soru No 1 2 3 no 1 2 3 4 5 fadesi .nedir? hangileri? ? Soru no 2 2 2 3 3 Soru tipi 1 2 3

Seenek ifadesi Astronomi Edebiyat Sinema 100-500 500-1000

Ekran Grnts

Aklamal Kodlar
Public Class Form1 Dim baglanti As New Data.OleDb.OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0; Data Source=|DataDirectory|\anket.mdb; Persist Security Info=False;")

Tolga GYER

Sayfa 85

VB.Net rnek Uygulamalar 2 Kasm 2011


Dim soruno As Byte = 0 Private Sub CmbSoruTipi_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles CmbSoruTipi.SelectedIndexChanged 'Semeli soru tipi ise seenek girme aralar grnsn: If CmbSoruTipi.Text = "2" Or CmbSoruTipi.Text = "3" Then GroupBox1.Visible = True Else GroupBox1.Visible = False End If End Sub Private Sub BtnSoruKaydet_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BtnSoruKaydet.Click If Strings.Trim(TxtSoruIfade.Text) <> "" And CmbSoruTipi.Text <> "" Then baglanti.Open() Dim Sql As String = "insert into Sorular (soru,sorutipi) values ('" & TxtSoruIfade.Text & "'," & CmbSoruTipi.Text & ")" Dim komut As New System.Data.OleDb.OleDbCommand(Sql, baglanti) komut.ExecuteNonQuery() 'Kaydedilen en son soru numaras alnyor: Dim komut1 As New System.Data.OleDb.OleDbCommand("select soruno from Sorular", baglanti) Dim veri_okuyucu As Data.OleDb.OleDbDataReader veri_okuyucu = komut1.ExecuteReader While (veri_okuyucu.Read()) soruno = veri_okuyucu("soruno") End While 'Dng bittiinde soruno deikeninin iinde kaydedilen en son soru numaras olacaktr. baglanti.Close() If CmbSoruTipi.Text = "1" Then TxtSoruIfade.Clear() CmbSoruTipi.Text = "" TxtSoruIfade.Focus() End If Else MsgBox("Soru ifadesini ve soru tipini giriniz.") TxtSoruIfade.Focus() End If End Sub Private Sub BtnSecenekKaydet_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BtnSecenekKaydet.Click If soruno <> 0 Then 'Demek ki soruyu kaydetmi. baglanti.Open() Dim Sql As String = "insert into Secenekler (soruno,secenek) values (" & soruno & ",'" & TxtSecenekIfade.Text & "')" Dim komut As New System.Data.OleDb.OleDbCommand(Sql, baglanti) komut.ExecuteNonQuery() baglanti.Close() TxtSecenekIfade.Clear() TxtSecenekIfade.Focus() Else MsgBox("nce seenek ekleyeceiniz soruyu kaydediniz.") End If End Sub

Tolga GYER

Sayfa 86

VB.Net rnek Uygulamalar 2 Kasm 2011


Private Sub BtnYeniSoru_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BtnYeniSoru.Click GroupBox1.Visible = False TxtSoruIfade.Clear() CmbSoruTipi.Text = "" TxtSoruIfade.Focus() soruno = 0 'Seenek eklenecek soru numaras yeniden sfrlanyor. 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 GYER

Sayfa 87

VB.Net rnek Uygulamalar 2 Kasm 2011

Uygulama No: 44 Anket Gster


Aklama : Bir nceki uygulamada hazrlanan anketin kullanc temelli olarak uygulanmas. Ekran Grnts Form1

Aklamal Kodlar
Public Class Form1 Dim baglanti As New Data.OleDb.OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0; Data Source=|DataDirectory|\anket.mdb; Persist Security Info=False;") Private Sub BtnGir_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BtnGir.Click baglanti.Open() Dim sql As String = "select * from kln where kln='" & TxtKln.Text & "' and sfr='" & TxtSfr.Text & "'" Dim komut As New System.Data.OleDb.OleDbCommand(sql, baglanti) Dim veri_okuyucu As Data.OleDb.OleDbDataReader veri_okuyucu = komut.ExecuteReader If veri_okuyucu.HasRows = True Then kln = TxtKln.Text 'Kullancy form2 ye aktarmak iin. Form2.ShowDialog() Me.Hide() Else MsgBox("Kullanc ad ya da ifre hatal!") TxtKln.Focus() End If baglanti.Close() End Sub End Class

Tolga GYER

Sayfa 88

VB.Net rnek Uygulamalar 2 Kasm 2011 Ekran Grnts Form2

Aklamal Kodlar
Public Class Form2 Dim baglanti As New Data.OleDb.OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0; Data Source=|DataDirectory|\anket.mdb; Persist Security Info=False;") Dim komut1 As New System.Data.OleDb.OleDbCommand("select * from Sorular", baglanti) Dim veri_okuyucu1 As Data.OleDb.OleDbDataReader Dim cevap, soru_no As String Private Function temizle() TxtSoru.Clear() TxtCevap.Clear() Grp1.Visible = False Grp2.Visible = False Grp3.Visible = False cevap = "" Return Nothing 'Fonksiyon deer dndrmyor uyars iin. End Function Private Function ekran() Dim sql1 As String = "insert into kln_cevap (kln,soruno,cevap) values ('" + kln + "'," + soru_no + ",'" & cevap & "')" Dim komut3 As New System.Data.OleDb.OleDbCommand(sql1, baglanti) komut3.ExecuteNonQuery() If veri_okuyucu1.Read() Then temizle() TxtSoru.Text = veri_okuyucu1("soru") soru_no = veri_okuyucu1("soruno") If veri_okuyucu1("sorutipi") = 1 Then

Tolga GYER

Sayfa 89

VB.Net rnek Uygulamalar 2 Kasm 2011


Grp1.Visible = True Grp2.Visible = False Grp3.Visible = False ElseIf veri_okuyucu1("sorutipi") = 2 Then Grp1.Visible = False Grp2.Visible = True Grp3.Visible = False Else Grp1.Visible = False Grp2.Visible = False Grp3.Visible = True End If If veri_okuyucu1("sorutipi") = 2 Or veri_okuyucu1("sorutipi") = 3 Then Dim sql As String = "select secenek from Secenekler where soruno=" & soru_no Dim komut2 As New System.Data.OleDb.OleDbCommand(sql, baglanti) Dim veri_okuyucu2 As Data.OleDb.OleDbDataReader veri_okuyucu2 = komut2.ExecuteReader veri_okuyucu2.Read() Dim kontrol As Control If veri_okuyucu1("sorutipi") = 2 Then For Each kontrol In Grp2.Controls kontrol.Visible = True kontrol.Text = veri_okuyucu2("secenek") If Not veri_okuyucu2.Read() Then Exit For Next Else For Each kontrol In Grp3.Controls kontrol.Visible = True kontrol.Text = veri_okuyucu2("secenek") If Not veri_okuyucu2.Read() Then Exit For Next End If End If Else MsgBox("Sorular Bitti...") End If Return Nothing 'Fonksiyon deer dndrmyor uyars iin. End Function Private Sub Form2_FormClosing(ByVal sender As Object, ByVal e As System.Windows.Forms.FormClosingEventArgs) Handles Me.FormClosing End 'Arkada ak kalan kullanc giri formunu da sonlandrmak iin. End Sub Private Sub Form2_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load baglanti.Open() veri_okuyucu1 = komut1.ExecuteReader If veri_okuyucu1.Read() Then soru_no = veri_okuyucu1("soruno") TxtSoru.Text = veri_okuyucu1("soru") If veri_okuyucu1("sorutipi") = 1 Then Grp1.Visible = True Grp2.Visible = False Grp3.Visible = False ElseIf veri_okuyucu1("sorutipi") = 2 Then Grp1.Visible = False Grp2.Visible = True

Tolga GYER

Sayfa 90

VB.Net rnek Uygulamalar 2 Kasm 2011


Grp3.Visible = False Else Grp1.Visible = False Grp2.Visible = False Grp3.Visible = True End If If veri_okuyucu1("sorutipi") = 2 Or veri_okuyucu1("sorutipi") = 3 Then Dim soru_no As String = veri_okuyucu1("soruno") Dim sql As String = "select secenek from Secenekler where soruno=" & soru_no Dim komut2 As New System.Data.OleDb.OleDbCommand(sql, baglanti) Dim veri_okuyucu2 As Data.OleDb.OleDbDataReader veri_okuyucu2 = komut2.ExecuteReader veri_okuyucu2.Read() Dim kontrol As Control If veri_okuyucu1("sorutipi") = 2 Then For Each kontrol In Grp2.Controls kontrol.Visible = True kontrol.Text = veri_okuyucu2("secenek") If Not veri_okuyucu2.Read() Then Exit For Next Else For Each kontrol In Grp3.Controls kontrol.Visible = True kontrol.Text = veri_okuyucu2("secenek") If Not veri_okuyucu2.Read() Then Exit For Next End If End If Else MsgBox("Sorular Bitti...") baglanti.Close() End If End Sub Private Sub BtnSonraki_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BtnSonraki.Click ekran() End Sub Private Sub RadioButton8_CheckedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles RadioButton8.CheckedChanged cevap = RadioButton8.Text End Sub Private Sub RadioButton7_CheckedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles RadioButton7.CheckedChanged cevap = RadioButton7.Text End Sub Private Sub RadioButton6_CheckedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles RadioButton6.CheckedChanged cevap = RadioButton6.Text End Sub Private Sub RadioButton5_CheckedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles RadioButton5.CheckedChanged cevap = RadioButton5.Text

Tolga GYER

Sayfa 91

VB.Net rnek Uygulamalar 2 Kasm 2011


End Sub Private Sub RadioButton4_CheckedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles RadioButton4.CheckedChanged cevap = RadioButton4.Text End Sub Private Sub RadioButton3_CheckedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles RadioButton3.CheckedChanged cevap = RadioButton3.Text End Sub Private Sub RadioButton2_CheckedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles RadioButton2.CheckedChanged cevap = RadioButton2.Text End Sub Private Sub RadioButton1_CheckedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles RadioButton1.CheckedChanged cevap = RadioButton1.Text End Sub Private Sub CheckBox8_CheckedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles CheckBox8.CheckedChanged cevap = cevap & ";" & CheckBox8.Text End Sub Private Sub CheckBox7_CheckedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles CheckBox7.CheckedChanged cevap = cevap & ";" & CheckBox7.Text End Sub Private Sub CheckBox6_CheckedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles CheckBox6.CheckedChanged cevap = cevap & ";" & CheckBox6.Text End Sub Private Sub CheckBox5_CheckedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles CheckBox5.CheckedChanged cevap = cevap & ";" & CheckBox5.Text End Sub Private Sub CheckBox4_CheckedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles CheckBox4.CheckedChanged cevap = cevap & ";" & CheckBox4.Text End Sub Private Sub CheckBox3_CheckedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles CheckBox3.CheckedChanged cevap = cevap & ";" & CheckBox3.Text End Sub Private Sub CheckBox2_CheckedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles CheckBox2.CheckedChanged cevap = cevap & ";" & CheckBox2.Text End Sub Private Sub CheckBox1_CheckedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles CheckBox1.CheckedChanged cevap = cevap & ";" & CheckBox1.Text

Tolga GYER

Sayfa 92

VB.Net rnek Uygulamalar 2 Kasm 2011


End Sub Private Sub TxtCevap_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TxtCevap.TextChanged cevap = TxtCevap.Text End Sub End Class

Modl
Module Module1 Public kln As String End Module Modl ne ie yarar? Projenin tamamnda kullanacamz btn tanmlamalar (burada kullanc adn form1 den form2 ye geirmek istedik) modlde yaplr.

Veritaban Yaps

Tolga GYER

Sayfa 93

VB.Net rnek Uygulamalar 2 Kasm 2011

Tolga GYER

Sayfa 94

VB.Net rnek Uygulamalar 2 Kasm 2011

Uygulama No: 45 Veritaban Uygulamas 9


Aklama : Veritabanndan koullu sorgulama gerekletirilen uygulama. Ekran Grnts

Aklamal Kodlar
Public Class Form1 Dim baglanti_metni As String = "Provider=Microsoft.Jet.OLEDB.4.0; Data Source=|DataDirectory|\ihracat.mdb; Persist Security Info=False;" Dim baglanti As New Data.OleDb.OleDbConnection(baglanti_metni) Private Sub Form1_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load 'Veritaban ile balant salanyor: baglanti.Open() 'Yllar ComboBox dolduruluyor: Dim sql As String = "select yil from Anatablo group by yil" Dim komut As New System.Data.OleDb.OleDbCommand(sql, baglanti) Dim veri_okuyucu As Data.OleDb.OleDbDataReader veri_okuyucu = komut.ExecuteReader While (veri_okuyucu.Read()) CmbYil.Items.Add(veri_okuyucu("yil")) End While 'Sektrler ComboBox dolduruluyor: Dim sql1 As String = "select sektor from Anatablo group by sektor" Dim komut1 As New System.Data.OleDb.OleDbCommand(sql1, baglanti) Dim veri_okuyucu1 As Data.OleDb.OleDbDataReader veri_okuyucu1 = komut1.ExecuteReader While (veri_okuyucu1.Read()) CmbSektor.Items.Add(veri_okuyucu1("sektor")) End While End Sub Private Sub BtnGuncelle_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BtnGuncelle.Click Dim sql As String = "select tutar from Anatablo where sektor='" & CmbSektor.Text & "'" Dim komut As New System.Data.OleDb.OleDbCommand(sql, baglanti) Dim veri_okuyucu As Data.OleDb.OleDbDataReader Dim toplam As Integer = 0

Tolga GYER

Sayfa 95

VB.Net rnek Uygulamalar 2 Kasm 2011


veri_okuyucu = komut.ExecuteReader While (veri_okuyucu.Read()) toplam = toplam + veri_okuyucu("tutar") End While LblToplam.Text = toplam End Sub Private Sub BtnTutar_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BtnTutar.Click Dim sql As String = "select tutar from Anatablo where yil=" & CInt(CmbYil.Text) & " and sektor='" & CmbSektor.Text & "'" Dim komut As New System.Data.OleDb.OleDbCommand(sql, baglanti) Dim veri_okuyucu As Data.OleDb.OleDbDataReader veri_okuyucu = komut.ExecuteReader If veri_okuyucu.HasRows = True Then veri_okuyucu.Read() LblIhracatTutar.Text = veri_okuyucu("tutar") End If End Sub Private Sub CmbSektor_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles CmbSektor.SelectedIndexChanged LblSektor.Text = CmbSektor.Text End Sub End Class

Veritaban Yaps

Tolga GYER

Sayfa 96

VB.Net rnek Uygulamalar 2 Kasm 2011

Uygulama No: 46 Veritaban Uygulamas 10


Aklama : Veritabanndan gerekletirilen ikinci el otomobil sorgulamas. Ekran Grnts

Aklamal Kodlar
Public Class Form1 Dim baglanti_metni As String = "Provider=Microsoft.Jet.OLEDB.4.0; Data Source=|DataDirectory|\otomobil.mdb; Persist Security Info=False;" Dim baglanti As New Data.OleDb.OleDbConnection(baglanti_metni) Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load 'Veritaban ile balant salanyor: baglanti.Open() 'Marka ComboBox' dolduruluyor: Dim sql As String = "select marka from oto_bilgi group by marka" Dim komut As New System.Data.OleDb.OleDbCommand(sql, baglanti) Dim veri_okuyucu As Data.OleDb.OleDbDataReader veri_okuyucu = komut.ExecuteReader While (veri_okuyucu.Read()) CmbMarka.Items.Add(veri_okuyucu("marka"))

Tolga GYER

Sayfa 97

VB.Net rnek Uygulamalar 2 Kasm 2011


End While 'Yil ComboBox' dolduruluyor: Dim sql1 As String = "select yil from oto_bilgi group by yil" Dim komut1 As New System.Data.OleDb.OleDbCommand(sql1, baglanti) Dim veri_okuyucu1 As Data.OleDb.OleDbDataReader veri_okuyucu1 = komut1.ExecuteReader While (veri_okuyucu1.Read()) CmbYil.Items.Add(veri_okuyucu1("yil")) End While 'Renk ComboBox' dolduruluyor: Dim sql2 As String = "select renk from oto_bilgi group by renk" Dim komut2 As New System.Data.OleDb.OleDbCommand(sql2, baglanti) Dim veri_okuyucu2 As Data.OleDb.OleDbDataReader veri_okuyucu2 = komut2.ExecuteReader While (veri_okuyucu2.Read()) CmbRenk.Items.Add(veri_okuyucu2("renk")) End While 'Yakt Tr ComboBox' dolduruluyor: Dim sql3 As String = "select yakit_turu from oto_bilgi group by yakit_turu" Dim komut3 As New System.Data.OleDb.OleDbCommand(sql3, baglanti) Dim veri_okuyucu3 As Data.OleDb.OleDbDataReader veri_okuyucu3 = komut3.ExecuteReader While (veri_okuyucu3.Read()) CmbYakitTuru.Items.Add(veri_okuyucu3("yakit_turu")) End While 'Vites ComboBox' dolduruluyor: Dim sql4 As String = "select vites from oto_bilgi group by vites" Dim komut4 As New System.Data.OleDb.OleDbCommand(sql4, baglanti) Dim veri_okuyucu4 As Data.OleDb.OleDbDataReader veri_okuyucu4 = komut4.ExecuteReader While (veri_okuyucu4.Read()) CmbVites.Items.Add(veri_okuyucu4("vites")) End While End Sub Private Sub CmbMarka_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles CmbMarka.SelectedIndexChanged CmbModel.Text = "" CmbModel.Items.Clear() 'Marka ComboBox'na bal olarak Model ComboBox' dolduruluyor: Dim sql As String = "select model from oto_bilgi where marka='" & CmbMarka.Text & "' group by model" Dim komut As New System.Data.OleDb.OleDbCommand(sql, baglanti) Dim veri_okuyucu As Data.OleDb.OleDbDataReader veri_okuyucu = komut.ExecuteReader While (veri_okuyucu.Read()) CmbModel.Items.Add(veri_okuyucu("model")) End While End Sub Private Sub BtnBul_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BtnBul.Click LstSonuclar.Items.Clear()

Tolga GYER

Sayfa 98

VB.Net rnek Uygulamalar 2 Kasm 2011


Dim sonuc_metni As String = "" Dim sql As String If CmbYil.Text = "" Then sql = "SELECT * FROM oto_bilgi WHERE marka='" & CmbMarka.Text & "' AND model='" & CmbModel.Text & "' AND renk='" & CmbRenk.Text & "' AND yakit_turu='" & CmbYakitTuru.Text & "' AND vites='" & CmbVites.Text & "' AND (km BETWEEN " & CInt(TxtKilometre1.Text) & " AND " & CInt(TxtKilometre2.Text) & ") AND (fiyat BETWEEN " & CInt(TxtFiyat1.Text) & " AND " & CInt(TxtFiyat2.Text) & ")" Else sql = "SELECT * FROM oto_bilgi WHERE marka='" & CmbMarka.Text & "' AND model='" & CmbModel.Text & "' AND yil=" & CInt(CmbYil.Text) & " AND renk='" & CmbRenk.Text & "' AND yakit_turu='" & CmbYakitTuru.Text & "' AND vites='" & CmbVites.Text & "' AND (km BETWEEN " & CInt(TxtKilometre1.Text) & " AND " & CInt(TxtKilometre2.Text) & ") AND (fiyat BETWEEN " & CInt(TxtFiyat1.Text) & " AND " & CInt(TxtFiyat2.Text) & ")" End If Dim komut As New System.Data.OleDb.OleDbCommand(sql, baglanti) Dim veri_okuyucu As Data.OleDb.OleDbDataReader veri_okuyucu = komut.ExecuteReader If veri_okuyucu.HasRows Then While (veri_okuyucu.Read()) sonuc_metni = veri_okuyucu("marka") & " " & veri_okuyucu("model") & " " & veri_okuyucu("versiyon") & ", " & veri_okuyucu("renk") & " renk, fiyat ise " & veri_okuyucu("fiyat") & " TL" LstSonuclar.Items.Add(sonuc_metni) End While Else LstSonuclar.Items.Add("Veritabanmzda bu kriterlere uygun kayt yoktur.") End If End Sub End Class

Veritaban Yaps

Tolga GYER

Sayfa 99

VB.Net rnek Uygulamalar 2 Kasm 2011

Uygulama No: 47 Veritaban Uygulamas 11


Aklama : Basit bir banka (mteri-hesap) uygulamas. likisel veritaban kullanlmtr. Ekran Grnts Form1

Aklamal Kodlar
Public Class Form1 Private Sub PictureBox1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles PictureBox1.Click FrmYeniHesap.ShowDialog() End Sub Private Sub PictureBox2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles PictureBox2.Click FrmYeniMusteri.ShowDialog() End Sub End Class

Tolga GYER

Sayfa 100

VB.Net rnek Uygulamalar 2 Kasm 2011

Ekran Grnts FrmYeniMusteri

Aklamal Kodlar
Public Class FrmYeniMusteri Private Sub BtnKaydet_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BtnKaydet.Click baglantiAc() 'Mteri tanlosuna kaydediliyor: Dim musteriTuru As Byte = CByte(Strings.Left(CmbTur.Text, 1)) Dim Sql As String = "insert into musteri (ad1,ad2,soyad1,soyad2,turu,tel1,tel2,adres) values ('" & TxtAd1.Text & "','" & TxtAd2.Text & "','" & TxtSoyad1.Text & "','" & TxtSoyad2.Text & "'," & musteriTuru & ",'" & TxtTel1.Text & "','" & TxtTel2.Text & "','" & TxtAdres.Text & "')" Dim komut As New System.Data.OleDb.OleDbCommand(Sql, baglanti) komut.ExecuteNonQuery() MsgBox("Mteri bilgileri veritabanna eklenmitir.") TxtAd1.Clear() TxtAd2.Clear() TxtSoyad1.Clear() TxtSoyad2.Clear() TxtTel1.Clear() TxtTel2.Clear() TxtAdres.Clear() CmbTur.ResetText() TxtAd1.Focus() End Sub End Class

Tolga GYER

Sayfa 101

VB.Net rnek Uygulamalar 2 Kasm 2011

Ekran Grnts FrmYeniHesap

Aklamal Kodlar
Public Class FrmYeniHesap Dim musterino As Integer Private Sub FrmYeniHesap_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load baglantiAc() Dim sql As String = "select * from musteri" Dim komut As New System.Data.OleDb.OleDbCommand(sql, baglanti) Dim veri_okuyucu As Data.OleDb.OleDbDataReader veri_okuyucu = komut.ExecuteReader CmbSahip.Items.Clear() CmbMusteriNo_Gizli.Items.Clear()'Gizli combo, seilen merinin numarasn almak iin kullanlyor. While (veri_okuyucu.Read()) CmbSahip.Items.Add(veri_okuyucu("ad1") & " " & veri_okuyucu("ad2") & " " & veri_okuyucu("soyad1") & " " & veri_okuyucu("soyad2") & "-" & veri_okuyucu("no")) CmbMusteriNo_Gizli.Items.Add(veri_okuyucu("no")) End While End Sub Private Sub BtnKaydet_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BtnKaydet.Click baglantiAc() 'Hesap tablosuna kaydediliyor: Dim durumu As Byte = CByte(Strings.Left(CmbDurum.Text, 1)) Dim turu As Byte = CByte(Strings.Left(CmbTur.Text, 1)) Dim Sql As String = "insert into hesap (iban,turu,acilma_tarihi,bakiye,durumu,musterino) values ('" & TxtIBAN.Text & "'," & turu & ",'" & DateTimePicker1.Value & "'," & TxtBakiye.Text & ","

Tolga GYER

Sayfa 102

VB.Net rnek Uygulamalar 2 Kasm 2011


& durumu & "," & musterino & ")" Dim komut As New System.Data.OleDb.OleDbCommand(Sql, baglanti) komut.ExecuteNonQuery() MsgBox("Hesap bilgileri veritabanna eklenmitir.") TxtBakiye.Clear() TxtIBAN.Clear() CmbDurum.ResetText() CmbSahip.ResetText() CmbTur.ResetText() TxtIBAN.Focus() End Sub Private Sub CmbSahip_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles CmbSahip.SelectedIndexChanged musterino = CInt(CmbMusteriNo_Gizli.Items(CmbSahip.SelectedIndex)) End Sub End Class

Veritaban Yaps

Tolga GYER

Sayfa 103

VB.Net rnek Uygulamalar 2 Kasm 2011

Mteri tablosunun birincil anahtar, hesap tablosunda mteri numaras adyla yabanc anahtar yaplmak suretiyle bu iki tablo ilikilendirilmitir. liki 1-N tipindedir; yani bir mterinin birden ok sayda hesab olabilirken, bir hesap sadece bir mteriye ait olabilir.

Tolga GYER

Sayfa 104

Anda mungkin juga menyukai