Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi richedit formatieren (https://www.delphipraxis.net/66136-richedit-formatieren.html)

Nisbo 25. Mär 2006 12:32


richedit formatieren
 
gesucht im gesamten forum mit: richedit formatieren aber in den 5 ergebnissen nichts gefunden, bei google hatte ich es auch schon mal versucht genau wie in einem anderen board :D

also ich habe ein RichEdit und es geht darum die ausgabe wie syntaxhighlighting zu formatieren, schön wäre es wenn es da schon was fertiges geben würde :D aber ich gebe mich auch erstmal mit einer einfachen variante zufrieden

ich habe bis jetzt diesen code

Delphi-Quellcode:
RichEdit2.Lines.Clear;
RichEdit2.SelAttributes.Color := clgreen;
RichEdit2.Lines.Add('// START - ' + Edit4.Text) ;
RichEdit2.SelAttributes.Color := clblack;
RichEdit2.Lines.Add('if(' + dateiname + proficode + '){');
RichEdit2.SelAttributes.Color := clblack;
RichEdit2.Lines.Add('   $var_rl = "' + links_rechts + '";') ;
RichEdit2.SelAttributes.Color := clblack;
RichEdit2.Lines.Add('   $var_id = "' + Edit1.Text + '";');
RichEdit2.SelAttributes.Color := clblack;
RichEdit2.Lines.Add('}');
RichEdit2.SelAttributes.Color := clgreen;
RichEdit2.Lines.Add('// ENDE - ' + Edit4.Text);
in den variabeln bzw Tedits ist nur text drinn
so wie es jetzt ist kann ich ganze zeilen farbig oder fett schreiben aber nicht einzelne wörter

und genau das ist meine frage wie man z.b. sowas hinbekommt das das if blau ist, der $ zeichenauch blau, die klammern z.b. braun usw

Bsp:
if($name == "test"){

pacman1986 25. Mär 2006 12:34

Re: richedit formatieren
 
SelStart
SelLength

Die Muhkuh 25. Mär 2006 12:37

Re: richedit formatieren
 
Zitat:

Zitat von Nisbo
schön wäre es wenn es da schon was fertiges geben würde :D

Hier im Forum suchenSynEdit
Bei Google suchenSynEdit

Nisbo 25. Mär 2006 12:40

Re: richedit formatieren
 
Zitat:

Zitat von pacman1986
SelStart
SelLength

also ein kleines bsp an einer zeile aus meinem wäre mir da lieber um den zusammenhang besser zu verstehen, denn sowas steht auch in der delphie hilfe und in diesem ominösen demo-editor im demo-verzeichnis ;)

@ Spider

thx ich schau mal

pacman1986 25. Mär 2006 12:44

Re: richedit formatieren
 
Delphi-Quellcode:
 with richedit1 do begin
            Selstart := length(richedit1.Lines[0])+2;   //+2 Für #13 und glaub #10
            Sellength := length(richedit1.Lines[1])+2;  
            SelAttributes.Color := clGreen;
            SelAttributes.Style := [fsBold];
          end;
          richedit1.lines.add('blub')
SelStart setzt den Startpunkt
SelLength die Länge der zu Formatierenden Textes

Nisbo 25. Mär 2006 16:47

Re: richedit formatieren
 
Liste der Anhänge anzeigen (Anzahl: 1)
habe es jetzt mit synedit hinbekommen, thx nochmal an Spider, synedit ist echt klasse
habe da jetzt nur noch ein problem und zwar möchte ich noch das dollarzeichen blau darstellen
also nur das dollarzeichen, der rest soll Teal bleiben

Bsp:
$name

momentan ist es noch so
$name

im anhang meine einstellungen

user0815 20. Apr 2010 14:45

Re: richedit formatieren
 
Text im RichEdit mehrfarbig und / oder Formatiert ausgeben.

Delphi-Quellcode:
  RichEdit1.SelAttributes.Color := clRed;
  RichEdit1.SelText := 'Text rot';
  RichEdit1.ClearSelection;

  RichEdit1.SelAttributes.Color := clBlue;
  RichEdit1.SelText := 'Text blau';
  RichEdit1.ClearSelection;

  RichEdit1.SelAttributes.Color := clBlack;
  RichEdit1.SelText := 'Text schwarz';
  RichEdit1.ClearSelection;

  RichEdit1.Lines.Append('');

  RichEdit1.SelAttributes.Color := clGreen;
  RichEdit1.SelAttributes.Style := [fsBold];
  RichEdit1.SelText := 'Text FETT';
  RichEdit1.ClearSelection;

  RichEdit1.SelAttributes.Color := clMaroon;
  RichEdit1.SelAttributes.Style := [fsUnderline];
  RichEdit1.SelText := 'ENDE';
  RichEdit1.ClearSelection;

  RichEdit1.Lines.Append('');

Die Muhkuh 20. Apr 2010 17:21

Re: richedit formatieren
 
Ob ihn das nach vier Jahren noch interessiert? :zwinker:

sgbSoftwareEntwickler 1. Mär 2011 12:13

AW: richedit formatieren
 
Zitat:

Zitat von Die Muhkuh (Beitrag 1015908)
Ob ihn das nach vier Jahren noch interessiert? :zwinker:

Ja, interessiert.

Vielen Dank user0815

Gonzo123 26. Jul 2011 13:00

AW: richedit formatieren
 
dito 8)

