Seleccionar Texto O Enfocar La Linea De Texto En Un TextEdit


Objetivo: Seleccionar Texto O Enfocar La Linea De Texto En Un TextEdit
Gracias por el consejo jguardon. No se si esto cuenta como post repetido, si es así lo siento; (no sabía si jguardon se refería a que creara otro post ) Bien pues; resulta que quiero que se introduzca un texto en un TextBox, se le de a un Button, y busque el texto del TextBox en un TextEdit; hasta ahí lo se hacer, pero el problema es que quiero que se seleccione el texto del TextEdit que se ha buscado. O mejor tal vez sería que se enfocara la línea del TextEdit donde está la palabra buscada (he visto cosas interesantes como TextEdit.ToPos y TextEdit.ToParagraph, pero no se usarlas bien y tampoco se si sirven para lo que quiero )
He intentado esto:

PUBLIC SUB searchMENU_Click()

DIM selection AS String
IF InStr(TextEdit1.Text, TextBox3.Text) > 0 THEN
TextEdit1.Select(selection)
ENDIF


END


Y esto: (y alguna cosa más)


DIM selection1 AS String
DIM selection2 AS String
DIM selectionA AS String
selection1 = TextBox1.Text
selection2 = TextBox2.Text
selectionA = TextBox1.Text & TextBox2.Text
IF InStr(TextEdit1.Text, selectionA) > 0 THEN
TextEdit1.Select(selection1, selection2)
ENDIF


Pero no funciona. La verdad es que estoy un poco liado.

última edición por kotonfree el Domingo, 10 Abril 2011, 23:06; editado 2 veces
Objetivo: Re: Seleccionar Texto O Enfocar La Linea De Texto En Un TextEdit
Ibas bien
PUBLIC SUB searchMENU_Click()

DIM selection AS String
IF InStr(TextEdit1.Text, TextBox3.Text) > 0 THEN
TextEdit1.Select(selection)
ENDIF


END

Lo que pasa es que usas mal el select.

El método select requiere que le des un valor inicial y en tu caso uno final (si no se da selecciona hasta el final) así que lo que tienes que hacer es encontrar la posición inicial y final.

La posición inicial la buscaste bien
Dim PosIni as integer, PosFin as integer
PosIni=instr(textedit1.text,textbox3.tect)
La posición final será la posición inicial mas la longitud de textbox3.text
PosFin=PosIni+len(textbox3.text)

Y el select te queda
textedit1.select(PosIni,PosFin)

Deberías controlar que PosIni no sea cero porque entonces no se encuentra. Si es distinto de cero entonces haces el select.

Un saludo

Perfil MP  
Objetivo: Re: Seleccionar Texto O Enfocar La Linea De Texto En Un TextEdit
Muchisimas gracias soplo, te lo agradezco mucho; ahora en seguida lo pruebo.

Objetivo: Re: Seleccionar Texto O Enfocar La Linea De Texto En Un TextEdit
No me funciona, no da ningún error, simplemente no selecciona nada:
DIM posInicial AS Integer
DIM posFinal AS Integer
posInicial = InStr(TextEdit1.Text, TextBox1.Text)
posFinal = posInicial + Len(TextBox1.Text)
IF InStr(TextEdit1.Text, TextBox1.Text) <> 0 THEN
TextEdit1.Select(posInicial, posFinal)
ENDIF

Y otra cosa, ¿como puedo enfocar la línea donde está el texto buscado? o si no se puede, al menos decir en que línea está.

última edición por kotonfree el Lunes, 11 Abril 2011, 13:43; editado 2 veces
Objetivo: Re: Seleccionar Texto O Enfocar La Linea De Texto En Un TextEdit
El enfoque se hace con el método setfocus y no veo porque eso no funciona. Solo que en el if parece mas razonable preguntar por posini que por el instr (ganas de gastar ciclos repitiendo operación) pero en principio lo veo bien. No sé porque no te funciona.

Tendré que probarlo.

Perfil MP  
Objetivo: Re: Seleccionar Texto O Enfocar La Linea De Texto En Un TextEdit
Ok; y como se usa el SetFocus?

Objetivo: Re: Seleccionar Texto O Enfocar La Linea De Texto En Un TextEdit
todos los controles tienen el método setfocus. Si es un control único textbox.setfocus y si es un elemento de un grupo last.setfocus

Perfil MP  

Página 1 de 1


  
No puede crear mensajes
No puede responder temas
No puede editar sus mensajes
No puede borrar sus mensajes
No puede votar en encuestas
No puede adjuntar archivos
Puede descargar archivos
No puede publicar eventos en el calendario

   

Está utilizando la versión (Lo-Fi). Para ver la versión completa del foro, haga clic aquí.

Powered by Icy Phoenix based on phpBB
Design by DiDiDaDo

Página generada en:: 0.4815s (PHP: -83% SQL: 183%)
Consultas SQL: 46 - Debug off - GZIP Activado