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