Delphi-PRAXiS

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 Richedit Quellcode lesen (https://www.delphipraxis.net/137851-richedit-quellcode-lesen.html)

Chefx 29. Jul 2009 17:39


Richedit Quellcode lesen
 
Hallo DBs,

Ich hab ne frage nämlich wie kann ich den Quelltext von einer Richedit lesen?
Also RTF-Dateien bestehen ja aus diesen Quellcode:
Code:
{\rtf
{\fonttbl{\f0\fcharset0 Courier New;}}
{\colortbl ;\red0\green128\blue0;}

\f0
\cf1\i\{text1\}\i0\cf0  und \cf1\{text2\}\cf0\par
\f1

}
wenn man das in einer Richedit anzeigen lässt zieht das so aus:
Zitat:

{text1} und {text2}
Würde man das mit :
Delphi-Quellcode:
text:=richedit.text;
in die Variable(text) einfügt und dann das in Memo anzeigen läst ist zwar der
Text in dem Memo aber nicht der Code!
Wie kann ich das aus dem Richedit diesen Quellcode lesen? :gruebel:

danke für antworten

turboPASCAL 29. Jul 2009 18:04

Re: Richedit Quellcode lesen
 
zB so:
Delphi-Quellcode:
procedure ...
var
  ms: TMemoryStream;
begin
  richedit1.SelAttributes.Style := [fsbold];
  richedit1.Lines.Add('Bla');

  ms := TMemoryStream.Create;
  try
    richedit1.Lines.SaveToStream(ms);
    ms.Position :=0;
    memo1.Lines.LoadFromStream(ms);
  finally
    ms.Free;
  end;
end;

Chefx 29. Jul 2009 20:18

Re: Richedit Quellcode lesen
 
danke funktioniert super!


Geht diese Funktion vielleicht noch schneller zumachen(denke ich zwar nicht)?
Ist bloß noch ne frage:?:

Chefx 29. Jul 2009 21:17

Re: Richedit Quellcode lesen
 
Kann man das auch mit einer Variable machen?

Ralf Kaiser 29. Jul 2009 21:23

Re: Richedit Quellcode lesen
 
Zitat:

Zitat von Chefx
Kann man das auch mit einer Variable machen?

Ja. Anstatt Memo.Lines kannst du auch einfach eine TStringList nehmen.

Chefx 29. Jul 2009 21:41

Re: Richedit Quellcode lesen
 
warum kann ich nicht auf Text in der Tstringlist zugreifen?
Delphi-Quellcode:
procedure ...;
var
  ms: TMemoryStream;
  strl:tstringlist;
begin
  strl.Text:='hallo';
  ms := TMemoryStream.Create;
  try
    strl.SaveToStream(ms);
    ms.Position :=0;
    richedit1.Lines.LoadFromStream(ms);
  finally
    ms.Free;
  end;
end;

Ralf Kaiser 29. Jul 2009 21:48

Re: Richedit Quellcode lesen
 
Da fehlt dann wohl ein:

Delphi-Quellcode:
str1 := TStringList.Create;
Du musst Objekte immer erzeugen bevor du mit ihnen arbeitest!

Ach ja, und hinterher das hier nicht vergessen:

Delphi-Quellcode:
str1.Free;

Chefx 29. Jul 2009 22:02

Re: Richedit Quellcode lesen
 
Alfi001 und
turboPASCAL
danke für eure antworten :thumb: :thumb: :thumb:


Alle Zeitangaben in WEZ +1. Es ist jetzt 00:00 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