auch wenns den Ursprungsposter vermutlich nicht mehr jucken wird - es gibt noch genug andere (RichEdit-)Noobs auf dieser Welt ;)

S.pas.s 16. Aug 2011 13:38

AW: richedit formatieren
 
Ich fands interessant und solange es Google findet, ist es für andere auch wertvoll.

Ich habs ausprobiert und fand, nachdem ich mich gefragt hatte, wozu das

"RichEdit1.ClearSelection;"

eigentlich da ist, dass es gar nicht nötig ist. Der Code geht genauso:

Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
begin
  RichEdit1.SelAttributes.Color := clRed;
  RichEdit1.SelText := 'Text rot ';

  RichEdit1.SelAttributes.Color := clBlue;
  RichEdit1.SelText := 'Text blau ';

  RichEdit1.SelAttributes.Color := clGreen;
  RichEdit1.SelText := 'Text schwarz';

  RichEdit1.Lines.Append('');

  RichEdit1.SelAttributes.Color := clBlack;
  RichEdit1.SelAttributes.Style := [fsBold];
  RichEdit1.SelText := 'Text FETT';

  RichEdit1.SelAttributes.Color := clMaroon;
  RichEdit1.SelAttributes.Style := [fsUnderline];
  RichEdit1.SelText := ' ENDE';

  RichEdit1.Lines.Append('');
end;

DieFliege 6. Aug 2013 17:44

AW: richedit formatieren
 
Liste der Anhänge anzeigen (Anzahl: 2)
Hallo Delphi-PRAXIS-Gemeinde,

auch wenn dieses Thema schon ein paar Tage alt ist, habe ich ein Problem, was hierzu passt:

Mein Ziel:

Ich möchte ein Dokument per Delphi erstellen, was ich in einer RTF-Datei speichern und später wieder aufrufen/bearbeiten kann. Dazu verwende ich RichEdit. Die Speicherung und Öffnung stellt kein Problem dar. Das Dokument soll aber ein bestimmtes Layout haben, welches ich mit Labels & Edit ergänzen möchte. Auch hier ist soweit kein Problem.

Nun möchte ich aber im RichEdit selbst den Text noch formatieren können. Auch dies stellt eigentlich kein Problem dar, solang ich nicht das erste Wort in der RichText-Box formatiere. Sobald ich dies mache, werden auch die Texte aus den Edit & Labels entsprechend formatiert. Ich vermute, ich habe irgendwo nur einen kleinen Denkfehler, leider finde ich ihn nicht :-(

Zum besseren Verständnis habe ich einmal Screenshots und den Quelltext dazu angefügt.

Über etwas Hilfe wäre ich sehr dankbar.

LG Micha



Hier der Quelltext zum Speichern:
Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
begin
    RichEdit1.Lines.BeginUpdate;
    RichEdit1.Lines.Insert(0, Label1.Caption + ' ' + Edit1.Text);
    RichEdit1.Lines.Insert(1, Label2.Caption + ' ' + Edit2.Text);
    RichEdit1.Lines.Insert(2, '');
    RichEdit1.Lines.SaveToFile('D:\richedit-datei.rtf');
    RichEdit1.Lines.EndUpdate;
end;

So formatiere ich den Text im RichEdit:
Delphi-Quellcode:
procedure TForm1.Button2Click(Sender: TObject);
begin
    RichEdit1.SelAttributes.Style := [fsBold];

end;

Volker Z. 6. Aug 2013 20:02

AW: richedit formatieren
 
Hallo,

ich weiß nicht, ob ich Dein Problem richtig verstanden habe; Du kannst es mal so versuchen:
Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
begin
  try
    RichEdit1.Lines.BeginUpdate;
    RichEdit1.SelStart := 0;
    RichEdit1.SelAttributes.Style := [];
    RichEdit1.SelText := sLineBreak;
    RichEdit1.Lines.Insert(0, Label1.Caption + ' ' + Edit1.Text);
    RichEdit1.Lines.Insert(1, Label2.Caption + ' ' + Edit2.Text);
    RichEdit1.Lines.SaveToFile('D:\richedit-datei.rtf');
  finally
    RichEdit1.Lines.EndUpdate
  end
end;
Gruß

DieFliege 6. Aug 2013 20:38

AW: richedit formatieren
 
Hallo Volker,

vielen Dank für Deine Hilfe! Nun funktioniert es wie es soll. Nun muss ich nur noch verstehen, was genau da passiert, aber dafür gibts die Hilfe und das Internet ^^

Dir noch einen schönen Abend.

LG Micha :-)

Volker Z. 6. Aug 2013 22:35

AW: richedit formatieren
 
Hallo,

Zitat:

[....] Nun muss ich nur noch verstehen, was genau da passiert, aber dafür gibts die Hilfe und das Internet ^^
Na, das nenn ich doch mal 'ne löbliche Einstellung! Wenn 's trotzdem noch Fragen gibt, Du weißt ja: DP hilft.
Zitat:

Dir noch einen schönen Abend.
Auch wenn es jetzt schon fast vorbei ist: Dir auch.

Gruß


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