Thema: Markup-Parser

Einzelnen Beitrag anzeigen

hansklok

Registriert seit: 14. Apr 2004
Ort: Karlsruhe
318 Beiträge
 
Delphi 2010 Architect
 
#1

Markup-Parser

  Alt 18. Apr 2016, 16:11
Hallo,

ich habe zwei Klassen: TParagraph und TCharacter. Beide besitzen jeweils eine Property Name: String und Content: String

Nun habe ich ein Memo mit z.B. dem folgenden Inhalt:

Code:
Das ist mein erster Absatz.

{ps:Normal}Und hier beginnt mein zweiter Absatz, der das Absatzformat "Normal" hat und der {cs:Fett}formatierten, {cs:rot}farbigen{/cs}{/cs} Text darstellen kann.

Ach ja und das hier ist der dritte Absatz.
Ich suche nun einen Weg, den Inhalt von TMemo zu parsen.
  1. Absätze beginnen jeweils nach zwei Zeilenumbrüchen (ausgenommen der allererste, der beginnt ganz oben)
  2. Absätze können (optional) einen Style enthalten, der durch {ps:NAME} am Beginn des Absatzes gekennzeichnet werden kann
  3. Innerhalb des Absatzes kann (optional) nun einzelnen Wörtern ebenfalls ein Style zugeteilt werden - {cs:NAME}Inhalt{/cs}. Hier ist aber eine Verschachtelung möglich.

Wie könnte man so etwas umsetzen, bzw. gibt es bereits fertige Implementierungen? Achse, ich möchte kein!!! RichEdit verwenden, fall der Vorschlag kommen sollte

Der Parser enthält dann ein Array, welches die Paragraphen enthält und ein Paragraph speichert dan jeweils die Texte (Runs mit Inhalt und optionalem Style) ebenfalls in einem Array.

Danke und LG

Geändert von hansklok (18. Apr 2016 um 17:25 Uhr)
  Mit Zitat antworten Zitat