Delphi-PRAXiS
Seite 1 von 2  1 2      

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/)
-   -   Memo / RichEdit for HTML export (https://www.delphipraxis.net/207678-memo-richedit-html-export.html)

Youuuu 22. Apr 2021 07:57

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

TigerLilly 22. Apr 2021 08:49

AW: Memo / RichEdit for HTML export
 
HTML Components
https://www.delphihtmlcomponents.com/

Redeemer 23. Apr 2021 18:38

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.

Rollo62 23. Apr 2021 19:34

AW: Memo / RichEdit for HTML export
 
Zitat:

Zitat von Redeemer (Beitrag 1487709)
Ich hab mir kürzlich so ein Ding geschrieben, ...

Ja das wollte ich auch noch, basierend auf diesem schönen TTextLayout für FMX, und mal austesten was da Alles geht.
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.

KodeZwerg 26. Apr 2021 17:22

AW: Memo / RichEdit for HTML export
 
Zitat:

Zitat von Redeemer (Beitrag 1487709)
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.

Ich würde mich freuen da ich so etwas benötige: "Stelle ab charakter-position die Farbe auf clWasAnderes um" und ich mich mit RichEdit irgendwie zu doof anstelle. Falls Deines so etwas kann, bitte lade hoch, Dankeschön!

Redeemer 26. Apr 2021 17:34

AW: Memo / RichEdit for HTML export
 
Geht das nicht so?
Delphi-Quellcode:
SelLength := High(Integer);
SelAttributes.Color := clIrgendwas;

KodeZwerg 26. Apr 2021 17:53

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

Delphi.Narium 26. Apr 2021 18:18

AW: Memo / RichEdit for HTML export
 
Delphi-Quellcode:
SelLength := High(Integer);
= Die Länge des auszuwählenden Textes wird auf die maximal mögliche Länge gesetzt. Das passiert ab der aktuellen Position.

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:
SelAttributes.Color := clIrgendwas;
= Ab der aktuellen Position wird alles ab dieser Ausgewählte mit dem angegebene Attribut "gestaltet".

Das entspricht (für mein Verständnis) dem:
Zitat:

... da ich so etwas benötige: "Stelle ab charakter-position die Farbe auf clWasAnderes um"

KodeZwerg 26. Apr 2021 18:24

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:
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;
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.
Es tut mir leid für diesen zwischen-request innerhalb eines fremd threads!

Delphi.Narium 26. Apr 2021 18:48

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;


Alle Zeitangaben in WEZ +1. Es ist jetzt 14:20 Uhr.
Seite 1 von 2  1 2      

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