Entwickler-Ecke
Delphi Language (Object-Pascal) / CLX - Wie aus rtf-Code Klartext erhalten?
galagher - So 15.07.18 20:58
Titel: Wie aus rtf-Code Klartext erhalten?
Hallo!
Ich möchte aus rtf-Code den Klartext erhalten. Momentan erzeuge ich ein TJvRichEdit, und weil dieses ein Parent benötigt, muss ich auch ein TForm als dessen übergeordnetes Element erzeugen. In dieses TJvRichEdit lese ich dann den rtf-Code ein, und eine Funktion gibt mir dann den Klartext zurück. Das alles funktioniert zwar, gefällt mir aber nicht.
Wie kann ich also aus rtf-Ccode den reinen Text ohne Formatierungs- und Steuerzeichen extrahieren, ohne den Umweg über eine temporäres TJvRichEdit?
Delete - Mo 16.07.18 11:43
- Nachträglich durch die Entwickler-Ecke gelöscht -
galagher - Mo 16.07.18 12:14
Frühlingsrolle hat folgendes geschrieben : |
@ espen
In deinem verlinkten Beitrag wird ebenso auf ein TRichEdit zurückgegriffen. Das möchte der TE aber nicht.
@ galagher
Das, was dir nicht gefällt, wäre aber der richtige Ansatz. |
Irgendwie muss TRichEdit das ja machen, ich dachte, jemand hat den nötigen Code dafür!
Was mir nich gefällt, ist das erzeugen einer Komponente (ok, das wäre noch nicht schlimm), aber das Erzeugen einer TForm finde ich unelegant.
.CreateParented kannte ich nicht, werde die Codes aber ausprobieren!
Delete - Mo 16.07.18 12:21
- Nachträglich durch die Entwickler-Ecke gelöscht -
galagher - Mo 16.07.18 19:36
Dein zweites Beispiel gefällt mir wegen Application.MainForm nicht so gut!
Zum ersten Beispiel: Was ist der Unterschied zwischen CreateParented(HWND(-3)) und CreateParented(HWND_MESSAGE)?
Delete - Mo 16.07.18 20:41
- Nachträglich durch die Entwickler-Ecke gelöscht -
galagher - Mo 16.07.18 21:22
Dann danke ich euch für eure Hilfe!
Ich verwende nun diesen Code:
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9:
| function Rtf2Txt(const rtf: AnsiString): String; begin with TRichEdit.CreateParented(HWND_MESSAGE) do begin SendMessage(Handle, WM_SETTEXT, 0, NativeInt(@rtf[1])); Result := Text; Free; end; end; |
Delete - Di 17.07.18 12:16
- Nachträglich durch die Entwickler-Ecke gelöscht -
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2024 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!