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 wie sucht man mit SynEditSearch (https://www.delphipraxis.net/16642-wie-sucht-man-mit-syneditsearch.html)

Dragon27 20. Feb 2004 20:07


wie sucht man mit SynEditSearch
 
hi,

so hab jetzt endlich synedit (3 Stunden ruminstalliert) 8) und nun hab ich nur noch des problem mit dem suchen
wie mach ich des?

so habe ich des gemacht aber da zeigt mir dann der Compiler unterm benutzen nen Fehler, warum? :wall:

Delphi-Quellcode:

SynEditSearch1.FindAll(combobox1.Text);

Könnt Ihr mir da bitte sagen was falsch ist?

Danke

Benedikt 20. Feb 2004 20:28

Re: wie sucht man mit SynEditSearch
 
Hi,

der Parameter der von FindAll erwartet wird, ist die Eigenschaft Lines des SynEdits, also: SynEditSearch.FindAll(SynEdit.Lines);

Den String nachdem gesucht werden soll, setzt du mit SynEditSearch.Pattern:=ComboBox.Text;

Dragon27 20. Feb 2004 20:42

Re: wie sucht man mit SynEditSearch
 
hi,

erst mal danke für die Antwort, aber des Problem ist noch net gelöst.

folgendermaßen ist der code:


Delphi-Quellcode:

SynEditSearch.Pattern:=ComboBox1.Text;      // [Fehler] Unit1.pas(448): Undefinierter Bezeichner: 'Pattern'
SynEditSearch1.FindAll(Synmemo1.Lines);     // [Fehler] Unit1.pas(449): Inkompatible Typen: 'String' und 'TStrings'

Bei beiden Zeilen kommen da Fehler bei mir warum bitte?

Danke für die unterstützung!

Benedikt 20. Feb 2004 20:48

Re: wie sucht man mit SynEditSearch
 
Ups, das mit dem FindAll war ein Fehler meinerseits,

es muss natürlich SynEditSearch.FindAll(SynEdit.Lines.Text) heißen.

Das Pattern unbekannt ist, kann nur bedeuten das SynEditSearch nicht in den uses steht.

Dragon27 20. Feb 2004 20:52

Re: wie sucht man mit SynEditSearch
 
hi, danke der erste Fehler is weg aber er erkennt das Pattern noch immer nicht :-(

In der Uses stehts und sonst weiß ich eigentlich auch net weiter :-(

Danke nochmal

Dragon27 20. Feb 2004 20:55

Re: wie sucht man mit SynEditSearch
 
Jo, ups hab den fehler hab den 1 vergessen aber da rührt sich ja gar nix bei dem text muss man da noch irgendwie ein execute oder so reinschreiben?

Benedikt 20. Feb 2004 21:09

Re: wie sucht man mit SynEditSearch
 
Was soll sich da rühren? :)
Die entsprechenden Ergebnisse stehen in SynEditSearch.Results drin, bzw die Position an der der String gefunden wurde.

Ansonsten guck dir auch mal die Demo zum Suchen an (im SynEdit-Download enthalten), da wird allerdings nicht mit SynEditSearch gearbeitet.

Dragon27 20. Feb 2004 21:26

Re: wie sucht man mit SynEditSearch
 
hallo,

also ich hab jetzt da mal rumprobiert und folgenden Code erarbeitet:

Delphi-Quellcode:
SynEditSearch1.Pattern:=ComboBox1.Text;
SynEditSearch1.Findall(Synmemo1.Lines.Text);
synmemo1.GotoLineAndCenter(syneditsearch1.results[3]);
Der sollte dann meiner Meinung nach das 3. ergebnis anzeigen tut er aber net :-(

Sorry dass ich so auf die nerven gehe!!!

Danke

Benedikt 20. Feb 2004 21:33

Re: wie sucht man mit SynEditSearch
 
Guck doch mal ein wenig was dir die Delphi-Codecompletion bzw. auch der Funktions-Name sagt:

GotoLineAndCenter, der Parameter heißt ALine.

Daraus ist zu schließen, das man zur entsprechenden Zeile springt, du willst aber genau zum Ergebnis springen, und diese Position liefert dir SynEditSearch.Results auch.
Also mach:

Delphi-Quellcode:
SynEdit.SelStart:=SynEditSearch.Results[3]

Davon ab wäre Results[3] das vierte gefundene Ergebnis, da die Liste bei 0 anfängt :)


Alle Zeitangaben in WEZ +1. Es ist jetzt 07:41 Uhr.

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