AGB  ·  Datenschutz  ·  Impressum  







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

RichEdit und Enter im Text ?!?

Ein Thema von spacewolf · begonnen am 26. Jun 2005 · letzter Beitrag vom 26. Jun 2005
Antwort Antwort
Benutzerbild von spacewolf
spacewolf

Registriert seit: 24. Apr 2003
Ort: Magdeburg
218 Beiträge
 
Delphi 7 Professional
 
#1

RichEdit und Enter im Text ?!?

  Alt 26. Jun 2005, 10:33
Moin,

sacht weiß jemand wie man im RichEdit feststellt ob hinter einem Wort ein Enter ist oder nicht ?
Ein Wort zu selektieren das schaff ich jetzt schon
Aber festzustellen ob nach dem Wort sich eine oder zwei Leerzeilen befinden, da weiß ich nicht wie es geht.
Und dann würd ich noch gern das Enterzeichen (\par) einfügen lassen...

Tja, falls jemand ne Lösung hat... wär toll

THANX and be blessed

say Andreas

Delphi-Quellcode:
var
  foundat : integer;
begin
  with RichEdit do
  begin
    foundat := FindText('Titel:',0,length(Text),[stMatchCase]);
    if foundat > 0 then
    begin
      SetFocus;
      SelStart := FoundAt;
      SelLength := Length('Titel:');
    end;
  end;
end;
Andreas Göllner
("`-''-/").___..--''"`-._
`6_ 6 ) `-. ( ).`-.__.`)
"Ich kann Dir nur die Tür zeigen, durchgehen musst Du ganz allein."
Wer ist die Tür? Jesus!
  Mit Zitat antworten Zitat
marabu

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

Re: RichEdit und Enter im Text ?!?

  Alt 26. Jun 2005, 13: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
Benutzerbild von spacewolf
spacewolf

Registriert seit: 24. Apr 2003
Ort: Magdeburg
218 Beiträge
 
Delphi 7 Professional
 
#3

danke !!!

  Alt 26. Jun 2005, 14:49
danke das funzt... super

was macht eigendlich HasTail ???
Andreas Göllner
("`-''-/").___..--''"`-._
`6_ 6 ) `-. ( ).`-.__.`)
"Ich kann Dir nur die Tür zeigen, durchgehen musst Du ganz allein."
Wer ist die Tür? Jesus!
  Mit Zitat antworten Zitat
marabu

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

Re: RichEdit und Enter im Text ?!?

  Alt 26. Jun 2005, 14:59
HasTail() erhöht in meinen Augen die Lesbarkeit des Codes - mehr nicht.

marabu
  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 23:16 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