Mehrere Markierungen in RichEdit
-
Hallo,
wie kann ich mehrere Textmarkierungen in einer RichEdit-Komponente realisieren?
Gruß
Leo
-
Hallo
wahrscheinlich garnicht. Denn das Control basiert darauf das immer ein Teil des Textes ausgewählt ist, und nicht mehr. Siehe dazu auch die Sel*-Eigenschaftes von TRichEdit.
bis bald
akari
-
Hallo,
ja, das Borland-Beispiel hatte ich auch schon probiert und war leider zu ähnlichem Schluss gekommen.
Ich überlege mittlerweile, inwieweit es sinnvoll ist, ein RTF-File zufuss mit den benötigten Auszeichnungen zu erstellen, um es dann in die RichEdit-Komponente zu laden. - Aber etwas exotisch wäre das schon, zumal auch die Umlautcodierungen und ähnliches sicherlich sehr aufwändig sein würden.Hättest Du eine bessere Idee?
Gruß
Leo
-
Hallo
Ich überlege mittlerweile, inwieweit es sinnvoll ist, ein RTF-File zufuss mit den benötigten Auszeichnungen zu erstellen, um es dann in die RichEdit-Komponente zu laden. - Aber etwas exotisch wäre das schon, zumal auch die Umlautcodierungen und ähnliches sicherlich sehr aufwändig sein würden.
Wie bitte? Warumm willst denn plötzlich manuell ein RTF-File erstellen? Was hat das denn noch mit dem Thread zu tun?
Erklär doch mal genau, warum du das alles machen willst.bis bald
akari
-
reicht es denn nicht alle markierungen einzeln nacheinander abzuarbeiten?
-
akari schrieb:
Hallo
Erklär doch mal genau, warum du das alles machen willst.In einer Anwendung werden nach Vorgabe eines oder mehrerer Suchbegriffe alle Textdateien eines zuvor festgelegten Verzeichnisses durchsucht.
Bei Übereinstimmung mit den Suchbegriffen, werden die Dateinamen dem Anwender in einer ListBox zur Auswahl angeboten.In der bisherigen Programmversion wird per Doppeklick auf den Dateinamen die entsprechende Datei per ShellExec geöffnet.
Zum komfortableren Auffinden insbesondere bei umfangreicheren Texten, sollen die Suchbegriffe farblich oder wie auch immer hervorgehoben werden, ähnlich der Suchfunktion in z.B. PDF-Dateien.
Gruß
Leo
-
Hallo
ich denke nicht das das mit RichEdit so einfach möglich ist.
Da bleibt dir eventuell nur, die Daten vor dem Anzeigen noch manuell zu bearbeiten und die Suchbegriffe mit den RTF-Formatierungen zu belegen.bis bald
akari
-
akari schrieb:
Da bleibt dir eventuell nur, die Daten vor dem Anzeigen noch manuell zu bearbeiten und die Suchbegriffe mit den RTF-Formatierungen zu belegen.
Hallo,
kannst Du mal grob skizzieren, wie Du das machen würdest!
Gruß
Leo
-
Hallo
ganz einfach: RTF-Dateien bestehen aus normal lesbaren Text mit zusätzlichen Formatierungssysbolen. Du kannst die Datei also normal in einem Stream oder StringList öffnen, bearbeiten und wieder speichern.
Wenn du dir mal so eine RTF-Datei erstellst und anschaust, siehst du welcher Symbole welche Formatierung bedeuten. Beispiel :
{\rtf1\ansi\ansicpg1252\deff0\deflang1031{\fonttbl{\f0\fswiss\fcharset0 Arial;}} \viewkind4\uc1\pard\b\f0\fs20 Fett\par \b0\i Kursiv \i0\par }Das Wort 'Fett' ist als fett markiert, indem vor das Symbol '\b ' und danach das Symbol '\b0 ' kommt. Analoges gilt für kursiv und '\i '
Du kannst also selber diese Formatierung an den von dir gesuchten Stellen einsetzen. Du must eben nur aufpassen, das du keine bestehenden Formatierungen durcheinander bringst.
bis bald
akari
-
wozu der ganze aufwand?
wenn der user eine der gefundenen dateien auswählt, wird ein Syntax-Highlightning im dokument durchgeführt und zwar mit allen Suchbegriffen. Dazu durchsuchst du deinen text und wenn du den begriff findest, markiert du ihn mit irgendeiner farbe.
siehe dazu unter TRichEdit: SelStart, SelLength und SelAttributes