Работа с zip архивами29.10.2024, 02:49. Показов 18518. Ответов 282
Метки нет (Все метки)
Из всего, что попадалось по теме сжатия/распаковки ZIP наиболее интересные были примеры с использованием библиотеки Zlib. Оригинальная zlib использует cdecl экспорт функций, но есть реализация zlibwapi.dll, которую можно использовать в VB. Вот хороший пример использования. Там можно увидеть как сжть/распаковать массив байтов, но вот беда, очень сложно найти пример под VB с более обширным использованием, способной на большее, данной либы, которая не есть простая, там есть функции с использованием множества параметров констант и длинных структур, которые чтобы узнать наверное надо долго копатся в сишных заголочниках. Но HackerVlad в личной беседе говорил, что у него есть исходники с использованием данной библиотеки, поэтому любезно прошу его поделиться данной информацией.
Добавлено через 1 минуту кстати словосочетание zip-архивами в названии форум блочит почему-то )Добавлено через 6 минут На одном форуме есть хороший пример испльзования функций zlib для извлечения/распаковки отдельных файлов, там Кликните здесь для просмотра всего текста
обсуждался какой-то экзотический ЯП Clarion, но очень наглядно
Здесь подробное описание функций, структур и констант, однако я не нашел там unzGetCurrentFileInfo и т.п.
0
|
||||||
| 29.10.2024, 02:49 | |
|
Ответы с готовыми решениями:
282
Работа с ZIP-архивами - распаковка файлов Автоматизировать заполнение "Графика выполненных работ по месяцам" Задания из лаб.работ |
|
Испарился
1741 / 637 / 45
Регистрация: 10.09.2021
Сообщений: 2,769
|
||||||
| 22.11.2024, 18:51 | ||||||
|
Я осмелюсь продолжить эту тему, так как я нашёл новый способ, новую технологию создания библиотеки zlibwapi.dll из ресурсов EXE-файла! Это просто невероятная фантастика! Оказывается, что если поместить любой CAB файл внутрь ресурсов своего EXE то получается "Непрерывный SFX CAB Архив" а вы об этом знали? Я сам не знал!!! И после этого Total Commander начинает открывать/читать ваш exe-файл как архив, через комбинацию клавиш Ctrl+PageDown. Я просто в шоке если честно, я случайно об этом узнал сейчас, просто решил попробовать засунуть в ресурсы CAB-файл.
The Trick, помню также говорил про самораспаковывающий SFX свой EXE он тоже как-то делал, но там явно по другому было!!! А тут так просто! Просто взял и добавил в ресурсы под любым именем просто CAB-файл и всё! И вуаля! Магия! Операционная система теперь думает, что это SFX-архив! Я если честно, до сих пор нахожусь в шоке от этого!!! И кстати я теперь решил написать 4 версию программы zlibwapi.dll from resources. Я решил, что не нужны теперь вообще никакие вспомогательные модули для распаковки данных. Теперь будет распаковывать всего одной функцией ExtractFiles так как теперь у нас в ресурсах зашит CAB-файл. Идея до ужаса проста: 1. Загружаем из ресурсов наш CAB-файл в байтовый массив 2. Создаём временный файл под названием zlibwapi.dl_ 3. Распаковываем этот CAB-архив zlibwapi.dl_ в zlibwapi.dll 4. Удаляем временный файл zlibwapi.dl_ И никакие скрипты, никакие сложные моудли и никакие сложные технологии для распаковки данных нам теперь точно не нужны!!! Почему я решил именовать файл как zlibwapi.dl_? А я просто вспомнил, как раньше часто в разных дистрибутивах, особенно в майкрософтовских, были такие упакованные файлы с расширением dl_ или ex_ где просто лежат эти файлы для распаковки инсталятором. Вот и всё! Теперь новая версия этой программы этого exe-файла кстати и весит меньше! Рекорд всего 110 592 байт. Код программы будет теперь, в основном, только в форме. Код теперь ну совсем маленький:
1
|
||||||
|
Испарился
1741 / 637 / 45
Регистрация: 10.09.2021
Сообщений: 2,769
|
|
| 22.11.2024, 20:48 | |
|
Вы знаете, что это значит!? Это значит, что можно создавать самораспаковывающийся SFX-архив в своём EXE на VB6 так просто!!! И очень просто извлекать содержимое всего одной простой функцией ExtractFiles. Можно писать даже инсталяторы!!!
Добавлено через 20 минут Я только что попробовал точно так же и ZIP-архив создаётся, оказывается! Добавлено через 31 секунду SFX ZIP архив я имею ввиду, если в ресурсы зашить зипку и скомпилировать EXE Добавлено через 2 минуты И SFX-RAR архив тоже точно так же создаётся! Удивительно просто! Добавлено через 1 час 19 минут The trick, если файлы помещать не в ресурсы, а если записывать в хвост exe через твой класс, через твой проект EOFData то тогда файлы эти не загружаются в оперативку, так? а если помещать в ресурсы, то все ресурсы загружаются в оперативку вместе с запуском exe? но с другой стороны, если помещать файл в хвост, а не в ресурсы, то тогда как потом самому программным кодом на vb6 эти файлы извлекать?
0
|
|
| 23.11.2024, 04:25 [ТС] | |||
|
Добавлено через 19 минут
1
|
|||
|
Испарился
1741 / 637 / 45
Регистрация: 10.09.2021
Сообщений: 2,769
|
|
| 23.11.2024, 07:39 | |
|
0
|
|
|
Испарился
1741 / 637 / 45
Регистрация: 10.09.2021
Сообщений: 2,769
|
||
| 17.02.2025, 04:53 | ||
|
0
|
||
|
Испарился
1741 / 637 / 45
Регистрация: 10.09.2021
Сообщений: 2,769
|
|
| 17.02.2025, 14:57 | |
|
The trick, слушай в диспетчере задач ничего не изменилось в объёме занимаемой памяти для этого EXE
0
|
|
|
Испарился
1741 / 637 / 45
Регистрация: 10.09.2021
Сообщений: 2,769
|
|
| 17.02.2025, 15:02 | |
|
посмотрел ещё в другой программе в Process Hacker, на всякий случай, там EXE занимает 4.63 Мб не так уж и много
нигде не написано чтобы жрало 100 Мб Добавлено через 58 секунд я тебе и сам могу скрины поскидывать где программа занимает всего пару мегабайтов в оперативной памяти
0
|
|
|
Испарился
1741 / 637 / 45
Регистрация: 10.09.2021
Сообщений: 2,769
|
|
| 17.02.2025, 15:06 | |
|
The trick, так виртуальная память же не оперативная какая разница сколько там EXE занимает, пусть хоть Гигабайт, на что это повлияет? С оперативки же не отъедает.
0
|
|
|
Модератор
|
|
| 17.02.2025, 15:08 | |
|
HackerVlad, я тебе дал ссылку прочитай ту дискуссию. Приложения используют только виртуальную память. Возьми и выделяй память и посмотри сколько в одном случае тебе удастся выделить и в другом если ты опять собрался спорить о том в чем не разбираешься.
0
|
|
|
Испарился
1741 / 637 / 45
Регистрация: 10.09.2021
Сообщений: 2,769
|
|
| 17.02.2025, 15:15 | |
|
The trick, у меня в диспетчере задач нигде не показывает что 100 Мб отъедает. Но в ProcessHacler'е всё же нашёл такое понятие как виртальная память, хз что это такое вообще. Но почему в обычном диспетчере задач у меня ничего не показывается как у тебя.
0
|
|
|
Испарился
1741 / 637 / 45
Регистрация: 10.09.2021
Сообщений: 2,769
|
|
| 17.02.2025, 15:17 | |
|
The trick, я выбрал прям все столбцы с памятью все галочки отметил с памятью
0
|
|
|
Испарился
1741 / 637 / 45
Регистрация: 10.09.2021
Сообщений: 2,769
|
|
| 17.02.2025, 15:22 | |
|
The trick, а ты в семёрке проверял?
0
|
|
|
Модератор
|
|
| 17.02.2025, 15:24 | |
|
Вот на 7ке все тоже самое.
0
|
|
| 17.02.2025, 15:24 | |
|
Помогаю со студенческими работами здесь
240
access и zip архив Как распаковать ZIP-файл в 7z?
Замена файла в zip архиве при совпадении имени Как сделать архив zip? Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога
Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
|
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование
. \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json>
Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом.
# Check if. . .
|
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так:
https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347
Основана на STM32F303RBT6.
На борту пять. . .
|
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
|
|
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу,
и светлой Луне.
В мире
покоя нет
и люди
не могут жить в тишине.
А жить им немного лет.
|
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила»
«Время-Деньги»
«Деньги -Пуля»
|
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога
Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
|
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога
Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
|