Olá galera, nesta Quick Tips, irei mostra como formatar um RichEdit de acordo com as Tags HTML, veja como é simples implementar este feito. A lógica basicamente é que temos que localizar os caracteres “<”, “>”, “{”, “}”, localizando estes além de “ “ “ podemos formatar a parte do texto veja como é simples fazer este feito com a função FormatarHTML.
Mas antes vamos adicionar um BitBtn e um RichEdit.
unit uFrmPrincipal;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls,Buttons, ComCtrls;
type
TFrmPrincipal = class(TForm)
BitBtn1: TBitBtn;
RichEdit1: TRichEdit;
procedure BitBtn1Click(Sender: TObject);
private
procedure FormtarHTML(RichEdit: TRichEdit; xTextValue, xTag, DopCol: TColor);
{ Private declarations }
public
{ Public declarations }
end;
var
FrmPrincipal: TFrmPrincipal;
implementation
{$R *.dfm}
procedure TFrmPrincipal.FormtarHTML(RichEdit: TRichEdit; xTextValue, xTag,
DopCol: TColor);
var
i, iDop: Integer;
s: string;
xCor: TColor;
isTag, isDop: Boolean;
begin
iDop := 0;
isDop := False;
isTag := False;
xCor := xTextValue;
RichEdit.SetFocus;
for i := 0 to Length(RichEdit.Text) do
begin
RichEdit.SelStart := i;
RichEdit.SelLength := 1;
s := RichEdit.SelText;
if (s = '<') or (s = '{') then isTag := True;
if isTag then
if (s = '"') then
if not isDop then
begin
iDop := 1;
isDop := True;
end
else
isDop := False;
if isTag then
if isDop then
begin
if iDop <> 1 then
xCor := DopCol;
end
else
xCor := xTag
else
xCor := xTextValue;
RichEdit.SelAttributes.Color := xCor;
iDop := 0;
if (s = '>') or (s = '}') then
isTag := False;
end;
RichEdit.SelLength := 0;
end;
end.
procedure TFrmPrincipal.BitBtn1Click(Sender: TObject);
begin
RichEdit1.Lines.BeginUpdate;
FormtarHTML(RichEdit1, clBlue, clRed, clGreen);
RichEdit1.Lines.EndUpdate;
end;
Veja o Resultado apresentado quando informamos um código HTML e logo em seguida clicamos no BitBtn para formatar.

Vemos um exemplo de software que utiliza isso é o NotePad ++, um bloco de notas com muito mais recursos do que o normal do Windows
Fico por aqui ate à próxima Quick Tips.
Um abraço
Wesley Y