Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Varios (https://www.clubdelphi.com/foros/forumdisplay.php?f=11)
-   -   Busqueda y selección en un Memo (https://www.clubdelphi.com/foros/showthread.php?t=57724)

Cecilio 25-06-2008 22:39:41

Busqueda y selección en un Memo
 
Hola de nuevo.

Tenemos un memo con text, direcciónes, etc.
Me gustaría hacer que se pueda buscar una palabra y si existe una o más veces, que se marque como selección por ejemplo.

Si esto es muy complicado, hacer que se marque la linea, con esto ya valdría.

He intentado: Memo1.Lines.IndexOf(s) pero s tiene que ser igual a toda la linea. :-(

Una opción sería buscar con pos en todas las lineas una por una, y marcar aquellas que dé positivo. Pero ¿ hay una forma mejor ?

saludos.

coso 25-06-2008 23:04:11

Hola, creo q te iria mejor un TRichEdit, con su metodo findtext. Luego puedes cambiar su fuente con SelAttributes.

Neftali [Germán.Estévez] 26-06-2008 09:33:23

Cita:

Empezado por Cecilio (Mensaje 296233)
He intentado: Memo1.Lines.IndexOf(s) pero s tiene que ser igual a toda la linea. :-(
Una opción sería buscar con pos en todas las lineas una por una, y marcar aquellas que dé positivo. Pero ¿ hay una forma mejor ?

Creo que la opción de buscar línea a línea es la mejor.
Podrías probar a buscar la cadena en Memo.Lines.Text, pero no tengo claro que consiguieras acertar luego con la línea (tal vez con los caracteres #13#10); De todas formas esto me parece un poco rebuscado.
La forma de buscar línea a línea como te he dicho me parece la más lógica.

Cecilio 26-06-2008 11:49:59

Netfali yo tambien creo que es la mejor. Lo malo es que no veo como seleccionar la/s lineas, al contrario que los listbox, los mimos con sus lines no veo que puedan seleccionarse.

Creo que puede seleeccioarse texto. (que tampoco he visto como se hace, pero es cuestión de investigar).

Saludos.

Neftali [Germán.Estévez] 26-06-2008 13:00:40

Puedes seleccionar una porción de texto (pero sólo una) utilizando SelStart/SelLength igual queenlos Edits, aunque creo que no es lo que necesitas.
Si no quieres liarte, tal vez lo mejor es lo que ha comentado alguien; Pasar el Memo a un RichEdit. Si lo usas con PlainText casi no hay diferencia entre ambos y si necesitas resaltar partes del texto puedes utilizar Formatos, Colores,...


La franja horaria es GMT +2. Ahora son las 14:24:18.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi