Thema: Delphi Zip-Tool

Einzelnen Beitrag anzeigen

omata

Registriert seit: 26. Aug 2004
Ort: Nebel auf Amrum
3.154 Beiträge
 
Delphi 7 Enterprise
 
#2

Re: Zip-Tool

  Alt 20. Dez 2004, 21:00
Moin,

habe mal die ZipCreate-Prozedur überarbeitet...

Delphi-Quellcode:
type
  TZipDateien = array of string;

procedure ZipCreate(ZipFile, Comment:string; ZipDateien:TZipDateien);
var myzip : tzipfile;

  procedure MyAddFile(Datei:string);
  var FileStream:TFileStream;
      Buffer:string;
  begin
    myzip.AddFile(Datei);
    FileStream:=TFileStream.Create(Datei, fmOpenread);
    try
      setlength(Buffer, FileStream.Size);
      FileStream.ReadBuffer(Buffer[1], FileStream.Size);
      myzip.Data[myzip.Count-1]:=Buffer;
    finally
      FileStream.free;
    end;
  end;

var i:integer;
begin
  myzip := TZipFile.create;
  try
    for i:=1 to length(ZipDateien) do
      MyAddFile(ZipDateien[i-1]);
    myzip.ZipFileComment := Comment;
    myzip.SaveToFile(ZipFile);
  finally
    myzip.free;
  end;
end;
und der Aufruf...

Delphi-Quellcode:
procedure TForm.ButtonClick(Sender: TObject);
var ZipDateien:TZipDateien;
begin
  setlength(ZipDateien, 2);
  ZipDateien[0]:='File1.pdf';
  ZipDateien[1]:='File2.exe';
  ZipCreate('test.zip', 'Zip-Kommentar', ZipDateien);
end;
MfG
Thorsten
  Mit Zitat antworten Zitat