![]() |
RichEdit und Delphi XE
Hallo,
bei der Migration eines Projektes von D2007 auf XE stolpere ich über die andere/falsche Umsetzung des TRichEdit. Bislang kam man über
Delphi-Quellcode:
RichEdit1.Lines.Text
immer an den reinen Text des RichEdit-Controls, mit XE wird mir der RichText-Code ausgeliefert. Hat jemand einen Workaround für mich, wie komme ich jetzt an den PlainText heran? Danke und ciao Frank |
AW: RichEdit und Delphi XE
Hab noch nie mit TRichEdit gemacht. Aber vielleicht hilft ja
Delphi-Quellcode:
!?
RichEdit1.Text
|
AW: RichEdit und Delphi XE
Hallo Armin,
nö, leider nicht. Darüber sollte der Urcode (RTF) transportiert werden, über die .Lines.Text der reine Textinhalt (Plain). Nicht aber unter XE. Ciao Frank |
AW: RichEdit und Delphi XE
Ich bekomme mit XE mit beiden Varianten den Plaintext
re.lines.Text re.Text :?: |
AW: RichEdit und Delphi XE
Das hat aber nicht mit irgendwelchen verschiedenen Versionen zu tun? Ich meine mal was gelesen zu haben.
|
AW: RichEdit und Delphi XE
Hi,
schon mal mit PlainText true/false probiert? Grüße |
AW: RichEdit und Delphi XE
Damit wird wohl die Formatierung dauerhaft entfernt!? Zumindest wäre ein temporäres Setzen ja mal mehr als planlos...
|
AW: RichEdit und Delphi XE
Hallo ihr Beiden,
tatsächlich ist offensichtlich eine andere Codestelle bei mir dafür verantwortlich.
Delphi-Quellcode:
RichEdit1.Text:=TxtDataSet1.FieldByName('Memo').AsString;
MaDataSet1Body.AsString:=RichEdit1.Lines.Text; Das RichEdit wird aus einer Tabelle zunächst befüllt, das über .Text=.AsString. Offensichtlich tickt das jetzt etwas anders ans unter D2007. Noch Ideen? Ciao Frank |
AW: RichEdit und Delphi XE
Hi,
also unter Delphi 2007 liefert Lines.Text bei mir den PlainText. XE Habe ich nicht. Aber das Setzen vom PlainText ist IMHO schon ein sauberer Weg (siehe Delphi Hilfe). Ich habe es testweise mal über einen Stream probiert. SaveToStream z.B. Nutzt TConverter und setzt das Format auf SF_TEXT, wenn PlainText True ist. Hier das Beispiel über Stream:
Delphi-Quellcode:
Es sollte aber auch genauso über den einfachen Weg mit Lines.Text funktionieren.
procedure TForm11.Button1Click(Sender: TObject);
Var AStream: TMemoryStream; APlainText: Boolean; begin AStream := TMemoryStream.Create; try APlainText := RichEdit1.PlainText; RichEdit1.PlainText := False; try RichEdit1.Lines.SaveToStream(AStream); AStream.Position := 0; Memo1.Lines.LoadFromStream(AStream); finally if APlainText <> RichEdit1.PlainText then RichEdit1.PlainText := APlainText; end; finally AStream.Free; end; end; Frank |
AW: RichEdit und Delphi XE
Hallo Frank,
die .Text-Variante funktionierte auch mit D2007 wie ich schrieb. Ab XE tickt da aber offensichtlich etwas anders. Ciao Frank |
Alle Zeitangaben in WEZ +1. Es ist jetzt 01:40 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