Einzelnen Beitrag anzeigen

choose

Registriert seit: 2. Nov 2003
Ort: Bei Kiel, SH
729 Beiträge
 
Delphi 2006 Architect
 
#14

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

  Alt 5. Feb 2004, 13:34
Zitat von LuckyStrike4life:
du meinst das vermutlich in etwa so:
Delphi-Quellcode:
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
Nein, ich meine so, wie oben beschrieben:
Delphi-Quellcode:
while not Eof(tin) do
begin
  ReadLn(tin, lese);
  if DoesStringMatchCriteria(lese) then
    WriteLn(tout);
end;
mit der Funktion DoesStringMatchCriteria, die entscheidet, ob ein String der Ausgaben angehängt werden soll, oder nicht. Nach der Beschreibung (dritte Spalte <>'-300.00') und dem gegebenen Ausschnitt (zwei führende Spaces) könnte diese Funktion so aussehen:
Delphi-Quellcode:
function DoesStringMatchCriteria(const AString: string): Boolean;
const
  ColStart = 32;
  ColWidth = 7;
begin
  Result:= Copy(AString, ColStart, ColWidth) <> '-300.00';
end;
Wenn Dich später doch der Zahlenwert oder eine andere Spalte (also auch Werte, die länger oder kürzer sind und an anderen Stellen liegen können) könntest Du die zuerst beschriebene Lösung wählen...
gruß, choose
  Mit Zitat antworten Zitat