Nickmania sourcecode

Iniciado por WHK, 19 Noviembre 2010, 10:25 AM

0 Miembros y 1 Visitante están viendo este tema.

WHK

Hola, les dejo elcódigo fuente de nickmania por si le interesa a alguien.
Está en vb.net

http://www.megaupload.com/?d=RGE2DOO0



clase funciones.vb:
Código (vbnet) [Seleccionar]
Imports System.Text

Public Class Funciones

   Public Function Convertir(ByVal Buffer As String, ByVal Tipo As String) As String
       Try
           If Tipo = "decimal" Then
               Return AscW(Buffer).ToString

           ElseIf Tipo = "hexadecimal" Then
               Return UCase(Hex(AscW(Trim(Buffer)))).ToString

           ElseIf Tipo = "html" Then
               Return "&#x" & UCase(Hex(AscW(Trim(Buffer)))).ToString & ";"

           Else
               Return Buffer

           End If
       Catch
           Return Buffer
       End Try
   End Function

End Class


Form1.vb:
Código (vbnet) [Seleccionar]
Imports System.Text

Public Class Form1

   Public Func As New Funciones
   Public LastChar As String
   Public StrDefaultMSG As String = "Su nick acá"
   Private Evitar_VerificarMSG As Boolean

   Private Sub TextBox1_KeyPress(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles TextBox1.KeyPress
       ' Evita mostrar StrDefaultMSG al retroceder completamente sin perder el foco
       If TextBox1.Text = StrDefaultMSG Then
           TextBox1.Text = e.KeyChar
           e.KeyChar = ""
           TextBox1.SelectionStart = TextBox1.Text.Length
       ElseIf TextBox1.Text = Chr(8) And AscW(e.KeyChar) = 8 Then
           TextBox1.Text = ""
           e.KeyChar = ""
       End If
   End Sub

   Private Sub TextBox1_LostFocus(ByVal sender As Object, ByVal e As System.EventArgs) Handles TextBox1.LostFocus
       Generar()
   End Sub

   Private Sub TextBox1_MouseClick(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles TextBox1.MouseClick
       If TextBox1.Text = StrDefaultMSG Then
           Evitar_VerificarMSG = True
           TextBox1.Text = ""
           TextBox2.Text = ""
       End If
   End Sub

   Private Sub TextBox1_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TextBox1.TextChanged
       If TextBox1.Text = Chr(8) Then TextBox1.Text = ""
       If TextBox1.Text = StrDefaultMSG Then
           TextBox1.ForeColor = Color.Silver
           TextBox2.ForeColor = Color.Silver
       Else
           TextBox1.ForeColor = Color.Black
           TextBox2.ForeColor = Color.Black
           Generar()
       End If
   End Sub

   Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
       ListView1.Items(0).Focused = True
   End Sub

   Private Function Generar() As Boolean
       If TextBox1.Text = "" Then
           If Evitar_VerificarMSG = False Then
               TextBox1.Text = StrDefaultMSG
               TextBox2.Text = "Nick generado"
           Else
               Evitar_VerificarMSG = False
           End If
       End If

       If TextBox1.Text = StrDefaultMSG Then
           Label6.Text = "Ejemplo"
           Label7.Text = "3j3mp10"
           Label8.Text = "EjEmPlO"
           Exit Function
       End If

       Dim Nick As String, Cuenta As Integer, U_Case As Boolean
       Dim Code1 As String, Code2 As String, Code3 As String, Code4 As String

       ' Code1 = 1337
       Code1 = TextBox1.Text.ToLower
       Code1 = Code1.Replace("a", "å")
       Code1 = Code1.Replace("b", "ß")
       Code1 = Code1.Replace("c", "©")
       Code1 = Code1.Replace("d", "Ð")
       Code1 = Code1.Replace("e", "3")
       Code1 = Code1.Replace("f", "ƒ")
       Code1 = Code1.Replace("g", "6")
       Code1 = Code1.Replace("i", "¡")
       Code1 = Code1.Replace("l", "1")
       Code1 = Code1.Replace("o", "0")
       Code1 = Code1.Replace("q", "¶")
       Code1 = Code1.Replace("r", "®")
       Code1 = Code1.Replace("s", "§")
       Code1 = Code1.Replace("u", "µ")
       Code1 = Code1.Replace("y", "¥")
       Label7.Text = Code1 ' Imprime ejemplo

       ' Code2 = Normal
       Code2 = TextBox1.Text
       Label6.Text = Code2 ' Imprime ejemplo

       ' Code3 = UL-Case
       U_Case = False
       Code3 = ""
       For Cuenta = 0 To TextBox1.Text.Length - 1
           If U_Case = False Then
               Code3 = Code3 & TextBox1.Text.Substring(Cuenta, 1).ToLower.ToString
               U_Case = True
           Else
               Code3 = Code3 & TextBox1.Text.Substring(Cuenta, 1).ToUpper.ToString
               U_Case = False
           End If
       Next
       Label8.Text = Code3 ' Imprime ejemplo

       ' Code4 = Gigante
       Code4 = TextBox1.Text.ToLower
       Code4 = Code4.Replace(" ", "  ")
       Code4 = Code4.Replace("a", " |̶̿ ̶̿ ̶̿ ̶̿|")
       Code4 = Code4.Replace("b", " |̶͇̿ ̶͇̿ ̶͇̿)")
       Code4 = Code4.Replace("c", " |͇̿ ͇̿ ͇̿ ͇̿")
       Code4 = Code4.Replace("d", " |͇̿ ͇̿ ͇̿ ͇̿)")
       Code4 = Code4.Replace("e", " |̶͇̿ ̶͇̿ ͇̿")
       Code4 = Code4.Replace("f", " |̶̿ ̶̿ ̶̿ ̶̿")
       Code4 = Code4.Replace("g", " |͇̿ ͇̿ ͇̿ ̶͇̿ι")
       Code4 = Code4.Replace("h", " |̶ ̶ ̶ ̶|")
       Code4 = Code4.Replace("i", " [b]|[/b]")
       Code4 = Code4.Replace("j", "  ͇ ͇͇͇͇|")
       Code4 = Code4.Replace("k", " |<")
       Code4 = Code4.Replace("l", " |͇ ͇ ͇ ͇")
       Code4 = Code4.Replace("m", " |̿ V ̿|")
       Code4 = Code4.Replace("n", " |̿ \͇|")
       Code4 = Code4.Replace("o", " |͇̿ ͇̿ ͇̿|")
       Code4 = Code4.Replace("p", " |̶̿ ̶̿ ̶̿ ̶̿'")
       Code4 = Code4.Replace("q", " |͇̿ ͇̿ ͇̿ ͇͇̿|͇ ")
       Code4 = Code4.Replace("r", " |̿ ̿ ̿")
       Code4 = Code4.Replace("s", "  ͇ ͇\̿ ̿")
       Code4 = Code4.Replace("t", "  ̿ ̿|̿ ̿")
       Code4 = Code4.Replace("u", " |͇ ͇ ͇ ͇ ͇|")
       Code4 = Code4.Replace("v", " [b]\ ͇ /[/b]")
       Code4 = Code4.Replace("w", " [b]|͇ Λ ͇|[/b]")
       Code4 = Code4.Replace("x", " X")
       Code4 = Code4.Replace("y", " Y")
       Code4 = Code4.Replace("z", "  ̿ ̿/ ͇ ͇")
       Label9.Text = Code4
       Code4 = "अ๑ " & Trim(Code4)

       ' Establece el nick
       If RadioButton2.Checked = True Then ' 1337
           Nick = Code1

       ElseIf RadioButton3.Checked = True Then ' Gigante
           Nick = Code4

       ElseIf RadioButton4.Checked = True Then ' UL-Case
           Nick = Code3

       Else ' Normal
           Nick = Code2

       End If

       ' Retorna
       TextBox2.Text = ListView1.FocusedItem.Text.Replace("Nick", Nick)
   End Function

   Private Sub ListView1_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ListView1.SelectedIndexChanged
       Generar()
   End Sub

   Private Sub TextBox2_MouseClick(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles TextBox2.MouseClick
       TextBox2.SelectAll()
   End Sub

   Private Sub RadioButton2_CheckedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles RadioButton2.CheckedChanged
       Generar()
   End Sub

   Private Sub RadioButton1_CheckedChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles RadioButton1.CheckedChanged
       Generar()
   End Sub

   Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
       If TextBox1.Text = StrDefaultMSG Then
           MsgBox("Debe proporcionar un nick")
           Exit Sub
       End If
       Dim Random As New Random()
       ListView1.Items(Random.Next(0, ListView1.Items.Count - 1)).Focused = True
       Generar()
   End Sub

   Private Function LoadCharMap() As Boolean
       Dim Cuenta As Integer, Cuenta2 As Integer, Cuenta3 As Integer, LItem As New ListViewItem
       Dim Desde As Integer, Hasta As Integer, Columnas As Integer

       Desde = 0 ' 9474
       Hasta = 65535 ' 9729
       Columnas = 22
       Cuenta3 = Desde

       Me.Cursor = Cursors.WaitCursor
       Label2.Text = "Creando columnas ..."
       Button4.Visible = False
       Label2.Visible = True
       DataGridView1.Visible = False
       Application.DoEvents()

       ' Crea las columnas
       For Cuenta = 0 To Columnas - 1
           DataGridView1.Columns.Add("c" & Cuenta, "t" & Cuenta)
           DataGridView1.Columns(DataGridView1.Columns.Count - 1).Width = 22
           DataGridView1.Columns(DataGridView1.Columns.Count - 1).Resizable = DataGridViewTriState.False
           Label2.Text = "Creando columnas ... " & Cuenta
           Application.DoEvents()
       Next

       Label2.Text = "Creando mapa de carácteres ... 0/" & Hasta
       Application.DoEvents()
       Timer1.Tag = "0/" & Hasta
       Timer1.Enabled = True

       Dim n As Integer
       For Cuenta = 0 To Int(((Hasta - Desde) / Columnas) - 1)
           If Cuenta3 > Hasta Then Exit For
           n = DataGridView1.Rows.Add()
           For Cuenta2 = 0 To Columnas - 1
               If Cuenta3 > Hasta Then Exit For
               DataGridView1.Rows.Item(n).Cells(Cuenta2).Value = ChrW(Cuenta3)
               Timer1.Tag = Cuenta3 & "/" & Hasta
               Cuenta3 = Cuenta3 + 1
               Application.DoEvents()
           Next
       Next

       Label2.Visible = False
       DataGridView1.Visible = True
       Timer1.Tag = 0
       Timer1.Enabled = False
       Me.Cursor = Cursors.Arrow
   End Function

   Private Sub Button5_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button5.Click
       Shell("charmap", AppWinStyle.NormalFocus)
   End Sub

   Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
       InsertLastChar()
   End Sub

   Private Sub DataGridView1_CellContentClick(ByVal sender As System.Object, ByVal e As System.Windows.Forms.DataGridViewCellEventArgs) Handles DataGridView1.CellContentClick
       Dim v_Str As String = DataGridView1.Rows(e.RowIndex).Cells(e.ColumnIndex).Value.ToString()
       TextBox3.Text = v_Str
       TextBox4.Text = Func.Convertir(v_Str, "hexadecimal")
       TextBox5.Text = Func.Convertir(v_Str, "html")
       TextBox6.Text = Func.Convertir(v_Str, "decimal")
       LastChar = v_Str
   End Sub

   Private Sub DataGridView1_CellContentDoubleClick(ByVal sender As Object, ByVal e As System.Windows.Forms.DataGridViewCellEventArgs) Handles DataGridView1.CellContentDoubleClick
       InsertLastChar()
   End Sub

   Private Function InsertLastChar() As Boolean
       If TextBox1.Text = StrDefaultMSG Then
           TextBox1.Text = LastChar
       Else
           TextBox1.Text = TextBox1.Text & LastChar
       End If
   End Function

   Private Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer1.Tick
       Label2.Text = "Creando mapa de carácteres ... " & Timer1.Tag
       Application.DoEvents()
   End Sub

   Private Sub Button4_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button4.Click
       LoadCharMap()
   End Sub

   Private Sub Button6_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button6.Click
       Dim Random As New Random()
       Dim Caracter As String = DataGridView1.Rows(Random.Next(0, DataGridView1.Rows.Count)).Cells(Random.Next(0, DataGridView1.Columns.Count)).Value.ToString()
       If TextBox1.Text = StrDefaultMSG Then
           TextBox1.Text = Caracter
       Else
           TextBox1.Text = TextBox1.Text & Caracter
       End If
   End Sub

End Class



Binario:
http://foro.elhacker.net/chats_irc_y_messengers/nickmania_v24_by_whk-t309834.0.html

gryphes

Buen aporte, se agradece...

Saludos


[D4N93R]

Jeje tiene un estilo parecido al charset de windows, creo que esa fue la intensión, lo voy a añadir a los temas interesantes!

Un saludo!

raul338

Lo malo que en windows 7 no se ven tooodos los caracteres. Se ven cuadraditos en la mayoria :xD pero igual, esta bien hecho

WHK

Cita de: raul338 en 20 Noviembre 2010, 14:43 PM
Lo malo que en windows 7 no se ven tooodos los caracteres. Se ven cuadraditos en la mayoria :xD pero igual, esta bien hecho

Si me di cuenta, hay algunos que no aparecen porque windows 7 por defecto no te instala todos los tipos de escritura... intenté de que el sistema omitiera los carácteres que no existieran pero no pude, intenté con trim, busque por internet y no pude encontrar como detectar cuando unn carácter es legible o no.

De alguna forma windows si lo detecta pero no se como lo hace ya que para mostrar el típico cuadradito windows primero debe detectar si puede mostrar el carácter o no.

Alguien sabe como podría detectarlo?