VB.NET Güvenlik Kodu Uygulaması Yapmak

3
450
Visual Studio
Visual Studio

Kullanıcı tarafından girilen değerin, uygulama tarafından rastgele oluşturulmuş bir değer ile eşleşip eşleşmediğini kontrol eden bir uygulama yapmak için aşağıdaki kodları kullanabiliriz.

Form üzerine eklenmesi gereken nesneler
1 Tane PictureBox
1 Tane TextBox
2 Tane Button

PictureBox1 – Oluşturulan güvenlik kodunun görüntüleneceği nesnedir.
TextBox1 – Kullanıcının cevabı girmesini sağlayacak olan nesnedir.
Button1 – Kontrol amaçlı olarak kullanılacak olan butondur. Cevabın doğru yada yanlış olduğunu kontrol edecektir.
Button2 – Oluşturulan güvenlik kodunu yenilemek için kullanılacaktır.

KODLAR:;

Fonksiyonlar;

Private Cevap As String = Nothing
Private Function KodOlustur() As String
Dim Operatorler As String() = {"+", "-"}
Baslangic:
Dim Sayi1 As Integer = New Random().Next(1, 9)
Dim Sayi2 As Integer = New Random().Next(1, 9)
If Sayi1 = Sayi2 Then GoTo Baslangic
Dim cOperatorler As String = Operatorler(New Random().Next(0, Operatorler.Length))
Select Case cOperatorler
Case "+"
Cevap = Sayi1 + Sayi2
If Cevap <= 0 Then GoTo Baslangic
Case "-"
Cevap = Sayi1 - Sayi2
If Cevap <= 0 Then GoTo Baslangic
End Select
Return String.Format("{0}{1}{2}", Sayi1, cOperatorler, Sayi2)
End Function
Private Sub CizgiOlustur(ByVal G As Graphics)
If Not G Is Nothing Then
Dim R As New Random()
Dim RenkFirca As New SolidBrush(Color.LightGray)
For i% = 0 To 9
G.DrawLines(New Pen(RenkFirca, R.Next(1, 2)), New Point() {New Point(0, R.Next(0, 60)), New Point(200, R.Next(0, 60))})
Next
End If
End Sub
Private Function ResimOlustur() As Image
Dim B As New Bitmap(200, 60)
Using G As Graphics = Graphics.FromImage(B)
With G
.Clear(Color.White)
.DrawString(KodOlustur(), New Font("Segoe UI", 20), Brushes.Black, New Rectangle(0, 0, 200, 60), New StringFormat() With {.Alignment = StringAlignment.Center, .LineAlignment = StringAlignment.Center})
End With
CizgiOlustur(G)
End Using
Return B
End Function

Button1’in Kodları;

Select Case TextBox1.Text
Case Is = Cevap
MessageBox.Show("Doğru", "Doğru!", MessageBoxButtons.OK, MessageBoxIcon.Asterisk)
PictureBox1.Image = ResimOlustur()
TextBox1.Clear()
Case Else
MessageBox.Show("Yanlış!", "Yanlış!", MessageBoxButtons.OK, MessageBoxIcon.Asterisk)
PictureBox1.Image = ResimOlustur()
TextBox1.Clear()
End Select
TextBox1.Clear()

Button2’nin Kodları;

PictureBox1.Image = ResimOlustur()

Nasıl çalışır ?

Güvenlik kodu oluşturma işlemini yapabilmek için yukarıdaki kodlarda 3 tane fonksiyon kullandık.

Bunlar;

KodOlustur()
Bu fonksiyon 1 ve 9 arasında rastgele bir sayı üretir. Üretilen 2 sayının, kullanıcı tarafından toplama veya çıkarma işlemine mi sokulacağını yine rastgele olarak belirler.
CizgiOlustur()
Bu fonksiyon oluşturulan resmin üzerine gri renkte çizgiler çizer.
ResimOlustur()
Bu fonksiyon ise KodOlustur() fonksiyonu üzerinde üretilen sayıların resmini PictureBox’ın üzerine çizer. Daha sonra CizgiOlustur() fonksiyonunu çağırarak resmin üzerine gri renkte çizgiler çizer.

Button1, kullanıcının girmiş olduğu değeri yani TextBox1’in içindeki değeri resimdeki değer ile karşılaştırarak duruma göre “Doğru” yada “Yanlış” biçiminde 2 adet mesaj kutusu görüntüler.

Button2, ResimOlustur() fonksiyonunu çağırarak yeniden bir resim oluşturulmasını sağlar.

3 YORUMLAR

CEVAP VER

Lütfen yorumunuzu yazın
Lütfen adınızı ve soyadınızı yazın.