Formatando tags HTML com o Delphi

 

Está dica ensina como formatar comandos em HTML dentro de um RichEdit, para isso inicie um novo projeto e insira no formulário principal um Richedit e um Button, agora abra o editor de códigos e insira o seguinte código:

 

procedure HTMLSyntax(RichEdit: TRichEdit; TextCol, TagCol, DopCol: TColor);

var

  i, iDop: Integer;

  s: string;

  Col: TColor;

  isTag, isDop: Boolean;

begin

iDop := 0;

isDop := False;

isTag := False;

Col := TextCol;

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 Col := DopCol;

end

else

Col := TagCol

else

Col := TextCol;

 

RichEdit.SelAttributes.Color := Col;

 

iDop := 0;

 

if (s = '>') or (s = '}') then isTag := False;

end;

 

  RichEdit.SelLength := 0;

end;

 

Volte ao formulário principal e no evento onclick do Button insira o seguinte código:

procedure TForm1.Button1Click(Sender: TObject);

 

begin

  RichEdit1.Lines.BeginUpdate;

  HTMLSyntax(RichEdit1, clBlue, clRed, clGreen);

  RichEdit1.Lines.EndUpdate;

end;

 

Pronto! Agora veja a foto de um aplicativo de exemplo: