![]() |
wie kann man den Inhalt eines TRichedits in ein TMemo übertragen?
Hallo zusammen,
Eigentlich dürfte sich die Frage nicht stellen, aber ich habe keine andere Möglichkeit gefunden als
Delphi-Quellcode:
und das kann es eigentlich nicht sein.
richedit1.lines.savetofile('C:\temp\test.txt');
memo1.lines.loadfromfile('C:\temp\test.txt'); Das folgende Konstrukt überträgt nur den reinen Text und unterschlägt die "Steuerzeichen":
Delphi-Quellcode:
Wie mach ich es richtig?
memo1.lines.addstrings(richedit1.lines);
Gruß K-H |
AW: wie kann man den Inhalt eines TRichedits in ein TMemo übertragen?
Was meinst du mit Steuerzeichen?
|
AW: wie kann man den Inhalt eines TRichedits in ein TMemo übertragen?
so etwas zum Beispiel:
{\rtf1\ansi\ansicpg1252\deff0\deflang1033{\fonttbl {\f0\fnil Tahoma;}{\f1\fnil\fcharset0 Tahoma;}} \viewkind4\uc1\pard\f0\fs16 RichEdit1 \par und ein euro zeichen: \f1\'80 \par \f0 \par } Gruß K-H |
AW: wie kann man den Inhalt eines TRichedits in ein TMemo übertragen?
Delphi-Quellcode:
procedure TfrmMain.btnCopyClick(Sender: TObject);
var Stream: TMemoryStream; begin Stream := TMemoryStream.Create; try RichEdit1.Lines.SaveToStream(Stream); Stream.Position := 0; Memo1.Lines.LoadFromStream(Stream); finally Stream.Free; end; end; |
AW: wie kann man den Inhalt eines TRichedits in ein TMemo übertragen?
.. vielleicht geht es auch so:
Delphi-Quellcode:
Grüße
Memo1.Lines.Assign(RichEdit1.Lines);
Klaus |
AW: wie kann man den Inhalt eines TRichedits in ein TMemo übertragen?
Dabei wird auch nur der PlainText übernommen.
|
AW: wie kann man den Inhalt eines TRichedits in ein TMemo übertragen?
Zitat:
Aber warum, wenn Du über den MemoryStream gehst werden auch nur die RichEdit1.lines darin abgespeichert. Grüße Klaus |
AW: wie kann man den Inhalt eines TRichedits in ein TMemo übertragen?
Nein, da ich quasi die "Rohdaten" übertrage, d.h. man sieht auch die Formatierungsanweisungen.
|
AW: wie kann man den Inhalt eines TRichedits in ein TMemo übertragen?
Zitat:
RichEdit1.lines.saveToStream Rohdaten und Memo1.lines.assign(RichEdit1.lines) nicht. Filtert Memo1 diese "Steuerdaten" aus? Grüße Klaus |
AW: wie kann man den Inhalt eines TRichedits in ein TMemo übertragen?
@deddyh
Danke das klappt, aber seltsam finde ich den "Umweg" schon. Gibt es im TRichedit parallel zu Lines ggf. eine "Formatierungsebene", die bei einem SavetoFile mit den eigentlichen Textdaten zusammen geführt wird? Gruß K-H |
AW: wie kann man den Inhalt eines TRichedits in ein TMemo übertragen?
Es scheint so (ich habe jetzt nicht den VCL-Source durchsucht). Wenn Du direkt TRichEdit.Lines in ein TStrings-Objekt kopierst, wird lediglich der PlainText übertragen, so als ob man die Property gesetzt hätte.
[edit] Wieso ist das Thema plötzlich eine offene Frage von mir :shock:? "Hab ich mich vermessen? Ich wollt doch nix kaputt machen" :stupid: [/edit] |
AW: wie kann man den Inhalt eines TRichedits in ein TMemo übertragen?
Auf was steht denn RichEdit1.PlainText?
Dieses entscheidet, was in Lines vorzufinden ist. |
AW: wie kann man den Inhalt eines TRichedits in ein TMemo übertragen?
Das macht bei mir (zumindest bei Assign) überhaupt keinen Unterschied.
|
AW: wie kann man den Inhalt eines TRichedits in ein TMemo übertragen?
.. gerade ausprobiert.
RichEdit1.PlainText:= false; in Memo1 ist nur "normaler" Text. RichEdit1.PlainText := true; in Memo1 ist nur "normaler" Text. Grüße Klaus |
AW: wie kann man den Inhalt eines TRichedits in ein TMemo übertragen?
Delphi-Quellcode:
Man könnte es auch mal so probieren, wobei es bei mir auch mit .txt ging,
richedit1.lines.savetofile('C:\temp\test.rtf');
memo1.lines.loadfromfile('C:\temp\test.rtf'); aber das RichEdit prüft beim Speichern die Dateiendung und läd, davon abhängig, unterschiedliche Converter. |
AW: wie kann man den Inhalt eines TRichedits in ein TMemo übertragen?
Es stand ja bereits im Ausgangspost, dass es mit zwischenzeitlicher Speicherung in einer Datei funktioniert. Der TE findet das aber nicht so dolle (ich übrigens auch nicht).
|
AW: wie kann man den Inhalt eines TRichedits in ein TMemo übertragen?
@Himitsu
das PlainText hat nach meiner Erfahrung nur Auswirkung beim TRichedit.LoadfromFile(). Wenn ich mich richtig erinnere kann man damit den von Dir angesprochenen Treiber-Automatismus ausbremsen. bei
Delphi-Quellcode:
bleibt übrigens auch alles beim alten.
Memo1.Lines=Richedit1.Lines
Irgendwo hab ich mal irgendetwas gelesen, daß die Richedit-Komponente von MS in drei Versionen auftaucht, W95/98 mit der 64K-Beschränkung, XP und ab Vista als fehlerbereinigte Version. Aber nichts genaues weiß ich nicht. Gruß K-H |
AW: wie kann man den Inhalt eines TRichedits in ein TMemo übertragen?
Über den Stream müßte es auch gehn. :gruebel:
Delphi-Quellcode:
PS: LoadFromFile erstellt nur einen TFileStream und liest dann über LoadFormStream. (bzw. auch andersrum)
var
S: TStream; begin //RichEdit1.PlainText := False; S := TMemoryStream.Create; RichEdit1.Lines.SaveToStream(S); S.Position := 0; Memo1.Lines.LoadFromStream(S); S.Free; end; |
AW: wie kann man den Inhalt eines TRichedits in ein TMemo übertragen?
Das hatte ich doch bereits geschrieben. Lies doch gelegentlich auch mal die anderen Beiträge :stupid:
|
AW: wie kann man den Inhalt eines TRichedits in ein TMemo übertragen?
Zitat:
|
AW: wie kann man den Inhalt eines TRichedits in ein TMemo übertragen?
Ich hab's gesehn, aber der TE anscheinend nicht.
|
AW: wie kann man den Inhalt eines TRichedits in ein TMemo übertragen?
Entschuldige, ich hab's auch gesehen (#10)
Gruß K-H |
Alle Zeitangaben in WEZ +1. Es ist jetzt 21:08 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