05-21-2011, 12:49 AM
(This post was last modified: 05-21-2011, 12:53 AM by thanasis2028.)
Ok here is my submission:
I used the RichTextBox and made some rtf encoding to achieve this
Download .exe
Download full source
Spoiler (Click to View)
I used the RichTextBox and made some rtf encoding to achieve this
Code:
Public Class Form1
Private r As New Random()
Private Function GetRandomRTF(ByVal Length As Byte) As String
Dim Chars As String = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789"
Dim Str As String = ""
Dim FinalStr As String = ""
For i As Byte = 1 To Length
Str = Chars.Chars(r.Next(Chars.Length - 1))
Select Case r.Next(5) 'Colors
Case 0
Str = "\cf1 " + Str
Case 1
Str = "\cf2 " + Str
Case 2
Str = "\cf3 " + Str
Case 3
Str = "\cf4 " + Str
Case 4
Str = "\cf5 " + Str
End Select
Select Case r.Next(7) 'Bold/Italic/Underline
Case 0
Str = "{\b " + Str + "}"
Case 1
Str = "{\i " + Str + "}"
Case 2
Str = "{\ul " + Str + "}"
Case 3
Str = "{\b {\i " + Str + "}}"
Case 4
Str = "{\b {\ul " + Str + "}}"
Case 5
Str = "{\i {\ul " + Str + "}}"
End Select
FinalStr += Str
Next
Return FinalStr
End Function
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
Me.BackColor = Color.FromArgb(103, 153, 52)
End Sub
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
RichTextBox1.Clear()
TextBox1.Clear()
RichTextBox1.Text = "initialtext"
RichTextBox1.Rtf = Replace(RichTextBox1.Rtf, "initialtext", "{\colortbl;\red0\green0\blue0;\red255\green0\blue0;\red0\green255\blue0;\red0\green0\blue255;\red255\green0\blue255;}" + GetRandomRTF(r.Next(6, 11)))
Button2.Enabled = True
TextBox1.Select()
End Sub
Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
If TextBox1.Text = RichTextBox1.Text Then
MsgBox("You got it right! You are not a machine!", , "Access Granted!")
Else
MsgBox("Machines get no access to the system!", , "Access Denied!")
End If
End Sub
Private Sub Button3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button3.Click
Me.Close()
End Sub
Private Sub TextBox1_KeyDown(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyEventArgs) Handles TextBox1.KeyDown
If e.KeyCode = Keys.Enter Then Button2_Click(Me, EventArgs.Empty)
End Sub
End Class
Download full source