Einzelnen Beitrag anzeigen

nahpets
(Gast)

n/a Beiträge
 
#14

AW: Große Textdateien spitten

  Alt 29. Okt 2017, 21:33
TFileStream hab' ich zuerst ausprobiert, war auf meinem Rechner deutlich langsamer (vorausgesetzt, dass ich es vernünftig gemacht haben sollte).

Man muss ja dann im Stream immer nach dem Zeilenumbruch suche und, wenn gefunden, die Ausgabedatei wechseln.

Sowas in der Art?
Delphi-Quellcode:
var
  output : Array[0..3] of TFileStream;
  input : TFileStream;
  i : Integer;
  ch : Char;
begin
  input := TFileStream.Create(ParamStr(1),fmOpenRead);
  for i := 0 to 3 do begin
    output[i] := TFileStream.Create(ExtractFilePath(ParamStr(0)) + 'Test_' + IntToStr(i) + '.txt',fmCreate);
  end;
  i := 0;
  input.Position := 0;
  input.Read(ch,1);
  repeat
    output[i].Write(ch,1);
    case ch of
      #10 : begin
              i := i + 1;
              if i > 3 then i := 0;
            end;
    end;
  until input.Read(ch, 1) = 0;
  for i := 0 to 3 do output[i].Free;
  input.Free;
end.
  Mit Zitat antworten Zitat