KnowledgeHub
Questions
Tags
Users
Search
Alex Rivera
|
Logout
Edit Question
Title
Body
I'd like to replace a file (= delete old and add new) in a zip archive with the Delphi XE2/XE3 standard System.Zip unit. But there are no replace/delete methods. Does anybody have an idea how it could be achieved without needing to extract all files and add them to a new archive? I have this code, but it adds the "document.txt" once more if it's already present: 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; Note: I used TPAbbrevia before (that did the job), but I'd like to use Delphi's Zip unit now. So please do not answer something like "use another library". Thank you.
Tags (comma-separated)
Save Edits
Cancel