![]() |
Re: sowas {\bhallo\b} direkt in richedit laden?
Hallo,
ich denke, dir reicht ![]()
Delphi-Quellcode:
Du kannst das auch immer "invertieren":
RichEdit.SelAttributes.Style := [fsBold];
// Text einfügen und danach die Attribute zurücksetzen
Delphi-Quellcode:
Die Schriftfarbe kannst du natürlich analog ändern.
RichEdit.SelAttributes.Style := RichEdit.Font.Style + [fsbold];
// Text einfügen RichEdit.SelAttributes.Style := RichEdit.Font.Style - [fsbold]; Ich hoffe, das ist das, was du gemeint hast. Grüße |
Re: sowas {\bhallo\b} direkt in richedit laden?
Zitat:
Alternative: RTF Text via EM_STREAMIN einfügen oder wie schon erwähnt mit RichEdit.SelAttributes arbeiten. Bsp. EM_STREAMIN: ![]() ![]() |
Re: sowas {\bhallo\b} direkt in richedit laden?
Hallo,
ich werds mal etwas ausgedehnter erklären: ich habe einen unformatierten RichEdit-Text (Beispiel): Zitat:
Items beinhalten. Nennen wir sie: Liste_Such und Liste_Tausch Meine "Machwas"-Routine sucht in dem RichEdit-Text zeilenweise nach Wörtern die in der Liste_Such drin stehen und ersetzt sie gegen Wörtern der Liste_Tausch. In dem Beispiel... ...Inhalt der Liste_Such: Katze ...Inhalt der Liste_Tausch: Maus (nur ein Item in den Listen) Das funktioniert soweit. Der RichEdit-Text würde dann lauten: Zitat:
mit angeben. Also das in dem oberen Beispiel das Wort Maus fett dargestellt wird und nicht unformatiert. Ich stell mir das so vor, beim Ersetzen bei dem neuen Wort eine Formatierungsflag mit anzugeben, dass dann automatisch vom RichEdit als RTF interpretiert wird und dann dementsprechend formatiert und angezeigt wird. Also nochmals bei dem Beispiel oben zu bleiben - etwa so: (\b<Text>\b für Wort in fett) Zitat:
Die Maus ist stohdumm. Sie, die Maus frisst nur ohne nachzudenken - die andere Maus schläft nur. Ich hoffe es ist nun verständlicher geworden, was ich machen möchte. Wär so was möglich? |
Re: sowas {\bhallo\b} direkt in richedit laden?
Hallo Helmi,
mithilfe der genannten Code-Snippets und ![]()
Delphi-Quellcode:
Grüße, Matze
function Search_And_Replace(RichEdit: TRichEdit;
SearchText, ReplaceText: string): Boolean; var startpos, Position, endpos: integer; begin startpos := 0; with RichEdit do begin endpos := Length(RichEdit.Text); Lines.BeginUpdate; while FindText(SearchText, startpos, endpos, [stMatchCase])<>-1 do begin endpos := Length(RichEdit.Text) - startpos; Position := FindText(SearchText, startpos, endpos, [stMatchCase]); Inc(startpos, Length(SearchText)); SetFocus; SelStart := Position; SelLength := Length(SearchText); RichEdit.clearselection; RichEdit.SelAttributes.Style := [fsBold]; SelText := ReplaceText; RichEdit.SelAttributes.Style := []; end; Lines.EndUpdate; end; end; procedure TForm1.Button1Click(Sender: TObject); begin Search_And_Replace(Richedit1, 'Katze', 'Maus'); end; |
Re: sowas {\bhallo\b} direkt in richedit laden?
Hallo Matze,
danke für deine Hilfe. Nur muss ich dich wieder enttäuschen - es ist nicht das was ich suche/meine. Dein Code tauscht im kompletten Text - da geht natürlich SelStart/End... Nur kann ich nur Zeilenweise tauschen (es gibt schon nen Grund dafür) deswegen auch RichEdit.Lines.Strings und bei RichEdit.Lines.Strings kann ich ja leider kein SelStart/End anwenden Deswegen auch meine Frage nach der Möglichkeit zum Einfügen von Flags vor und nach dem getauschten Wort. |
Re: sowas {\bhallo\b} direkt in richedit laden?
Hallo,
Zitat:
![]() Freundliche Grüße |
Re: sowas {\bhallo\b} direkt in richedit laden?
Danke für die Hinweise.
Werd ich mir morgen mal anschauen und es mal meinen Wünschen anpassen. Zitat:
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 15:56 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