Thema: Delphi Tabs im RichEdit

Einzelnen Beitrag anzeigen

Benutzerbild von p80286
p80286

Registriert seit: 28. Apr 2008
Ort: Stolberg (Rhl)
6.659 Beiträge
 
FreePascal / Lazarus
 
#13

Re: Tabs im RichEdit

  Alt 13. Nov 2009, 16:39
Hallo Bent1995,

ganz so viel hät es ja auch nicht sein müssen.
Ich vermute mal es knackt hier:
Delphi-Quellcode:
procedure TForm1.ReplaceDialog1Replace(Sender: TObject);
var
SelPos, SPos, SLen, TextLength: Integer;
SearchString : string;
begin
with TReplaceDialog(Sender) do begin
  TextLength:=Length(RichEdit1.Lines.Text);

  SPos:=RichEdit1.SelStart;
  SLen:=RichEdit1.SelLength;

  SearchString := Copy(RichEdit1.Lines.Text,
                       SPos + SLen + 1,
                       TextLength - SLen + 1);
  SelPos := Pos(FindText, SearchString);
  if SelPos > 0 then begin
    RichEdit1.SelStart := (SelPos - 1) + (SPos + SLen);
    RichEdit1.SelLength := Length(FindText);
    RichEdit1.SelText := ReplaceText;
  end
  else MessageDlg('Konnte Elemnt nicht finden "' + FindText +
      '"', mtError, [mbOk], 0);
  end;

end;
SelPos gibt die Position innerhalb Textabschnittes (Searchstring)an , der hinter dem selektierten Text liegt.
Was Du aber benötigst ist die Position im vollständigen Text also
SelPos:=Selpos+Spos+Slen; Da Selpos für das erste Zeichen 0 benutzt und Pos die 1 müßtest Du da ggf. noch etwas Feintuning betreiben.

Gruß
K-H
Programme gehorchen nicht Deinen Absichten sondern Deinen Anweisungen
R.E.D retired error detector
  Mit Zitat antworten Zitat