selecionar en un textbox

discover
01 de Diciembre del 2003
pues eso , necesito seleccionar una parte de texto de un text box multiline ( ejemplo :)

aaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaa X 5555555 565
aaaaaaaaaaaaaaaaaaa
aaaaaaaaaaaaaaaaaaa
yo se llegar hasta la X pero para que me seleccione lo demas como lo hago, teniendo en cuenta que la longitud de la cadena que debo seleccionar no la se en ningun momento pueden ser de uno a 40 caracteres y no quiero que me seleccione nada de la siguiente linea.

Baltasar
01 de Diciembre del 2003
Supongamos que tienes la posición de la X y es POS_INICIO, yo ahora haría una búsqueda del carácter 13 o de un carácter que te indique que ha acabado lo que buscas. Una vez localizada esta posición POS_FIN hacer text1.selstart=pos_inicio y text1.sellength=pos_fin-pos_inicio.

Saludos

discover
01 de Diciembre del 2003
Baltasar eres un rayo.

La posicion fin seria un salto de linea ( si pudieses escribir el codigo) no me termino de aclarar.

discover
01 de Diciembre del 2003
perdon por la ignorancia , pero que es lo que debo hacer con el pos_inicio y pos_final, no me aclaro.
yo tengo un boton en el cual ya llego a la X
y tengo text1.seltext ( que es la posicion de la x selecionada ) pero ahora con lo que me habeis explicado me he perdido un poco

Baltasar
01 de Diciembre del 2003
Algo que nos ayudaría mucho es que pongas lo que hasta el momento tienes hecho, de esa manera podríamos saber qué cosas saber hacer y qué cosas no, incluso si estás haciendo algo mal (que no es el caso) o si es aconsejable hacerlo de otra manera.
Lo que te falta es ir mirando cada caracter a partir de la X hasta encontrar ese retorno de carro, y ese sería pos_final.

discover
01 de Diciembre del 2003
ya esta solucionado, al principio me quede bloqueado, pero despues mas despacio me di cuenta de vuestra explicacion, y funciona muy pero que muy bien, muchas gracias

Baltasar
01 de Diciembre del 2003
Y porqué ahora que funciona no cojes y pones el código que tienes en el foro? así muchos podrán saber la solución obtenida, y así resolverás la duda a muchos que aún no saben hacerlo.

Juan
01 de Diciembre del 2003
Eso mismo, un ejemplo:

Private Sub selecciona(ByVal posInicio As Long)
Dim finLinea As Long
Text1.SetFocus
Text1.SelStart = posInicio
finLinea = InStr(posInicio, Text1.Text, vbCrLf)
If finLinea = 0 Then
finLinea = Len(Text1.Text)
End If
Text1.SelLength = finLinea - posInicio
End Sub

Llama a esta función pasandole la posición inicial de
la selección.