Einzelnen Beitrag anzeigen

Benutzerbild von stoxx
stoxx

Registriert seit: 13. Aug 2003
1.111 Beiträge
 
#8

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

  Alt 5. Feb 2004, 13:11
Zitat von LuckyStrike4life:

Meine Überlegungen sehen so aus:
Delphi-Quellcode:
var tin, tout:Textfile;
    lese:String;
begin
  AssignFile(tin, 'c:\kai.txt'); // Name der Datei ist kai, lasse sie damit Laden
  AssignFile(tout, 'c:\kaineu.txt'); // gebe hier Name und Pfad an, wo das Resultat dann hin soll
  Reset(tin);
  Rewrite(tout);
  while not Eof(tin) do
  begin
     ReadLn(tin, lese);
[...] // ab hier fehlts mir
  end;
  CloseFile(tout);
  CloseFile(tin);
end;
Also doch sehr schlecht...
Wie kann man das Problem lösen?

Hallo LuckyStrike4life,

die Idee ist schon richtig, in den Speicher sollte man so eine Datei wirklich nicht laden.
das Spaltentrennzeichen ist sicherlich Tab. Guck Dir mal Stringreplace an.
von jeder Spalte die einzelne Zelle überprüfen, ob negativ, dann löschen. bzw nicht neu schreiben.

vielleicht hilft Dir diese kleine Funktion weiter ?

Code:
function GetStrNr(const aStr, delim: string; nr: integer): string;
begin
  with TStringList.Create do begin
    Text := StringReplace(aStr, delim, #13#10, [rfReplaceAll]);
    result := strings[nr - 1];
    free;
  end;
end;
  Mit Zitat antworten Zitat