Autor Beitrag
TTailor
Hält's aus hier
Beiträge: 8



BeitragVerfasst: Mo 10.01.05 01:56 
Hi,

ich habe hier schon im Forum gesucht aber leider nichts passendes gefunden. Ich
hoffe Ihr könnte mir weiterhelfen (ich bin eigentlich recht überzeugt von diesem
Forum hier) :D

Also ich möchte folgendes machen. Für Euch wirklich ein Klacks..

Eine Datei auslesen (vielleicht zeile für zeile) und vergleichen mit einem Wert.
Wenn die Zeile = dem Wert ist soll das Prog beendet werden.

Hier mein ansatzweise erstellter Quelltext:

ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
assignfile(text, 'text.txt');
  {$I-}
   reset(text);
  {$I+}
   if IOResult > 0 then
    begin
     rewrite(text);
    end;

// -> For Schleife ???

   readln(text, prfdat);

   if prfdat = 'Wert' then
    begin
     close;
    end
   else
    begin
    .
    .
    end;
   end.


"Prfdat" ist ein String. Ich persönlich würde vielleicht mit einer For to do Schleife arbeiten. Oder ? Ich kann die verflixt aber nicht so einbinden das er zeile für zeile vergleicht. :oops:

Ich danke Euch !!!!
Sprint
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 849



BeitragVerfasst: Mo 10.01.05 02:09 
TTailor hat folgendes geschrieben:
Eine Datei auslesen (vielleicht zeile für zeile) und vergleichen mit einem Wert.
Wenn die Zeile = dem Wert ist soll das Prog beendet werden.

ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
procedure TForm1.Button1Click(Sender: TObject);
var
  I: Integer;
  Found: Boolean;
begin

  Found := False;

  with TStringList.Create do
    try
      LoadFromFile('text.txt');
      for I := 0 to Count - 1 do
        if Strings[I] = PrfDat then
        begin
          Found := True;
          Break;
        end;
    finally
      Free;
    end;

  if Found then
    Self.Close;

end;

_________________
Ciao, Sprint.
BenBE
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 8721
Erhaltene Danke: 191

Win95, Win98SE, Win2K, WinXP
D1S, D3S, D4S, D5E, D6E, D7E, D9PE, D10E, D12P, DXEP, L0.9\FPC2.0
BeitragVerfasst: Mo 10.01.05 02:10 
Als Schleife musst du eine While-Schleife nehmen:

ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
While not Eof(Text) do
Begin
    ReadLn(...);
    //Do whatever you want
end;


@Sprint: Grundsatz: Möglichst vermeiden Dateien komplett in den Speicher zu lesen ... Bei zu großen Files kann dies zu unschönen Exceptions führen.

_________________
Anyone who is capable of being elected president should on no account be allowed to do the job.
Ich code EdgeMonkey - In dubio pro Setting.
TTailor Threadstarter
Hält's aus hier
Beiträge: 8



BeitragVerfasst: Mo 10.01.05 12:11 
Titel: Dankeschön....
Hi,

danke für Eure antworten ! Ich habe mir daraus was "gebastelt"! :P

Vielen Dank! :idea: