Thema: Delphi BBCode Kompnente

Einzelnen Beitrag anzeigen

Benutzerbild von Flocke
Flocke

Registriert seit: 9. Jun 2005
Ort: Unna
1.172 Beiträge
 
Delphi 10.2 Tokyo Professional
 
#12

Re: BBCode Kompnente

  Alt 15. Okt 2006, 14:37
Zitat von r2c2:
Ich nehm mal an TRichEdit kommt nicht mit klar, wenn du den Formatcode direkt reinschreibst.
Genau. Du kannst RTF nicht häppchenweise hineinfüttern. Arbeite doch der Einfachheit halber erst einmal mit einem String, an den du die einzelnen Fragmente einfach mit + anhängst. Abschließend setzt du den Text mit RichEdit1.Perform(WM_SETTEXT, 0, Integer(PChar(Str)) Ebenfalls wichtig:
1. Ersetze alle \, { und } durch \\, \{ und \}
2. Ersetze alle Zeilenumbrüche durch \par
Danach kannst du dich um die Formatierung kümmern, dies muss aber nicht zeilenweise geschehen, du kannst das StringReplace einfach auf mChangeLog.Lines.Text loslassen.

// NACHTRAG

Außerdem solltest du hinter den RTF-Steuerzeichen jeweils ein Leerzeichen lassen, also
'[ b]' wird zu '\b '
'[ /b]' wird zu '\b0 '
'[ i]' wird zu '\i '
'[ /i]' wird zu '\i0 '
Die meisten Formatierungen kann man mit 0 (Null) dahinter wieder ausschalten. Dann sparst du dir die Klammern, die würden sowieso Fehler geben wenn der BBCode nicht korrekt geschachtelt ist.
Volker
Besucht meine Garage
Aktuell: RtfLabel 1.3d, PrintToFile 1.4
  Mit Zitat antworten Zitat