Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   GUI-Design mit VCL / FireMonkey / Common Controls (https://www.delphipraxis.net/18-gui-design-mit-vcl-firemonkey-common-controls/)
-   -   Delphi Scintilla: Text in einer Schleife durchsuchen (https://www.delphipraxis.net/42914-scintilla-text-einer-schleife-durchsuchen.html)

derpepe 25. Mär 2005 21:19


Scintilla: Text in einer Schleife durchsuchen
 
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 :???:

derpepe 27. Mär 2005 23:50

Re: Scintilla: Text in einer Schleife durchsuchen
 
Kennt niemand die Lösung dazu?


Alle Zeitangaben in WEZ +1. Es ist jetzt 06:34 Uhr.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz