Entwickler-Ecke

Dateizugriff - datei nach mehreren schlüsselwörtern durchsuchen


Urmel81 - Mi 18.11.09 23:11
Titel: datei nach mehreren schlüsselwörtern durchsuchen
hallo zusammen,

ich suche eine möglichkeit eine datei nach mehreren schlüsselwörtern zu durchsuchen. dabei soll die datei nicht nach jedem schlüsselwort geschlossen und wieder geöffnet werden, sondern sozusagen einfach der zeilenzähler zurückgesetzt und die datei mit dem neuen schlüsselwort erneut durchsucht werden. bisher habe ich die datei immer mit "readln" und dann mit "pos" nach dem schlüsselwort gesucht. leider scheitere ich eben daran das schlüsselwort zu ändern und die datei erneut zu durchsuchen.

bin für jede idee dankbar.


jaenicke - Do 19.11.09 01:55

Hallo und :welcome: im Forum!

user profile iconUrmel81 hat folgendes geschrieben Zum zitierten Posting springen:
leider scheitere ich eben daran das schlüsselwort zu ändern und die datei erneut zu durchsuchen.
Du hast also einen Quelltext, zeigst den aber nicht. Daran weißt du nicht wie du eine Änderung machen kannst, und möchtest dabei Hilfe.

Aber wie sollen wir jetzt zeigen wie ein Quelltext geändert werden kann, den wir nicht kennen? :gruebel:


Horst_H - Do 19.11.09 09:42

Hallo,

A:was hindert Dich daran die Datei zu schliessen und neu zu öffnen?
B:Warum arbeitest Du nicht einfach eine Schlüsselwortliste (array of String) ab? Eine Zeile lesen und dann nach den Schlüsselworten suchen , nächste Zeile usw...


Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
//Suchwortliste erstellen.
...
//Datei öffnen 
...
//und dann durchsuchen 
while  NOT(EOF(Textdatei)) do
  begin
  readln(TextDatei,Zeile)
  For i := 0 to high(Suchwortliste) do
     IF POS(Suchwortliste[i],Zeile) <> 0 then
       //habe was gefunden mach was
  end;


Gruß Horst


Urmel81 - Do 19.11.09 10:13

genau so hatte ich es auch gemacht, also ohne die liste.


while not eof(FileToRead) do
begin
readln(FileToRead,DataSearch);
position:= pos(KeyAnfang,DataSearch);
if position <> 0 then
begin
...

manchmal sieht man den wald vor lauter bäumen nicht ;-)

zum thema öffnen und schließen:
ich finds einfach eine elegantere lösung eine datei in einem rutsch nach allen keywords zu durchsuchen ohne sie mehrmals öffnen und schließen zu müssen.

nen array of string is ne jute idee :-)

danke euch.