Einzelnen Beitrag anzeigen

Willie1

Registriert seit: 28. Mai 2008
657 Beiträge
 
Delphi 10.1 Berlin Starter
 
#1

TZipFile und TMemoryStream

  Alt 7. Feb 2021, 18:25
Hallo Delphi-Freunde*innen,
ich bin noch mit TZipFile zu Gange Ihr (Himitsu u.a.) hattet mir schon im letzten Sommer erklärt, dass ich eine Datei aus einem Zip-Archiv ohne den Umweg über die Festplatte Virtuell öffnen kann. Jetzt will ich das lernen.
Ich habe mir das Folgende überlegt:
Delphi-Quellcode:
procedure TForm1.Button7Click(Sender: TObject);
var
  ms: TMemoryStream;
  Data: TBytes;
  ss: string;
  i: Integer;
begin
  if fod.Execute then begin
    ms := TMemoryStream.Create;
    try
      ms.LoadFromFile(fod.FileName);
      MyZip.Open(ms, zmRead);
      MyZip.Read(0, Data); //Index 0 erste Datei im Archiv
    finally
      ms.Free;
    end;
    ss := '';
    for i:=Low(Data) to High(Data) do
      ss := ss + Chr(Data[i]);
    Memo1.Text := ss;
    MyZip.Close;
  end;
end;
hier mit einem Textfile. Ist das der richtige Weg? Index liefert die lfd. Nr. aus dem Archiv.
Kalte Grüße Willie.
Gut hören kann ich schlecht, schlecht sehen kann ich gut - Ersteres stimmt nicht, das zweite schon.
  Mit Zitat antworten Zitat