AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren

Volltextsuche mit Delphi

Ein Thema von Balosh · begonnen am 21. Apr 2015 · letzter Beitrag vom 22. Mai 2015
Antwort Antwort
Seite 5 von 6   « Erste     345 6   
Benutzerbild von p80286
p80286

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

AW: Volltextsuche mit Delphi

  Alt 27. Apr 2015, 16: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
 
#42

AW: Volltextsuche mit Delphi

  Alt 29. Apr 2015, 16: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.534 Beiträge
 
Delphi 11 Alexandria
 
#43

AW: Volltextsuche mit Delphi

  Alt 29. Apr 2015, 16: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
 
#44

AW: Volltextsuche mit Delphi

  Alt 29. Apr 2015, 16: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
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.851 Beiträge
 
Delphi 11 Alexandria
 
#45

AW: Volltextsuche mit Delphi

  Alt 29. Apr 2015, 16:59
Auch Umlaute usw. werden codiert. Du müsstest die DFM Datei parsen und Dir ein "Art" DOM aufbauen, um das gewohle zu erhalten.
Markus Kinzler
  Mit Zitat antworten Zitat
Benutzerbild von BUG
BUG

Registriert seit: 4. Dez 2003
Ort: Cottbus
2.094 Beiträge
 
#46

AW: Volltextsuche mit Delphi

  Alt 29. Apr 2015, 18:13
Du müsstest die DFM Datei parsen und Dir ein "Art" DOM aufbauen
Ich würde immer zuerst eine Art eventbasierten Parser analog zu SAX (um mal bei XML zu bleiben ) schreiben. Für eine Suche ist das ausreichend und einen Baum (wie DOM) kann man später immer noch damit bauen.
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.851 Beiträge
 
Delphi 11 Alexandria
 
#47

AW: Volltextsuche mit Delphi

  Alt 29. Apr 2015, 18:15
Er kann auch etwas "Fertiges" verwenden:

http://sourceforge.net/projects/dfmedit/files/dfmedit/
Markus Kinzler
  Mit Zitat antworten Zitat
Balosh

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

AW: Volltextsuche mit Delphi

  Alt 7. Mai 2015, 09:46
Ich dreh noch am Rad.
Seit über einer Woche versuche ich die Sonderzeichen (ä,ö,ü,ß usw.) mit in die Suche einzubeziehen und bekomme es einfach nicht hin. Habe verschiedene Tipps aus dem Internet probiert aber nichts hat wirklich funktioniert.

Wie bekomme ich das in dieser Source gebacken:

Code:
procedure TMainSuche.FileSearch(const PathName, FileName: string);
var Rec : TSearchRec;
    Path: string;
    slist: TStringList;
begin
  Path := IncludeTrailingBackSlash(PathName);
  slist := TStringList.Create;
  try
    if FindFirst (Path + '*', faAnyFile, Rec) = 0 then
    begin
      repeat
        if (Rec.attr in [faDirectory, (faDirectory+faArchive)]) then
        begin
          if Checkbox1.Checked then
          begin
            if (Rec.Name <> '.') and (Rec.Name <> '..') then
              FileSearch( Path+Rec.Name , FileName);
          end;
        end else
          if MatchesMask( Rec.Name, FileName) then
          begin
            slist.LoadFromFile(Path + Rec.Name);
            if pos(cbSucheT.Text, slist.Text)>0 then
              Listbox1.Items.Add(Path + Rec.Name);
          end;
      until FindNext(Rec) <> 0;
    end;
  finally
     FindClose (Rec);
     slist.free;
  end;
end;
Ich weiß echt nicht mehr weiter.
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.851 Beiträge
 
Delphi 11 Alexandria
 
#49

AW: Volltextsuche mit Delphi

  Alt 7. Mai 2015, 10:13
Wie meinst Du das? Pos müsste auch Umlaute finden oder meinst Du Alternativen ( ae für ä usw.)?
Markus Kinzler
  Mit Zitat antworten Zitat
Balosh

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

AW: Volltextsuche mit Delphi

  Alt 7. Mai 2015, 10:48
Wenn ich zum Beispiel in einer Textdatei nach einem Wort mit 'ä' Suche bringt er mir die Meldung:

"Keine Zuordnung für Unicode-Zeichen in der Multibyte-Zielcodeseite vorhanden."

Da ich ja die "Volltextsuche" sowieso auf Unicode Basis machen wollte und alles bisher auch funktioniert nur das hier nicht, würde ich das wenn es geht auch noch irgendwie hinbekommen.
  Mit Zitat antworten Zitat
Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

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 18:22 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