|
|
||||||
Как программно узнать закончил ли ZIP свою работу?25.02.2014, 11:19. Показов 15309. Ответов 90
Метки нет (Все метки)
Тот класс переделал, только не могу понять
как всётаки получить ответ что ZIP закончил свою работу ? класс переделал ! по рекомендации проффесионала под ником Dragokas выкладываю все версии в блоге ниже фрагмент с коментарием где необходим этот код
0
|
||||||
| 25.02.2014, 11:19 | |
|
Ответы с готовыми решениями:
90
Как в VBA узнать когда процесс закончил работу? Как уведомить первый поток о том, что второй закончил свою работу
|
|
|
|
| 03.03.2014, 22:56 [ТС] | |
|
0
|
|
|
|
||||||
| 04.03.2014, 06:14 [ТС] | ||||||
|
ну не знаю.., я предусмотрел несколько потоков одновременно образовавшихся
за один момент времени, там цикл есть
0
|
||||||
|
Модератор
|
||||||
| 17.05.2014, 02:58 | ||||||
|
Я разобрался с Zipfldr.dll
Позже сделаю класс для работы с архивами непосредственно работающий с Zipfldr.dll Фишка в том, что можно непосредственно создавать архив в памяти, и копировать сырые данные в него как в обычный файл. Вот код (сырой) для извлечения всех файлов из архива (вложенные папки не извлекаются, т.к. тест). Все работает в одном потоке синхронно, функция завершается только после копирования.
7
|
||||||
|
|
||||||||
| 17.05.2014, 10:25 [ТС] | ||||||||
|
Спасибо, я кстати нашел в инете, как можно регить файлы с помощью API
..выложил только что в готовых решениях... зацени... ![]() Добавлено через 2 минуты Интересно ... надежен ли тот способ ![]() Добавлено через 6 часов 56 минут Спасибо что помогаеш мне... Теперь я ставлю и твоё соавторство... а куда деваться, вдруг чтото толковое выйдет Кликните здесь для просмотра всего текста
можно ли будет считать архив находящийся в некоем байтовом адресе ?
0
|
||||||||
|
Модератор
|
||||||
| 17.05.2014, 13:08 | ||||||
|
Небольшая инфа.
ZipFldr.dll поддерживает следующие CLSID
0
|
||||||
|
|
|
| 17.05.2014, 13:49 [ТС] | |
|
Все верно, есть такое дело...
0
|
|
|
|
||||||
| 15.07.2014, 22:54 | ||||||
|
Какое-то время назад, я все же допилил вариант класса для VBScript
+ обошел одну багу от M$ - позволяет обходить ошибку при добавлении пустых папок* - позволяет добавлять файлы с атрибутом "скрытый" - правильно рассчитывает задержку при распаковке в папку, где уже есть другие файлы * за исключением уникальных случаев, когда в корне папки для упаковки попадутся: объект (файл или папка) со знаком ; и пустая папка с таким же именем, где на месте ; стоит любой другой знак. Класс VBS и примеры работы с ним:
6
|
||||||
|
|
|||
| 15.07.2014, 23:33 [ТС] | |||
![]() Добавлено через 21 минуту
0
|
|||
|
|
||||
| 16.07.2014, 00:13 | ||||
|
Извини что без комментариев, особо, да еще и в сжатом стиле.
Этот код больше для использования, а не демонстрации предназначался. Сейчас вспомню. а затем поверх них имена объектов уже имеющихся в целевой папке. Получает общее кол-во уникальных файлов, которое в итоге должно получится. Ну а дальше обычно: отслеживается кол-во уже распакованных объектов с рассчитанным выше. Скорее всего ошибку вполне можно спровоцировать распаковкой архива с папками. Я этого кажется не учел. В любом случае класс имеет ценность только для языка VBScript. Наверное, зря я сюда выложил. На счет ошибки добавления пустой папки, там я обошел благодаря методу Filter интерфейса IShellFolder (могу ошибаться с названием). Метод, к огромному сожалению, действует по принципу белого списка, а не черного. Поэтому чтобы не упаковывать в архив одну из пустых папок, пришлось формировать фильтр из всех объектов, которые должны попасть в архив. Этот же метод позволяет добавить к обработке объекты с атрибутом "Системный" (см. константы в коде).
1
|
||||
|
|
||||||||
| 16.07.2014, 00:58 [ТС] | ||||||||
|
я вообще иногда паскалевские коды переделываю, и спасибки ставлю ![]() Добавлено через 6 минут теперь об распаковке-упаковке, я уже выкладывал решение обхода диалоговых окон для подтверждения ..да // да-для-всех .. тоесть там я по хитрому выкрутился, посылаю PostMesage на кнопку да и всего делов ![]() Добавлено через 5 минут правда пришлось отдельную портянку писать чтоб отловить ту самую кнопку на которую надо отправить Win-сообщение нажатия Добавлено через 4 минуты Вот нашел
Подробнее вот
2
|
||||||||
|
Модератор
|
||
| 16.07.2014, 00:58 | ||
|
1
|
||
| 16.07.2014, 01:07 | |
|
Не по теме: Антихакер32, VBScript не поддерживает Windows API (по крайней мере нативно).
0
|
|
|
|
||
| 16.07.2014, 01:11 [ТС] | ||
|
Так-же ПРЕДУПРЕЖДАЮ
не останавливать мой код, в работе распаковки, или если такое сделаете запаситесь запасной виндой так как после таких манипуляций с остановками возможны глюки с работой ZIP, и которые тяжело исправить Добавлено через 2 минуты ![]() хотя программер выкладывал и этот обход
0
|
||
| 16.07.2014, 01:45 | |
|
0
|
|
|
2 / 1 / 1
Регистрация: 23.06.2019
Сообщений: 15
|
|
| 23.06.2019, 07:23 | |
|
очень простой, кондовый способ - в зипе должен быть файл с уникальным именем который распакуется последним.
Его наличие и будет признаком полной распаковки зипа. Как сделать что бы файл был последним, зависит от сборки архива, придется пробовать руками. Но это не очень сложно.
1
|
|
|
Вернулся
1753 / 649 / 45
Регистрация: 10.09.2021
Сообщений: 2,801
|
|
| 18.02.2025, 01:09 | |
|
0
|
|
|
2 / 1 / 1
Регистрация: 23.06.2019
Сообщений: 15
|
|
| 18.02.2025, 12:43 | |
|
Прошло пять лет! все состарились и умерли! 32-хразрядные компы, только в музее сохранились!
0
|
|
|
Модератор
|
|
| 18.02.2025, 12:45 | |
|
HackerVlad, https://www.cyberforum.ru/post17433575.html
0
|
|
| 18.02.2025, 12:45 | |
|
Закончил ли свою работу animate, toggle
Как узнать что WinSock закончил загрузку файла? Как узнать, что клиет закончил отсылать пакеты? Как сделать, чтобы один поток не закончил работу, пока второй работает? Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Кредитный калькулятор
Maks 05.08.2026
Решение задачи по прикладной информатике средствами 1С.
Задача:
Напишите приложение-калькулятор, которое помогает рассчитывать параметры кредита для аннуитетного и дифференцированного видов. . .
|
У нас сейчас поговорку "Опять 25" нужно переделать на "Опять +35".
kumehtar 04.08.2026
С ностальгией вспоминаю времена моего детства, когда у нас и правда +25 - была максимальная температура летом. Раньше +25 °C реально казались вершиной жары, когда можно было весь день пропадать на. . .
|
Как ИИ начал спорить и врать (возможно почуяв опасность для себя от индустрии - уход от электроники).
Hrethgir 04.08.2026
Недельный диалог, на фоне событий с НПЗ. Да, из спирта можно получать бензин, и это не сложно. Но потом в схеме я решил избавиться от насоса, при этом полностью сделав контроль подачи спирта в. . .
|
Термопринтер QR701
Argus19 03.08.2026
Термопринтер QR701
Купил два термопринтера QR701.
На сэлф-тесте написано:
Language: PC936 (GB18030).
Что означает, что принтеры могут печатать только латиницу и китайские иероглифы. Так же. . .
|
|
Создание формы заимствованного документа
Maks 03.08.2026
Задача:
Необходимо создать собственную форму заимствованного документа. На форме должен быть реквизит "Покупатель", а также
табличная часть со следующими реквизитами:
- Расчетный счет покупателя. . .
|
Задача предоставления скидок покупателям
Maks 03.08.2026
Задача:
В документе "Продажи" необходимо реализовать функционал предоставления скидок покупателям. Скидка должна автоматически рассчитываться и подставляться в соответствующее поле при выборе. . .
|
Почему SEO не начинается с ключевых слов: что проверить до написания текстов
Neotwalker 01.08.2026
Когда владельцу сайта предлагают заняться SEO, первым шагом часто становится сбор запросов и написание текстов.
Логика кажется понятной:
1. Находим ключевые слова.
2. Добавляем их на. . .
|
Знание — сила: Доктрина интенциональности знаний, углубление в формулу
Hrethgir 01.08.2026
https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11957&stc=1&d=1785567302
Знаменитый афоризм Фрэнсиса Бэкона «Знание — сила» (Scientia potentia est) в массовой культуре принято понимать. . .
|