![]() |
RTF Text ersetzen
Ich möchte gerne in einem RTF Text einen bestimmten Text ersetzen.
im RTF Text habe ich verschiedene Texte (sind wischen zwei &), die durch einen anderen Text ersetzt werden sollen. Da in dem RTF auch Formatierungen verwendet werden (und theoretisch auch die Foramtierung einer solchen Variabel innerhalb der variabel geändert werden kann), ist es sehr schwer den Text im RTF Text zu finden. Bis jetzt verwenden ich immer ein Richedit dazu, aber eigentlich m,öchte ich es ohne VCL Komponente ersetzen. Hat jemand eine Ahnung wie mann da am besten vorgehen soll/kann, ohne sich in die ganze Doku vom Richtext einlesen zu müssen ? |
Re: RTF Text ersetzen
Um etwas dazu sagen zu können, wäre eine Beispiel oder Ausschnitt nicht schlecht.
Frage = ist das "&" als "&" oder als Hex-Codierung \'26 in der rtf enthalten. Habe ich das mit der Formatierung der Variablen richtig verstanden? so? &Var\b iable\b0 & oder so? &Var{\b iable}& Also ich würde bei Deiner bisherigen Methode bleiben. Die Dokumentation zum RTF-Format ist wirklich sehr umfangreich! :wall: MfG Lannes |
Re: RTF Text ersetzen
z.B.:
RTF : bis\b zum &Tex\b0 t_1& be PlainText : bis zum &Text_1& be das Problem ist, das dem Richedit nicht sagen kann (beim Eingeben) das für die ganze Variable nur ein Format verwendet werden darf. Denn nach dem Ersetzen der Variable kann es sowieso nur eine Formatierung für die Variabel geben, aber zum scuhen im RTF ist es so natürlich problematisch. Die bisherige Methode hat halt immer das Problem, das ich ein nicht sichtbares RichEdit erzeugen muß. Das dauert viel länger als wenn ich nur den Text ersetzen würde, und es gibt auch unschöne Flacker effekete (Bei mir zumindest) Darum möchte ich es anders lösen. |
Re: RTF Text ersetzen
Hallo,
Grundsätzliches zum Format: Beginn Kontrollwort mit Backslash (\) darauf folgen a-z (min 1) Ende Kontrollwort durch: - Leerzeichen (nur das erste, alle weiteren sind Plaintext) - Zahlen, positiv oder negativ z.b -245 (ist dann der Wert des Kontrollwortes) - jedes andere Zeichen, das kein Buchstabe ist - #10 und #13 Ein Beispiel: "x\b xxx\b0 xx" ist gleich mit "x\b xxx\b0xx" wobei es "x\bxxx\b0 xx" nicht geben sollte, weil "\bxxx" als Kontrollwort gedeutet würde. Da "\bxxx" kein gültiges Kontrollwort ist wird es überlesen. Aus "x\bxxx\b0 xx" wird im Plaintext "x xx" folgt direkt nach "\" ein Zeichen <> a-z dann: z.B. Hex-Codierung \'26 ist das zeichen "&" \\und\{und\} wäre im Plaintext "\und{und} Steuerzeichen \| \~ \- \_ \: \* (mehr sind mir nicht bekannt) Plaintext filtern: (nur mal so aufgeschrieben) Zeichen "&" suchen > Zeichen = "\" dann Flag setzen > Zeichen <> "\" und Flag nicht gesetzt, dann > Plaintext > Zeichen <> "\" und Flag gesetzt, dann Ende Kontrollwort suchen ... Dann bleiben noch Fragen - Zeichen "&" nur im Zusammenhang mit Variablen? - RTF-Format wird unterschiedlich geschrieben, Erstellungsprogramm immer das selbe(gleiche Version)? Viel Spass beim :coder: , ich hoffe das es Dir erstmal weiter hilft MfG Lannes |
Alle Zeitangaben in WEZ +1. Es ist jetzt 07:51 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz