Vb.net uygulamalarindan kaprekar sayilari uygulamasi, kaprekar sabiti uygulamasi, mükemmel sayilar uygulamasi, renk aktarimi uygulamasini ve veritabani uygulamasi 01 uygulamasini visual studio programi kullanarak olusturacagiz.
21. Uygulamamiz


Kodlarimiz;
Public Class Form1
    Dim sayi, uz, sayi_kare, sagtaraf, soltaraf, basla, bitir, sagtaraf_uzunluk, sayi_kare_uzunluk As Long
    Private Sub btnhesapla_Click(sender As Object, e As EventArgs) Handles btnhesapla.Click
        ListBox1.Items.Clear()
        basla = txtbas.Text  ' Bu sayi araligin baslangiç sayisi ve en az dokuz girilmelidir.
        bitir = txtbitis.Text
        For sayi = basla To bitir
            uz = Len(sayi.ToString())
            sayi_kare = sayi * sayi
            sagtaraf = Microsoft.VisualBasic.Right(sayi_kare.ToString(), uz)
            sayi_kare_uzunluk = Len(sayi_kare.ToString())
            sagtaraf_uzunluk = Len(sagtaraf.ToString())
            soltaraf = Microsoft.VisualBasic.Left(sayi_kare.ToString(), sayi_kare_uzunluk - sagtaraf_uzunluk)
            Label3.Text = soltaraf
            If sagtaraf + soltaraf = sayi And sayi <> 10 Then
                ListBox1.Items.Add(sayi)
            End If
        Next
    End Sub
End Class
22. Uygulamamiz


Kodlarimiz;
Public Class Form1
    Dim tmp, loop1, loop2, pos As Byte
    Dim enkucuksayi, enbuyuksayi, fark As Integer
    Dim sayilar(0 To 3)
    Private Sub btnhesapla_Click(sender As Object, e As EventArgs) Handles btnhesapla.Click
        ListBox1.Items.Clear()
        sayilar(0) = TextBox1.Text
        sayilar(1) = TextBox2.Text
        sayilar(2) = TextBox3.Text
        sayilar(3) = TextBox4.Text
        ' Siralama algoritmasi kullanilarak sayilar dizisi küçükten büyüge dogru siralaniyor.
        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
            ListBox1.Items.Add(enbuyuksayi.ToString() + "_" + enbuyuksayi.ToString() + "=" + fark.ToString())
            sayilar(0) = Mid(fark.ToString(), 1, 1)
            sayilar(1) = Mid(fark.ToString(), 2, 1)
            sayilar(2) = Mid(fark.ToString(), 3, 1)
            sayilar(3) = Mid(fark.ToString(), 4, 1)
        Loop Until fark = 6174
    End Sub
End Class
23. Uygulamamiz

Kodlarimiz;
Public Class Form1
    Dim sayi, sayi1, toplam, k As Long
    Private Sub btnkontrol_Click(sender As Object, e As EventArgs) Handles btnkontrol.Click
        sayi = TextBox1.Text
        toplam = 0
        For k = 2 To sayi / 2
            If sayi Mod k = 0 Then toplam = toplam + k
        Next
        If toplam + 1 = sayi Then
            MessageBox.Show("Girilen sayi mükemmel sayidir", "Bilgilendirme", MessageBoxButtons.OK, MessageBoxIcon.Information)
        Else ' Sayi mükemmel degilse 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
            MessageBox.Show("Girilen sayidan sonraki mükemmel sayi" & " " & sayi1, "Bilgilendirme", MessageBoxButtons.OK, MessageBoxIcon.Exclamation)
        End If
    End Sub
End Class
24. Uygulamamiz

Kodlarimiz;
Public Class Form1
    Private Sub Label1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Label1.Click
        If RBtnForm.Checked Then 'Eger formun rengi opsiyonu seçili ise
            Me.BackColor = Label1.BackColor
        Else
            TextBox1.BackColor = Label1.BackColor
        End If
    End Sub
    Private Sub Label2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Label2.Click
        If RBtnForm.Checked Then
            Me.BackColor = Label2.BackColor
        Else
            TextBox1.BackColor = Label2.BackColor
        End If
    End Sub
    Private Sub Label3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Label3.Click
        If RBtnForm.Checked Then
            Me.BackColor = Label3.BackColor
        Else
            TextBox1.BackColor = Label3.BackColor
        End If
    End Sub
    Private Sub Label4_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Label4.Click
        If RBtnForm.Checked Then
            Me.BackColor = Label4.BackColor
        Else
            TextBox1.BackColor = Label4.BackColor
        End If
    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
