| Автор | Сообщение |
|
|
| |
Пост N: 710
Зарегистрирован: 17.06.10
|
|
Отправлено: 21.10.25 15:44. Заголовок: Замена конкретного файла в zip
Приветствую ! Есть zip архив. В нем всякие папки с файлами. Вытаскиваю через hb_UnZipFiule конкретный файл. Изменяю его и хочу записать обратно в zip. Возможно ли такое ?
|
 |

|
|
Ответов - 4
[только новые]
|
|
|
|
| moderator
|
Пост N: 2522
Зарегистрирован: 11.02.10
|
|
Отправлено: 21.10.25 18:08. Заголовок: fil пишет: Возможно..
fil пишет: Да, это возможно сделать. Вот примерный рабочий код (архив BACKUP.ZIP был создан ранее без сохранения путей в архиве): | цитата: | ... if hb_zipdeletefiles('BACKUP.ZIP', {"demo2.prg"}) hb_ZipFile('BACKUP.ZIP', {"v:\demo2.prg"}, 5, NIL, .F., NIL, .F., .F., NIL, .T., NIL) endif |
| 
|
 |

|
|
|
| |
Пост N: 711
Зарегистрирован: 17.06.10
|
|
Отправлено: 21.10.25 19:21. Заголовок: А если архив создан ..
А если архив создан с сохранением путей ? В данном случае это .xlsx файл. На самом деле он является zip архивом. Достаточно переименовать xlsx в zip. Там несколько папок с файлами. И мне нужно заменить файл в конкретной папке А как вытащить всю структуру я не знаю
|
 |

|
|
|
| moderator
|
Пост N: 2523
Зарегистрирован: 11.02.10
|
|
Отправлено: 21.10.25 20:32. Заголовок: fil пишет: если арх..
fil пишет: | цитата: | | если архив создан с сохранением путей |
| Вот рабочий вариант для архива с сохранением путей: | цитата: | if hb_zipdeletefiles('BACKUP.ZIP', {substr(GetStartUpFolder(), 3)+"\demo2.prg"}) //msgdebug("Before adding") hb_ZipFile('BACKUP.ZIP', {substr(GetStartUpFolder(), 3)+"\demo2.prg"}, 5, NIL, .F., NIL, .T., .F., NIL, .T., NIL) endif |
|
|
 |

|
|
|
| |
Пост N: 712
Зарегистрирован: 17.06.10
|
|
Отправлено: 21.10.25 21:06. Заголовок: Благодарю, завтра пр..
Благодарю, завтра пробну !
|
 |

|
|