|
|
||||||
Как программно узнать закончил ли ZIP свою работу?25.02.2014, 11:19. Показов 14219. Ответов 90
Метки нет (Все метки)
Тот класс переделал, только не могу понять
как всётаки получить ответ что ZIP закончил свою работу ? класс переделал ! по рекомендации проффесионала под ником Dragokas выкладываю все версии в блоге ниже фрагмент с коментарием где необходим этот код
0
|
||||||
| 25.02.2014, 11:19 | |
|
Ответы с готовыми решениями:
90
Как в VBA узнать когда процесс закончил работу? Как уведомить первый поток о том, что второй закончил свою работу
|
|
Вернулся
1748 / 644 / 45
Регистрация: 10.09.2021
Сообщений: 2,786
|
|
| 18.02.2025, 14:59 | |
|
The trick, да, я помню эти разрозненные куски кода, которые непонятно как заставить работать. Что такое As CZIPStreams например и где его брать вообще непонятно. Я думал есть класс (файл .cls) или модуль (файл .bas) нету такого?
0
|
|
|
Вернулся
1748 / 644 / 45
Регистрация: 10.09.2021
Сообщений: 2,786
|
|
| 24.02.2025, 17:56 | |
|
Как можно давать код который не работает вот что такое CZIPStreams и где его брать непонятно вообще.
Добавлено через 1 час 17 минут Ненавижу такое: когда пишут As что-то там и не понятно As что... Может быть CZIPStreams это обычный IStream? Это как предположение...
0
|
|
|
Модератор
|
||
| 24.02.2025, 18:09 | ||
|
0
|
||
|
Вернулся
1748 / 644 / 45
Регистрация: 10.09.2021
Сообщений: 2,786
|
||
| 24.02.2025, 18:17 | ||
|
Добавлено через 3 минуты The trick, просто ты рекламировал что у тебя будет класс для работы с zipfldr.dll, а в итоге этого класса нету
0
|
||
|
Модератор
|
||
| 24.02.2025, 18:21 | ||
|
1
|
||
|
Вернулся
1748 / 644 / 45
Регистрация: 10.09.2021
Сообщений: 2,786
|
||||||
| 24.02.2025, 19:03 | ||||||
|
Ура! Я написал рекурсию для чтения подпапок:
Ура! Я написал примерчик для чтения структуры ZIP со всеми вложенными подпапками (без распаковки, просто чтение файлов)
Главное я понял логику, просматривая проект fafalone а так же этот код от The trick. И сделал сам рекурсию! Ура! Теперь хоть можно сделать нормальную прогу для чтения картинок из файлов docx, код фафалона оказался на это не способен почему-то. Поэтому я и выбрал переделывать код The trick (самый лучший вариантов из всех оказался).
0
|
||||||
|
Вернулся
1748 / 644 / 45
Регистрация: 10.09.2021
Сообщений: 2,786
|
|||||||
| 24.02.2025, 23:52 | |||||||
|
Ура! Выкладываю свой новый код. Прога для чтения картинок из файлов zip, docx, xlsx, exe (sfx-zip) и т. д.
1
|
|||||||
|
Вернулся
1748 / 644 / 45
Регистрация: 10.09.2021
Сообщений: 2,786
|
||||||||||||
| 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
|
||||||||||||
|
Вернулся
1748 / 644 / 45
Регистрация: 10.09.2021
Сообщений: 2,786
|
||||||
| 25.02.2025, 02:32 | ||||||
|
Я решил ещё написать теперь XP-совместимую версию. Теперь вообще не нужен даже промежуточный байтовый массив, теперь сразу напрямую загружаю картинку из IStream через GdiPlus API да и всё дело. Ура! Новая версия XP-совместимая! А так же теперь показывает размеры файлов.
0
|
||||||
|
Вернулся
1748 / 644 / 45
Регистрация: 10.09.2021
Сообщений: 2,786
|
|
| 25.02.2025, 02:38 | |
|
С таким вот кодом по крайней мере теперь уж точно можно написать инсталятор, так как можно распаковывать файлы даже из своего EXE
0
|
|
|
Вернулся
1748 / 644 / 45
Регистрация: 10.09.2021
Сообщений: 2,786
|
|
| 25.02.2025, 14:48 | |
|
Так работает же всё. Какова вероятность что будет не работать? Думаю, что меньше одного процента.
Добавлено через 1 минуту Тем более я твой код переписывал изначально. Значит у тебя тоже ошибки, как ты говоришь, это же твой код, сам и не проверял возвращаемые значения значит, а теперь тебе вдруг захотелось что-то проверять зачем-то... Добавлено через 2 минуты Ну и плюс у каждого свой подход и свои взгляды на одни и те же вещи. Тебе вот нравится возиться с GetMem8 и младшими и старшими этими значениями а я не считаю это нужным. Добавлено через 2 минуты Когда пишешь много API проверять абсолютно каждую функцию на возвращаемые значения морока ещё та. А по факту если где-то вдруг что-то слетит, не так уж сильно-то и важно в конечном итоге проверил ты эти возвращаемые значения или нет.
0
|
|
|
Модератор
|
||||
| 25.02.2025, 15:07 | ||||
|
1
|
||||
|
Вернулся
1748 / 644 / 45
Регистрация: 10.09.2021
Сообщений: 2,786
|
|||||||||
| 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
|
|||||||||
|
Вернулся
1748 / 644 / 45
Регистрация: 10.09.2021
Сообщений: 2,786
|
|
| 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
|
|
|
Вернулся
1748 / 644 / 45
Регистрация: 10.09.2021
Сообщений: 2,786
|
|
| 26.02.2025, 00:11 | |
|
The trick, я думал, что в EXE какая-то магия, оказывается нужно в сам ZIP-архив записывать адрес смещения, позицию когда заканчивается EXE файл и начинается ZIP-архив, просто пришлось несколько часов помучиться, так как в поиске ничего такого подобного просто не найдёшь даже с ходу.
Добавлено через 1 минуту The trick, короче сам догадался сделал, всё работает, с атрибутами не поможешь? или там никак атрибуты не извлечь?
0
|
|
|
Вернулся
1748 / 644 / 45
Регистрация: 10.09.2021
Сообщений: 2,786
|
|
| 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 закончил загрузку файла? Как узнать, что клиет закончил отсылать пакеты? Как сделать, чтобы один поток не закончил работу, пока второй работает? Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
| Опции темы | |
|
|
Новые блоги и статьи
|
|||
|
[golang] Угол между стрелками часов
alhaos 12.05.2026
По заданным значениям часа и минуты необходимо определить значение меньшего угла между стрелками аналогового циферблата часов.
import "math"
func angleClock(hour int, minutes int) float64 {
. . .
|
Debian 13: Установка Lazarus QT5
ВитГо 09.05.2026
Эта инструкция моя компиляция инструкций volvo
https:/ / www. cyberforum. ru/ blogs/ 203668/ 10753. html
и его же старой инструкции по установке Lazarus с gtk2. . .
|
Нейросеть на алгоритме "эстафета хвоста" как перспектива.
Hrethgir 06.05.2026
На десерт, когда запущу сервер.
Статья тут https:/ / habr. com/ ru/ articles/ 1030914/ . Автор я сам, нейросеть только помогает в вопросах которые мне не известны - не знаю людей которые знали-бы. . .
|
Асинхронный приём данных из COM-порта
Argus19 01.05.2026
Асинхронный приём данных из COM-порта
Купил на aliexpress термопринтер QR701. Он оказался странным. Поключил к Arduino Nano. Был очень удивлён. Наотрез отказывается печатать русские буквы. Чтобы. . .
|
|
попытка написать игровой сервер на C++
pyirrlicht 29.04.2026
попытка написать игровой сервер на плюсах с открытым бесконечным миром.
возможно получится прикрутить интерпретатор питон для кастомизации игровой логики.
что есть на текущий момент:. . .
|
Контроль уникальности выбранного документа-основания при изменении реквизита
Maks 28.04.2026
Алгоритм из решения ниже разработан на примере нетипового документа "ЗаявкаНаРемонтСпецтехники", разработанного в КА2.
Задача: уведомлять пользователя, если указанная заявка (документ-основание). . .
|
Благородство как наказание
Maks 24.04.2026
У хорошего человека отношения с женщинами всегда складываются трудно. А я человек хороший. Заявляю без тени смущения, потому что гордиться тут нечем. От хорошего человека ждут соответствующего. . .
|
Валидация и контроль данных табличной части документа перед записью
Maks 22.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа, разработанного в КА2.
Задача: контроль и валидация данных табличной части документа перед записью с учетом регламента компании. . .
|