Einzelnen Beitrag anzeigen

BullsEye

Registriert seit: 8. Sep 2007
Ort: Werlte
872 Beiträge
 
Delphi 7 Personal
 
#1

RichEdit - Suchfunktion erweitern?

  Alt 3. Feb 2009, 22:22
Hallo liebe DP'ler

Also, ich habe benutzte folgenden Code um ein Richedit zu durchsuchen.

Delphi-Quellcode:
procedure TfrmEditor.btnSucheClick(Sender: TObject);
var a:integer;
    Suchwort:TStringList;
    StartPos, Position, Endpos: Integer;
begin
  Suchwort := TStringList.Create;
  Suchwort.Text := edtSuche.Text;
  StartPos := 0;
  Position := 0;
  for a:=0 to Suchwort.Count-1 do begin
    with mConfig do
    begin
      Endpos := Length(mConfig.Text);
    if Endpos<>(-1) then
      Position := FindText(Suchwort.Strings[a], StartPos, Endpos, []);
      StartPos := Position + Length(Suchwort.Strings[a]);
      SetFocus;
      SelStart := Position;
      SelLength := Length(Suchwort.Strings[a]);
     // SelAttributes.Color:=clred;
    end;
  end;
  Suchwort.Free;
end;
an sich auch ganz gut.
Ich habe es wie folgt gemacht: Ein Editfeld (dort wird das Suchwort eingegeben) und dann einen Button (startet die Suche)

ABER! In dem Richedit steht nun folgender Text:


Zitat:
bind "0" "slot10"
bind "1" "slot1"
bind "2" "slot2"
bind "3" "slot3"
bind "4" "slot4"
bind "5" "slot5"
bind "6" "slot6"
bind "7" "slot7"
bind "8" "slot8"
bind "9" "slot9"
geb ich nun in das Editfeld "slot" ein und klicke dann auf den Button, dann wird das erste "slot" von "slot10" makiert. So soll das ja eigentlich auch. Da ich aber viele Worte doppelt habe, möchte ich natürlich auch, das die Anderen auch gefunden werden!
Allerdings wird nur das erste Suchwort im Richedit makiert.
Ich möchte aber, das ich wenn ich ein zweites mal auf den Button klicke, das nächste "slot" , in diesem Fall das von "slot1" makiert wird und so weiter.

Welches ist die beste möglichkeit bzw was muss am Code geändert werden?
  Mit Zitat antworten Zitat