AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

RichEdit und Delphi XE

Ein Thema von FrankJ28 · begonnen am 23. Nov 2010 · letzter Beitrag vom 23. Nov 2010
Antwort Antwort
Seite 1 von 2  1 2      
FrankJ28

Registriert seit: 7. Apr 2008
211 Beiträge
 
Delphi 11 Alexandria
 
#1

RichEdit und Delphi XE

  Alt 23. Nov 2010, 08:34
Hallo,
bei der Migration eines Projektes von D2007 auf XE stolpere ich über die andere/falsche Umsetzung des TRichEdit. Bislang kam man über

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
"Sage was du tust, und tue was du sagst"
Johannes Rau
  Mit Zitat antworten Zitat
Benutzerbild von s.h.a.r.k
s.h.a.r.k

Registriert seit: 26. Mai 2004
3.159 Beiträge
 
#2

AW: RichEdit und Delphi XE

  Alt 23. Nov 2010, 10:08
Hab noch nie mit TRichEdit gemacht. Aber vielleicht hilft ja RichEdit1.Text !?
»Remember, the future maintainer is the person you should be writing code for, not the compiler.« (Nick Hodges)
  Mit Zitat antworten Zitat
FrankJ28

Registriert seit: 7. Apr 2008
211 Beiträge
 
Delphi 11 Alexandria
 
#3

AW: RichEdit und Delphi XE

  Alt 23. Nov 2010, 10:11
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
"Sage was du tust, und tue was du sagst"
Johannes Rau
  Mit Zitat antworten Zitat
Benutzerbild von Bummi
Bummi

Registriert seit: 15. Jun 2010
Ort: Augsburg Bayern Süddeutschland
3.470 Beiträge
 
Delphi XE3 Enterprise
 
#4

AW: RichEdit und Delphi XE

  Alt 23. Nov 2010, 10:34
Ich bekomme mit XE mit beiden Varianten den Plaintext
re.lines.Text
re.Text
Thomas Wassermann H₂♂
Das Problem steckt meistens zwischen den Ohren
DRY DRY KISS
H₂ (wenn bei meinen Snipplets nichts anderes angegeben ist Lizenz: WTFPL)
  Mit Zitat antworten Zitat
Benutzerbild von s.h.a.r.k
s.h.a.r.k

Registriert seit: 26. Mai 2004
3.159 Beiträge
 
#5

AW: RichEdit und Delphi XE

  Alt 23. Nov 2010, 10:36
Das hat aber nicht mit irgendwelchen verschiedenen Versionen zu tun? Ich meine mal was gelesen zu haben.
»Remember, the future maintainer is the person you should be writing code for, not the compiler.« (Nick Hodges)
  Mit Zitat antworten Zitat
Lemmy

Registriert seit: 8. Jun 2002
Ort: Berglen
2.380 Beiträge
 
Delphi 10.3 Rio
 
#6

AW: RichEdit und Delphi XE

  Alt 23. Nov 2010, 11:06
Hi,
schon mal mit PlainText true/false probiert?

Grüße
  Mit Zitat antworten Zitat
Benutzerbild von s.h.a.r.k
s.h.a.r.k

Registriert seit: 26. Mai 2004
3.159 Beiträge
 
#7

AW: RichEdit und Delphi XE

  Alt 23. Nov 2010, 11:08
Damit wird wohl die Formatierung dauerhaft entfernt!? Zumindest wäre ein temporäres Setzen ja mal mehr als planlos...
»Remember, the future maintainer is the person you should be writing code for, not the compiler.« (Nick Hodges)
  Mit Zitat antworten Zitat
FrankJ28

Registriert seit: 7. Apr 2008
211 Beiträge
 
Delphi 11 Alexandria
 
#8

AW: RichEdit und Delphi XE

  Alt 23. Nov 2010, 11:11
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
"Sage was du tust, und tue was du sagst"
Johannes Rau
  Mit Zitat antworten Zitat
Benutzerbild von dataspider
dataspider

Registriert seit: 9. Nov 2003
Ort: 04539 Groitzsch
1.351 Beiträge
 
Delphi 11 Alexandria
 
#9

AW: RichEdit und Delphi XE

  Alt 23. Nov 2010, 11:23
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:
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;
Es sollte aber auch genauso über den einfachen Weg mit Lines.Text funktionieren.

Frank
Frank Reim
  Mit Zitat antworten Zitat
FrankJ28

Registriert seit: 7. Apr 2008
211 Beiträge
 
Delphi 11 Alexandria
 
#10

AW: RichEdit und Delphi XE

  Alt 23. Nov 2010, 11:27
Hallo Frank,
die .Text-Variante funktionierte auch mit D2007 wie ich schrieb. Ab XE tickt da aber offensichtlich etwas anders.
Ciao
Frank
"Sage was du tust, und tue was du sagst"
Johannes Rau
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 17:47 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