Ver Mensaje Individual
  #5  
Antiguo 22-04-2014
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: dic 2005
Ubicación: Tres Arroyos, Argentina
Posts: 10.508
Reputación: 36
ecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to behold
Cita:
Empezado por ZaneMS Ver Mensaje
Hola, necesito que un timmer lea todas las líneas (código ya lo tengo) de un TRichBox (o como se llame, no tengo el delphi delante) y mire si empieza cada por ejemplo por "Hola" y entonces ponga esa palabra en azul y el resto de la línea normal por ejemplo:
Hola ZaneMS.

No entiendo como juega el timer en todo esto, pero para cambiar el color y estilo a la primera palabra de cada línea que coincida con buscada, podes hacer:
Código Delphi [-]
procedure PaintFirstWord(RichEdit: TRichEdit; const aWord:string;
  const aColor: TColor; const aStyle: TFontStyles);
var
  Found,l: Integer;
begin
  with RichEdit do
  begin
    Found:= FindText(aWord, 0, Length(Text),[]);
    while Found <> -1 do
    begin
      SelStart:= Found;
      SelLength:= Length(aWord);
      l:= Perform(EM_LINEFROMCHAR, SelStart, 0);
      if AnsiPos(aWord, Lines[l]) = 1 then
      begin
        SelAttributes.Color:= aColor;
        SelAttributes.Style:= aStyle;
        Inc(Found, Length(Lines[l])-length(aWord));
      end;
      Found:= FindText(aWord, Found+Length(aWord), Length(Text),[])
    end;
  end;
end;

Llamada:
Código Delphi [-]
  PaintFirstWord(RichEdit1, Edit1.Text, clBlue, [fsBold]);
Saludos
__________________
Daniel Didriksen

Guía de estilo - Uso de las etiquetas - La otra guía de estilo ....

Última edición por ecfisa fecha: 22-04-2014 a las 18:14:54.
Responder Con Cita