AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Sonstige Fragen zu Delphi Delphi RichEdit Wort finden, Farbig und Fett markieren

RichEdit Wort finden, Farbig und Fett markieren

Ein Thema von Nils_13 · begonnen am 27. Nov 2005 · letzter Beitrag vom 29. Nov 2005
 
Nils_13

Registriert seit: 15. Nov 2004
2.647 Beiträge
 
#25

Re: RichEdit Wort finden, Farbig und Fett markieren

  Alt 28. Nov 2005, 14:11
Zitat von jim_raynor:
Zitat von Nils_13:
Das läuft aber nicht ganz, es soll sich ja nur auf alle Wörter die 'START' heißen bezeiehen und man soll natürlich noch normal in Schwarz tippen können.
Ist mit einem Richedit nicht möglich bzw. nicht performant zu machen, da du bei jeder Änderung die Markierung neu machen müsstest. Warum nutzt die nicht SynEdit. Eine Memo-Komponente mit Syntax-Highlighting. Das ist doch, was du machen willst oder?

Und bevor du fragst. Mit SynEdit kann man auch eigene Highlighter machen.
Ich weiß. Ich finde es 1. nicht so gut und 2. will ich es selber programmieren.

Wisst ihr warum bei diesem Code von mare_crisium nichts mehr markiert wird ?
Delphi-Quellcode:
procedure TForm1.FormCreate(Sender: TObject);
begin
  Button1.Click;
  searchStart := 0;
end;

procedure TForm1.Button1Click(Sender: TObject);
var StartPos, ToEnd, foundAt: integer;
    lsuchText : string;
    lfundStelle : integer;
begin
  lsuchText :='START';
  lfundStelle := Memo1.FindText(lsuchText,searchStart,length(Memo1.text),[]);
  if (lfundStelle > 0)
  then begin
    Memo1.SetFocus;
    Memo1.SelStart := lfundStelle;
    Memo1.SelLength := Length(lsuchText);
    searchStart := Memo1.selStart + Memo1.selLength+1;
    if ( searchStart > length(Memo1.text))
    then searchStart:=0;
  end
  else searchStart:=0;

  if (Memo1.selLength > 0)
  then begin
    Memo1.SelAttributes.color := clBlue;
    Memo1.SelAttributes.style := [fsBold];
  end;
end;
Der Übrsprüngliche Code sah so aus, aber da wurde halt nur ein Wort markiert, obwohl es mehrfach dastand:
Delphi-Quellcode:
 suchText:='START';
    foundAt := Memo1.findText(suchText,0,length(Memo1.text),[stMatchCase]);
    if FoundAt <> -1 then
    begin
      Memo1.SelStart := FoundAt;
      Memo1.SelLength := Length(suchText);
      if (Memo1.selLength > 0)
      then begin
        Memo1.SelAttributes.color := clBlue;
        Memo1.SelAttributes.style := [fsBold];
      end;
      //Memo1.SelAttributes.Color := clGreen;
      //Memo1.SelAttributes.Style := [fsBold];
    end;
Evtl. liegt der Code-Schnipsel
Delphi-Quellcode:
  if (Memo1.selLength > 0)
  then begin
    Memo1.SelAttributes.color := clBlue;
    Memo1.SelAttributes.style := [fsBold];
  end;
an der falschen Stelle, aber ich habe schon alles durchprobiert, auch wie es mare_crisium gemacht hat mit zwei Buttons, es läuft nicht, egal wohin das
Delphi-Quellcode:
  if (Memo1.selLength > 0)
  then begin
    Memo1.SelAttributes.color := clBlue;
    Memo1.SelAttributes.style := [fsBold];
  end;
kommt.
  Mit Zitat antworten Zitat
 

Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 00:26 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz