Entwickler-Ecke

Grafische Benutzeroberflächen (VCL & FireMonkey) - Schlüßelwörter in TRichEdit oder TMemo hervorheben??


Henry - Di 23.07.02 21:27
Titel: Schlüßelwörter in TRichEdit oder TMemo hervorheben??
Hallo,

Ich habe folgende Frage.

Gibt es die Möglichkeit, bei einem Text in einem TMemo oder TRichEdit, bestimmte Worte (die in einer Text oder Ini - Datei abgelegt sind) Hervporzuheben (farblich oder Fett)? So wie in der Delphi IDE. Wenn man dann noch verschiedene Farben festlegen könnte für Verschiedene Gruppen, wäre das super.

PS: Mit TRichEdit habe ich noch keine Erfahrung gesammelt, in dem Fall bitte etwas einfacher erklären (wenn möglich)

Danke für die Hilfe


wwerner - Mi 24.07.02 06:56

Das Prinzip ist hier [http://www.swissdelphicenter.ch/de/showcode.php?id=1143] beschrieben. Du must es noch anpassen


Henry - Mi 24.07.02 16:26

Danke Dir erstmal für die Hilfe.
Bin gerade dabei das ganze zu analysieren :-)
Falls noch Fragen auftauchen, dann Poste ich nochmal.


Tino - Mi 24.07.02 16:31

Oder schau mal hier: Automatic Syntax Highlighting in a RichEdit Control [http://www.undu.com/Articles/981027d.html].

Gruß
TINO


Henry - Mi 24.07.02 20:00

Ich hätte da noch ne andere Frage zu dem Thema.

1. Wie kann ich Im RichEdit ein Wort so suchen, das es wenn es
gefunden wurde gleich markiert ist (SelText)?
So wie mit
 Pos('wort', RichEdit1.Text)
Nur eben das das gesuchte Wort gleich markiert ist,
evt. sogar noch die Position des Wortendes herausgegeben wird
(zum weitersuchen)?

2. Wie kann ich wenn ich auf den Anfang der Zeile im RichEdit klicke
gleich die ganze Zeile Markieren?

Danke für die Hilfe


Tpercon - Mi 24.07.02 22:24


Quelltext
1:
2:
3:
4:
i:=AnsiPos('wort', RichEdit1.Text)
RichEdit1.SelStart:=i;
RichEdit1.SelLength:=Length('wort');
RichEdit1.SelAttributes...

Ich würde wohl den Text aus dem RichEdit zuerst in nem String speichern und dann suchst du in dem String nach dem wort. Merkst die Position, passt den Text im RichEdit an und ersetzt das wort durch irgnewelche Zeichen. Dann kannst du mit AnsiPos weitersuchen....


Tpercon - Mi 24.07.02 22:31

zu 2.: Den Anfang und das Ende der Zeile mußt du dir wohl selbst mit ner Schleife suchen und dann entsprechend SelStart, SelLength anwenden.