AGB  ·  Datenschutz  ·  Impressum  







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

formatierung von Text im TRichEdit

Ein Thema von Xeno-Sebi · begonnen am 24. Mär 2004 · letzter Beitrag vom 25. Mär 2004
Antwort Antwort
Xeno-Sebi

Registriert seit: 14. Mär 2004
Ort: Witterschlick (bei Bonn)
51 Beiträge
 
Delphi 6 Professional
 
#1

formatierung von Text im TRichEdit

  Alt 24. Mär 2004, 18:46
Hi!

Ich habe folgendes Problem: Ich ersetze in einem TRichEdit alle "<" durch "\b<" und alle ">" durch ">\b0", damit html-tags dickgedruckt ausgegeben werden.
Code:
text.text:=StringReplace(text.text, '<', '\b<', [rfIgnoreCase,rfReplaceAll]);
text.text:=StringReplace(text.text, '>', '>\b0', [rfIgnoreCase,rfReplaceAll]);
Leider wird aus "\b" dann "\\b", was dafür sorgt, dass die formatierung nicht wirkt, sondern vor dem "<" "\b" als Text ausgegeben wird.

Wenn ich es so mache:
Code:
procedure TForm1.Button1Click(Sender: TObject);
var temptext:TStringList;
Begin
temptext:=TStringList.Create;
temptext.Text:='{\rtf1\ansi\ansicpg1252\deff0\deflang1031{\fonttbl{\f0\fnil MS Sans Serif;}}\viewkind4\uc1\pard\f0\fs16';
temptext.Text:=temptext.Text+StringReplace(text.text, '<', '\b<', [rfIgnoreCase,rfReplaceAll]);
temptext.Text:=StringReplace(temptext.Text, '>', '>\b0', [rfIgnoreCase,rfReplaceAll])+'}';
temptext.SaveToFile(ExtractFilePath(Application.ExeName)+'temp.txt');
text.Lines.LoadFromFile(ExtractFilePath(Application.ExeName)+'temp.txt');
end;
geht es, aber ist es recht unelegant

kann mir vielleicht wer helfen?
  Mit Zitat antworten Zitat
Benutzerbild von fkerber
fkerber
(CodeLib-Manager)

Registriert seit: 9. Jul 2003
Ort: Ensdorf
6.723 Beiträge
 
Delphi XE Professional
 
#2

Re: formatierung von Text im TRichEdit

  Alt 24. Mär 2004, 19:02
Hi!

nur so als "Zwischenfrage":

Warum speicherst du einen RTF-formatierten Text als txt-Datei?



Ciao fkerber
Frederic Kerber
  Mit Zitat antworten Zitat
Xeno-Sebi

Registriert seit: 14. Mär 2004
Ort: Witterschlick (bei Bonn)
51 Beiträge
 
Delphi 6 Professional
 
#3

Re: formatierung von Text im TRichEdit

  Alt 24. Mär 2004, 19:09
hm...kA, hab über die Dateiendung nicht nachgedacht, aber rtf wollte ich nicht nehmen, da ich viel rumprobiert habe und, um die formatierung zu "begutachten", die Datei sowieso mit notepad öffnen musste
  Mit Zitat antworten Zitat
Benutzerbild von fkerber
fkerber
(CodeLib-Manager)

Registriert seit: 9. Jul 2003
Ort: Ensdorf
6.723 Beiträge
 
Delphi XE Professional
 
#4

Re: formatierung von Text im TRichEdit

  Alt 24. Mär 2004, 19:24
Hi!

Auf die Schnelle hab ich mal das rausbekommen:

Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
begin
richedit1.Lines.SaveTofile('text.txt');
memo1.Lines.LoadFromfile('text.txt');
memo1.text:=StringReplace(memo1.text, '<', '\b<', [rfIgnoreCase,rfReplaceAll]);
memo1.text:=StringReplace(memo1.text, '>', '>\b0', [rfIgnoreCase,rfReplaceAll]);
memo1.Lines.SaveToFile('c:\test.rtf');
end;
Verwendet:
Richedit, in das der User schreibt.
Memo, invisible, zum Text ersetzen, da kann man bestimmt noch was anderes machen.


Ciao fkerber
Frederic Kerber
  Mit Zitat antworten Zitat
Xeno-Sebi

Registriert seit: 14. Mär 2004
Ort: Witterschlick (bei Bonn)
51 Beiträge
 
Delphi 6 Professional
 
#5

Re: formatierung von Text im TRichEdit

  Alt 25. Mär 2004, 08:12
hm...
also das entspricht im prinzip meiner Lösung...Ich wollte eigentlich verhindern, die Datei zu speichern, da das später nicht per button1.click, sondern durch einen timer geschehen soll. Da das andauernde speichern aber ziemlich auf die systemresourcen gehen kann, wollte ich das richtextformat manuell benutzen, ohne diesen "speicher-lade-weg" zu benutzen
  Mit Zitat antworten Zitat
Benutzerbild von fkerber
fkerber
(CodeLib-Manager)

Registriert seit: 9. Jul 2003
Ort: Ensdorf
6.723 Beiträge
 
Delphi XE Professional
 
#6

Re: formatierung von Text im TRichEdit

  Alt 25. Mär 2004, 13:25
Hi!

Versuch vielleicht mal das ganze mit Streams zu machen. Wär vielleicht eine Idee.

Ciao fkerber
Frederic Kerber
  Mit Zitat antworten Zitat
Xeno-Sebi

Registriert seit: 14. Mär 2004
Ort: Witterschlick (bei Bonn)
51 Beiträge
 
Delphi 6 Professional
 
#7

Re: formatierung von Text im TRichEdit

  Alt 25. Mär 2004, 14:30
lol hab ich auch schon versucht...recht erbärmliches ergebnis, aba das liegt nur daran, dass ich noch nie mit streams geabreitet habe und so nur runtimefehler rauskamen, die ich nicht gecheckt habe...werde mir wohl mal ein paar tuts dazu angucken müssen^^
  Mit Zitat antworten Zitat
Xeno-Sebi

Registriert seit: 14. Mär 2004
Ort: Witterschlick (bei Bonn)
51 Beiträge
 
Delphi 6 Professional
 
#8

Re: formatierung von Text im TRichEdit

  Alt 25. Mär 2004, 15:11
ICH HABS!!!!


falls es jemdanden interessiert:
Code:
procedure TForm1.Button1Click(Sender: TObject);
var codetext:TRichEdit;
Begin
codetext:=TRichEdit.Create(Form1);
codetext.PlainText:=true;
codetext.text:='{\rtf1\ansi\ansicpg1252\deff0\deflang1031{\fonttbl{\f0\fnil MS Sans Serif;}}\viewkind4\uc1\pard\f0\fs16';
codetext.text:=codetext.text+StringReplace(text.text, '<', '\b<', [rfIgnoreCase,rfReplaceAll]);
codetext.text:=StringReplace(codetext.text, '>', '>\b0', [rfIgnoreCase,rfReplaceAll]);
codetext.text:=StringReplace(codetext.text, chr(13), '\par', [rfIgnoreCase,rfReplaceAll])+'}';
text.text:=codetext.text;
end;
  Mit Zitat antworten Zitat
Antwort Antwort


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 23:53 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