Удалить путь к 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-архивом.