Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
var
begriff: string;
i: integer;
begin
begriff:= 'Das ist';
for i:= 0 to RichEdit1.Lines.Count -1 do
SelString(begriff, RichEdit1.Lines[i], RichEdit1); //Procedure, welche die Zeile markiert
end;
procedure TForm1.SelString(subs, s: string; aRichEdit: TRichEdit);
var start, laenge: integer;
begin
aRichEdit.SetFocus;
start:= pos(subs, s)+ length(subs);
aRichEdit.SelStart:= start;
laenge:= length(s)- start;
aRichEdit.SelLength:= laenge;
end;
Selectiert aber nur, wenn nicht mehr als eine Zeile vorhanden ist.
Hab nun aber keine Lust, das noch weiter zu probieren, kommen gleich paar Leute
Kansnt ja selber das verbessern.
Btw. wenn du mal in der Hilfe nachschaust (F1):
Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
begin
FindDialog1.Position := Point(RichEdit1.Left + RichEdit1.Width, RichEdit1.Top);
FindDialog1.Execute;
end;
procedure TForm1.FindDialog1Find(Sender: TObject);
var
FoundAt: LongInt;
StartPos, ToEnd: Integer;
begin
with RichEdit1 do
begin
{ Suche hinter aktueller Markierung beginnen (falls vorhanden), }
{ andernfalls am Textanfang starten. }
if SelLength <> 0 then
StartPos := SelStart + SelLength
else
StartPos := 0;
{ ToEnd ist die Länge von StartPos bis zum Textende im RTF-Eingabefeld }
ToEnd := Length(Text) - StartPos;
FoundAt := FindText(FindDialog1.FindText, StartPos, ToEnd, [stMatchCase]);
if FoundAt <> -1 then
begin
SetFocus;
SelStart := FoundAt;
SelLength := Length(FindDialog1.FindText);
end;
end;
end;
Ist das Delphi-Beispiel dazu
Lars S.
Wer nicht mit der Zeit geht, geht mit der Zeit.