Ich brauche eine Funktion, die eine ListBox mit dem Inhalt derjenigen Zeilen füttert, die einen bestimmten Suchbegriff enthalten.
Im Folgenden mein Versuch:
Delphi-Quellcode:
procedure THauptfenster.SciSearchReplace1TextFound(Sender: TObject);
begin
if SciSearchReplace1.Tag=1 then exit;
end;
procedure THauptfenster.SciSearchReplace1TextNotFound(Sender: TObject);
begin
SciSearchReplace1.Tag:=2;
end;
procedure THauptfenster.fuelleListe(liste:tstrings;suchbegriff:string);
var
temp:string;
begin
liste.Clear;
Scintilla1.SelStart:=0;
SciSearchReplace1.SearchBackwards:=false;
SciSearchReplace1.SearchCaseSensitive:=false;
SciSearchReplace1.SearchFromCaret:=true;
SciSearchReplace1.SearchSelectionOnly:=false;
SciSearchReplace1.SearchWholeWords:=true;
SciSearchReplace1.SearchRegex:=false;
SciSearchReplace1.SearchText:=suchbegriff;
SciSearchReplace1.ReplaceText:='';
SciSearchReplace1.Tag:=1;
Scintilla1.SelStart:=0;
SciSearchReplace1.DoSearchReplaceText(false,false);
application.processmessages;
while SciSearchReplace1.Tag<>2 do begin
temp:=Scintilla1.lines[Scintilla1.LineFromPosition(Scintilla1.GetCurrentPos)];
liste.add(temp);
SciSearchReplace1.DoSearchReplaceText(false,false);
application.processmessages;
end;
Scintilla1.SelStart:=length(Scintilla1.lines.Text);
end;
Leider funktioniert das so aber nicht
Hat jemand ne bessere Idee?
Den Text mit eigenen Funktionen will ich nicht, das
Rad ist ja bereits erfunden