Delphi XE2/XE3 standart System.Zip birimi ile bir zip arşivinde bir dosyayı (= eski sil ve yeni ekle) değiştirmek istiyorum. Ancak değiştirme/silme yöntemleri yoktur. Herhangi bir kişinin tüm dosyaları ayıklayıp yeni bir arşive eklemesine gerek kalmadan nasıl elde edilebileceğine dair bir fikri var mı?Delphi XE2 TZipFile: bir dosyayı zip arşivinde değiştir
Bu kodu vardır, ama buna zaten mevcut olmadığını bir kez daha "document.txt" ekler:
var
ZipFile: TZipFile;
SS: TStringStream;
const
ZipDocument = 'E:\document.zip';
begin
ZipFile := TZipFile.Create; //Zipfile: TZipFile
SS := TStringStream.Create('hello');
try
if FileExists(ZipDocument) then
ZipFile.Open(ZipDocument, zmReadWrite)
else
ZipFile.Open(ZipDocument, zmWrite);
ZipFile.Add(SS, 'document.txt');
ZipFile.Close;
finally
SS.Free;
ZipFile.Free;
end;
end;
Not: I (iş yaptı o) önce TPAbbrevia kullanılabilir, ancak İsterdim Delphi'nin Zip ünitesini şimdi kullanmak. Yani lütfen "başka bir kütüphane kullan" gibi bir şeye cevap vermeyin. Teşekkür ederim.
. Yerleşik ZIP kitaplığı bu işlevselliği desteklemiyor. –
Belki birisi onun yaptığı bir hack yazdı? – oxo
Neden Abbrevia'yı kullanmıyorsunuz? Çok iyi olduğu söylendi. –