Einzelnen Beitrag anzeigen

devidespe

Registriert seit: 7. Sep 2006
Ort: Berlin
434 Beiträge
 
Delphi 10.4 Sydney
 
#1

ZipForge: Textdatei entpacken und in Stringliste einlesen

  Alt 1. Mär 2012, 10:45
Hi,

ich möchte ZipForge verwenden, um eine Textdatei mit ca. 50000 Zeilen aus einer Zip-Datei im Arbeitsspeicher zu entpacken und in eine TStringList einzulesen. Leider kennt ZipForge nur die 4 Entpackfunktionen ExtractFiles, ExtractToBuffer, ExtractToStream und ExtractToString, wovon letztere nur die Angabe eines normalen Strings erlaubt. Das reicht für diese Datenmenge natürlich nicht aus.

Geschrieben habe ich eine entsprechende Testfunktion, wie das ursprünglich mit der StringListe geplant war. Leider funktioniert ExtractToString mit diesem Parameter nicht:

Delphi-Quellcode:
procedure TMainForm.bnStartClick(Sender: TObject);
var testliste : TStringList;
begin
  testliste:=TStringList.Create; {initialize Stringlist}
  with Archiver do
  begin
    FileName := 'zipfile.zip';
    Password := 'test';
    OpenArchive;
    ExtractToString('TextFileWithinZipFile.txt', testliste);
    CloseArchive;
  end;
  ProcessStringList(testliste); {internal function to proces the contents of the stringlist}

  testliste.Free; {deinitialize stringlist}
end;
Kennt jemand einen anderen Weg, die Textdatei in die StringListe einzulesen, ohne temporär eine Textdatei zu erstellen und diese wiederum einzulesen?

Danke für die Vorschläge.
Devid
57 65 72 20 6C 65 73 65 6E 20 6B 61 6E 6E 2C 20 69 73 74 20 6B 6C 61 72 20 69 6D 20 56 6F 72 74 65 69 6C 21
  Mit Zitat antworten Zitat