Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   GUI-Design mit VCL / FireMonkey / Common Controls (https://www.delphipraxis.net/18-gui-design-mit-vcl-firemonkey-common-controls/)
-   -   Delphi RTF bricht bei } ab (https://www.delphipraxis.net/18870-rtf-bricht-bei-%7D-ab.html)

Xeno-Sebi 25. Mär 2004 15:12


RTF bricht bei } ab
 
passt nicht ganz ins vclgebiet, aba hatte kA, wohin damit...sry

also:
so sieht rtf aus:

Code:
{\rtf1\ansi\ansicpg1252\deff0\deflang1031{\fonttbl{\f0\froman\fcharset0 Times New Roman}\viewkind4\uc1\pard\cf1\ul\f0\fs24
\par blablabla 1
\par blablabla 2
\par ...
\par }
Ich will in einem richedit, welches auf plaintext gestellt ist "}" schreiben können (dmit ich es formatieren kann) und den text in ein anderes richedit kopieren. Dieses hat plaintext=false. Dabei entsteht folgender fehler:

Code:
{\rtf1\ansi\ansicpg1252\deff0\deflang1031{\fonttbl{\f0\froman\fcharset0 Times New Roman}\viewkind4\uc1\pard\cf1\ul\f0\fs24
\par blablabla 1} //<-manuell in plaingtext-RE geschrieben,
\par blablabla 2  //gehört aber nicht zur formatierung
\par ...
\par }
in richedit wird der text logischer weise nur bis zu "blablabla 1" ausgegeben, da rtf denkt, hier wäre ende der rtformatierung.
Kann ich } irgendiwe auskommentieren??? (oder wie bei html <tag> durch &lt;tag&gt; ersetzten?)
thx im vorraus, Xeno-Sebi

Xeno-Sebi 25. Mär 2004 15:14

Re: RTF bricht bei } ab
 
Zitat:

Zitat von Xeno-Sebi
... welches auf plaintext gestellt ist "}" schreiben können (dmit ich es formatieren kann)...

sry! um unklarheiten vorzubeugen:
das soll heißen: es ist auf plaintext gestellt, damit es formatierbar ist und "}" will ich trotzdem reinschreiben können

NicoDE 25. Mär 2004 15:35

Re: RTF bricht bei } ab
 
Steuerzeichen (bzw. alle nicht-ASCII-Zeichen, wie deutsche Umlaute) müssen mit 'Escape'-Sequenzen umschrieben werden.
} = \'7d

Xeno-Sebi 25. Mär 2004 16:48

Re: RTF bricht bei } ab
 
ok danke!
lol, bei c++ sind die escapesequenzen viel komplizierter...aba eine frage noch:
gibt es irgendwo eine tabelle dafür? Ich werde damit nämlich noch länger arbeiten...

NicoDE 25. Mär 2004 16:51

Re: RTF bricht bei } ab
 
Zitat:

Zitat von Xeno-Sebi
gibt es irgendwo eine tabelle dafür?

Programme / Zubehör / Systemprogramme / Zeichentabelle :)
( \'<hex> )

Xeno-Sebi 25. Mär 2004 17:36

Re: RTF bricht bei } ab
 
thx...aba bist du nicht linux user???
trotzdem noch ein prob:
Delphi-Quellcode:
StringReplace(codetext.text, '}', '\'7d', [rfIgnoreCase,rfReplaceAll]);
Tja...das wird nicht als String anerkannt. Wie kann ich das mit nem char oder ähnlichem umgehen???
Delphi-Quellcode:
chr(7d)
???

NicoDE 25. Mär 2004 17:45

Re: RTF bricht bei } ab
 
Zitat:

Zitat von Xeno-Sebi
thx...aba bist du nicht linux user???

[ot] beruflich Windows, privat Debian [/ot]

Xeno-Sebi 26. Mär 2004 15:37

Re: RTF bricht bei } ab
 
Ich habs raus!!!
also:
Code:
} kommentiert man so aus: {\}}
{ kommentiert man so aus: {\{}
also rausgefunden hab ich das so: word öffnen, sonderzeichen schreiben, als rtf speichern, mit notepad öffnen...Nicht zu kompliziert denken!!! :warn:

Ich kann mir gut vorstellen, dass dies für weitere Sonderzeichen auch machbar ist

NicoDE 26. Mär 2004 15:49

Re: RTF bricht bei } ab
 
Zitat:

Zitat von Xeno-Sebi
Tja...das wird nicht als String anerkannt.

Ein einfaches Anführungszeichen (Apostroph) muss in einer Stringkonstanten verdoppelt werden (da es sonst als Ende des Strings interpretiert wird).
Also '\''7d'.

Zitat:

Zitat von Xeno-Sebi
Ich kann mir gut vorstellen, dass dies für weitere Sonderzeichen auch machbar ist

Ich bevorzuge allgemeine Lösungen :)

Xeno-Sebi 26. Mär 2004 16:00

Re: RTF bricht bei } ab
 
jetzt funzt es, also werde ich es in DIESEM fall nicht mehr ändern...trotzdem danke!
das mit dem doppelten ' war mir neu^^


Alle Zeitangaben in WEZ +1. Es ist jetzt 19:36 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz