![]() |
RichEdit: farbigen Text finden und ersetzen
hi @ all,
ich habe ein richedit, in dem ich einen farbig dargestellten phpcode habe und jetzt will ich alle zb blau dargestellten textstellen ersetzen, aber wie bekomme ich die stellen raus? ich probiers jetzt schon den ganzen tag, mit selstart, selattributes, ... aber richtig gut funzt das nicht. das prog soll später phpcode als htmlformatierten code ausgeben, der, wenn man ihn parst wieder so aussieht, wie der originale phpcode (farbig). oder kennt jemand ne bessere möglichkeit, oder sogar n tool, was das schon kann? thx 4 help, nicnacman |
Re: RichEdit: farbigen Text finden und ersetzen
Moin NicNacMan,
da Du es ja schon mit SelAttributes versucht hast: Wie? Damit müsste es eingentlich funktionieren. |
Re: RichEdit: farbigen Text finden und ersetzen
ich bin mit einer schleife alle zeichen durchgegangen, und hab geguckt welche farbe sie haben, dann hab ich das zeichen davor geprüft, und wenn das ne andere farbe hatte, hatte ich den anfang des zb blauen textes.
und das ganze dann nochmal, um das ende rauszufinden, aber das is nicht wirklich optimal, da ich bei textstellen, die am zeilenanfang bzw -ende sind probleme hatte, weil sie nicht erkannt wurden, ... ich habs dann aufgegeben, als ich nach langem probieren gerademal den anfang des erste vorkommens des blauen textes hatte, und das ja noch mit mehreren anderen farben machen muss, von dem fontstyle (den ich ja auch noch berücksichtigen wollte) mal ganz zu schweigen ^^ das war mein erster versuch (funzt in den meisten fällen, aber leider nicht immer):
Delphi-Quellcode:
function findbeginning(textcolor: String; start: Integer): Integer;
var i: Integer; begin result := -1; with Form1.RichEdit1 do for i := start to Pred(Length(Text)) do begin SelStart := i; if (ColorToString(SelAttributes.Color) = textcolor) then begin SelStart := Pred(i); if (i <= 0) or (ColorToString(SelAttributes.Color) = textcolor) then begin result := i; exit; end; end; end; end; |
Alle Zeitangaben in WEZ +1. Es ist jetzt 11:11 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