|
|
||||||
Как программно узнать закончил ли ZIP свою работу?25.02.2014, 11:19. Показов 13373. Ответов 90
Метки нет (Все метки)
Тот класс переделал, только не могу понять
как всётаки получить ответ что ZIP закончил свою работу ? класс переделал ! по рекомендации проффесионала под ником Dragokas выкладываю все версии в блоге ниже фрагмент с коментарием где необходим этот код
0
|
||||||
| 25.02.2014, 11:19 | |
|
Ответы с готовыми решениями:
90
Как в VBA узнать когда процесс закончил работу? Как уведомить первый поток о том, что второй закончил свою работу
|
|
Испарился
1741 / 637 / 45
Регистрация: 10.09.2021
Сообщений: 2,769
|
|
| 18.02.2025, 14:59 | |
|
The trick, да, я помню эти разрозненные куски кода, которые непонятно как заставить работать. Что такое As CZIPStreams например и где его брать вообще непонятно. Я думал есть класс (файл .cls) или модуль (файл .bas) нету такого?
0
|
|
|
Испарился
1741 / 637 / 45
Регистрация: 10.09.2021
Сообщений: 2,769
|
|
| 24.02.2025, 17:56 | |
|
Как можно давать код который не работает вот что такое CZIPStreams и где его брать непонятно вообще.
Добавлено через 1 час 17 минут Ненавижу такое: когда пишут As что-то там и не понятно As что... Может быть CZIPStreams это обычный IStream? Это как предположение...
0
|
|
|
Модератор
|
||
| 24.02.2025, 18:09 | ||
|
0
|
||
|
Испарился
1741 / 637 / 45
Регистрация: 10.09.2021
Сообщений: 2,769
|
||
| 24.02.2025, 18:17 | ||
|
Добавлено через 3 минуты The trick, просто ты рекламировал что у тебя будет класс для работы с zipfldr.dll, а в итоге этого класса нету
0
|
||
|
Модератор
|
||
| 24.02.2025, 18:21 | ||
|
1
|
||
|
Испарился
1741 / 637 / 45
Регистрация: 10.09.2021
Сообщений: 2,769
|
||||||
| 24.02.2025, 19:03 | ||||||
|
Ура! Я написал рекурсию для чтения подпапок:
Ура! Я написал примерчик для чтения структуры ZIP со всеми вложенными подпапками (без распаковки, просто чтение файлов)
Главное я понял логику, просматривая проект fafalone а так же этот код от The trick. И сделал сам рекурсию! Ура! Теперь хоть можно сделать нормальную прогу для чтения картинок из файлов docx, код фафалона оказался на это не способен почему-то. Поэтому я и выбрал переделывать код The trick (самый лучший вариантов из всех оказался).
0
|
||||||
|
Испарился
1741 / 637 / 45
Регистрация: 10.09.2021
Сообщений: 2,769
|
|||||||
| 24.02.2025, 23:52 | |||||||
|
Ура! Выкладываю свой новый код. Прога для чтения картинок из файлов zip, docx, xlsx, exe (sfx-zip) и т. д.
1
|
|||||||
|
Испарился
1741 / 637 / 45
Регистрация: 10.09.2021
Сообщений: 2,769
|
||||||||||||
| 25.02.2025, 01:18 | ||||||||||||
Во:
Добавлено через 53 секунды Я правда не знаю зачем ты это добавил в своём коде "Set cStm = Nothing" но пусть будет, на всякий случай тогда. Проверять возвращаемые значения не хочу. Итак всё работает шикарненько! Добавлено через 3 минуты Все эти преобразования с GetMem8 и деление на hipart и lowpart я тоже не хочу, достаточно просто математического умножения на 10 тысяч для меня и всё, так проще и короче будет) Добавлено через 1 минуту Главное что всё работает! Я даже не понял про какие ты там возвращаемые значения говорил. CoCreateInstance и SHParseDisplayName что ли. Да и плевать на эти возвращаемые значения. Добавлено через 1 минуту Я же переписывал с твоего изначального примера и там есть одна проверка возвращаемого значения вот так написана: If CoCreateInstance(clsid, Nothing, CLSCTX_INPROC_SERVER, iidSh, shExt) <> S_OK Then Exit Sub Добавлено через 37 секунд SHParseDisplayName только проверки нету ну и плевать я считаю что от этого измениться, луна с неба не рухнет на землю. Добавлено через 4 минуты Абсолютно нормально у меня написано, я считаю.
0
|
||||||||||||
|
Испарился
1741 / 637 / 45
Регистрация: 10.09.2021
Сообщений: 2,769
|
||||||
| 25.02.2025, 02:32 | ||||||
|
Я решил ещё написать теперь XP-совместимую версию. Теперь вообще не нужен даже промежуточный байтовый массив, теперь сразу напрямую загружаю картинку из IStream через GdiPlus API да и всё дело. Ура! Новая версия XP-совместимая! А так же теперь показывает размеры файлов.
0
|
||||||
|
Испарился
1741 / 637 / 45
Регистрация: 10.09.2021
Сообщений: 2,769
|
|
| 25.02.2025, 02:38 | |
|
С таким вот кодом по крайней мере теперь уж точно можно написать инсталятор, так как можно распаковывать файлы даже из своего EXE
0
|
|
|
Испарился
1741 / 637 / 45
Регистрация: 10.09.2021
Сообщений: 2,769
|
|
| 25.02.2025, 14:48 | |
|
Так работает же всё. Какова вероятность что будет не работать? Думаю, что меньше одного процента.
Добавлено через 1 минуту Тем более я твой код переписывал изначально. Значит у тебя тоже ошибки, как ты говоришь, это же твой код, сам и не проверял возвращаемые значения значит, а теперь тебе вдруг захотелось что-то проверять зачем-то... Добавлено через 2 минуты Ну и плюс у каждого свой подход и свои взгляды на одни и те же вещи. Тебе вот нравится возиться с GetMem8 и младшими и старшими этими значениями а я не считаю это нужным. Добавлено через 2 минуты Когда пишешь много API проверять абсолютно каждую функцию на возвращаемые значения морока ещё та. А по факту если где-то вдруг что-то слетит, не так уж сильно-то и важно в конечном итоге проверил ты эти возвращаемые значения или нет.
0
|
|
|
Модератор
|
||||
| 25.02.2025, 15:07 | ||||
|
1
|
||||
|
Испарился
1741 / 637 / 45
Регистрация: 10.09.2021
Сообщений: 2,769
|
|||||||||
| 25.02.2025, 21:45 | |||||||||
|
Добавлено через 18 минут Хорошо, уговорил. Проверю возвращаемое значение SHParseDisplayName. Тогда напишу так:
Добавлено через 4 минуты Теперь у меня зато код уже не сырой и вложенные папки извлекаются! Ура! Добавлено через 4 минуты Добавлено через 2 минуты Добавлено через 1 час 47 минут The trick, подскажи пожалуйста как установить атрибуты извлечённого из ZIP файла? Структура STATSTG имеет только дату и время, но где взять атрибуты файла вообще? Добавлено через 2 часа 27 минут На основе этой технологии я почти, на 99%, написал само-распаковывающийся SFX-ZIP архив! Но на атрибутах у меня случился полный затык! Помогите! Добавлено через 1 час 29 минут The trick, кстати этот код (твой код) открывает только SFX exe если создавать спец. прогами для создания SFX ZIP если самому склеить EXE и ZIP или если склеить EXE и ZIP через твой класс для склейки EXE с любыми файлами то именно этот код тоже не увидит этот EXE как SFX не заглянет в него и не прочитает как ZIP. Интересно почему!? Чего-то не хватает!? Как пометить EXE как SFX для системы? Чтобы этот код распаковки из zipfldr.dll видел файл exe как zip?
0
|
|||||||||
|
Испарился
1741 / 637 / 45
Регистрация: 10.09.2021
Сообщений: 2,769
|
|
| 25.02.2025, 22:22 | |
|
The trick, первый раз вижу чтобы ты что-то не знал) вот и я не знаю пытался сравнивать файлы в гексодах копался но пока всё тщетно.
Добавлено через 1 минуту вот тут по этой статейке: https://pure-basic.narod.ru/ar... x_zip.html там создаётся на ПуреБейсике SFX exe и этот где видет как ZIP там какая-то скрытая магия непонятная, как пометить exe как sfx Добавлено через 1 минуту Как на VB6 создать такое EXE которое система будет воспринимать как SFX? Чтобы этим замечательным кодом из zipfldr.dll открывался файл как архив, вот понять не могу этого вообще... Добавлено через 57 секунд На ПуреБейсике работает всё почему-то... Добавлено через 22 минуты The trick, можно было бы и не заморчаиваться с этим вообще, если бы я мог например прочитать не из файла ZIp а из стрима! Можно ли этим кодом прочитать не из файла на диске а из памяти из стрима? или нельзя?
0
|
|
|
Испарился
1741 / 637 / 45
Регистрация: 10.09.2021
Сообщений: 2,769
|
|
| 26.02.2025, 00:11 | |
|
The trick, я думал, что в EXE какая-то магия, оказывается нужно в сам ZIP-архив записывать адрес смещения, позицию когда заканчивается EXE файл и начинается ZIP-архив, просто пришлось несколько часов помучиться, так как в поиске ничего такого подобного просто не найдёшь даже с ходу.
Добавлено через 1 минуту The trick, короче сам догадался сделал, всё работает, с атрибутами не поможешь? или там никак атрибуты не извлечь?
0
|
|
|
Испарился
1741 / 637 / 45
Регистрация: 10.09.2021
Сообщений: 2,769
|
|
| 26.02.2025, 13:38 | |
|
The trick, но этот код очень хороший, даже юникодные имена, на удивление, распаковывает спокойно - я проверил. Хрен с ним с атрибутами. Невозможно так невозможно. Fafalone сказал что никак нельзя короче. А по установке времени тоже есть чудо: работает только в семёрке. В XP время не видит вообще.
Добавлено через 2 минуты Windows - это вообще странная штука. Упаковывать юникодные имена не хочет, а распаковывает спокойно... А упаковывать Total'ом приходится... Добавлено через 13 минут Короче придётся самому загружать ZIP в структуры, считывать атрибуты через копания в структуре ZIP и через CopyMemory ручным поиском внутри файла короче, по другому никак
0
|
|
| 26.02.2025, 13:38 | |
|
Помогаю со студенческими работами здесь
80
Закончил ли свою работу animate, toggle
Как узнать что WinSock закончил загрузку файла? Как узнать, что клиет закончил отсылать пакеты? Как сделать, чтобы один поток не закончил работу, пока второй работает? Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
||||
|
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта
Симптом:
После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
|
Access
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
|
Новый ноутбук
volvo 07.12.2025
Всем привет.
По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне:
Ryzen 5 7533HS
64 Gb DDR5
1Tb NVMe
16" Full HD Display
Win11 Pro
|
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
|
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
|
|
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов
На странице:
https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/
нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
|
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов.
. . .
|
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
|
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
|
Создание Single Page Application на фреймах
krapotkin 16.11.2025
Статья исключительно для начинающих. Подходы оригинальностью не блещут.
В век Веб все очень привыкли к дизайну Single-Page-Application .
Быстренько разберем подход "на фреймах".
Мы делаем одну. . .
|