¿Cómo resaltar en un memo una palabra,asignarle un color determinado?
#1
Escrito 05 febrero 2011 - 06:41
Hola personaje, espero que la salud de tu padre mejore pronto, gracias su salud creo que está mejor etc.
que me haga lo siguiente en el memo al resaltar.
Hola personaje, espero que la salud de tu padre mejore pronto, gracias su salud creo que está mejor etc. gracias de antemano, espero que me puedan ayudar.
#2
Escrito 05 febrero 2011 - 09:58
Para ello está el componente TRichEdit, que está diseñado para texto con formato.
Debo confesar que no lo he utilizado por lo que no te sabría guiar demasiado, espero que alguien más te sepa orientar... si puedo darme tiempo en algún momento para estudiarlo y hacer unas pruebas quizá pueda darte una mano.
Saludos,
#3
Escrito 06 febrero 2011 - 03:19
procedure TForm1.Button2Click(Sender: TObject); var Posicion:longint; Cadena:string; begin Cadena:='begin'; {Saber la posición de una cadena en un TMemo} {Know the position of the string in the TMemo} Posicion:=Pos(Cadena,Memo1.Text)-1; {Mover el Cursor (caret) hasta allí} {Move the caret} { with Memo1. do begin SelStart:=Posicion; SelLength:=0; SetFocus; end; } {Resaltar la cadena en el TMemo:} {HighLight the string searched} with Memo1 do begin SelStart:=Posicion; SelLength:=Length(Cadena); SetFocus; end; end;
#4
Escrito 06 febrero 2011 - 07:21
Pero lo que hace ese código es seleccionar la palabra encontrada en el memo. Pareciera "resaltarse" debido a que cuando uno selecciona la palabra, el texto adquiere otro color a fin de distinguirse del seleccionado.
La idea de Master23 es de darle color, es decir darle dicho formato al texto. Y eso únicamente se puede hacer con el TRichEdit, y seguramente el código no debe variar demasiado del que expones ...
Posic := Pos('cadena',ret1.Lines[0]) - 2; ret1.SelStart := Posic; ret1.SelLength := Length('cadena') + 1; ret1.SelAttributes.Color := clRed;
Ret1 es un TRichEdit.
Creo que con esto te puedes dar una idea de como seguir.
Saludos,
#5
Escrito 06 febrero 2011 - 09:16
#6
Escrito 06 febrero 2011 - 12:28
Este ejemplo (de novato) es en base a los codigos de BrunoB (CD, que me encontre por ahi) yDelphius.
Como funciona:
Se coloca en el edit la palabra a buscar.
Se presiona el boton (Buscar).
Y se presentan en el richEdit las palabras que estan en el memo.
Saludos
Archivos adjuntos
#7
Escrito 06 febrero 2011 - 10:13
Si lo se, es que consideré mejor apuntarle directamente por el lado del TRichEdit.pues maestro, la idea era darle algo por donde comenzar. Pero si solo se puede con el richedit, el ya tiene una idea mas clara. Ademas creo que le hace falta un bucle para resaltar todas las palabras que coincidan
En efecto, como indicas hace falta un bucle o ciclo para lograr resaltar todas las coincidencias.
Mi intención era darle el norte, luego dejar en mano de Master23 y en la de cualquier interesado seguir trazando el camino.
No he visto el ejemplo de Caral, pero seguramente si funciona.
Saludos,
#8
Escrito 24 noviembre 2017 - 11:29
Cual es el codigo en vb para resaltar palabras en access en un campo memo?