Einzelnen Beitrag anzeigen

Benutzerbild von KodeZwerg
KodeZwerg

Registriert seit: 1. Feb 2018
3.685 Beiträge
 
Delphi 11 Alexandria
 
#5

AW: gz-Datei: Decompress liefert nicht alle Zeilen

  Alt 29. Jan 2022, 07:52
Delphi-Quellcode:
var
   LInput:TFileStream;
   LUnZip:TZDecompressionStream;
   strOutput: TStringStream;
   Splitted: TArray<String>;
   i, x:integer;
begin
   Result:=TStringList.Create(true);
   LInput:=TFileStream.Create(filename,fmOpenRead + fmShareDenyNone);
   LUnZip:=TZDecompressionStream.Create(LInput,15+32); // '15+32' macht den Unterschied zwischen data-error und 'juhu'
   strOutput:= TStringStream.Create;
   strOutput.CopyFrom(LUnZip, LUnZip.Size);
   for x := Low(strOutput.DataString) to High(strOutput.DataString) do // das mit dem LUnZip machen... ich weiß nur gerade nicht wie
     if strOutput.DataString[x] = #0 then
       strOutput.DataString[x] = VK_RETURN;
   i:=length(strOutput.DataString);
   Splitted := strOutput.DataString.Split([#10]);
   strOutput.free();
   for i:=0 to length(splitted)-1 do
     result.add(splitted[i]);
   LUnZip.Free;
   LInput.Free;
end;
Könnte das vielleicht helfen? Nur hier getippt um zu veranschaulichen was ich meine...
Gruß vom KodeZwerg

Geändert von KodeZwerg (29. Jan 2022 um 08:17 Uhr)
  Mit Zitat antworten Zitat