ayuda con string

bera
24 de Marzo del 2003
cuando estoy escribiendo en un textbox necesito saber en que posicion me encuentro de la cadena que estoy escribiendo. por ejemplo:

tengo en el textbox la cadena 12345 y borro el 2. pues necesito saber que he borrado el segundo caracter de la cadena o si inserto un caracter por ejemplo 120345 necesito saber que he insertado en la tercera posicion de la cadena.

muchas gracias

yo_mismo
24 de Marzo del 2003
Hola tengo una pequeña solucion para tu problema.
Lo que podrias hacer es guardar en una variable el valor del textbox, al presionar una tecla en el textbox que guarde en otra variable el nuevo valor. Despues solo tienes que recorrer cada string caracter por caracter hasta que encuentres algun cambio. Si lo hay sabras la posicion y el valor cambiado.
PD: Si las dos strings tienen el mismo numero de caracteres no ha habia ningun cambio, si hay uno mas has añadido y si hay uno menos has borrado uno.

Espero que te sirva este planteamiento.

yo_mismo
24 de Marzo del 2003
Hola tengo una pequeña solucion para tu problema.
Lo que podrias hacer es guardar en una variable el valor del textbox, al presionar una tecla en el textbox que guarde en otra variable el nuevo valor. Despues solo tienes que recorrer cada string caracter por caracter hasta que encuentres algun cambio. Si lo hay sabras la posicion y el valor cambiado.
PD: Si las dos strings tienen el mismo numero de caracteres no ha habia ningun cambio, si hay uno mas has añadido y si hay uno menos has borrado uno.

Espero que te sirva este planteamiento.

Eduardo
24 de Marzo del 2003
Creo que deberías usar el procedimiento:
Private Text1_Change()

Este se activa cada vez que se hace un cambio en el contenido del textbox, y para saber que cambio usas una variable de la siguiente forma:
- La declaras al principio del Codigo,
Dim ValorAnterior as string
Private Text1_Change()
if ValorAnterior <> Text1.Texto Then
...
'Tu código aqui!
...
ValorAnterior=Text1.Texto
End If
End Sub

La propiedad: Text1.SelStart talvez te sirva... :)

Eduardo
24 de Marzo del 2003
Creo que deberías usar el procedimiento:
Private Text1_Change()

Este se activa cada vez que se hace un cambio en el contenido del textbox, y para saber que cambio usas una variable de la siguiente forma:
- La declaras al principio del Codigo,
Dim ValorAnterior as string
Private Text1_Change()
if ValorAnterior <> Text1.Texto Then
...
'Tu código aqui!
...
ValorAnterior=Text1.Texto
End If
End Sub

La propiedad: Text1.SelStart talvez te sirva... :)