elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Usando Git para manipular el directorio de trabajo, el índice y commits (segunda parte)


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General
| | |-+  .NET (C#, VB.NET, ASP) (Moderador: kub0x)
| | | |-+  Problema en Visual Basic -Net (Al remplazar una palabra)
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: 1 [2] Ir Abajo Respuesta Imprimir
Autor Tema: Problema en Visual Basic -Net (Al remplazar una palabra)  (Leído 7,282 veces)
Eleкtro
Ex-Staff
*
Desconectado Desconectado

Mensajes: 9.822



Ver Perfil
Re: Problema en Visual Basic -Net (Al remplazar una palabra)
« Respuesta #10 en: 9 Junio 2013, 07:30 am »

@XResh
La verdad es que no quería comentar nada acerca de "Mid" para no molestarte y para no desviar el tema, pero me he fijado en tu insistencia sobre la función Mid y lo cierto es que no me gusta ver que se promueva el uso de Mid cuando estamos en .NET,
Lo digo porque "Mid" al igual que "left" "right" son funciones de VisualBasic 6 (usables en .NET), ...¿pero para que usarlas si tenemos clases y métodos de todo tipo que son obviamente mucho más rápidos y eficaces que los de VB6?

Un saludo!



@Akise
Se puede apreciar cláramente que en tu código quieres definir tus própios caracteres cifrados (O al menos eso ha dado a entender), de ahí mi código algo largo, pero si prefieres algo reálmente corto puedes usar esto:

Código
  1. #Region " Encrypt-Decrypt String "
  2.  
  3.    ' [ Encrypt-Decrypt String Function ]
  4.    '
  5.    ' // By Elektro H@cker
  6.    '
  7.    ' Examples :
  8.    '
  9.    ' MsgBox(Encrypt_Decrypt_String("Test")) ' Result: «šŒ‹
  10.    ' MsgBox(Encrypt_Decrypt_String("«šŒ‹")) ' Result: Hello
  11.  
  12.    Public Function Encrypt_Decrypt_String(ByVal Input As String) As String
  13.  
  14.        Dim Output As String = String.Empty
  15.  
  16.        For Each Ch As Char In Input
  17.            Output &= Asc(Ch)
  18.            ' Application.DoEvents()
  19.        Next
  20.  
  21.        Return Output
  22.  
  23.    End Function
  24.  
  25. #End Region

EDITO:
Si prefieres la versión larga donde puedes definir perféctamente los caracteres que tu quieras, aquí tienes:

Código
  1. #Region " Encrypt-Decrypt Text "
  2.  
  3.    ' [ Encrypt-Decrypt Text Function ]
  4.    '
  5.    ' // By Elektro H@cker
  6.    '
  7.    ' Examples :
  8.    '
  9.    ' MsgBox(Encrypt_Text("Hello world"))           ' Result: à`336 L6ë3m
  10.    ' MsgBox(Decrypt_Text("à`336 L6ë3m"))           ' Result: Hello world
  11.    ' MsgBox(Encrypt_Text("¡ Hello world !", True)) ' Result: = <ÁÍÍÀ cÀ,Í3 Ï
  12.    ' MsgBox(Decrypt_Text("= <ÁÍÍÀ cÀ,Í3 Ï", True)) ' Result: ¡ Hello world !
  13.  
  14.    Public Shared Function Encrypt_Text(ByVal str As String, _
  15.                                        Optional ByVal Include_Special_Characters As Boolean = False) As String
  16.  
  17.        Static Characters As Char()
  18.        Static Replacements As Char()
  19.  
  20.        If Include_Special_Characters Then
  21.            Characters = "abcdefghijklmnñopqrstuvwxyzABCDEFGHIJKLMNÑOPQRSTUVWXYZ0123456789áéíóúÁÉÍÓÚàèìòùÀÈÌÒÙäëïöüÄËÏÖÜçǺª<>¡!¿?()[]{}/\|·.:;,-+=_~¬^'`´¨*$%&€#@""".ToCharArray
  22.            Replacements = {"h", "ó", "Ó", "3", "Á", "è", "A", "^", "ö", "~", "O", "Í", "€", "q", "ú", "À", "Ç", "È", ",", "ì", "i", "ï", "ò", "c", "0", "ñ", "4", "l", "Ü", "ª", "¬", "S", "&", "?", "<", ":", "T", "*", "e", ".", "R", "É", "D", "7", "9", "Ú", "n", "¿", "L", "m", "¨", "Ë", "]", "Ä", "Q", "w", "V", "'", "G", "K", "é", "v", "ù", "}", "P", "E", "X", "+", "í", "´", "$", "{", "_", "Ñ", "u", "ë", "H", "g", "d", "x", "8", "/", "ä", "#", "|", "-", "1", "M", "Ò", "o", ")", "N", "Y", "á", "Ù", "Ì", "%", "ç", """", "a", "=", "Ï", "z", "Ö", ">", ";", "2", "6", "B", "y", "b", "`", "s", "5", "t", "[", "(", "à", "ü", "!", "¡", "f", "W", "k", "r", "U", "J", "·", "Z", "F", "C", "º", "I", "@", "p", "j"}
  23.        Else
  24.            Characters = _
  25.            "abcdefghijklmnñopqrstuvwxyzABCDEFGHIJKLMNÑOPQRSTUVWXYZ0123456789áéíóúÁÉÍÓÚàèìòùÀÈÌÒÙäëïöüÄËÏÖÜçǺª¡¿·¬`´¨€".ToCharArray
  26.            ' Removed chars for better improvement in code encryptation: = & + - ^ " % ' < > ( ) { } . $ [ ] ; @ ! ? ~ : / \ | * # , _
  27.  
  28.            Replacements = _
  29.            {"u", "Ñ", "T", "m", "`", "P", "Ç", "Z", "h", "x", "á", "3", "¬", "R", "ª", "6", "ò", "N", "ë", "Ì", "g", "ö", "I", "L", "a", "À", "·", "V", "5", "Ë", "Ù", "´", "Ö", "J", "à", "¡", "n", "4", "È", "j", "ç", "b", "c", "y", "E", "ù", "Ó", "f", "º", "Q", "q", "G", "e", "B", "0", "€", "9", "o", "ì", "O", "8", "¿", "r", "v", "ó", "2", "Ï", "1", "¨", "i", "Á", "D", "t", "Í", "k", "Ú", "C", "ñ", "Ä", "S", "A", "é", "7", "Ü", "K", "z", "í", "è", "Y", "ü", "F", "s", "p", "X", "U", "Ò", "l", "É", "ú", "d", "ï", "M", "W", "H", "ä", "w"}
  30.            '  a,   b,   c,   d,   e,   f,   g,   h,   i,   j,   k,   l,   m,   n,   ñ,   o,   p,   q,   r,   s,   t,   u,   v,   w,   x,   y,   z,   A,   B,   C,   D,   E,   F,   G,   H,   I,   J,   K,   L,   M,   N,   Ñ,   O,   P,   Q,   R,   S,   T,   U,   V,   W,   X,   Y,   Z,   0,   1,   2,   3,   4,   5,   6,   7,   8,   9,   á,   é,   í,   ó,   ú,   Á,   É,   Í,   Ó,   Ú,   à,   è,   ì,   ò,   ù,   À,   È,   Ì,   Ò,   Ù,   ä,   ë,   ï,   ö,   ü,   Ä,   Ë,   Ï,   Ö,   Ü,   ç,   Ç,   º,   ª,   ¡,   ¿,   ·,   ¬,   `,   ´,   ¨,   €
  31.        End If
  32.  
  33.  
  34.        Dim Temp_String As String = String.Empty
  35.        Dim Replacement_Found As Boolean = False
  36.  
  37.        For Each character As Char In str
  38.  
  39.            For x As Int32 = 0 To Characters.Length - 1
  40.  
  41.                If character = Characters(x) Then
  42.                    Replacement_Found = True
  43.                    Temp_String &= Replacements(x)
  44.                    Exit For
  45.                End If
  46.  
  47.            Next
  48.  
  49.            If Not Replacement_Found Then Temp_String &= character Else Replacement_Found = False
  50.            Application.DoEvents()
  51.  
  52.        Next
  53.  
  54.        Return Temp_String
  55.  
  56.    End Function
  57.  
  58.    Public Shared Function Decrypt_Text(ByVal str As String, _
  59.                                        Optional ByVal Include_Special_Characters As Boolean = False) As String
  60.  
  61.        Static Characters As Char()
  62.        Static Replacements As Char()
  63.  
  64.        If Include_Special_Characters Then
  65.            Characters = {"h", "ó", "Ó", "3", "Á", "è", "A", "^", "ö", "~", "O", "Í", "€", "q", "ú", "À", "Ç", "È", ",", "ì", "i", "ï", "ò", "c", "0", "ñ", "4", "l", "Ü", "ª", "¬", "S", "&", "?", "<", ":", "T", "*", "e", ".", "R", "É", "D", "7", "9", "Ú", "n", "¿", "L", "m", "¨", "Ë", "]", "Ä", "Q", "w", "V", "'", "G", "K", "é", "v", "ù", "}", "P", "E", "X", "+", "í", "´", "$", "{", "_", "Ñ", "u", "ë", "H", "g", "d", "x", "8", "/", "ä", "#", "|", "-", "1", "M", "Ò", "o", ")", "N", "Y", "á", "Ù", "Ì", "%", "ç", """", "a", "=", "Ï", "z", "Ö", ">", ";", "2", "6", "B", "y", "b", "`", "s", "5", "t", "[", "(", "à", "ü", "!", "¡", "f", "W", "k", "r", "U", "J", "·", "Z", "F", "C", "º", "I", "@", "p", "j"}
  66.            Replacements = "abcdefghijklmnñopqrstuvwxyzABCDEFGHIJKLMNÑOPQRSTUVWXYZ0123456789áéíóúÁÉÍÓÚàèìòùÀÈÌÒÙäëïöüÄËÏÖÜçǺª<>¡!¿?()[]{}/\|·.:;,-+=_~¬^'`´¨*$%&€#@""".ToCharArray
  67.        Else
  68.            Characters = _
  69.            {"u", "Ñ", "T", "m", "`", "P", "Ç", "Z", "h", "x", "á", "3", "¬", "R", "ª", "6", "ò", "N", "ë", "Ì", "g", "ö", "I", "L", "a", "À", "·", "V", "5", "Ë", "Ù", "´", "Ö", "J", "à", "¡", "n", "4", "È", "j", "ç", "b", "c", "y", "E", "ù", "Ó", "f", "º", "Q", "q", "G", "e", "B", "0", "€", "9", "o", "ì", "O", "8", "¿", "r", "v", "ó", "2", "Ï", "1", "¨", "i", "Á", "D", "t", "Í", "k", "Ú", "C", "ñ", "Ä", "S", "A", "é", "7", "Ü", "K", "z", "í", "è", "Y", "ü", "F", "s", "p", "X", "U", "Ò", "l", "É", "ú", "d", "ï", "M", "W", "H", "ä", "w"}
  70.            '  a,   b,   c,   d,   e,   f,   g,   h,   i,   j,   k,   l,   m,   n,   ñ,   o,   p,   q,   r,   s,   t,   u,   v,   w,   x,   y,   z,   A,   B,   C,   D,   E,   F,   G,   H,   I,   J,   K,   L,   M,   N,   Ñ,   O,   P,   Q,   R,   S,   T,   U,   V,   W,   X,   Y,   Z,   0,   1,   2,   3,   4,   5,   6,   7,   8,   9,   á,   é,   í,   ó,   ú,   Á,   É,   Í,   Ó,   Ú,   à,   è,   ì,   ò,   ù,   À,   È,   Ì,   Ò,   Ù,   ä,   ë,   ï,   ö,   ü,   Ä,   Ë,   Ï,   Ö,   Ü,   ç,   Ç,   º,   ª,   ¡,   ¿,   ·,   ¬,   `,   ´,   ¨,   €
  71.  
  72.            Replacements = _
  73.             "abcdefghijklmnñopqrstuvwxyzABCDEFGHIJKLMNÑOPQRSTUVWXYZ0123456789áéíóúÁÉÍÓÚàèìòùÀÈÌÒÙäëïöüÄËÏÖÜçǺª¡¿·¬`´¨€".ToCharArray
  74.            ' Removed chars for better improvement in code encryptation: = & + - ^ " % ' < > ( ) { } . $ [ ] ; @ ! ? ~ : / \ | * # , _
  75.        End If
  76.  
  77.  
  78.        Dim Temp_String As String = String.Empty
  79.        Dim Replacement_Found As Boolean = False
  80.  
  81.        For Each character As Char In str
  82.  
  83.            For x As Int32 = 0 To Characters.Length - 1
  84.  
  85.                If character = Characters(x) Then
  86.                    Replacement_Found = True
  87.                    Temp_String &= Replacements(x)
  88.                    Exit For
  89.                End If
  90.  
  91.            Next
  92.  
  93.            If Not Replacement_Found Then Temp_String &= character Else Replacement_Found = False
  94.            Application.DoEvents()
  95.  
  96.        Next
  97.  
  98.        Return Temp_String
  99.  
  100.    End Function
  101.  
  102. #End Region

Saludos!


« Última modificación: 9 Junio 2013, 07:46 am por EleKtro H@cker » En línea

XresH


Desconectado Desconectado

Mensajes: 384



Ver Perfil WWW
Re: Problema en Visual Basic -Net (Al remplazar una palabra)
« Respuesta #11 en: 9 Junio 2013, 10:15 am »

@XResh
La verdad es que no quería comentar nada acerca de "Mid" para no molestarte y para no desviar el tema, pero me he fijado en tu insistencia sobre la función Mid y lo cierto es que no me gusta ver que se promueva el uso de Mid cuando estamos en .NET,
Lo digo porque "Mid" al igual que "left" "right" son funciones de VisualBasic 6 (usables en .NET), ...¿pero para que usarlas si tenemos clases y métodos de todo tipo que son obviamente mucho más rápidos y eficaces que los de VB6?

Un saludo!



@Akise
Se puede apreciar cláramente que en tu código quieres definir tus própios caracteres cifrados (O al menos eso ha dado a entender), de ahí mi código algo largo, pero si prefieres algo reálmente corto puedes usar esto:

Código
  1. #Region " Encrypt-Decrypt String "
  2.  
  3.    ' [ Encrypt-Decrypt String Function ]
  4.    '
  5.    ' // By Elektro H@cker
  6.    '
  7.    ' Examples :
  8.    '
  9.    ' MsgBox(Encrypt_Decrypt_String("Test")) ' Result: «šŒ‹
  10.    ' MsgBox(Encrypt_Decrypt_String("«šŒ‹")) ' Result: Hello
  11.  
  12.    Public Function Encrypt_Decrypt_String(ByVal Input As String) As String
  13.  
  14.        Dim Output As String = String.Empty
  15.  
  16.        For Each Ch As Char In Input
  17.            Output &= Asc(Ch)
  18.            ' Application.DoEvents()
  19.        Next
  20.  
  21.        Return Output
  22.  
  23.    End Function
  24.  
  25. #End Region

EDITO:
Si prefieres la versión larga donde puedes definir perféctamente los caracteres que tu quieras, aquí tienes:

Código
  1. #Region " Encrypt-Decrypt Text "
  2.  
  3.    ' [ Encrypt-Decrypt Text Function ]
  4.    '
  5.    ' // By Elektro H@cker
  6.    '
  7.    ' Examples :
  8.    '
  9.    ' MsgBox(Encrypt_Text("Hello world"))           ' Result: à`336 L6ë3m
  10.    ' MsgBox(Decrypt_Text("à`336 L6ë3m"))           ' Result: Hello world
  11.    ' MsgBox(Encrypt_Text("¡ Hello world !", True)) ' Result: = <ÁÍÍÀ cÀ,Í3 Ï
  12.    ' MsgBox(Decrypt_Text("= <ÁÍÍÀ cÀ,Í3 Ï", True)) ' Result: ¡ Hello world !
  13.  
  14.    Public Shared Function Encrypt_Text(ByVal str As String, _
  15.                                        Optional ByVal Include_Special_Characters As Boolean = False) As String
  16.  
  17.        Static Characters As Char()
  18.        Static Replacements As Char()
  19.  
  20.        If Include_Special_Characters Then
  21.            Characters = "abcdefghijklmnñopqrstuvwxyzABCDEFGHIJKLMNÑOPQRSTUVWXYZ0123456789áéíóúÁÉÍÓÚàèìòùÀÈÌÒÙäëïöüÄËÏÖÜçǺª<>¡!¿?()[]{}/\|·.:;,-+=_~¬^'`´¨*$%&€#@""".ToCharArray
  22.            Replacements = {"h", "ó", "Ó", "3", "Á", "è", "A", "^", "ö", "~", "O", "Í", "€", "q", "ú", "À", "Ç", "È", ",", "ì", "i", "ï", "ò", "c", "0", "ñ", "4", "l", "Ü", "ª", "¬", "S", "&", "?", "<", ":", "T", "*", "e", ".", "R", "É", "D", "7", "9", "Ú", "n", "¿", "L", "m", "¨", "Ë", "]", "Ä", "Q", "w", "V", "'", "G", "K", "é", "v", "ù", "}", "P", "E", "X", "+", "í", "´", "$", "{", "_", "Ñ", "u", "ë", "H", "g", "d", "x", "8", "/", "ä", "#", "|", "-", "1", "M", "Ò", "o", ")", "N", "Y", "á", "Ù", "Ì", "%", "ç", """", "a", "=", "Ï", "z", "Ö", ">", ";", "2", "6", "B", "y", "b", "`", "s", "5", "t", "[", "(", "à", "ü", "!", "¡", "f", "W", "k", "r", "U", "J", "·", "Z", "F", "C", "º", "I", "@", "p", "j"}
  23.        Else
  24.            Characters = _
  25.            "abcdefghijklmnñopqrstuvwxyzABCDEFGHIJKLMNÑOPQRSTUVWXYZ0123456789áéíóúÁÉÍÓÚàèìòùÀÈÌÒÙäëïöüÄËÏÖÜçǺª¡¿·¬`´¨€".ToCharArray
  26.            ' Removed chars for better improvement in code encryptation: = & + - ^ " % ' < > ( ) { } . $ [ ] ; @ ! ? ~ : / \ | * # , _
  27.  
  28.            Replacements = _
  29.            {"u", "Ñ", "T", "m", "`", "P", "Ç", "Z", "h", "x", "á", "3", "¬", "R", "ª", "6", "ò", "N", "ë", "Ì", "g", "ö", "I", "L", "a", "À", "·", "V", "5", "Ë", "Ù", "´", "Ö", "J", "à", "¡", "n", "4", "È", "j", "ç", "b", "c", "y", "E", "ù", "Ó", "f", "º", "Q", "q", "G", "e", "B", "0", "€", "9", "o", "ì", "O", "8", "¿", "r", "v", "ó", "2", "Ï", "1", "¨", "i", "Á", "D", "t", "Í", "k", "Ú", "C", "ñ", "Ä", "S", "A", "é", "7", "Ü", "K", "z", "í", "è", "Y", "ü", "F", "s", "p", "X", "U", "Ò", "l", "É", "ú", "d", "ï", "M", "W", "H", "ä", "w"}
  30.            '  a,   b,   c,   d,   e,   f,   g,   h,   i,   j,   k,   l,   m,   n,   ñ,   o,   p,   q,   r,   s,   t,   u,   v,   w,   x,   y,   z,   A,   B,   C,   D,   E,   F,   G,   H,   I,   J,   K,   L,   M,   N,   Ñ,   O,   P,   Q,   R,   S,   T,   U,   V,   W,   X,   Y,   Z,   0,   1,   2,   3,   4,   5,   6,   7,   8,   9,   á,   é,   í,   ó,   ú,   Á,   É,   Í,   Ó,   Ú,   à,   è,   ì,   ò,   ù,   À,   È,   Ì,   Ò,   Ù,   ä,   ë,   ï,   ö,   ü,   Ä,   Ë,   Ï,   Ö,   Ü,   ç,   Ç,   º,   ª,   ¡,   ¿,   ·,   ¬,   `,   ´,   ¨,   €
  31.        End If
  32.  
  33.  
  34.        Dim Temp_String As String = String.Empty
  35.        Dim Replacement_Found As Boolean = False
  36.  
  37.        For Each character As Char In str
  38.  
  39.            For x As Int32 = 0 To Characters.Length - 1
  40.  
  41.                If character = Characters(x) Then
  42.                    Replacement_Found = True
  43.                    Temp_String &= Replacements(x)
  44.                    Exit For
  45.                End If
  46.  
  47.            Next
  48.  
  49.            If Not Replacement_Found Then Temp_String &= character Else Replacement_Found = False
  50.            Application.DoEvents()
  51.  
  52.        Next
  53.  
  54.        Return Temp_String
  55.  
  56.    End Function
  57.  
  58.    Public Shared Function Decrypt_Text(ByVal str As String, _
  59.                                        Optional ByVal Include_Special_Characters As Boolean = False) As String
  60.  
  61.        Static Characters As Char()
  62.        Static Replacements As Char()
  63.  
  64.        If Include_Special_Characters Then
  65.            Characters = {"h", "ó", "Ó", "3", "Á", "è", "A", "^", "ö", "~", "O", "Í", "€", "q", "ú", "À", "Ç", "È", ",", "ì", "i", "ï", "ò", "c", "0", "ñ", "4", "l", "Ü", "ª", "¬", "S", "&", "?", "<", ":", "T", "*", "e", ".", "R", "É", "D", "7", "9", "Ú", "n", "¿", "L", "m", "¨", "Ë", "]", "Ä", "Q", "w", "V", "'", "G", "K", "é", "v", "ù", "}", "P", "E", "X", "+", "í", "´", "$", "{", "_", "Ñ", "u", "ë", "H", "g", "d", "x", "8", "/", "ä", "#", "|", "-", "1", "M", "Ò", "o", ")", "N", "Y", "á", "Ù", "Ì", "%", "ç", """", "a", "=", "Ï", "z", "Ö", ">", ";", "2", "6", "B", "y", "b", "`", "s", "5", "t", "[", "(", "à", "ü", "!", "¡", "f", "W", "k", "r", "U", "J", "·", "Z", "F", "C", "º", "I", "@", "p", "j"}
  66.            Replacements = "abcdefghijklmnñopqrstuvwxyzABCDEFGHIJKLMNÑOPQRSTUVWXYZ0123456789áéíóúÁÉÍÓÚàèìòùÀÈÌÒÙäëïöüÄËÏÖÜçǺª<>¡!¿?()[]{}/\|·.:;,-+=_~¬^'`´¨*$%&€#@""".ToCharArray
  67.        Else
  68.            Characters = _
  69.            {"u", "Ñ", "T", "m", "`", "P", "Ç", "Z", "h", "x", "á", "3", "¬", "R", "ª", "6", "ò", "N", "ë", "Ì", "g", "ö", "I", "L", "a", "À", "·", "V", "5", "Ë", "Ù", "´", "Ö", "J", "à", "¡", "n", "4", "È", "j", "ç", "b", "c", "y", "E", "ù", "Ó", "f", "º", "Q", "q", "G", "e", "B", "0", "€", "9", "o", "ì", "O", "8", "¿", "r", "v", "ó", "2", "Ï", "1", "¨", "i", "Á", "D", "t", "Í", "k", "Ú", "C", "ñ", "Ä", "S", "A", "é", "7", "Ü", "K", "z", "í", "è", "Y", "ü", "F", "s", "p", "X", "U", "Ò", "l", "É", "ú", "d", "ï", "M", "W", "H", "ä", "w"}
  70.            '  a,   b,   c,   d,   e,   f,   g,   h,   i,   j,   k,   l,   m,   n,   ñ,   o,   p,   q,   r,   s,   t,   u,   v,   w,   x,   y,   z,   A,   B,   C,   D,   E,   F,   G,   H,   I,   J,   K,   L,   M,   N,   Ñ,   O,   P,   Q,   R,   S,   T,   U,   V,   W,   X,   Y,   Z,   0,   1,   2,   3,   4,   5,   6,   7,   8,   9,   á,   é,   í,   ó,   ú,   Á,   É,   Í,   Ó,   Ú,   à,   è,   ì,   ò,   ù,   À,   È,   Ì,   Ò,   Ù,   ä,   ë,   ï,   ö,   ü,   Ä,   Ë,   Ï,   Ö,   Ü,   ç,   Ç,   º,   ª,   ¡,   ¿,   ·,   ¬,   `,   ´,   ¨,   €
  71.  
  72.            Replacements = _
  73.             "abcdefghijklmnñopqrstuvwxyzABCDEFGHIJKLMNÑOPQRSTUVWXYZ0123456789áéíóúÁÉÍÓÚàèìòùÀÈÌÒÙäëïöüÄËÏÖÜçǺª¡¿·¬`´¨€".ToCharArray
  74.            ' Removed chars for better improvement in code encryptation: = & + - ^ " % ' < > ( ) { } . $ [ ] ; @ ! ? ~ : / \ | * # , _
  75.        End If
  76.  
  77.  
  78.        Dim Temp_String As String = String.Empty
  79.        Dim Replacement_Found As Boolean = False
  80.  
  81.        For Each character As Char In str
  82.  
  83.            For x As Int32 = 0 To Characters.Length - 1
  84.  
  85.                If character = Characters(x) Then
  86.                    Replacement_Found = True
  87.                    Temp_String &= Replacements(x)
  88.                    Exit For
  89.                End If
  90.  
  91.            Next
  92.  
  93.            If Not Replacement_Found Then Temp_String &= character Else Replacement_Found = False
  94.            Application.DoEvents()
  95.  
  96.        Next
  97.  
  98.        Return Temp_String
  99.  
  100.    End Function
  101.  
  102. #End Region

Saludos!


Estoy de acuerdo en la eficacia, discrepo con tu idea porque es absurdo a mi entender tratar de inventar una escoba nueva cuando tenemos la tradicional que lo hace bien y sin problemas.

Si viene un chino y te dice "esta escoba es la mejol, barre todo sin dejal nada" y es 10 veces mas grande, la vas a usar? no tiene sentido porque no la precisas ya que tenes la comun.

No veo necesidad de 50 lineas de codigo cuando la haces en 3 y no es el primer caso que veo, insisto, estoy de acuerdo con vos en la eficacia.

.NET trabaja diferente, no quiere decir que todos sus metodos sean mejores.

No molestas comentando, esto es un foro y opinamos, tenemos diferentes ideas de eso trata! entre todos ayudamos a los nuevos y usuarios.
Es bueno saber lo que otro programador piensa, y no tenemos porque discutir ni desviar el tema, son comentarios espero no molestarte con los mios!

Tu code es bueno y esta interesante para estudiarlo, pero me parece sumamente innecesario para algo tan simple.


Tan simple como esto:
Código
  1. Dim sCadena As String = "123?%"
  2. For Each cCaracter In sCadena
  3.    MsgBox(Asc(cCaracter))
  4. Next
Luego sumar, almacenar y listo  :silbar:

Otra variante, no puedo estar mas de acuerdo.

Saludos.


En línea

[ - Si eres programador y quieres que tus proyectos esten en mi blog(con o sin source), consúltame! - ]
Entra A Mi Blog De Programación | | Dudas en este post :| | >>Clic para ir al Post<<
Akise

Desconectado Desconectado

Mensajes: 18


Ver Perfil
Re: Problema en Visual Basic -Net (Al remplazar una palabra)
« Respuesta #12 en: 9 Junio 2013, 15:27 pm »

Vaya, me da por entrar al tema, por si había alguna respuesta, y me encuentro con un montón de ellas, la verdad, me habéis ayudado mucho y os lo agradezco a todos. De momento me quedaré con el código ''largo'', lo veo como más editable, en el sentido de que con ASCII solo se puede aumentar en X número su abecedario no? Me refiero, si la letra de ASCII 'A' =65, si sumo sólo un valor, será 66 y pasará a B, cuando a mí lo que me interesa es un cifrado qwerty y cuando se acabasen los caracteres seguir con un carácter poco común más el qwerty, por ejemplo.

A = q
B = w

(bla bla bla hasta terminar)

a = &q
b = &w

Entonces veo un poco, raro, el sumarle a la X número para que llege a la q y así con todos.

Como sea, muchísimas gracias a todos, probaré ambos, pero tengo de preferencia el código dado por Elektro H@cker. ¡Gracias a todos repito! Así da agusto.
« Última modificación: 9 Junio 2013, 15:35 pm por Akise » En línea

Akise

Desconectado Desconectado

Mensajes: 18


Ver Perfil
Re: Problema en Visual Basic -Net (Al remplazar una palabra)
« Respuesta #13 en: 9 Junio 2013, 15:34 pm »

Vaya, me da por entrar al tema, por si había alguna respuesta, y me encuentro con un montón de ellas, la verdad, me habéis ayudado mucho y os lo agradezco a todos. De momento me quedaré con el código ''largo'', lo veo como más editable, en el sentido de que con ASCII solo se puede aumentar en X número su abecedario no? Me refiero, si la letra de ASCII 'A' =65, si sumo sólo un valor, será 66 y pasará a B, cuando a mí lo que me interesa es un cifrado qwerty y cuando se acabasen los caracteres seguir con un carácter poco común más el qwerty,  por ejemplo.

A = q
B = w

(bla bla bla hasta terminar)

a = &q
b = &w

Entonces veo un poco, raro, el sumarle a la X número para que llege a la q y así con todos.

Como sea, muchísimas gracias a todos, probaré ambos, pero tengo de preferencia el código dado por Elektro H@cker. ¡Gracias a todos repito! Así da agusto.
En línea

Eleкtro
Ex-Staff
*
Desconectado Desconectado

Mensajes: 9.822



Ver Perfil
Re: Problema en Visual Basic -Net (Al remplazar una palabra)
« Respuesta #14 en: 9 Junio 2013, 19:16 pm »

De momento me quedaré con el código ''largo''

A = q
B = w

a = &q
b = &w


1. ¿Eres consciente de que si usas 2 caracteres entonces mi código requiere de ciertas modificaciones, verdad?, deberías recorrer el string en bloques de 2 caracteres,
...Pero si además para las letras mayúsculas vas a usar 1 caracter (A = q) y para las minusculas 2 (a = &q), entonces no puedes recorrer el string ni por caracteres de "1" longitud ni de "2", a menos que ese caracter especial (&) lo dejes sin cifrar.

2. Creo que estás intentando reinventar la rueda sin saberlo, porque si estás siguiendo un orden en concreto "qwerty...blablabla" entonces lo que estás haciendo es una especie de variante del método "Caesar", y entonces diréctamente puedes usar el código "corto": http://crypo.in.ua/tools/eng_caesar.php

3. Si te fijas bien en mi código "largo" los caracteres son todos aleatórios, si quieres seguir un orden en concreto mejor no lo uses, hay cosas más fáciles xD.

Salu2
« Última modificación: 9 Junio 2013, 19:20 pm por EleKtro H@cker » En línea

Akise

Desconectado Desconectado

Mensajes: 18


Ver Perfil
Re: Problema en Visual Basic -Net (Al remplazar una palabra)
« Respuesta #15 en: 9 Junio 2013, 20:17 pm »

1. ¿Eres consciente de que si usas 2 caracteres entonces mi código requiere de ciertas modificaciones, verdad?, deberías recorrer el string en bloques de 2 caracteres,
...Pero si además para las letras mayúsculas vas a usar 1 caracter (A = q) y para las minusculas 2 (a = &q), entonces no puedes recorrer el string ni por caracteres de "1" longitud ni de "2", a menos que ese caracter especial (&) lo dejes sin cifrar.

2. Creo que estás intentando reinventar la rueda sin saberlo, porque si estás siguiendo un orden en concreto "qwerty...blablabla" entonces lo que estás haciendo es una especie de variante del método "Caesar", y entonces diréctamente puedes usar el código "corto": http://crypo.in.ua/tools/eng_caesar.php

3. Si te fijas bien en mi código "largo" los caracteres son todos aleatórios, si quieres seguir un orden en concreto mejor no lo uses, hay cosas más fáciles xD.

Salu2

Buenas, a ver, hasta dónde puedo comprender, entiendo que si quiero dos caracteres en vez de uno, no podría dado que la longitud es de uno, si modificase esa longitud a dos, entonces no podría poner caracteres de uno, entonces, por eso no hay problema, no me importa mucho tener que depender de un sólo caracter, me parece que estoy intentando correr antes de saber andar...

De tu código sólo comprendo esto;

Código
  1. #Region " Encrypt-Decrypt Text "
  2.  
  3.    ' [ Encrypt-Decrypt Text Function ]
  4.    '
  5.    ' // By Elektro H@cker
  6.    '
  7.    ' Examples :
  8.    '
  9.    ' MsgBox(Encrypt_Text("Hello world"))           ' Result: à`336 L6ë3m
  10.    ' MsgBox(Decrypt_Text("à`336 L6ë3m"))           ' Result: Hello world
  11.    ' MsgBox(Encrypt_Text("¡ Hello world !", True)) ' Result: = <ÁÍÍÀ cÀ,Í3 Ï
  12.    ' MsgBox(Decrypt_Text("= <ÁÍÍÀ cÀ,Í3 Ï", True)) ' Result: ¡ Hello world !
  13.  
  14.    Public Shared Function Encrypt_Text(ByVal str As String, _
  15.                                        Optional ByVal Include_Special_Characters As Boolean = False) As String
  16.  
  17.        Static Characters As Char()
  18.        Static Replacements As Char()
  19.  
  20.        If Include_Special_Characters Then
  21.            Characters = "abcdefghijklmnñopqrstuvwxyzABCDEFGHIJKLMNÑOPQRSTUVWXYZ0123456789áéíóúÁÉÍÓÚàèìòùÀÈÌÒÙäëïöüÄËÏÖÜçǺª<>¡!¿?()[]{}/\|·.:;,-+=_~¬^'`´¨*$%&€#@""".ToCharArray
  22.            Replacements = {"h", "ó", "Ó", "3", "Á", "è", "A", "^", "ö", "~", "O", "Í", "€", "q", "ú", "À", "Ç", "È", ",", "ì", "i", "ï", "ò", "c", "0", "ñ", "4", "l", "Ü", "ª", "¬", "S", "&", "?", "<", ":", "T", "*", "e", ".", "R", "É", "D", "7", "9", "Ú", "n", "¿", "L", "m", "¨", "Ë", "]", "Ä", "Q", "w", "V", "'", "G", "K", "é", "v", "ù", "}", "P", "E", "X", "+", "í", "´", "$", "{", "_", "Ñ", "u", "ë", "H", "g", "d", "x", "8", "/", "ä", "#", "|", "-", "1", "M", "Ò", "o", ")", "N", "Y", "á", "Ù", "Ì", "%", "ç", """", "a", "=", "Ï", "z", "Ö", ">", ";", "2", "6", "B", "y", "b", "`", "s", "5", "t", "[", "(", "à", "ü", "!", "¡", "f", "W", "k", "r", "U", "J", "·", "Z", "F", "C", "º", "I", "@", "p", "j"}
  23.        Else
  24.            Characters = _
  25.            "abcdefghijklmnñopqrstuvwxyzABCDEFGHIJKLMNÑOPQRSTUVWXYZ0123456789áéíóúÁÉÍÓÚàèìòùÀÈÌÒÙäëïöüÄËÏÖÜçǺª¡¿·¬`´¨€".ToCharArray
  26.            ' Removed chars for better improvement in code encryptation: = & + - ^ " % ' < > ( ) { } . $ [ ] ; @ ! ? ~ : / \ | * # , _
  27.  
  28.            Replacements = _
  29.            {"u", "Ñ", "T", "m", "`", "P", "Ç", "Z", "h", "x", "á", "3", "¬", "R", "ª", "6", "ò", "N", "ë", "Ì", "g", "ö", "I", "L", "a", "À", "·", "V", "5", "Ë", "Ù", "´", "Ö", "J", "à", "¡", "n", "4", "È", "j", "ç", "b", "c", "y", "E", "ù", "Ó", "f", "º", "Q", "q", "G", "e", "B", "0", "€", "9", "o", "ì", "O", "8", "¿", "r", "v", "ó", "2", "Ï", "1", "¨", "i", "Á", "D", "t", "Í", "k", "Ú", "C", "ñ", "Ä", "S", "A", "é", "7", "Ü", "K", "z", "í", "è", "Y", "ü", "F", "s", "p", "X", "U", "Ò", "l", "É", "ú", "d", "ï", "M", "W", "H", "ä", "w"}
  30.            '  a,   b,   c,   d,   e,   f,   g,   h,   i,   j,   k,   l,   m,   n,   ñ,   o,   p,   q,   r,   s,   t,   u,   v,   w,   x,   y,   z,   A,   B,   C,   D,   E,   F,   G,   H,   I,   J,   K,   L,   M,   N,   Ñ,   O,   P,   Q,   R,   S,   T,   U,   V,   W,   X,   Y,   Z,   0,   1,   2,   3,   4,   5,   6,   7,   8,   9,   á,   é,   í,   ó,   ú,   Á,   É,   Í,   Ó,   Ú,   à,   è,   ì,   ò,   ù,   À,   È,   Ì,   Ò,   Ù,   ä,   ë,   ï,   ö,   ü,   Ä,   Ë,   Ï,   Ö,   Ü,   ç,   Ç,   º,   ª,   ¡,   ¿,   ·,   ¬,   `,   ´,   ¨,   €
  31.        End If
  32.  
  33.  
  34.        Dim Temp_String As String = String.Empty
  35.        Dim Replacement_Found As Boolean = False
  36.  
  37.        For Each character As Char In str
  38.  
  39.            For x As Int32 = 0 To Characters.Length - 1
  40.  
  41.                If character = Characters(x) Then
  42.                    Replacement_Found = True
  43.                    Temp_String &= Replacements(x)
  44.                    Exit For
  45.                End If
  46.  
  47.            Next
  48.  
  49.            If Not Replacement_Found Then Temp_String &= character Else Replacement_Found = False
  50.            Application.DoEvents()
  51.  
  52.        Next
  53.  
  54.        Return Temp_String
  55.  
  56.    End Function
  57.  
  58.    Public Shared Function Decrypt_Text(ByVal str As String, _
  59.                                        Optional ByVal Include_Special_Characters As Boolean = False) As String
  60.  
  61.        Static Characters As Char()
  62.        Static Replacements As Char()
  63.  
  64.        If Include_Special_Characters Then
  65.            Characters = {"h", "ó", "Ó", "3", "Á", "è", "A", "^", "ö", "~", "O", "Í", "€", "q", "ú", "À", "Ç", "È", ",", "ì", "i", "ï", "ò", "c", "0", "ñ", "4", "l", "Ü", "ª", "¬", "S", "&", "?", "<", ":", "T", "*", "e", ".", "R", "É", "D", "7", "9", "Ú", "n", "¿", "L", "m", "¨", "Ë", "]", "Ä", "Q", "w", "V", "'", "G", "K", "é", "v", "ù", "}", "P", "E", "X", "+", "í", "´", "$", "{", "_", "Ñ", "u", "ë", "H", "g", "d", "x", "8", "/", "ä", "#", "|", "-", "1", "M", "Ò", "o", ")", "N", "Y", "á", "Ù", "Ì", "%", "ç", """", "a", "=", "Ï", "z", "Ö", ">", ";", "2", "6", "B", "y", "b", "`", "s", "5", "t", "[", "(", "à", "ü", "!", "¡", "f", "W", "k", "r", "U", "J", "·", "Z", "F", "C", "º", "I", "@", "p", "j"}
  66.            Replacements = "abcdefghijklmnñopqrstuvwxyzABCDEFGHIJKLMNÑOPQRSTUVWXYZ0123456789áéíóúÁÉÍÓÚàèìòùÀÈÌÒÙäëïöüÄËÏÖÜçǺª<>¡!¿?()[]{}/\|·.:;,-+=_~¬^'`´¨*$%&€#@""".ToCharArray
  67.        Else
  68.            Characters = _
  69.            {"u", "Ñ", "T", "m", "`", "P", "Ç", "Z", "h", "x", "á", "3", "¬", "R", "ª", "6", "ò", "N", "ë", "Ì", "g", "ö", "I", "L", "a", "À", "·", "V", "5", "Ë", "Ù", "´", "Ö", "J", "à", "¡", "n", "4", "È", "j", "ç", "b", "c", "y", "E", "ù", "Ó", "f", "º", "Q", "q", "G", "e", "B", "0", "€", "9", "o", "ì", "O", "8", "¿", "r", "v", "ó", "2", "Ï", "1", "¨", "i", "Á", "D", "t", "Í", "k", "Ú", "C", "ñ", "Ä", "S", "A", "é", "7", "Ü", "K", "z", "í", "è", "Y", "ü", "F", "s", "p", "X", "U", "Ò", "l", "É", "ú", "d", "ï", "M", "W", "H", "ä", "w"}
  70.            '  a,   b,   c,   d,   e,   f,   g,   h,   i,   j,   k,   l,   m,   n,   ñ,   o,   p,   q,   r,   s,   t,   u,   v,   w,   x,   y,   z,   A,   B,   C,   D,   E,   F,   G,   H,   I,   J,   K,   L,   M,   N,   Ñ,   O,   P,   Q,   R,   S,   T,   U,   V,   W,   X,   Y,   Z,   0,   1,   2,   3,   4,   5,   6,   7,   8,   9,   á,   é,   í,   ó,   ú,   Á,   É,   Í,   Ó,   Ú,   à,   è,   ì,   ò,   ù,   À,   È,   Ì,   Ò,   Ù,   ä,   ë,   ï,   ö,   ü,   Ä,   Ë,   Ï,   Ö,   Ü,   ç,   Ç,   º,   ª,   ¡,   ¿,   ·,   ¬,   `,   ´,   ¨,   €
  71.  
  72.            Replacements = _
  73.             "abcdefghijklmnñopqrstuvwxyzABCDEFGHIJKLMNÑOPQRSTUVWXYZ0123456789áéíóúÁÉÍÓÚàèìòùÀÈÌÒÙäëïöüÄËÏÖÜçǺª¡¿·¬`´¨€".ToCharArray
  74.            ' Removed chars for better improvement in code encryptation: = & + - ^ " % ' < > ( ) { } . $ [ ] ; @ ! ? ~ : / \ | * # , _
  75.        End If
  76.  
  77.  
  78.        Dim Temp_String As String = String.Empty
  79.        Dim Replacement_Found As Boolean = False
  80.  
  81.        For Each character As Char In str
  82.  
  83.            For x As Int32 = 0 To Characters.Length - 1
  84.  
  85.                If character = Characters(x) Then
  86.                    Replacement_Found = True
  87.                    Temp_String &= Replacements(x)
  88.                    Exit For
  89.                End If
  90.  
  91.            Next
  92.  
  93.            If Not Replacement_Found Then Temp_String &= character Else Replacement_Found = False
  94.            Application.DoEvents()
  95.  
  96.        Next
  97.  
  98.        Return Temp_String
  99.  
  100.    End Function
  101.  
  102. #End Region

Solo entiendo la parte en la que dice lo siguiente;

Código
  1.   Else
  2.           Characters = _
  3.           {"u", "Ñ", "T", "m", "`", "P", "Ç", "Z", "h", "x", "á", "3", "¬", "R", "ª", "6", "ò", "N", "ë", "Ì", "g", "ö", "I", "L", "a", "À", "·", "V", "5", "Ë", "Ù", "´", "Ö", "J", "à", "¡", "n", "4", "È", "j", "ç", "b", "c", "y", "E", "ù", "Ó", "f", "º", "Q", "q", "G", "e", "B", "0", "€", "9", "o", "ì", "O", "8", "¿", "r", "v", "ó", "2", "Ï", "1", "¨", "i", "Á", "D", "t", "Í", "k", "Ú", "C", "ñ", "Ä", "S", "A", "é", "7", "Ü", "K", "z", "í", "è", "Y", "ü", "F", "s", "p", "X", "U", "Ò", "l", "É", "ú", "d", "ï", "M", "W", "H", "ä", "w"}
  4.           '  a,   b,   c,   d,   e,   f,   g,   h,   i,   j,   k,   l,   m,   n,   ñ,   o,   p,   q,   r,   s,   t,   u,   v,   w,   x,   y,   z,   A,   B,   C,   D,   E,   F,   G,   H,   I,   J,   K,   L,   M,   N,   Ñ,   O,   P,   Q,   R,   S,   T,   U,   V,   W,   X,   Y,   Z,   0,   1,   2,   3,   4,   5,   6,   7,   8,   9,   á,   é,   í,   ó,   ú,   Á,   É,   Í,   Ó,   Ú,   à,   è,   ì,   ò,   ù,   À,   È,   Ì,   Ò,   Ù,   ä,   ë,   ï,   ö,   ü,   Ä,   Ë,   Ï,   Ö,   Ü,   ç,   Ç,   º,   ª,   ¡,   ¿,   ·,   ¬,   `,   ´,   ¨,   €
  5.  

Puedo comprender que el comentario que hay debajo indica la letra por la que se remplazará, dónde u = à , l = 3, y obviamente si seguimos el comentario con el ejemplo que pusiste arriba de Hello World, y remplazamos, evidentemente sale lo cifrado.

Ahora bien, lo que no entiendo es dónde se está remplazando. en esta parte del código;

Código
  1.        If Include_Special_Characters Then
  2.            Characters = {"h", "ó", "Ó", "3", "Á", "è", "A", "^", "ö", "~", "O", "Í", "€", "q", "ú", "À", "Ç", "È", ",", "ì", "i", "ï", "ò", "c", "0", "ñ", "4", "l", "Ü", "ª", "¬", "S", "&", "?", "<", ":", "T", "*", "e", ".", "R", "É", "D", "7", "9", "Ú", "n", "¿", "L", "m", "¨", "Ë", "]", "Ä", "Q", "w", "V", "'", "G", "K", "é", "v", "ù", "}", "P", "E", "X", "+", "í", "´", "$", "{", "_", "Ñ", "u", "ë", "H", "g", "d", "x", "8", "/", "ä", "#", "|", "-", "1", "M", "Ò", "o", ")", "N", "Y", "á", "Ù", "Ì", "%", "ç", """", "a", "=", "Ï", "z", "Ö", ">", ";", "2", "6", "B", "y", "b", "`", "s", "5", "t", "[", "(", "à", "ü", "!", "¡", "f", "W", "k", "r", "U", "J", "·", "Z", "F", "C", "º", "I", "@", "p", "j"}
  3.            Replacements = "abcdefghijklmnñopqrstuvwxyzABCDEFGHIJKLMNÑOPQRSTUVWXYZ0123456789áéíóúÁÉÍÓÚàèìòùÀÈÌÒÙäëïöüÄËÏÖÜçǺª<>¡!¿?()[]{}/\|·.:;,-+=_~¬^'`´¨*$%&€#@""".ToCharArray
  4.        Else
  5.  

Lo que yo estoy entendiendo es que la "h", se remplazará por la "a" de abajo, y eso no es verdad, entonces es ahí dónde no entiendo nada... ¿En que parte del código está diciendo al programa que la "u" se transforme en "a"?

Siento molestar tanto, de verdad... Gracias por responder.
En línea

Eleкtro
Ex-Staff
*
Desconectado Desconectado

Mensajes: 9.822



Ver Perfil
Re: Problema en Visual Basic -Net (Al remplazar una palabra)
« Respuesta #16 en: 9 Junio 2013, 20:35 pm »

Lo que yo estoy entendiendo es que la "h", se remplazará por la "a" de abajo, y eso no es verdad,

Si, si que es así, si que es "verdad".

A ver, la función se puede usar de dos maneras, se puede usar para codificar de forma "normal" (la parte que ves comentada con cada caracter), o se puede usar de una manera alternativa en la que se codifican incluso los caracteres especiales.

...Como te dije, los caracteres los puse aleatoriamente, así que la única diferencia es que de la primera manera los caracteres de la variable "Replacements" están escritos en un orden, y de la otra manera pues ...están escritos en otro orden aleatorio, aparte, como a mi no me interesa nada codificar los caracteres especiales pues no me molesté en comentar los caracteres, pero vas bien encaminado y ya sabes el orden que tiene la cosa.

Un saludo!
En línea

Páginas: 1 [2] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
remplazar una sola palabra de un texto o archivo
Programación Visual Basic
ELGRANSOLRAC 4 1,978 Último mensaje 13 Agosto 2007, 23:04 pm
por ELGRANSOLRAC
Cual se utiliza mas actualmente Visual Basic o Visual basic.net?
Programación Visual Basic
Axus 9 12,771 Último mensaje 4 Julio 2009, 07:00 am
por el_c0c0
[Ayuda] Sniffer en visual basic, para visual basic
Programación Visual Basic
The_Shakah 8 10,107 Último mensaje 18 Agosto 2010, 19:35 pm
por _katze_
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines