[VB.NET] Forma robot doğrulaması ekleme • $†αƦκ†øʍ

'starktom

Uzman üye
9 Ara 2017
1,733
0
Nereye


Merhabalar bu konumda Re-Chaptaya benzer formumuza robot olmadığımızı doğrulayan bi sistem yapıcaz.

rj06qQ.png


İlk olarak yeni bir form oluşturuyoruz.

iETAq6.png


Formumuzun ismini kendimize göre ayarlıyoruz.

Daha sonra formumuza bir adet PictureBox ekliyoruz.

A49K18.png


Sağ üst köşeden picturebox boyutunu forma göre değiştiriyoruz.

pu8zCd.png


Formumuza iki adet buton ekliyoruz.

ZfZrp9.png


Butonların ismini giriş ve yenile olarak değiştiriyoruz.

6y7Ed1.png


Bir adet textbox ekliyoruz.

uVeUzC.png


Birtanede label ekliyoruz ve adını "Sonuç:" yapıyoruz.

q3FbbG.png


Daha sonra robot doğrulamasını geçebilirsek yeni bi form açılmasını istediğimiz için 2. formu ekliyoruz.

HNu6Kp.png


Form 1de herhangi bir boş yere çift tıklıyoruz ve form açıldığında yeni bir görsel oluşturması için şunu yazıyoruz.

SzP7CG.png


Kod:
PictureBox1.Image = ResimOlustur()

Buton 2ye çift tıklıyoruz yenile görevini yapması için bu kodu yazıyoruz.

GFYU9V.png


Kod:
System.EventArgs) Handles Button2.Click
        PictureBox1.Image = ResimOlustur()

        Label3.Text = ("")

Buton 1e çift tıklıyoruz

2d1I6f.png


Kod:
System.EventArgs) Handles Button1.Click
        Select Case TextBox1.Text

            Case Is = Cevap
                MessageBox.Show("Doğru", "Doğru!", MessageBoxButtons.OK, MessageBoxIcon.Asterisk)
                PictureBox1.Image = ResimOlustur()
                TextBox1.Clear()

                Form2.Show()
                Me.Hide()


            Case Else
                MessageBox.Show("Yanlış!", "Yanlış!", MessageBoxButtons.OK, MessageBoxIcon.Asterisk)
                PictureBox1.Image = ResimOlustur()
                TextBox1.Clear()

        End Select
        TextBox1.Clear()
kodunu yazıyoruz.


Daha sonra forma çift tıklayıp çift tıklayınca çıkan kodu sildikden sonra bu komutu boş bir yere yapıştırıyoruz.

8M6oAQ.png


Kod:
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


Programı çalıştırıyoruz.

vf1n6q.png


Hiçbirşey yazmadan giriş tuşuna basıyoruz bakalım birşey yazmadan giriş yapcakmı.

iXkPCj.png


Birşey yazmadığımız için giriş yapmıyor yenile butonuna basarak işlemi yenileyebilirz.

leSCht.png


İşlem sonucunu yazarakda giriş yapabilirz.

DzfkmB.png


Doğru olduğunu söyledi

ZnRTFQ.png


Ve ikinci formu çalıştırdı.

4h8Avs.png















 
Üst

Turkhackteam.org internet sitesi 5651 sayılı kanun’un 2. maddesinin 1. fıkrasının m) bendi ile aynı kanunun 5. maddesi kapsamında "Yer Sağlayıcı" konumundadır. İçerikler ön onay olmaksızın tamamen kullanıcılar tarafından oluşturulmaktadır. Turkhackteam.org; Yer sağlayıcı olarak, kullanıcılar tarafından oluşturulan içeriği ya da hukuka aykırı paylaşımı kontrol etmekle ya da araştırmakla yükümlü değildir. Türkhackteam saldırı timleri Türk sitelerine hiçbir zararlı faaliyette bulunmaz. Türkhackteam üyelerinin yaptığı bireysel hack faaliyetlerinden Türkhackteam sorumlu değildir. Sitelerinize Türkhackteam ismi kullanılarak hack faaliyetinde bulunulursa, site-sunucu erişim loglarından bu faaliyeti gerçekleştiren ip adresini tespit edip diğer kanıtlarla birlikte savcılığa suç duyurusunda bulununuz.