Einzelnen Beitrag anzeigen

peterbelow

Registriert seit: 12. Jan 2019
Ort: Hessen
701 Beiträge
 
Delphi 12 Athens
 
#2

AW: TFindDialog und F3-Taste für Weitersuche

  Alt 10. Jun 2019, 12:01
Hallo Leute,
ich benutze die FindDialog-Komponente aus den Dialogen in einem Memo. Das klappt. Ich möchte für die Weitersuche gerne die F3-Taste benutzen, weiß aber nicht, wie ich das realisieren kann. Im Formular KeyPreview auf true setzen und auf das Drücken der Taste warten und dann?
Danke und Gruß
Willie.
Naja, der Dialog ist ja nur für die Eingabe des Suchtextes und der diversen Optionen, die Suche selbst mußt Du ja im Code machen. TMemo (Vcl) hat keine Methode dafür, also verwendest Du vermutlich Pos(memo1.text, ...). Neuere Delphi-Versionen haben eine PosEx-Funktion, der man eine Startposition mitgeben kann, damit würde man die letzte Fundposition + Length(Suchtext) als Start nehmen. In älteren Versionen ist die übliche Lösung halt, aus dem zu durchsuchenen Text den Teil nach der letzten Fundstelle zu extrahieren (Copy), darin zu suchen, und die gefundene Position dann um die Länge des entfernten Textteils zu ergänzen.

Alternativ könntest Du anstelle von TMemo ein TRichedit nehmen. Das hat eine FindText-Methode, und die erlaubt auch die Angabe einer Startposition.
Peter Below
  Mit Zitat antworten Zitat