Einzelnen Beitrag anzeigen

Blackheart

Registriert seit: 4. Mai 2005
846 Beiträge
 
Delphi 7 Enterprise
 
#1

Selattribut zurücksetzen [RichEdit]?

  Alt 19. Dez 2006, 11:49
Hallo Leute
Ich hab Mir eine Procedur geschrieben die Mir bestimmte Wörter Fett und Blau anzeigt,
Soweit klappt das auch zwischen den Reservierten Wörtern wird wieder normal geschrieben.
Jetzt mein Problem hinter dem letztem reservierten Wort wird wieder in Fett Blau geschrieben was
nicht sein sollte.
Hätte jemand eine Idee dazu - Wie kann Ich die Selattribute im Rich wieder zurücksetzen ?


Delphi-Quellcode:
var
  Form1: TForm1;
  Reserviert: array[0..2] of string =('end', 'begin', 'test');
implementation

{$R *.dfm}
procedure ReserviertBold(RichEdit1: TRichedit);
var
 i,j:Integer;
 Bold, Str: String;
begin
 with RichEdit1 do
 begin
  for i:=0 to Length(Text) do
    for j:= 0 to High(Reserviert) do
      begin
        Bold:= Uppercase(Reserviert[j]);
        Str:= Uppercase(Copy(Text, i, Length(Bold)));
        Text:=StringReplace(Text,Bold,Uppercase(Bold),[rfReplaceAll, rfIgnoreCase]);
        if (Uppercase(Str) = Uppercase(Bold)) then
          begin
            SelStart:= i-1;
            Sellength:= Length(Bold);
            SelAttributes.Color := clBlue;
            SelAttributes.Style:= [fsbold] end else begin
            SelStart:= i-1;
            SelAttributes.Color := clBlack;
            SelAttributes.Style:= [];
        end;
      end;
  end;
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
  ReserviertBold(RichEdit1);
end;
Blackheart
  Mit Zitat antworten Zitat