Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   OOP (https://www.clubdelphi.com/foros/forumdisplay.php?f=5)
-   -   colocar en color la validacion de formula en componente memo (https://www.clubdelphi.com/foros/showthread.php?t=77137)

morfeo21 26-12-2011 18:43:38

colocar en color la validacion de formula en componente memo
 
Tengo una inquietud con respecto a si se puede o no hacer la validación de formulas matematicas dentro de un componente memo,
en la cual al igual que en excel cuando abro o cierro los parentesis de una funcion se pone de colores los parectesis involucrados en la formula.
Quisiera saber si se puede lograr esto ya sea en algún componente de delphi . Gracias de antemano por su ayuda.:rolleyes:

ecfisa 26-12-2011 19:13:13

Cita:

al igual que en excel cuando abro o cierro los parentesis de una funcion se pone de colores los parectesis involucrados en la formula
Hola morfeo21.

El componente TMemo no soporta las características de texto enriquecido por lo que no vas a poder lograr ese efecto con él. En lugar de un TMemo deberías usar un TRichEdit.

Un saludo.

morfeo21 26-12-2011 19:18:42

Gracias por su pronta respuesta.
De ser el componente TRichEdit es posible realizar esta operacion. y si no es molestia que propiedad deberia utilizar para este efecto

ecfisa 26-12-2011 19:56:34

Cita:

Empezado por morfeo21 (Mensaje 421921)
Gracias por su pronta respuesta.
De ser el componente TRichEdit es posible realizar esta operacion. y si no es molestia que propiedad deberia utilizar para este efecto

Hola.

Te pongo un ejemplo por que creo que va a ser más fácil de entender. Agregá un componente TRichEdit (RichEdit1) y desde el Object Inspector, en su propiedad Lines escribí la expresión:
Código:

6 * ( 3  +  1 )
Los paréntesis se encuentran en este caso en RichEdit1.Text[5] y RichEdit1.Text[15] por lo que para ponerlos en rojo y negrita basta con hacer:
Código Delphi [-]
procedure TForm1.btnResaltarParentesisClick(Sender: TObject);
begin
  with RichEdit1 do
  begin
    // (
    SelStart:= 4;   
    SelLength:= 1; 
    SelAttributes.Color:= clRed;  // rojo
    SelAttributes.Style:= [fsBold]; // negrita
   // )
    SelStart:= 14;
    SelLength:= 1;
    SelAttributes.Color:= clRed;  // rojo
    SelAttributes.Style:= [fsBold]; // negrita
  end;
end;

Un saludo.

morfeo21 26-12-2011 20:12:45

realizare la pruebas del código y te comento . gracias por la ayuda


La franja horaria es GMT +2. Ahora son las 11:33:13.

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