AGB  ·  Datenschutz  ·  Impressum  







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

Pos - ungenau suchen

Ein Thema von toyoman · begonnen am 17. Dez 2007 · letzter Beitrag vom 17. Dez 2007
Antwort Antwort
toyoman

Registriert seit: 2. Jun 2003
323 Beiträge
 
Delphi 2010 Enterprise
 
#1

Pos - ungenau suchen

  Alt 17. Dez 2007, 08:35
Hallo

Habe soeben gelernt wie ich mit dem Befehl POS eine Dateien durchsuchen kann. Soweit so gut.

Nur leider...

habe ich z.B. die Worte: "siehe Titel" in den Files drin.
Wenn ich nun mit Pos die Stringlisten durchsuche findet er die Worte siehe und Titel nicht allein sondern nur wenn ich nach beidem also "siehe Titel" suche.

Versteh das nicht ganz, der sucht also immer zeileweise oder wie?

Also nochmal genauer:
durchsucht werden Textfiles mit ganz normalen Stringinhalten.
Es kann eine oder mehrere Zeilen drin vorkommen.
ich suche über ein Edit Feld wo ich den Suchstring eingebe (ein oder mehrere Worte).

alles unklar?
  Mit Zitat antworten Zitat
Benutzerbild von peschai
peschai

Registriert seit: 15. Feb 2004
Ort: Göppingen
270 Beiträge
 
Delphi XE5 Professional
 
#2

Re: Pos - ungenau suchen

  Alt 17. Dez 2007, 08:39
Hallo

was möchtest du tun ?
Alle zeilnummern ausgeben wo dein suchtext vorkommt oder die Annzahl wie oft ?

"Pos" sucht nach dem ERSTEN vorkommen eines "SubStrings" in einem String.

Wenn du eine Textdatei komplett in eine String geladen hast, dann kannst du damit das erste Vorkommen finden. Für weitere Vorkommen musst du mehr tun...

Wenn du den Text in eine Stringliste geladen hast, dann kannst du in einer Schleife alle Zeilen durch gehen und damit zeileweise jeweils das erste Vorkommen finden...

...Ok ?
Peter Schaible
  Mit Zitat antworten Zitat
Benutzerbild von Aurelius
Aurelius

Registriert seit: 29. Jan 2007
Ort: Erfurt
753 Beiträge
 
Delphi 7 Personal
 
#3

Re: Pos - ungenau suchen

  Alt 17. Dez 2007, 08:41
vielleicht hilft dir der Thread
http://www.delphipraxis.net/internal...661&highlight=

Bei dir würden sich wohl die Regulären Ausdrücke anbieten...
Jonas
  Mit Zitat antworten Zitat
toyoman

Registriert seit: 2. Jun 2003
323 Beiträge
 
Delphi 2010 Enterprise
 
#4

Re: Pos - ungenau suchen

  Alt 17. Dez 2007, 08:45
Zitat von peschai:
Hallo

was möchtest du tun ?
Alle zeilnummern ausgeben wo dein suchtext vorkommt oder die Annzahl wie oft ?

...Ok ?
Meine aktuelle Prozedur geht wie folgt:

Delphi-Quellcode:
procedure TfrmUebersicht.BitBtn1Click(Sender: TObject);
var
  i,j:integer;
  liste:TStringlist;
begin
      listview1.ItemIndex:=0;
      for i:=0 to listview1.Items.Count-1 do
      begin
          liste:=TStringList.Create;
          liste.LoadFromFile(listview1.Items.Item[listview1.itemindex].SubItems[5]+'.dec');
          for j:=0 to liste.Count-1 do
          begin
              if pos(liste[j],edsuch.Text) >0 then
              begin
                showmessage(listview1.Items.Item[listview1.itemindex].SubItems[5]+'.dec');
                listview1.Items.Item[j].ListView.Canvas.Brush.Color:=clred;
              end else
              begin
                //showmessage('nichts gefunden');
              end;
          end;
          liste.Free;
          listview1.ItemIndex:=listview1.ItemIndex+1;
      end;
end;
ich möchte die Zeile in der Listview markieren wenn der Text im File gefunden wurde... (die Listview enthält in einer Spalte Pfad und Dateinamen der zu durchsuchenden Dateien.
  Mit Zitat antworten Zitat
Benutzerbild von peschai
peschai

Registriert seit: 15. Feb 2004
Ort: Göppingen
270 Beiträge
 
Delphi XE5 Professional
 
#5

Re: Pos - ungenau suchen

  Alt 17. Dez 2007, 08:51
Hallo

hast du eventuell in deinem Sourcecode etwas vertauscht ?
function Pos(SubStr: string; S: string): Integer;
Peter Schaible
  Mit Zitat antworten Zitat
toyoman

Registriert seit: 2. Jun 2003
323 Beiträge
 
Delphi 2010 Enterprise
 
#6

Re: Pos - ungenau suchen

  Alt 17. Dez 2007, 08:54
Zitat von xX0815Xx:
Bei dir würden sich wohl die Regulären Ausdrücke anbieten...
was heisst das konkret: reguläre Ausdrücke?
  Mit Zitat antworten Zitat
toyoman

Registriert seit: 2. Jun 2003
323 Beiträge
 
Delphi 2010 Enterprise
 
#7

Re: Pos - ungenau suchen

  Alt 17. Dez 2007, 08:55
Zitat von peschai:
Hallo

hast du eventuell in deinem Sourcecode etwas vertauscht ?
function Pos(SubStr: string; S: string): Integer;
OWWEEHHHH!!! tatsächlich..... mensch jetzt gedder!
  Mit Zitat antworten Zitat
Benutzerbild von peschai
peschai

Registriert seit: 15. Feb 2004
Ort: Göppingen
270 Beiträge
 
Delphi XE5 Professional
 
#8

Re: Pos - ungenau suchen

  Alt 17. Dez 2007, 08:56
Oh noch etwas...

1.)
listview1.Items.Item[j].ListView.Canvas.Brush.Color:=clred; "I" oder wirklich "J" ???

2.)
Mach den TStringList.Create ausserhalb der Schleife ...
Delphi-Quellcode:
try
  liste := tstringlist.create
  For ....
    begin
    end
finally
  FreeAndNil(liste);
end;
Peter Schaible
  Mit Zitat antworten Zitat
toyoman

Registriert seit: 2. Jun 2003
323 Beiträge
 
Delphi 2010 Enterprise
 
#9

Re: Pos - ungenau suchen

  Alt 17. Dez 2007, 08:58
Zitat von peschai:
Oh noch etwas...
Vielen Dank für deine Tipps am Montag Morgen Wird sofort umgebaut...
  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 20:28 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