![]() |
Memo / RichEdit for HTML export
Hi,
ich suche eine Komponente, ähnlich dem OutlookEditor, in dem ich Text farblich gestalten und stylen kann (fett, usw.), welcher dann den gestalteten Text als HTML string ausgeben kann. Gibt es solch eine Komponente bereits, gerne auch kostenpflichtige. Grüße |
AW: Memo / RichEdit for HTML export
|
AW: Memo / RichEdit for HTML export
Ich hab mir kürzlich so ein Ding geschrieben, das fett/kursiv/unterstrichen/durchgestrichen, Farbe und Aufzählungen in einem Standard-TRichEdit von/zu HTML wandelt. Schriftgröße ist nicht drin, weil das bei Bildschirmskalierung komisch arbeitet, und ich das Feature nicht brauche.
Falls Bedarf besteht, kann ich es mal hochladen. |
AW: Memo / RichEdit for HTML export
Zitat:
![]() Es ist aber wohl kein Editor, sondern nur die Ausgabe. Ich fürchte das es sowas für VCL nicht gibt, beziehungsweise dass man das nicht irgendwie für FMX/VCL nutzen könnte. Muss ich noch reinschauen, ist aber definitv auf der Todo Liste. |
AW: Memo / RichEdit for HTML export
Zitat:
|
AW: Memo / RichEdit for HTML export
Geht das nicht so?
Delphi-Quellcode:
SelLength := High(Integer);
SelAttributes.Color := clIrgendwas; |
AW: Memo / RichEdit for HTML export
Ich bereite mal eine kleine Demo vor und erstelle neuen Thread um den hier nicht mit meinen problem zuzumüllen. Deinen Tipp verstehe ich so nicht ganz. @Redeemer
|
AW: Memo / RichEdit for HTML export
Delphi-Quellcode:
= Die Länge des auszuwählenden Textes wird auf die maximal mögliche Länge gesetzt. Das passiert ab der aktuellen Position.
SelLength := High(Integer);
Statt High(Integer) könnte man auch 2147483647 schreiben, muss aber, falls sich der Maximalwert für Integer mal ändern, den Quelltext anpassen ;-)
Delphi-Quellcode:
= Ab der aktuellen Position wird alles ab dieser Ausgewählte mit dem angegebene Attribut "gestaltet".
SelAttributes.Color := clIrgendwas;
Das entspricht (für mein Verständnis) dem: Zitat:
|
AW: Memo / RichEdit for HTML export
Mein Problem ist gelöst @Reedemer, habe es so versucht wie Du meintest, funzt!
Danke für den Nachtrag @Delphi.Narium!!
Delphi-Quellcode:
So nutze ich es nun, bestimmt nicht schön aber macht erstmal alles so wie ich es wollte. Flackert ganz schön dolle, mal sehen was ich da noch rausholen kann.
procedure TfrmMain.reMainChange(Sender: TObject); // reMain = RichEdit
var Len: Integer; begin try Len := StrToInt(edtPosition.Text); // edtPosition = Editfeld mit Positionsangabe except Len := 25; edtPosition.Text := '25'; end; if Length(reMain.Text) >= Len then begin reMain.SelStart := Len; reMain.SelLength := Length(reMain.Text); reMain.SelAttributes.Color := clGreen; reMain.SelStart := Length(reMain.Text); reMain.SelLength := 0; end; end; Es tut mir leid für diesen zwischen-request innerhalb eines fremd threads! |
AW: Memo / RichEdit for HTML export
Delphi-Quellcode:
procedure TfrmMain.reMainChange(Sender: TObject); // reMain = RichEdit
var Len : Integer; LenText : Integer; begin Len := StrToIntDef(edtPosition.Text,25); // edtPosition = Editfeld mit Positionsangabe edtPosition.Text := IntToStr(Len); LenText := Length(reMain.Text); // Wird (eventuell) mehrfach benötigt, ermitteln wir nur einmal. if LenText >= Len then begin reMain.SelStart := Len; reMain.SelLength := LenText; // Soll wohl der restliche Text sein, dann geht auch: reMain.SelLength := High(Integer); reMain.SelAttributes.Color := clGreen; reMain.SelStart := LenText; // Soll wohl das Ende des Textes sein, dann geht auch diesmal: reMain.SelStart := High(Integer); reMain.SelLength := 0; end; end; |
AW: Memo / RichEdit for HTML export
Zitat:
Grüße TurboMagic |
AW: Memo / RichEdit for HTML export
Wenn ich bin zum Ende markieren will, würde ich wirklich einfach High(Integer) nehmen, anstatt mit viel Rechenzeit irgendeine Zahl zu ermitteln, die sowieso größergleich der Restlänge ist und sich deshalb genau wie High(Integer) verhält.
Zeug zwischen Plaintext und RTF zu konvertieren wird Rechenleistung benötigen und der String, aus dem am Ende nur die Länge berechnet wird, muss auch irgendwo gespeichert werden. Ich sehe somit absolut keinen Vorteil darin, irgendwas anderes als High(Integer) zu nehmen. |
AW: Memo / RichEdit for HTML export
Zitat:
Delphi-Quellcode:
)
const MaxInt = High(Integer);
|
AW: Memo / RichEdit for HTML export
Ihr habt beide Recht! Danke für diese freundliche Unterstützung trotz falschem Threads (Entschuldigung fürs reinplatzen!)
|
AW: Memo / RichEdit for HTML export
Zitat:
|
AW: Memo / RichEdit for HTML export
Liste der Anhänge anzeigen (Anzahl: 1)
Auf Wunsch per E-Mail, hier die Methoden zum Konvertieren von fett/kursiv/unterstrichen/durchgestrichen, Farbe und Aufzählungen in einem Standard-TRichEdit von/zu HTML...
Ich hoffe, es sind alle benötigten Units drin. Interessant sind nur die Methoden aus RedeemerRichEditHTML. |
AW: Memo / RichEdit for HTML export
Der Code aus dem vorherigen Post ist jetzt
![]() |
Alle Zeitangaben in WEZ +1. Es ist jetzt 09:31 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