AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

wie sucht man mit SynEditSearch

Ein Thema von Dragon27 · begonnen am 20. Feb 2004 · letzter Beitrag vom 20. Feb 2004
Antwort Antwort
Dragon27

Registriert seit: 20. Nov 2003
Ort: Aßling
543 Beiträge
 
Delphi XE6 Enterprise
 
#1

wie sucht man mit SynEditSearch

  Alt 20. Feb 2004, 21:07
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?

Delphi-Quellcode:

SynEditSearch1.FindAll(combobox1.Text);

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

Danke
Delphi is ......... DELPHI!!
  Mit Zitat antworten Zitat
Benedikt
(Gast)

n/a Beiträge
 
#2

Re: wie sucht man mit SynEditSearch

  Alt 20. Feb 2004, 21:28
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;
  Mit Zitat antworten Zitat
Dragon27

Registriert seit: 20. Nov 2003
Ort: Aßling
543 Beiträge
 
Delphi XE6 Enterprise
 
#3

Re: wie sucht man mit SynEditSearch

  Alt 20. Feb 2004, 21:42
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!
Delphi is ......... DELPHI!!
  Mit Zitat antworten Zitat
Benedikt
(Gast)

n/a Beiträge
 
#4

Re: wie sucht man mit SynEditSearch

  Alt 20. Feb 2004, 21:48
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.
  Mit Zitat antworten Zitat
Dragon27

Registriert seit: 20. Nov 2003
Ort: Aßling
543 Beiträge
 
Delphi XE6 Enterprise
 
#5

Re: wie sucht man mit SynEditSearch

  Alt 20. Feb 2004, 21:52
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
Delphi is ......... DELPHI!!
  Mit Zitat antworten Zitat
Dragon27

Registriert seit: 20. Nov 2003
Ort: Aßling
543 Beiträge
 
Delphi XE6 Enterprise
 
#6

Re: wie sucht man mit SynEditSearch

  Alt 20. Feb 2004, 21:55
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?
Delphi is ......... DELPHI!!
  Mit Zitat antworten Zitat
Benedikt
(Gast)

n/a Beiträge
 
#7

Re: wie sucht man mit SynEditSearch

  Alt 20. Feb 2004, 22:09
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.
  Mit Zitat antworten Zitat
Dragon27

Registriert seit: 20. Nov 2003
Ort: Aßling
543 Beiträge
 
Delphi XE6 Enterprise
 
#8

Re: wie sucht man mit SynEditSearch

  Alt 20. Feb 2004, 22:26
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
Delphi is ......... DELPHI!!
  Mit Zitat antworten Zitat
Benedikt
(Gast)

n/a Beiträge
 
#9

Re: wie sucht man mit SynEditSearch

  Alt 20. Feb 2004, 22:33
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:

SynEdit.SelStart:=SynEditSearch.Results[3]
Davon ab wäre Results[3] das vierte gefundene Ergebnis, da die Liste bei 0 anfängt
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 22:43 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