Detectar si se repite una combinacion....

Iniciado por hepy_92, 20 Junio 2007, 00:47 AM

0 Miembros y 2 Visitantes están viendo este tema.

hepy_92

Primero que nada este code no es para mi... me lo pidio un amigo que en realidad no entiendo mucho lo que quiere hacer... al parecer es para descifrar un codigo del zodiaco.. algo así entendi.. pero bueno aca va la pregunta

lo que quiero hacer es por ejemplo tener un textbox, y en ese textbox se escribiria un textto como este con varios signos
1asd^ç*da!7//asd?^ç*??213¡¡¡
la idea es que al apretar un command button el textbox marque todas las combinaciones repeitdas de 3 caracteres, por ejemplo aca se repite la combinacion de 3 caracteres ^ç* entonces el textbox deberia marcar con otro color el ^ç*
me expplique bien???
es posible hacer esto con vb6???
Gracias de antemano!!!! :D

CeLaYa

#1
si, si se puede


Private Sub Command1_Click()
    Dim i As Integer
    Dim j As Integer
   
   
    For i = 1 To Len(text1.Text) 'Recorres el text
        For j = i + 2 To Len(text1.Text)
            'Buscas si hay cadenas de 3 que sean iguales
            If Mid(text1.Text, i, 3) = Mid(text1.Text, j, 3) Then
                'aqui marcas el color
                text1.SelStart = j - 1
                text1.SelLength = 3
                text1.SelColor = vbRed
                text1.SelBold = True
               
                text1.SelStart = i - 1
                text1.SelLength = 3
                text1.SelColor = vbRed
                text1.SelBold = True
             End If
        Next j
    Next i
End Sub




no he probado el código pero creo que si funciona, ha por cierto tendrías que usar un RichtTextBox para que te deje colorear el texto
"La soledad es el elemento de los grandes talentos".
Cristina de Suecia (1626-1689) Reina de Suecia.

hepy_92

me da error al poner el componente del richtextbox...=S no lo habia usado nunca antes
me tira el siguiente error
No se encontro la informacion de licencia para este componente. No tiene una licencia apropiada para usar esta funcionalidad en el entorno de diseño.

Sancho.Mazorka

#3
Gracias al codigo de Celaya se puede hacer un buen compresor  ::)  Voy a probar hacer algo, si logro hacer algo les comento :D

EDIT: Entiendo su funcionalidad, pero...  :-[ alguien me explica como funciona realmente ? Gracias

EDIT2: Listo, lo entedi y paso a explicarlos para quien no lo entendio:

Costa de 2 bucles:
1_  1 a el maximo de caracteres en Text1
2_  desde donde este el bucle 1, hasta el final.

El primer bucle se encarga de repetirse una cantidad de veces, dependiendo de la cantidad de caracteres que haya en Text1, el segundo bucle se encarga de verificar los 3 siguientes caracteres empezando del valor del bucle 1, y si va encontrando   va marcando con color.

Suponganse que tenemos 9 caracteres, haria esto:
Bucle 1 variable I: 1    Bucle 2 variable J: 1-3; 4-6; 7-9
Bucle 1 variable I: 2    Bucle 2 variable J: 1-3; 4-6; 7-9
Bucle 1 variable I: 3    Bucle 2 variable J: 1-3; 4-6; 7-9
Bucle 1 variable I: 4    Bucle 2 variable J: 1-3; 4-6; 7-9
Bucle 1 variable I: 5    Bucle 2 variable J: 1-3; 4-6; 7-9
Bucle 1 variable I: 6    Bucle 2 variable J: 1-3; 4-6; 7-9
Bucle 1 variable I: 7    Bucle 2 variable J: 1-3; 4-6; 7-9
Bucle 1 variable I: 8    Bucle 2 variable J: 1-3; 4-6; 7-9
Bucle 1 variable I: 9    Bucle 2 variable J: 1-3; 4-6; 7-9

Espero que se haya entendido!  ;D


Sancho.Mazorka    :¬¬
Ganador Xeon Web Server ! ! !    Sancho.Mazorka :D
http://foro.elhacker.net/index.php/topic,171903.75.html



CeLaYa

Cita de: hepy_92 en 22 Junio 2007, 22:11 PM
me da error al poner el componente del richtextbox...=S no lo habia usado nunca antes
me tira el siguiente error
No se encontro la informacion de licencia para este componente. No tiene una licencia apropiada para usar esta funcionalidad en el entorno de diseño.


Reinstala el VB, con eso se debe corregir
"La soledad es el elemento de los grandes talentos".
Cristina de Suecia (1626-1689) Reina de Suecia.