Entwickler-Ecke
Grafische Benutzeroberflächen (VCL & FireMonkey) - Wortsuche in einer RichEdit?!
cyclone - So 18.08.02 16:04
Titel: Wortsuche in einer RichEdit?!
Ich möchte in meiner RichEdit einige Schlüsselworter unterbringen die dann anders fomatiert dargestellt werden...
Im moment mach ich das sehr umständlich und ich finde so nur das erste schlüsselwort:
Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10:
| var text: string; i: integer; begin text := RichEdit1.Lines.Text; i := pos('hallo', text); //sucht im text nach dem wort hallo und übermittelt die position RichEdit1.SelStart := i; RichEdit1.SelLength := 5; RichEdit1.SelAttributes.Color := clBlue; end; |
Mein Problem ist, dass diese methode extrem umständlich ist und ich nie mehr als ein wort finde... gibt es eine bessere möglichkeit???
Hoffe auf antworten ;)
DeCodeGuru - So 18.08.02 19:22
Versuchs mal mit FindText.
Zitat: |
type
TSearchType = (stWholeWord, stMatchCase);
TSearchTypes = set of TSearchType;
function FindText(const SearchStr: string; StartPos, Length: Integer; Options: TSearchTypes): Integer; |
Damit kannste ab einer bestimmten Position suchen. Wenn das Wort gefunden wurde, übergibt die Funktion die Anfangsposition des gefunden Wortes. Wenn du jetzt alle Wörter herausfinden willst, musst du halt nur die Startpos auf die zu letzt gefundene Position +1 stellen.
Allerdings ist dieses Verfahren relativ umständlich und dauert. Ich würde dir daher die Komponente SynEdit empfehlen.
MathiasH - So 18.08.02 20:41
kann man in Richedit eigentlich was formatiern, ohne den text kurzzeitig markieren zu müssen?, oder führt kein weg an SelStart... vorbei?
MathiasH
cyclone - So 18.08.02 21:38
THX...
@MathiasH: Hab scon alles ausprobiert und keine andere lösung gefunden!
Wo find ich die komponente synEdit??? Ist die Standartgemäß bei delphi installiert?
DeCodeGuru - So 18.08.02 21:44
Zitat: |
Wo find ich die komponente synEdit??? Ist die Standartgemäß bei delphi installiert? |
Nein, die Komponente ist nicht standardmäßig installiert. Ich glaube, die bekommt man bei
http://www.torry.net .
@MathiasH: Nein, man muss den Text für eine kurze Zeit markieren, damit man ihn formatieren kann. Auf jeden Fall wüstte ich nicht, wie man es anders machen sollte :wink:
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2025 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!