Работа с zip архивами29.10.2024, 02:49. Показов 18522. Ответов 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
|
|||
| 08.11.2024, 16:45 | |||
|
Добавлено через 2 минуты locm, вы думаете что я не гуглил? я гуглил, на одних сайтах одно, а на других сайтах другое. Когда гуглишь ещё больше начинаешь запутываться так как все по разному пишут. Противоречий много. Добавлено через 1 минуту Я считаю и убеждён что cp1251 это ANSI и это однобайтная. Хотя все сайты могут по разному писать и толковать. В разных источниках по разному.
0
|
|||
| 08.11.2024, 16:50 | |
|
0
|
|
|
Модератор
|
||||
| 09.11.2024, 01:03 | ||||
|
2
|
||||
|
Модератор
|
|||||||
| 09.11.2024, 14:04 | |||||||
Если нужно хранить архив в ехе есть еще вариант запихать его в конец ехе. Получится SFX архив. Либо организовать там хранение нескольких архивов через этот класс.
1
|
|||||||
| 10.11.2024, 08:44 [ТС] | |||||||
Ах, туплю, там же есть готовый пример - Maker, там действительно, жмешь Save EOF Data, и файл подрастает в размере - класс! ) Добавлено через 3 часа 33 минуты Фактически данный код наверное можно использовать вместо редактора ресурсов. Но я не знаю, конечно есть ли какие-то недостатки у стандартного редактора ресурсов (я им просто не пользовался). Но в данном случае можно просто любой файл либо в исходном виде, либо как-то сжать/зашифровать и т.д. и дописать в тело исполняемого файла (если так можно выразиться). А если портировать данный код в Twin Basic, то там к работе с этими файлами добавятся дополнительные возможности вроде загрузки/выгрузки Изображения из байтовго массива и т.д..
1
|
|||||||
| 10.11.2024, 19:33 [ТС] | ||
|
0
|
||
|
Модератор
|
||
| 11.11.2024, 00:04 | ||
|
2
|
||
| 11.11.2024, 14:10 [ТС] | ||||||
|
Не лишним, думаю, будет отметить в данном треде, также этот замечательный код HackerVlad-а для работы с cab-архивами, модуль получения информации о cab я немножко доработал под x64/Wide..
Кликните здесь для просмотра всего текста
1
|
||||||
|
Испарился
1741 / 637 / 45
Регистрация: 10.09.2021
Сообщений: 2,769
|
||
| 11.11.2024, 14:45 | ||
|
Добавлено через 7 минут Хотя может и стоило мне всё-таки W-функции написать, вдруг CAB-архив запихнут в какую-нибудь китайскую папку, хотябы чтобы путь считывало... Но внутри CAB точно никакой китайщины просто быть не может.
0
|
||
|
Испарился
1741 / 637 / 45
Регистрация: 10.09.2021
Сообщений: 2,769
|
|
| 11.11.2024, 15:06 | |
|
testuser2, да ты молодец что сделал, а твоя версия модуля будет работать в vb6?
0
|
|
| 11.11.2024, 15:16 [ТС] | |||||||
1
|
|||||||
|
Испарился
1741 / 637 / 45
Регистрация: 10.09.2021
Сообщений: 2,769
|
||
| 11.11.2024, 15:18 | ||
|
testuser2, да ты молодец что сделал, а твоя версия модуля будет работать в vb6?
0
|
||
| 11.11.2024, 15:32 [ТС] | ||
|
0
|
||
|
Испарился
1741 / 637 / 45
Регистрация: 10.09.2021
Сообщений: 2,769
|
|
| 11.11.2024, 18:40 | |
|
testuser2, кстати не знаешь почему майкрософтовские cab-архивы называются MSZIP? Ну и путаница из-за этого сразу можно подумать что это ZIP а не CAB ума не приложу почему они так назвали метод сжатия алгоритм MSZIP если это CAB а не ZIP
0
|
|
|
Испарился
1741 / 637 / 45
Регистрация: 10.09.2021
Сообщений: 2,769
|
|
| 12.11.2024, 05:45 | |
|
Ну пришло время мне извиниться и объясниться. Я хочу объяснить, почему я думал неправильно насчёт ANSI. Всё очень просто я ввожу поисковой запрос в Яндекс и мне Яндекс сразу на первой строчке выдаёт ответ. И я слепо доверял этому быстрому ответу. Я просто не знал что Яндекс может врать оказывается.
Например я ввожу в поиск ANSI это однобайтная или многобайтная кодировка мне выдаёт сразу на первой позиции в Яндексе что это однобайтная. Поэтому я слепо верил в это... Только сегодня я понял окончательно, что Яндекс врёт в быстрых ответах, сегодня я переписывал коды с языка C++ и мне нужно было срочно узнать сколько байтов занимает ULONG. Опять как обычно я ввожу в Яндекс поисковой запрос ULONG в языке C++ это сколько байтов и что вы думаете мне отвечает Яша? Нагло врёт что 8 байтов. Я слепо поверил этому ответу и начал писать в своих кодах As Currency вместо As Long из-за чего конечно мои коды не работали... Только потом мне fafalone объяснил что ULONG это 4 байта, а не 8 как я думал. Во всём виноват Яша получается. Откуда Яндекс берёт эти быстрые ответы? Даже не знаю наверное берёт с первого попавшегося сайта, где может быть написана неправда. Например такая неправда о 8 байтах берётся даже с этого Киберформа, что меня удивило вот здесь: https://www.cyberforum.ru/blog... g7429.html написано что ulong это 8 байтов якобы, хотя если потом прокрутить страницу и прочитать комментарии снизу там написано что ulong это 4 байта, и даётся опровержение как бы. Понимаете почему и происходит такая путаница. Потому что кто-то публикует неверные ответы и выдаёт их за чистую монету как бы.
0
|
|
|
Испарился
1741 / 637 / 45
Регистрация: 10.09.2021
Сообщений: 2,769
|
|
| 12.11.2024, 05:57 | |
|
В общем я пожаловался в Яндекс на этот неправильный быстрый ответ.
Добавлено через 1 минуту The trick, как пожаловаться на этот пост? https://www.cyberforum.ru/blog... g7429.html они там написали неправду, ввели в заблуждение меня и миллионы пользователей яндекса заодно, представляю сколько часов бедные люди потратят на поиск ошибки в своих кодах из-за того что будет думать что ULONG это 8 байтов якобы. Добавлено через 4 минуты Однако ULONG в VisualBasic .Net всё таки может быть и 8 байтов откуда всё таки наверное путаница и пошла...
0
|
|
| 12.11.2024, 07:37 [ТС] | |||||||||
Добавлено через 8 минут Но в типах Winows тоже есть непонятки. Тип Long четко обозначен как 32 битный. Но есть еще тип LongLong. Что значит Double?
Добавлено через 7 минут Большинство типов C++ это фактически алиасы. В Твин-Бейсике тоже обещают поддержку алиасов в будущем. Во Фри Бейсике они есть, но там вообще, сам язык как алиас C++ Добавлено через 4 минуты Здесь с++ long на рисунке 4 байта, а в таблице - 8 байт Добавлено через 2 минуты Хотя нет, там в таблице long long
1
|
|||||||||
| 12.11.2024, 07:44 [ТС] | |
|
Хорошая табличка. Фактически основные типы int, long и ptr(указатель) остальные уже от них "пляшут"
0
|
|
| 12.11.2024, 07:44 | |
|
Помогаю со студенческими работами здесь
220
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. Пошагово создадим проект для загрузки изображения. . .
|