Einzelnen Beitrag anzeigen

moperswings

Registriert seit: 27. Mai 2004
Ort: Bad Sooden-Allendorf
240 Beiträge
 
Delphi 6 Professional
 
#1

Hideselection funktioniert nicht

  Alt 30. Mai 2007, 07:52
Hallo,

könnt Ihr Euch mal kurz den Code ansehen:
Ich kann an den Strings die Farbe ändern und sie auf Schreibschutz stellen, aber nicht verstecken!
Sieht jemand meinen Fehler?

Viele Grüsse, moperswings

Delphi-Quellcode:
function findtextall(re: TRichEdit; sText: string; options:TSearchTypes): TIntegerdynarray;
var
        istart, ifound, ilength: integer;
begin
        setlength(result, 0);
        istart := 0;
        ilength := length(re.Lines.Text);
        while istart < (ilength - length(stext)) do
        begin
          ifound := re.FindText(sText, istart, ilength - istart, options);
          if ifound = - 1 then
          exit;
          Setlength(Result, succ(length(result)));
          result[high(result)] := ifound;
          istart := ifound + length(stext);
        end;
end;

procedure TForm1.Button19Click(Sender: TObject);
var
        i, p, x: integer;
        s: string;
        bild: string;
        dateiname: string;
        inhalt: Tstringlist;
        ida: TIntegerDynArray;
begin
        dateiname := 'd:\image16\daten.html';
        RichEdit3.Lines.LoadFromFile(dateiname);

        inhalt := TStringlist.Create;
        inhalt.LoadFromFile(dateiname);

        bild := '<img';

        for i := 0 to inhalt.Count - 1 do
          begin
            if pos(bild, inhalt[i]) > 0 then begin
            s := '';

            for p := pos(bild, inhalt[i]) to
            length(inhalt[i]) do
            if inhalt[i][p] <> s then
            s := s + inhalt[i][p]
            else
            break;
        
            while pos(s[length(s)], '/>') = 0 do
            delete(s, length(s), 1);
          end;

        ida := findtextall(RichEdit3, s, []);
        for x := low(ida) to high(ida) do
        with RichEdit3 do
          begin
            selstart := ida[x];
            sellength := length(s);
            //selattributes.Color := clred; -> funktioniert ==================
            HideSelection := true; // RichEdit habe ich auch auf true umgestellt! ???
           // selattributes.Protected := true; -> funktioniert ===============
          end;
          RichEdit3.SetFocus;
        end;
        inhalt.Free;
end;
  Mit Zitat antworten Zitat