![]() |
Suche im Synedit
Hey Leute
Ich hab bei meinen Programm ein Synedit und wollte eine Suche einbauen die aufgeht wie beim Editor. Also man drückt Strg+F und die Suche geht auf. Habe mal den Tactionmanager auf meine Form gezogen und das Popup mit dem Actionmanager verbunde, allerdings ist des Find dan immer Hellgrau und kann nicht angeklickt werden, und Strg+ F geht auch nicht. Wie mach ich so eine Suche und das am besten das Gesuchte Wort im Text noch Orang hinterlegt ist?? Lg |
Re: Suche im Synedit
Abend!
Was hast Du nun genau vorliegen? Du brauchst prinzipiell folgendes: Einen ![]() Eine ![]() ![]() Viele Grüße |
Re: Suche im Synedit
Wow das ging ja Fix.
Oke ich hab jetzt den TFind Dialog hab ne Actionlist auf meiner Form und hab die Actionlist mit dem Button Verbunden wo die Suche sein soll. Aber wie ich des mach Check ich nicht so :( lg |
Re: Suche im Synedit
Naja da Rest steht ja in der Hilfe bzw. in den SynEdit-Beispielen:
- Aufruf des Suchen-Fensters (TFindDialog.Execute) - Auslesen des Suchtextes aus dem Dialog, falls nicht auf Abbrechen geklickt wurde - Suchen des Textes im SynEdit (SynEdit.SearchEngine als Ansatzpunkt) Das Markieren der Treffer dürfte etwas kniffliger sein. Du könntest OnPaintTransient des SynEdit verwenden, dabei könntest Du den Code der OnPaintTransient-Demo ggf. adaptieren und auf deine Bedürfnisse anpassen. |
Re: Suche im Synedit
wie es im theoretischen funktioniert weis ihch
aber im praktishen nicht :( |
Re: Suche im Synedit
Ich würde Dir einen kurzen Beispielcode gerne schreiben, allerdings fehlt mir da die Zeit zu. Je konkreter Deine Frage ist (z.B. "Ich weiß nicht, wie ich den Aufruf des Suchdialoges formulieren soll. So habe ich es gemacht: [...] und es gab diesen Fehler: [...]") desto besser können wir dir helfen :)
|
Re: Suche im Synedit
Oke dan Probier ich es mal bisschen genauer.
Also ich habe den Opendialog auf meine Form gezogen genauso wie die Actionlist Dan hab cih bei der Action list des Dings da gemacht des Find wo Shortcut Strg+F zugewiesen ist. Allerdings weis ich nicht wie ich des mit diesen Onexecute mach und das es nicht mehr Grau hinterlegt ist. lg |
Re: Suche im Synedit
Okay. Schritt für Schritt.
Ins OnExecute der Action dann:
Delphi-Quellcode:
// Annahmen:
// Dein FindDialog heißt "FindDialog1" // Dein SynEdit heißt "SynEdit1" // Falls das anders ist, einfach in diesem Text umbenennen if FindDialog1.Execute then begin // FindAll gibt die Anzahl der Treffer zurück if SynEdit1.SearchEngine.FindAll(FindDialog1.FindText) > 0 then begin // Hier kannst Du Deiner Kreativität freien Lauf lassen :-P // .SearchEngine beinhaltet auch die Resultate der Suche end; end; |
Re: Suche im Synedit
Zitat:
Zitat:
Sorry falls ich so blöd frag lg |
Alle Zeitangaben in WEZ +1. Es ist jetzt 03:52 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-2025 by Thomas Breitkreuz