AGB  ·  Datenschutz  ·  Impressum  







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

Volltextsuche mit Delphi

Ein Thema von Balosh · begonnen am 21. Apr 2015 · letzter Beitrag vom 22. Mai 2015
Antwort Antwort
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.666 Beiträge
 
Delphi 12 Athens
 
#1

AW: Volltextsuche mit Delphi

  Alt 27. Apr 2015, 15:20
Dachte ich mir auch schon, aber da vorherige Versionen den "üblichen" Binärvergleich mit faDirectory hatten und das nun geändert wurde, frage ich lieber mal nach.
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
Balosh

Registriert seit: 21. Apr 2015
31 Beiträge
 
Delphi 10 Seattle Professional
 
#2

AW: Volltextsuche mit Delphi

  Alt 27. Apr 2015, 15:35
Es entspricht Folgendem
Delphi-Quellcode:
//if (Rec.attr = faDirectory) or (Rec.attr = (faDirectory + faArchive)) then
if (Rec.attr = faDirectory) or (Rec.attr = (faDirectory or faArchive)) then
aber gemeint ist bestimmt eigentlich Jenes
Delphi-Quellcode:
//if faDirectory in Rec.attr then
if Rec.attr and faDirectory <> 0 then

Attribute/Bits per Addition zu verbinden ist schonmal falsch, denn das macht man per OR, vorallem da einige der Konstanten mehrere Bits umfassen.





Dateinamen suchen (notfalls Alle), wenn Dateiname gefunden, dann jede Datei nacheinander in die StringListe laden und dort drinnen suchen.
Ok so kann man es auch machen hast recht. So wie ich es gemacht habe funktioniert es zwar auch aber deine Variante ist die richtige im nachhinein.
Aber das ist keine Antwort auf meine Frage.

Geändert von Balosh (27. Apr 2015 um 15:37 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.666 Beiträge
 
Delphi 12 Athens
 
#3

AW: Volltextsuche mit Delphi

  Alt 27. Apr 2015, 15:41
Statt einfach nur die Datei der ListBox hinzuzufügen, musst Du sie halt vorher öffnen und nach dem String durchsuchen. Das würde ich aber eher in eine eigene Funktion verfrachten, sonst wird das zu unübersichtlich.
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
Benutzerbild von p80286
p80286

Registriert seit: 28. Apr 2008
Ort: Stolberg (Rhl)
6.659 Beiträge
 
FreePascal / Lazarus
 
#4

AW: Volltextsuche mit Delphi

  Alt 27. Apr 2015, 15:56
Wenn Du hier
Delphi-Quellcode:
  if MatchesMask( Rec.Name, FileName) then
             Listbox1.Items.Add(Path + Rec.Name);
die gefundenen Dateien in eine Listbox einträgst, dann kannst Du ebensogut hier Deine Suche starten
Delphi-Quellcode:
 
if MatchesMask( Rec.Name, FileName) then
begin
  Listbox1.Items.Add(Path + Rec.Name);
  PositionofText:=FindTextinFile(Filename,Texttofind);
end;
eine weitere Möglichkeit wäre es om OnClick-Event der Listbox (hoffentlich gibt's das) die Textsuche einzubinden.

Gruß
K-H
Programme gehorchen nicht Deinen Absichten sondern Deinen Anweisungen
R.E.D retired error detector
  Mit Zitat antworten Zitat
Balosh

Registriert seit: 21. Apr 2015
31 Beiträge
 
Delphi 10 Seattle Professional
 
#5

AW: Volltextsuche mit Delphi

  Alt 29. Apr 2015, 15:20
Delphi-Quellcode:
 
if MatchesMask( Rec.Name, FileName) then
begin
  Listbox1.Items.Add(Path + Rec.Name);
  PositionofText:=FindTextinFile(Filename,Texttofind);
end;
Das war der entscheidende Hinweis. Das Programm läuft jetzt einwandfrei und liest in *.txt und *.pas Dateien ohne Probleme und gibt die jeweiligen Dateien in der Listbox an. Nun will ich dieses Problem mit den *.dfm Dateien lösen. Hat da jemand schon Erfahrung mit gemacht und kann mir da ein paar Tipps und Hinweise geben?
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.666 Beiträge
 
Delphi 12 Athens
 
#6

AW: Volltextsuche mit Delphi

  Alt 29. Apr 2015, 15:32
Welches Problem denn? Seit Delphi 4(?) werden DFM standardmäßig im Textformat gespeichert. Solltest Du doch auf eine binäre stoßen, wirst Du es daran merken, dass Du nur "Zeichensalat" ausliest. In dem Fall kannst Du dann die genannte Methode anwenden und solltest anschließend wieder lesbaren Text vor Dir haben.
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
Balosh

Registriert seit: 21. Apr 2015
31 Beiträge
 
Delphi 10 Seattle Professional
 
#7

AW: Volltextsuche mit Delphi

  Alt 29. Apr 2015, 15:48
Ich meine das Problem mit den Umbrüchen im Bezeichner einer langen Textzeile. Kann natürlich sein das ich da nicht ganz auf dem aktuellen Stand bin und das mittlerweile nicht mehr so ist.
  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 13:13 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