AGB  ·  Datenschutz  ·  Impressum  







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

RichEdit: Formatierung finden

Ein Thema von tr909 · begonnen am 16. Okt 2006 · letzter Beitrag vom 16. Okt 2006
Antwort Antwort
tr909

Registriert seit: 5. Nov 2004
193 Beiträge
 
Turbo Delphi für Win32
 
#1

RichEdit: Formatierung finden

  Alt 16. Okt 2006, 10:52
So, ich brauche einen simplen Rtf->Html Export (brauch´s eigentlich nur für bold und kursiv). Nun habe ich folgendes zusammengebastelt:
Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
var
  i : integer;
  leng : integer;
  boldin : boolean;
  boldout : boolean;
begin
  RichEdit1.SelectAll;
  leng := RichEdit1.SelLength;
  boldin := false;
  boldout := false;
  for i := 1 to leng do
  begin
    RichEdit1.SelStart := i;
    RichEdit1.SelLength := 1;
    boldout := true;
    if fsbold in RichEdit1.SelAttributes.Style then
      begin
        boldout := false;
        if not boldin then
          RichEdit1.SelText := '[b]'+RichEdit1.SelText;
        boldin := true;
      end;
    if boldin then
      if boldout then
      begin
        RichEdit1.SelText := RichEdit1.SelText+'[/b]';
        boldin := false;
      end;
  end;
end;
Meine Frage ist nun, ob es noch eleganter geht, bzw ob es eine Suchfunktion für Formatierungen in RTF gibt?

Gruß
tr909
  Mit Zitat antworten Zitat
Jürgen Thomas

Registriert seit: 13. Jul 2006
Ort: Berlin
750 Beiträge
 
#2

Re: RichEdit: Formatierung finden

  Alt 16. Okt 2006, 11:23
Hallo,

schau Dir doch einmal eine (möglichst kleine) RTF-Datei in Notepad o.ä. an. Dann wirst Du erkennen:
  • Alle zusammengehörenden Abschnitte beginnen mit '{' und enden mit '}'.
  • bold wird in einem solchen Abschnitt eingeleitet von '\b' und endet mit dem Abschnitt.
  • italic beginnt analog mit '\i' und endet mit dem Abschnitt.
Theoretisch kannst Du das ebenso analysieren (und alle anderen Codierungen rausschmeißen).

Ich vermute, Deine Funktion geht einfacher und läuft schneller; also bau' das weiter aus.

Gruß Jürgen
#D mit C# für NET, dazu Firebird
früher: Delphi 5 Pro, Delphi 2005 Pro mit C# (also NET 1.1)
Bitte nicht sauer sein, wenn ich mich bei Delphi-Schreibweisen verhaue; ich bin inzwischen an C# gewöhnt.
  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 14:51 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