![]() |
Richedittext nach Richedit ?
hallo,
wie kann ich einen richedittext in ein anderes richedit laden ? mfg vader |
Re: Richedittext nach Richedit ?
Hi!
Wie wärs mit einem Stream? Es gibt doch SaveToStream und LoadFromStream, oder? Ciao Frederic |
Re: Richedittext nach Richedit ?
Delphi-Quellcode:
:mrgreen:
Richedit2.Lines.Add(Richedit1.Text);
|
Re: Richedittext nach Richedit ?
hallo,
Delphi-Quellcode:
das funzt, aber ich hab jetzt ein problem, ich habe das eine richedit auf der form1 und das andere
Richedit2.Lines.Add(Richedit1.Text);
richedit auf der form2, wie kann ich jetzt den text von richedit1 ( form1 ) zu richedit 2 (form 2 ) laden ? mfg vader |
Re: Richedittext nach Richedit ?
Einfach die Units einbinden (uses Unit2) und über
Delphi-Quellcode:
darauf zugreifen.
Form2.RichEdit.
|
Re: Richedittext nach Richedit ?
hallo,
danke, das schaut gut aus ! mfg vader |
Re: Richedittext nach Richedit ?
upps,
es funzt, aber jetzt habe ich den text in den einen richedit formatiert ( eine zeile schriftfarbe "rot" ), und wenn ich
Delphi-Quellcode:
ausführe, nimmt die formatierung nicht zum anderen richedit mit, oje, ist das irgenwie möglich ?
form2.Richedit1.Lines.Add(Richedit1.Text);
mfg vader |
Re: Richedittext nach Richedit ?
HI!
Versuchs mal mit den Streams. Ciao Frederic |
Re: Richedittext nach Richedit ?
wenn alles Rot ist machs halt einfach mit:
Delphi-Quellcode:
oder doch nicht *grübel*
procedure TForm1.FormCreate(Sender: TObject);
begin RichEdit1.Font.Color:=clRed; end; |
Re: Richedittext nach Richedit ?
hallo,
nein es ist nicht alles rot, hast du ein beispiel mit den streams ? mfg vader |
Re: Richedittext nach Richedit ?
Zitat:
![]() Grüße Philipp |
Re: Richedittext nach Richedit ?
|
Re: Richedittext nach Richedit ?
hallo,
von einen richedit zu einen anderen richedit mit stream ist kein problem, aber ich möchte von mehreren richedit's ein savestream machen und diesen datenstream dann in ein einziges richedit wieder laden und das geht nicht er speichert die einzelnen texte von 3 richedit's, das klappt !
Delphi-Quellcode:
aber er ladet die 3 texte nicht in ein einzelnes richedit zurück, sondern nur den ersten stream (RichEdit1.Lines.SaveToStream(Stream)
procedure TForm1.saveclick(Sender: TObject);
var Stream: TFileStream; begin try if SaveDialog1.Execute then begin try Stream := TFileStream.Create(SaveDialog1.FileName, fmCreate or fmShareExclusive); RichEdit1.Lines.SaveToStream(Stream); RichEdit2.Lines.SaveToStream(Stream); RichEdit3.Lines.SaveToStream(Stream); finally Stream.Free; Stream := nil; end; end; except Form1.Close; end; end;
Delphi-Quellcode:
geht das überhaupt ?
procedure TForm2.ladenClick(Sender: TObject);
var Stream: TFileStream; begin try if OpenDialog1.Execute then begin try Stream := TFileStream.Create(OpenDialog1.FileName, fmOpenRead or fmShareDenyWrite); RichEdit1.Lines.LoadFromStream(Stream); finally Stream.Free; Stream := nil; end; end; except Form1.Close; end; end; mfg vader |
Re: Richedittext nach Richedit ?
Hallo Vader.
Zitat:
Zitat:
Der Hintergrund ist, dass eine RTF-Datei einen Aufbau hat, der eine einfache Verkettung nicht zulässt. Genau das versuchst du aber mit deinen Streams. Grüße vom marabu |
Re: Richedittext nach Richedit ?
gibt es eine andere lösung ?
mfg vader |
Re: Richedittext nach Richedit ?
Zitat:
Mfg, Flare |
Re: Richedittext nach Richedit ?
Zitat:
marabu |
Re: Richedittext nach Richedit ?
hallo,
habe probleme mit der unit tom, compilert nicht ! mfg vader |
Re: Richedittext nach Richedit ?
Du hast in der Eile vergessen den Compiler-Fehler mitzuteilen.
marabu |
Re: Richedittext nach Richedit ?
[Fehler] tom.pas(64): Ungültige Compileranweisung: 'VARPROPSETTER'
[Fataler Fehler] Unit1.pas(8): Verwendete Unit 'TOM.pas' kann nicht compiliert werden mfg vader |
Re: Richedittext nach Richedit ?
hallo flare,
wie soll ich eine datei machen, wie meinst du das, eine .txt datei oder was ? mfg vader |
Re: Richedittext nach Richedit ?
Vader, wenn du deine Delphi-Version in deinem Profil einträgst, dann erübrigen sich Rückfragen wie: Mit welcher Delphi-Version arbeitest du?
Wenn ich dein Problem im Zusammenhang mit deinen anderen threads der jüngeren Zeit sehe, dann komme ich zu dem Schluss, dass auch dein aktuelles Problem hausgemacht ist. Wenn es immernoch um die Überleitung nach Excel geht, dann gibt es eigentlich keinen Grund für die Datenübernahme aus einem oder mehreren RichEdit Controls. Alle Formatierungen lassen sich über Excel Automation erledigen. Aber vielleicht arbeitest du ja gerade an etwas ganz anderem. marabu |
Re: Richedittext nach Richedit ?
hallo,
das ist schon ein anderes project, hat mit excel nichts zu tun ! mfg vader |
Re: Richedittext nach Richedit ?
Zitat:
Flare |
Re: Richedittext nach Richedit ?
Hallo Vader!
Wenn Du einen RichEdit-Text in ein anderes RichEdit einfügen willst, gehe doch über TStringStream!
Delphi-Quellcode:
und der Inhalt des reQuelle ist an der aktuellen Position in reZiel. Vorher natürlich SelStart auf die Einfügeposition und SelLength auf 0 setzen - oder den passenden Wert, wenn der eingefügte Text etwas ersetzen soll.
var
stream: TStringStream; begin stream := TStringStream.Create (''); try reQuelle.Lines.SaveToStream (stream); reZiel.SelText := stream.DataString; finally stream.Free; end; end; Befindet sich der einzufügende Text in einer Datei, muß diese in einen FileStream eingelesen und in den StringStream kopiert werden. (der Source ist direkt ins Forum getippelt, also keine Haftung für TappsFauler!) Gruß Dietmar Brüggendiek |
Re: Richedittext nach Richedit ?
hallo,
mit der .txt datei , das funzt nicht ! mfg vader |
Re: Richedittext nach Richedit ?
hallo Brüggendiek,
wenn du den beitrag #13 liest, will ich ja von mehreren richedit's die daten in ein anderes einziges richedit laden, meinst du dein code kann das , ich werd aus dem code nicht schlau ? mfg vader |
Re: Richedittext nach Richedit ?
Hallo Vader,
die Unit TOM aus dem von mir angegebenen Archiv wurde mit D7 erstellt. Erstelle sie mit TLIBIMP für dein D6, dann sollte sie sich auch übersetzen lassen. Formatierte Texte aus verschiedenen RichEdit Controls kannst du dann so angehen:
Delphi-Quellcode:
Grüße vom marabu
uses
TOM, RichEdit, RichOle; procedure RichAppend(reSource, reTarget: TRichEdit); var u: IUnknown; reoSource, reoTarget: IRichEditOle; tdSource, tdTarget: ITextDocument; trSource, trTarget: ITextRange; begin SendMessage(reSource.Handle, EM_GETOLEINTERFACE, 0, Integer(@u)); u.QueryInterface(IID_IRICHEDITOLE, reoSource); tdSource := reoSource as ITextDocument; trSource := tdSource.Range(0, MaxInt); SendMessage(reTarget.Handle, EM_GETOLEINTERFACE, 0, Integer(@u)); u.QueryInterface(IID_IRICHEDITOLE, reoTarget); tdTarget := reoTarget as ITextDocument; trTarget := tdTarget.Range(MaxInt, MaxInt); trTarget.FormattedText := trSource.FormattedText; end; |
Re: Richedittext nach Richedit ?
hallo marabu,
[/quote] Erstelle sie mit TLIBIMP für dein D6, dann sollte sie sich auch übersetzen lassen.[quote] wie geht das ? mfg vader |
Re: Richedittext nach Richedit ?
Hilft dir das?
Code:
marabu
set d6=c:\programme\borland\delphi6
set re20=%windir%\system32\riched20.dll %d6%\bin\tlibimp -Fe- -D%d6%\imports %re20% set d6= set re20= |
Re: Richedittext nach Richedit ?
upps,
verdammt das ist zu hoch für mich,kann überhaupt nicht's damit anfangen ! mfg vader |
Re: Richedittext nach Richedit ?
Öffne ein Konsolfenster und führe die Befehle einzeln aus - oder schreibe sie in eine Datei TOM.CMD und führe diese aus. Die Pfadnamen musst du an deine Verhältnisse anpassen.
marabu |
Re: Richedittext nach Richedit ?
hallo marabu,
ich habe auch delphi 2005 personal auf meiner kiste laufen, geht das dort ? mfg vader |
Re: Richedittext nach Richedit ?
Das sollte so oder ähnlich mit jedem Delphi gehen. Was geht den bei D6 nicht? Gibt es Fehlermeldungen?
marabu |
Re: Richedittext nach Richedit ?
nein, du hast mich falsch verstanden, ich werde es auf delphi 2005 personal probieren zu kompilieren
die unit tom mfg vader |
Re: Richedittext nach Richedit ?
Hallo Vader!
Zitat:
Warum probierst Du es nicht einfach aus und schaust die entsprechenden Dinge in der OH nach? Kleiner Tipp: Den StringStream für jedes RichEdit neu erstellen und die Teile rückwärts (also den letzten zuerst) einfügen, dann kommst Du mit SelStart:=0 ohne langes Suchen auf die Einfügestelle. Gruß Dietmar Brüggendiek |
Re: Richedittext nach Richedit ?
Eine ganz ähnliche Frage gab's
![]() |
Re: Richedittext nach Richedit ?
hallo Brüggendiek ,
du schreibst Zitat:
Delphi-Quellcode:
mfg vader
procedure TForm1.Button2Click(Sender: TObject);
var stream: TStringStream; begin stream := TStringStream.Create (''); try richedit1.Lines.SaveToStream (stream); richedit2.Lines.SaveToStream (stream); richedit3.SelText := stream.DataString; finally stream.Free; end; end; |
Re: Richedittext nach Richedit ?
Hallo Vader!
Warum führts Du nicht aus, was ich Dir geraten habe? Zitat:
Delphi-Quellcode:
Gruß
procedure TForm1.Button2Click(Sender: TObject);
var stream: TStringStream; begin richedit3.SelStart := 0; //diese beiden Anweisungen, damit am Anfang eingefüg wird richedit3.SelLength := 0; //Der Anwender könnte ja die Position verstellt haben stream := TStringStream.Create (''); try richedit2.Lines.SaveToStream (stream); richedit3.SelText := stream.DataString; finally stream.Free; end; stream := TStringStream.Create (''); try richedit1.Lines.SaveToStream (stream); richedit3.SelText := stream.DataString; finally stream.Free; end; end; Dietmar Brüggendiek |
Re: Richedittext nach Richedit ?
hallo Brüggendiek,
supertoll, so funzt das! herzlichen dank ! mfg vader |
Alle Zeitangaben in WEZ +1. Es ist jetzt 11:44 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