Einzelnen Beitrag anzeigen

LuckyStrike4life

Registriert seit: 22. Jul 2003
Ort: SN
105 Beiträge
 
Delphi 5 Enterprise
 
#13

Re: aus 480 MB txt Datei, bestimmte Zeilen löschen lassen...

  Alt 5. Feb 2004, 13:24
Zitat von choose:
Hallo LuckyStrike4life,

generell sollte der fehlende Abschnitt in etwa so lauten:
Delphi-Quellcode:
while not Eof(tin) do
begin
  ReadLn(tin, lese);
  if DoesStringMatchCriteria(lese) then
    WriteLn(tout);
end;
Die Frage lautet also, wie ermittelst Du, ob der String das von Dir geforderte Kriterium (DoesStringMatchCriteria) erfüllt. Generell verwende ich bei der Verarbeitung von Strings gerne Hier im Forum suchenreguläre Ausdrücke in diesem Fall ist das Problem aber nicht zu letzt von der Ausführungszeit bestimmt und die Daten auch recht einfach beschaffen.
Ich empfehle Dir deshalb den Einsatz von Copy (Teilbereich extrahieren), Trim (Leerzeichen des ermittelten Teilbereichs entferen) und StrToIntDef bzw Val (Rest: Zahl als String in Zahl umwandeln) um die Daten zu verarbeiten. Ein letztlicher Vergleich gegen -300 bildet dann den Rückgabewert von DoesStringMatchCriteria.
Hm..
hab ich noch nicht mit gearbeitet...
du meinst das vermutlich in etwa so:
Delphi-Quellcode:
begin
  AssignFile(tin, 'c:\kai.txt');
  AssignFile(tout, 'c:\kaineu.txt');
  Reset(tin);
  Rewrite(tout);
  while not Eof(tin) do
  begin
     ReadLn(tin, lese);
     WriteLn(tout, Copy(lese, 31, 5) // ich lasse so von Zeichen 31 - 5 Zeichen weiter lesen
dann müsste jetzt ne Abfrage her, die schaut ob das eingelesene -300 ist, oder nicht...
- ich kann doch wirklich nichts -
  Mit Zitat antworten Zitat