Удалить путь к zip-файлу с помощью Abbrevia

Можно ли удалить путь к элементу zip-файла с помощью Abbrevia? После просмотра исходного кода я не могу найти способ удалить путь к файлу. Кто-нибудь пытался это сделать и если да, то как?

РЕДАКТИРОВАТЬ Я отображаю содержимое zip-файла в TAbListView, где путь к каждому файлу хранится в архиве. Элементы были добавлены в zip-файл с StoreOptions, установленным в [soStripDrive], поэтому путь сохраняется в TAbListView.Items.Item[I].Subitem[9] для каждого файла в zip-файле. Я пытаюсь удалить пути, а затем сохранить архив, чтобы ни один из файлов не имел путей.

Пути до удаления

TAbListView.Items.Item [0].Subitem [9]: = \ DelphiXE4 \ Projects \ Abbrevia \ Unit1.pas

TAbListView.Items.Item [1].Subitem [9]: = \ DelphiXE4 \ Projects \ Abbrevia \ Unit1.dfm

Пути после удаления

TAbListView.Items.Item [0].Subitem [9]: = '';

TAbListView.Items.Item [1].Subitem [9]: = '';

Таким образом, молнии не имеют никаких путей.

1 ответ

AFAICT, вы не можете изменить имя в архиве (zip) без фактического извлечения файла, а затем вставив его обратно без сохранения пути в первую очередь.

Очевидное место, чтобы попытаться изменить это было бы с TAbZipItem.StoredPath, но это только для чтения; с помощью TAbZipItem.FileName отлично работает при компиляции и запуске, но не имеет никакого эффекта. Ты ничего не делаешь в TAbsListView изменит что-либо, так как он просто отображает контент и не имеет ничего общего с базовым zip-архивом.

Другие вопросы по тегам