• Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 1270
  • Last Modified:

Synedit SearchEngine

I cant get the Synedit searchengine started...

I invested this lines in the finddialog
onFind event:

PROCEDURE TEditorForm.FindDialog1Find(Sender: TObject);
  BEGIN
    IF DrillplanEditHasFocus THEN
    BEGIN
      DrillplanEdit.SearchEngine.Pattern:=FindDialog1.FindText;
      ShowMessage(IntToStr(DrillplanEdit.SearchEngine.FindAll(
        FindDialog1.FindText)));
      ShowMessage(IntToStr(DrillplanEdit.SearchEngine.Results[0]));
    END
    ELSE IF DiameterEditHasFocus THEN
    BEGIN
      DiameterEdit.SearchEngine.Pattern:=FindDialog1.FindText;
      DiameterEdit.SearchEngine.FindAll(FindDialog1.FindText);
    END;
  END;

I don`t know how to get the line number where the result was found.
and i don`t know how to know if the searchengine found something.
0
Applicationmaker
Asked:
Applicationmaker
  • 2
1 Solution
 
TNameCommented:
Hi,
maybe it's just a case of a misleadingly named boolean, but:
if  "IF DrillplanEditHasFocus"  means something like "if  DrillplanEdit.Focused", then I don't see how this code should execute. At this moment, the find dialog has the focus, so the DrillplanEdit/SynEdit cannot have it.
0
 
TNameCommented:
Ok, forget that, I think I understand, it's a "frozen" DrillplanEdit.Focused, to know which edit had focus before calling the find dialog...
But then you should get the number of found strings when you call FindDialog1.execute.  
0
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

Join & Write a Comment

Featured Post

Keep up with what's happening at Experts Exchange!

Sign up to receive Decoded, a new monthly digest with product updates, feature release info, continuing education opportunities, and more.

  • 2
Tackle projects and never again get stuck behind a technical roadblock.
Join Now