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...
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
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
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 :)
(http://img560.imageshack.us/img560/9793/combinar.jpg)
Es muy simple pero me intriga como mejorar su funcionalidad :)
.
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!¡.