25. Uygulamamiz

Kodlarimiz;
Imports System.Data
Imports System.Data.OleDb
Public Class Form1
    Private Sub btntamam_Click(sender As Object, e As EventArgs) Handles btntamam.Click
        Dim baglanti_metni1, baglanti_metni2 As String
        baglanti_metni1 = "Provider=Microsoft.ACE.OLEDB.12.0; Data Source=|DataDirectory|\vt1.mdb; Persist Security info=False;"
        baglanti_metni2 = "Provider=Microsoft.Jet.OLEDB.4.0; Data Source=|DataDirectory|\vt1.mdb; Persist Security info=False;"
        'Bu baglanti metinlerden birisi kullanilacaktir.
        'MS.ACE.OLEDB motoru 64 bit isletim sistemlerinde sorun çikarabilir.
        'Bu durumda MS.jet.OLEDB motorunun ve mdb formatinin kullanilmasi tavsiye edilir.
        Dim baglanti1 As New OleDbConnection(baglanti_metni2)
        baglanti1.Open()
        ' Baglanti metni kullanilarak yeni bir baglanti tanimliyor ve açiyoruz.
        Dim sorgu As OleDbCommand = New OleDbCommand("Select * From kullanici Where kuladi=@kuladi and sifre=@sifre", baglanti1)
        ' Formdaki alanlarin degerleri kullanilarak veri seçme islevine sahip bir SQL cümlesi olusturuluyor.
        sorgu.Parameters.AddWithValue("@kuladi", TextBox1.Text)
        sorgu.Parameters.AddWithValue("@sifre", TextBox2.Text)
        Dim oku As OleDbDataReader
        oku = sorgu.ExecuteReader()
        If oku.HasRows = True Then ' Eger veri okuyucusunda veri varsa
            MessageBox.Show("Kullanici veritabaninda kayitli !", "Bilgilendirme")
            TextBox1.Clear()
        Else
            MessageBox.Show("Kullanici veritabaninda bulunamadi !", "Bilgilendirme")
            TextBox1.Clear()
            TextBox2.Clear()
        End If
        oku.Close()
        sorgu.Dispose()
        baglanti1.Dispose()
        baglanti1.Close()
    End Sub
End Class
Joker Uygulamamiz
> Girilen iki sayinin ekok degerlerini hesaplayalim. Iki ya da daha fazla dogal sayinin ortak katlarinin en küçügüne bu sayilarin en küçük ortak kati, kisaca ekoku denir. a ve b dogal sayilarinin en küçük ortak kati EKOK(a,b) veya (a,b)ekokseklinde gösterilir.

Kodlarimiz;
Public Class Form1
    Private Sub btnhesapla_Click(sender As Object, e As EventArgs) Handles btnhesapla.Click
        If IsNumeric(TextBox1.Text) = True And IsNumeric(TextBox2.Text) = True Then
            Dim sayi1 As Integer = Convert.ToInt32(TextBox1.Text)
            Dim sayi2 As Integer = Convert.ToInt32(TextBox2.Text)
            Dim i As Integer = 2
            Dim ekok As Integer = 1
            Dim deger1 As Integer = sayi1
            Dim deger2 As Integer = sayi2
            Do While True
                If sayi1 Mod i = 0 And sayi2 Mod i = 0 Then
                    sayi1 = sayi1 / i
                    sayi2 = sayi2 / i
                    ekok *= i
                    ListBox1.Items.Add(i)
                ElseIf sayi1 Mod i <> 0 And sayi2 Mod i = 0 Then
                    sayi2 = sayi2 / i
                    ekok *= i
                    ListBox1.Items.Add(i)
                ElseIf sayi1 Mod i = 0 And sayi2 Mod i <> 0 Then
                    sayi1 = sayi1 / i
                    ekok *= i
                    ListBox1.Items.Add(i)
                Else
                    i += 1
                End If
                If sayi1 = 1 And sayi2 = 1 Then
                    Exit Do
                End If
            Loop
            MessageBox.Show(deger1 & " " & "ve" & " " & deger2 & " " & "sayilarinin ekok degeri " & ekok & " " & "dir.", "Bilgilendirme", MessageBoxButtons.OK, MessageBoxIcon.Information)
            TextBox1.Clear()
            TextBox2.Clear()
        Else
            MessageBox.Show("Lütfen girilen degerleri kontrol ediniz !", "Bilgilendirme", MessageBoxButtons.OK, MessageBoxIcon.Exclamation)
            TextBox1.Clear()
            TextBox2.Clear()
        End If
    End Sub
End Class
