AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

RichEdit: farbigen Text finden und ersetzen

Ein Thema von NicNacMan · begonnen am 28. Mär 2005 · letzter Beitrag vom 28. Mär 2005
Antwort Antwort
Benutzerbild von NicNacMan
NicNacMan

Registriert seit: 28. Mai 2004
Ort: Hamburg
98 Beiträge
 
Delphi 2005 Personal
 
#1

RichEdit: farbigen Text finden und ersetzen

  Alt 28. Mär 2005, 00:42
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
The Double-Crunch-Peanuts!
SwapIt:
  Mit Zitat antworten Zitat
Christian Seehase
(Co-Admin)

Registriert seit: 29. Mai 2002
Ort: Hamburg
11.116 Beiträge
 
Delphi 11 Alexandria
 
#2

Re: RichEdit: farbigen Text finden und ersetzen

  Alt 28. Mär 2005, 01:19
Moin NicNacMan,

da Du es ja schon mit SelAttributes versucht hast:
Wie?
Damit müsste es eingentlich funktionieren.
Tschüss Chris
Die drei Feinde des Programmierers: Sonne, Frischluft und dieses unerträgliche Gebrüll der Vögel.
Der Klügere gibt solange nach bis er der Dumme ist
  Mit Zitat antworten Zitat
Benutzerbild von NicNacMan
NicNacMan

Registriert seit: 28. Mai 2004
Ort: Hamburg
98 Beiträge
 
Delphi 2005 Personal
 
#3

Re: RichEdit: farbigen Text finden und ersetzen

  Alt 28. Mär 2005, 01:39
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;
The Double-Crunch-Peanuts!
SwapIt:
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 17:09 Uhr.
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