whats new ¦  programming tips ¦  indy articles ¦  intraweb articles ¦  informations ¦  links ¦  interviews
 misc ¦  tutorials ¦  Add&Win Game

Tips (1541)

Database (90)
Files (137)
Forms (107)
Graphic (114)
IDE (21)
Indy (5)
Internet / LAN (130)
IntraWeb (0)
Math (76)
Misc (126)
Multimedia (45)
Objects/
ActiveX (51)

OpenTools API (3)
Printing (35)
Strings (83)
System (266)
VCL (242)

Top15

Tips sort by
component


Search Tip

Add new Tip

Add&Win Game

Advertising

86 Visitors Online


 
...highlight HTML-Tags in TRichEdit?
Autor: Ronald Rethfeldt
Homepage: http://www.rogasoft.de
[ Print tip ]  

Tip Rating (16):  
     




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;

procedure TForm1.Button1Click(Sender: TObject);
begin
  
RichEdit1.Lines.BeginUpdate;
  HTMLSyntax(RichEdit1, clBlue, clRed, clGreen);
  RichEdit1.Lines.EndUpdate;
end;

 

Rate this tip:

poor
very good


Copyright © by SwissDelphiCenter.ch
All trademarks are the sole property of their respective owners