Delphi Text in Testdatei weitersuchen ...?

Hallo ...
Ich habe da mal eine Frage ... Wie kann ich meinen Code so erweitern, daß die Suchfunktion nicht nur bist zum ersten Treffer sucht, sonder danach noch weiter in der Textdatei sucht ?

Code:
procedure TForm1.Button1Click(Sender: TObject);
var

  F: TextFile;
  S,tel,name: string;
begin
    AssignFile(F, 'C:\PFAD\txt.txt');   { Datei ausgewählt }
    Reset(F);
    while Not EOF(F) do
    begin
         Readln(F, S);                          { Erste Zeile der Datei lesen }
         if pos(Trim(Uppercase(Edit1.text)),Uppercase(S)) <> 0 then
         begin
         tel:=S;
         Name:=S;
             delete(tel,pos(';',tel),length(tel)-pos(';',tel));
             delete(Name,1,pos(';',Name));
             delete(Name,pos(';',name),length(Name)-pos(';',Name)+1);
             ShowMEssage(Tel+#13+#10+Name);
             edit1.Text:='';
             exit;
         end;
    end;
    CloseFile(F);
end;
 
Ich weiß jetzt nicht,ob das das ist, was du wolltest.
Es wird aus einer Datei ausgelesen, in der mit einem ";" die Wörter , Zahlen getrennt werden...


procedure TForm1.Button1Click(Sender: TObject);
var
datei:tstringlist;
count,i:integer;

Code:
begin
   datei := tstringlist.create;
   datei.Delimiter := ';';
   datei.loadfromfile('C:\test.txt');
   datei.DelimitedText := datei.Text;
   count := datei.Count;
   if datei.Count = 0 then showmessage('Datei ist leer');
     
  for i := 0 to count-1 do
       begin
          if (edit1.Text=datei.Strings[i]) then showmessage(datei.Strings[i])
       end;
end;
 
Original von DeeJayTimo
Hallo ...
Ich habe da mal eine Frage ... Wie kann ich meinen Code so erweitern, daß die Suchfunktion nicht nur bist zum ersten Treffer sucht, sonder danach noch weiter in der Textdatei sucht ?

Code:
procedure TForm1.Button1Click(Sender: TObject);
var

  F: TextFile;
  S,tel,name: string;
begin
    AssignFile(F, 'C:\PFAD\txt.txt');   { Datei ausgewählt }
    Reset(F);
    while Not EOF(F) do
    begin
         Readln(F, S);                          { Erste Zeile der Datei lesen }
         if pos(Trim(Uppercase(Edit1.text)),Uppercase(S)) <> 0 then
         begin
         tel:=S;
         Name:=S;
             delete(tel,pos(';',tel),length(tel)-pos(';',tel));
             delete(Name,1,pos(';',Name));
             delete(Name,pos(';',name),length(Name)-pos(';',Name)+1);
             ShowMEssage(Tel+#13+#10+Name);
             edit1.Text:='';
             exit;
         end;
    end;
    CloseFile(F);
end;

Ich denke der Abbruch kommt hier durch das exit; im obigen Quelltext. Wenn man das wegläßt, dann läuft das Programm bis zum Dateiende, aber bei jedem Treffer muß man die Messagebox wegklicken.
 
Zurück
Oben