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 Suchen im SynEdit mit eigenem SuchenDialog (https://www.delphipraxis.net/51834-suchen-im-synedit-mit-eigenem-suchendialog.html)

freak1985 19. Aug 2005 21:40


Suchen im SynEdit mit eigenem SuchenDialog
 
hi,

ich möchte gerne ne Suchenfunktion machen die in einem SynEdit suchen / ersetzen kann...
da mir diese Standardsuchendialoge (TFindDialog) net gefällt. will ich einfach ne eigene Form machen die ich als Suchdialog verwende. nun mein frage:

Wie kann ich mit einem eigenen Suchforumlar suchen. also es ist erstmal nur ein edit und ein button drauf. der rest kommt irgendwann mal... leider sind suchenfunktionen noch nie meine stärke gewesen (habe noch nie eine zum laufen bekommen).

kann mir jemand helfen? wär echt super


MfG

phlux 19. Aug 2005 21:55

Re: Suchen im SynEdit mit eigenem SuchenDialog
 
Bei den Sourcen istn Demo bei da wird gezeigt wie die eigene Suchenfkt. funzt

freak1985 19. Aug 2005 22:05

Re: Suchen im SynEdit mit eigenem SuchenDialog
 
da haste auch wieder recht. hab ich vergessen zu erwähnen. das ich die lösung net so doll finde und das alles bissl undurchsichtig für mich is. deshalb suche ich eigentlich nur ne procedure mit der ich in einem richedit oder synedit suchen kann (wird ja net viel unterschiede geben)... und diese will ich dann einfach in den button vom eigenen suchformular packen...

phlux 19. Aug 2005 22:56

Re: Suchen im SynEdit mit eigenem SuchenDialog
 
Ist eigentlich simpel:
zuerst definierst du dir eine Variable SearchOptions vom Typ TSynSearchOptions, diese kann für die Suche folgende Werte enthalten: ssoBackwards, ssoMatchCase, ssoWholeWord, ssoEntireScope, ssoSelectedOnly. Jetzt erstellst du dir ein Dialog mit nem Edit-Feld, nen paar Comboboxen für die SearchOptions. Jetzt erstellst du im Programm den Dialog und rufst ihn mit ShowModal auf, wenn das ModalResult mrOk ist rufst du folgende Funktion deiner SynEdit-Kompo, ich nenne sie mal Editor, auf:

Delphi-Quellcode:
Editor.SearchReplace(SearchWord, '', SearchOptions) = 0 then
          MessageDlg(Format(SearchWord + ' wurde nicht gefunden!', [SearchWord]), mtInformation, [mbOk], 0);
SearchWord ist eine Variable vom Typ String, sie enthält das gesuchte Wort, SearchOptions sind die Such-optionen, sollte das Funktionsergebnis 0 sein, hat er nix gefunden, es wird dementsprechend eine Nachricht ausgegeben. ;)

freak1985 19. Aug 2005 23:05

Re: Suchen im SynEdit mit eigenem SuchenDialog
 
wenn das so einfach ist, warum is dann die demo so lang? :?

naja ich werde es gleichmal testen.

EDIT:

achsoo der zeigt nur an ob gefunden oder nicht. aber wie kann ich machen, dass er gleich zu dem wort "springt" und das dann auch "weitersuchen" ermöglicht wird...?

phlux 19. Aug 2005 23:29

Re: Suchen im SynEdit mit eigenem SuchenDialog
 
hmm gute frage, leider habe ich kein synedit mehr hier drauf ;)
also das mit dem weitersuchen hab ich in meinem editor so geregelt das ich f3 aufrufe und dann ne suche gestartet wird die nach dem letzten suchwort weitersucht, guck dir doch mal ggf den CodeEditor von bigg an, der ist soweit ich weiß opensource, dh du kannst dich da von seiner suche inspirieren lassen ;)

freak1985 19. Aug 2005 23:47

Re: Suchen im SynEdit mit eigenem SuchenDialog
 
danke :) da müsst ich was finden...


(auch wenn der quelltext grausam formatiert ist; aber ich will mich ja nicht beschweren^^)


Alle Zeitangaben in WEZ +1. Es ist jetzt 10:20 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