![]() |
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:
in den variabeln bzw Tedits ist nur text drinn
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); 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"){ |
Re: richedit formatieren
SelStart
SelLength |
Re: richedit formatieren
|
Re: richedit formatieren
Zitat:
@ Spider thx ich schau mal |
Re: richedit formatieren
Delphi-Quellcode:
SelStart setzt den Startpunkt
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') SelLength die Länge der zu Formatierenden Textes |
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 |
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(''); |
Re: richedit formatieren
Ob ihn das nach vier Jahren noch interessiert? :zwinker:
|
AW: richedit formatieren
Zitat:
Vielen Dank user0815 |
AW: richedit formatieren
dito 8)
auch wenns den Ursprungsposter vermutlich nicht mehr jucken wird - es gibt noch genug andere (RichEdit-)Noobs auf dieser Welt ;) |
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; |
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; |
AW: richedit formatieren
Hallo,
ich weiß nicht, ob ich Dein Problem richtig verstanden habe; Du kannst es mal so versuchen:
Delphi-Quellcode:
Gruß
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; |
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 :-) |
AW: richedit formatieren
Hallo,
Zitat:
Zitat:
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