Einzelnen Beitrag anzeigen

marabu

Registriert seit: 6. Apr 2005
10.109 Beiträge
 
#2

Re: RichEdit und Enter im Text ?!?

  Alt 26. Jun 2005, 14:14
Hallo Andreas,

nimm dir was du brauchst:
Delphi-Quellcode:
uses
  StrUtils;

function TDemoForm.HasTail(line, tail: string): boolean;
begin
  Result := RightStr(line, Length(tail)) = tail;
end;

procedure TDemoForm.FindButtonClick(Sender: TObject);
var
  iLine, iStart, iEmpty: integer;
begin
  with RichEdit do begin
    // character offset der Fundstelle
    iStart := FindText(FindEdit.Text, 0, GetTextLen, []);
    // cursor dahinter positionieren
    SelStart := iStart + Length(FindEdit.Text);
    // Zeilenumbruch hat Länge 2
    SelLength := 2;
    if SelText = #13#10 then begin
      // steht am ende, jetzt leerzeilen zählen
      iEmpty := 0;
      repeat
        Inc(iEmpty);
        SelLength := SelLength + 2;
      until not HasTail(SelText, #13#10);
      ShowMessage(Format(
        '"%s" steht am Zeilenende, gefolgt von %d Leerzeilen',
        [FindEdit.Text, Pred(iEmpty)]
      ));
    end else begin
      // steht nicht am ende, also zeilenumbruch einfügen
      SelLength := 0;
      SelText := #13#10;
    end;
  end;
end;
Grüße vom marabu
  Mit Zitat antworten Zitat