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

 

 


Tema destacado: Guía actualizada para evitar que un ransomware ataque tu empresa


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General
| | |-+  .NET (C#, VB.NET, ASP)
| | | |-+  Programación Visual Basic (Moderadores: LeandroA, seba123neo)
| | | | |-+  Combinador de palabras
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Combinador de palabras  (Leído 7,586 veces)
SebaSs

Desconectado Desconectado

Mensajes: 3


Ver Perfil
Combinador de palabras
« en: 17 Enero 2011, 05:29 am »

Bueno hice un programa muy simple que combina los caracteres o palabras del TextBox1 hacia una Listbox al hacer click en el boton 1 y haci me aparecen todas las combinaciones posibles esten en el diccionario o no...

Código:
Dim i, j, k, l, x As Integer

        Dim Combinacion As String

        Dim Existe As Boolean

        Dim Caracteres(1000) As String

        ListBox1.Items.Add(TextBox1.Text)

        Do

            x = ListBox1.Items.Count

            For l = 0 To ListBox1.Items.Count - 1

                For i = 0 To TextBox1.Text.Length - 1

                    Caracteres(i) = ListBox1.Items(l).ToString.Substring(i, 1)

                Next

                For i = 0 To TextBox1.Text.Length - 1

                    For j = 0 To TextBox1.Text.Length - 1

                        Existe = False

                        Combinacion = ListBox1.Items(l).ToString

                        Combinacion = Combinacion.Remove(i, 1)

                        Combinacion = Combinacion.Insert(i, Caracteres(j))

                        Combinacion = Combinacion.Remove(j, 1)

                        Combinacion = Combinacion.Insert(j, Caracteres(i))

                        For k = 0 To ListBox1.Items.Count - 1

                            If Combinacion = ListBox1.Items(k) Then Existe = True

                        Next

                        If Existe = False Then ListBox1.Items.Add(Combinacion)

                    Next

                Next

            Next

        Loop Until x = ListBox1.Items.Count
       
    End Sub

Mi pregunta es, como podria hacer menor carga al programa ya que al poner mas de 7 caracteres se finaliza porque se ve que encuentra muchas posibilidades...

Se me ocurrio que se podria reducir el codigo para que trabaje menos pero no se de que manera reducirlo mas :S

Ya saque las repeticiones de posibilidades para que aparescan 1 ves nada mas y no se me ocurre nada mas xD

Me podrian ayudar :)?

Gracias de antemano


En línea

abdiel2475

Desconectado Desconectado

Mensajes: 32


Ver Perfil
Re: Combinador de palabras
« Respuesta #1 en: 17 Enero 2011, 08:13 am »

No entendi mucho para que sirve tu codigo
pero si no es nesesario poner mas de 7 caracteres
por que no pones un numero maximo de letras que le quepan al texbox?
asi como que el maximo de caracteres sean 6
o amm afuersas tienen qe ser mas de 7? :s
esqe no se me ocurre otra y pss me gustaria ayudarte


En línea

SebaSs

Desconectado Desconectado

Mensajes: 3


Ver Perfil
Re: Combinador de palabras
« Respuesta #2 en: 17 Enero 2011, 09:12 am »

El programa surgio por mera curiosidad, iva hacia otro punto con esto pero se me termino ocurriendo hacer este codigo y, en fin salio el programa....

Mira el programa funciona perfecto, forma todas las combinaciones de letras posibles pero cuando se pasan los 7 caracteres se tilda me gustaria saber alguna forma para optimizar el programa, que procese mas rapido las letras si es posible

Te dejo una captura por si no entedes bien el programa :)



Es muy simple pero me intriga como mejorar su funcionalidad :)
« Última modificación: 17 Enero 2011, 09:41 am por SebaSs » En línea

BlackZeroX
Wiki

Desconectado Desconectado

Mensajes: 3.158


I'Love...!¡.


Ver Perfil WWW
Re: Combinador de palabras
« Respuesta #3 en: 17 Enero 2011, 09:52 am »

.
ACABO de ver tU CODIGO y solo dire esto ESTO ES VB6 o inferior .NET es en programacion General ojo con eso...

Usa el buscador hay un proceso de 3 o 4 lineas de codigo SIMPLE y de forma recursiva que hace esactamente lo que tu haces pero mas Optimo. yo lo adapte a un modulo de Clase o puedes revisar tambien las Publicaciones del Moderador de este foro q es esactamente el mismo codigo solo que solo es la funcion.

P.D.: si no lo encuentras te toca buscar manualmente.

Dulces Lunas!¡.
« Última modificación: 17 Enero 2011, 09:57 am por BlackZeroX▓▓▒▒░░ » En línea

The Dark Shadow is my passion.
Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
palabras
Java
andaluz 7 5,040 Último mensaje 14 Abril 2010, 11:21 am
por Leyer
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines