Delphi-PRAXiS
Seite 2 von 3     12 3      

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 Formatierung eines RichEdit speichern (https://www.delphipraxis.net/131154-formatierung-eines-richedit-speichern.html)

Satty67 19. Mär 2009 23:28

Re: Formatierung eines RichEdit speichern
 
Du kannst mal versuchen nach dem Erstellen des RichEdit auf PlainText=True umzuschalten. Dann sollte RichEdit.Text die Formatierung enthalten. Nein auch nicht... enthält nur den Code, wenn es schon zuvor eingeschaltet war.

TheMiller 19. Mär 2009 23:32

Re: Formatierung eines RichEdit speichern
 
Hm... hab jetzt im OI PlainText auf True... aber keinen Erfolg. Sehe auch nicht, dass im XML irgendwelche Tags für die Styles drin stehen.

EDIT: Doch, im Dokument hat sich was geändert!

Satty67 19. Mär 2009 23:37

Re: Formatierung eines RichEdit speichern
 
Unschön, würde aber gehen:

Als RTF speichern und mit einer Stringlist einlesen. Die hat keinen Converter, da ist StringList.Text dann mit Formatierungs-Code.

Vielleicht weis ja jemand wie man den Converter ausschalten kann...

TheMiller 19. Mär 2009 23:44

Re: Formatierung eines RichEdit speichern
 
Das ist tatsächlich unschön.

Habe jetzt mal eine RTF als Plain gespeichert, mit dem Editor geöffnet und deren Inhalt mal mit Copy&Paste in die XML reinkopiert. Doch beim Öffnen sagt er immer:

Fehler beim Einfügen einer Zeile in RichEdit

:wink:

Satty67 19. Mär 2009 23:50

Re: Formatierung eines RichEdit speichern
 
Copy+Paste behandelt sich evtl. überschneidende Steuerzeichen nicht? Würde im XML nur über die Komponente speichern.

TheMiller 19. Mär 2009 23:54

Re: Formatierung eines RichEdit speichern
 
Ich hab's jetzt so gemacht:

Delphi-Quellcode:
function RichText(re: TRichEdit): String;
var
  ss: TStringStream;
begin
  ss := TStringStream.Create ('');
  try
    re.Lines.SaveToStream(ss);
    Result := ss.DataString;
  finally
    ss.Free;
  end;
end;
Diese Funktion ist von marabu. Doch leider kommt wieder diese "Einfüge-Fehler"

EDIT: Jap, die XML-Datei ist nun nicht mehr wohlgeformt... Mal sehen, wie ich den RTF-Kram escapen kann. Liegt doch daran, oder?

mjustin 20. Mär 2009 06:15

Re: Formatierung eines RichEdit speichern
 
Zitat:

Zitat von DJ-SPM
EDIT: Jap, die XML-Datei ist nun nicht mehr wohlgeformt... Mal sehen, wie ich den RTF-Kram escapen kann. Liegt doch daran, oder?

Vermutlich, ist aber leicht lösbar mit einem CDATA Abschnitt:

http://de.wikipedia.org/wiki/Cdata

Mit einem CDATA-Abschnitt wird einem Parser mitgeteilt, dass kein Markup folgt, sondern normaler Text.

Konkret müsste nur über die entsprechende DOM Funktion ein CDATA Element angehängt werden, und diesem dann als Inhalt der RTF Code zugewiesen werden.

TheMiller 20. Mär 2009 08:12

Re: Formatierung eines RichEdit speichern
 
Morgen!

Das hört sich interessant an. Das werde ich heute Mittag mal ausprobieren und Rückmeldung geben.

Danke

TheMiller 20. Mär 2009 13:42

Re: Formatierung eines RichEdit speichern
 
Hey Leute...

ich bin geknickt... mit CData funzt es auch nicht. Die Formatierung wird überhaupt nicht übernommen - obwohl ich mit StringStream etc gespeichert hab...

Was soll ich denn noch tun?

ADOM OpenXML ist doch der hinterletzte Dreck.... :twisted:

mkinzler 20. Mär 2009 13:46

Re: Formatierung eines RichEdit speichern
 
Welchen Wert hat .PlainText?


Alle Zeitangaben in WEZ +1. Es ist jetzt 19:12 Uhr.
Seite 2 von 3     12 3      

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