|
Вопрощающий
|
|
Создание (+распаковка) CAB архива11.10.2009, 19:26. Показов 10801. Ответов 130
Метки cabinet.dll (Все метки)
|
|
| 11.10.2009, 19:26 | |
|
Ответы с готовыми решениями:
130
Создание архива Программное создание архива. Создание архива с паролем |
|
Испарился
1741 / 637 / 45
Регистрация: 10.09.2021
Сообщений: 2,769
|
|
| 21.11.2024, 03:09 | |
|
testuser2, в TwinBasic будет работать без зависимостей вообще. Что касается той строчки то там это надо для функции DispCallByVtbl плюс ко всему прочему фафалон очень настаивал на том чтобы я так написал.
Добавлено через 2 минуты testuser2, ты видишь какой сумасшедший код получился) насколько много тут функций) очень долго пришлось работать над этим, пришлось разобрать всё по косточкам буквально, именно для этого модуля я кстати и интересовался темой создания потоков IStream, и как бы мне там ни советовал The Trick подключать TLB тут это не нужно совсем учитывая что мой код работает на лонгах. Добавлено через 32 секунды но зато я очень хорошо всё прокомментировал так что любой даже начинающий прогер вполне разберётся там Добавлено через 23 минуты Я только ещё пока не разобрался как сделать LZX-сжатие. Там непонятно как-то, такой константы вроде нет.
0
|
|
|
Испарился
1741 / 637 / 45
Регистрация: 10.09.2021
Сообщений: 2,769
|
|
| 21.11.2024, 16:58 | |
|
Там есть какой-то макрос, вот он: https://learn.microsoft.com/en... mlzxwindow
Как его написать в VB6? Понятия не имею! Помогите кто знает, пожалуйста?! Там в MSDn же нет исходного кода макроса, как обычно... А как вот написать это на VB?
0
|
|
| 21.11.2024, 17:18 | |||||||||||
|
Я нашел это в заголовочнике Fci.h, как это перевести на VB х.з. Но в Твин-бейсике появились такие операторы << это, вроде, битовый сдвиг
"|" в регекспе это значит "или" Добавлено через 2 минуты из того же заголовочника
0
|
|||||||||||
|
Испарился
1741 / 637 / 45
Регистрация: 10.09.2021
Сообщений: 2,769
|
|
| 21.11.2024, 17:29 | |
|
И как это всё чудо написать на VB6?
0
|
|
| 21.11.2024, 17:52 | |||||||||||
|
На Твин Бейсике, я думаю будет так
Добавлено через 8 минут Аналог, того что выше для Твинбейсика, но я не знаю, точно ли это должно быть так
1
|
|||||||||||
|
Испарился
1741 / 637 / 45
Регистрация: 10.09.2021
Сообщений: 2,769
|
|||||||||||||||||
| 21.11.2024, 18:48 | |||||||||||||||||
|
Так там всё время разные значения вылетают или что? Я чё-то не понял!? Или почему это нельзя сделать константой?
Добавлено через 3 минуты В описании макроса написано "Макрос TCOMPfromLZXWindow преобразует размер окна в значение LXZTCOMP для FCIAddFile ." Вопрос: а откуда мы возьмём размер окна? И что такое окно? откуда мне взять значение w чтобы его задать, я что-то вообще не понимаю Добавлено через 6 минут Кажись нашёл описание на С++
Это значит что мне нужно указать "размер окна" (чтобы это ни значило бы) от 15 до 21 это и есть w я думаю Добавлено через 17 минут Продолжаем интересные эксперементы, итак написал я на ТвинБейсике:
Добавлено через 44 секунды Добавлено через 3 минуты testuser2, огромная благодарность тебе тогда за эту функцию на Твине, она помогла!!! Теперь я взял и просто написал 3815 в методе сжатия и вуаля! Ура! Получилось LZX сжатие 15. Добавлено через 2 минуты Как я понял, методом тыка, LZX-сжатия бывают от 15 до 21. Где 15 - это сверхбыстрое сжатие и оно как бы разбухает больше, а 21 это самое наилучшая степень сжатия и работает чуть по дольше по времени. Добавлено через 49 секунд Остаётся только вопрос почему Microsoft не сделал константы от 15 до 21, поленился? Добавлено через 29 секунд Пришлось бы наверное потому что делать 7 констант. А тут один макрос и всё вроде бы как. Добавлено через 2 минуты Наилучшая степень сжатия LZX21:
1
|
|||||||||||||||||
|
Испарился
1741 / 637 / 45
Регистрация: 10.09.2021
Сообщений: 2,769
|
|
| 21.11.2024, 18:53 | |
|
Теперь я вот наконец-то достиг того о чём так мечтал! Наивысшая степень сжатия! Даже лучше чем RAR сжимает по моему. 3.6 Мб превратилось в 1.9 Мб.
0
|
|
| 21.11.2024, 18:56 | |||||||
|
Рад, что это сработало!
0
|
|||||||
|
Испарился
1741 / 637 / 45
Регистрация: 10.09.2021
Сообщений: 2,769
|
|
| 21.11.2024, 19:01 | |
|
Странные константы у тебя, я тут посчитал на калькуляторе 0x1500 это 5376 получается, а у меня 5379 выдаёт из 21 наивысшего.
Добавлено через 1 минуту Я проверил 5376 точно не работает, а вот 5379 точно работает в коде сжатие. Добавлено через 18 секунд 0x1500 это сколько? неужели я неправильно посчитал
0
|
|
|
Испарился
1741 / 637 / 45
Регистрация: 10.09.2021
Сообщений: 2,769
|
||||||||||||||||||||||
| 21.11.2024, 20:13 | ||||||||||||||||||||||
|
testuser2, ну значит 100% там ошибка! потому что 5376 не работает, я это точно проверил уже, а вот 5379 работает!
Добавлено через 2 минуты Значит твоя константа должна быть 0x1503, а не 0x1500 Добавлено через 18 секунд Так же и первая твоя константа tcompLZX_WINDOW_LO она тоже неправильная. Добавлено через 1 минуту
Добавлено через 7 минут А у них, я нашёл, вот написано вот так:
И хрен тут поймёшь вообще почему они написали 0x0F00 вместо 0x0F03 и почему они написали 0x1500 вместо 0x1503 Добавлено через 59 секунд И что такое LZX_WINDOW тоже хрен поймёшь вообще Добавлено через 2 минуты Кажись допёр! Две константы нужно соединять! То есть делать $tcompTYPE_LZX Or $tcompLZX_WINDOW_HI тогда наверное и получится заветное 0x1503, как ты думаешь? Добавлено через 6 минут Да, я только что проверил всё именно так и есть (КАК Я И ДУМАЛ):
Добавлено через 3 минуты Всегда кстати меня вымораживало почему в синтаксе для приплюсовывания соединения нужно писать Or (или) а не And (и) как казалось бы логически... Добавлено через 32 минуты В итоге я такой вот классный енум придумал:
0
|
||||||||||||||||||||||
|
Испарился
1741 / 637 / 45
Регистрация: 10.09.2021
Сообщений: 2,769
|
||||||
| 21.11.2024, 21:00 | ||||||
Сообщение было отмечено HackerVlad как решение
Решение
Новый модуль написал сегодня:
1
|
||||||
|
Испарился
1741 / 637 / 45
Регистрация: 10.09.2021
Сообщений: 2,769
|
|
| 22.11.2024, 01:59 | |
|
testuser2, да, но я не пробовал эти квантумы...
Добавлено через 1 минуту жмёт мне кажется хуже чем LZX
0
|
|
|
Испарился
1741 / 637 / 45
Регистрация: 10.09.2021
Сообщений: 2,769
|
|
| 22.11.2024, 02:01 | |
|
если хочешь сам попробуй
0
|
|
|
Испарился
1741 / 637 / 45
Регистрация: 10.09.2021
Сообщений: 2,769
|
|
| 22.11.2024, 02:04 | |
|
Ну и какой их них самый лучший?
0
|
|
|
Испарился
1741 / 637 / 45
Регистрация: 10.09.2021
Сообщений: 2,769
|
|
| 22.11.2024, 02:20 | |
|
testuser2, ну хорошо, ты попробуй свой квантум, потом скажешь как он жмёт лучше или нет
Добавлено через 1 минуту testuser2, тебе для твоего VBA7 правда придётся переписывать все API Добавлено через 46 секунд хотя в VBA7 точно фурычить не будет там же навреное не будет работать надстройка CDeckFix хотя я не пробовал
0
|
|
| 22.11.2024, 02:20 | |
|
Помогаю со студенческими работами здесь
40
Создание установочного архива для своих любимых программ Распаковка архива rar без сохранения файла во временную папку Создание архива с паролем средствами PB. Возможно? Создание cab архива
Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
http://iceja.net/ сервер решения полиномов
iceja 18.01.2026
Выкатила http:/ / iceja. net/ сервер решения полиномов (находит действительные корни полиномов методом Штурма).
На сайте документация по API, но скажу прямо VPS слабенький и 200 000 полиномов. . .
|
Первый деплой
lagorue 16.01.2026
Не спеша развернул своё 1ое приложение в kubernetes.
А дальше мне интересно создать 1фронтэнд приложения и 2 бэкэнд приложения
развернуть 2 деплоя в кубере получится 2 сервиса и что-бы они. . .
|
Расчёт переходных процессов в цепи постоянного тока
igorrr37 16.01.2026
/ *
Дана цепь постоянного тока с R, L, C, k(ключ), U, E, J. Программа составляет систему уравнений по 1 и 2 законам
Кирхгофа, решает её и находит:
токи, напряжения и их 1 и 2 производные при t = 0;. . .
|
Восстановить юзерскрипты Greasemonkey из бэкапа браузера
damix 15.01.2026
Если восстановить из бэкапа профиль Firefox после переустановки винды, то список юзерскриптов в Greasemonkey будет пустым.
Но восстановить их можно так.
Для этого понадобится консольная утилита. . .
|
|
Изучаю kubernetes
lagorue 13.01.2026
А пригодятся-ли мне знания kubernetes в России?
|
Сукцессия микоризы: основная теория в виде двух уравнений.
anaschu 11.01.2026
https:/ / rutube. ru/ video/ 7a537f578d808e67a3c6fd818a44a5c4/
|
WordPad для Windows 11
Jel 10.01.2026
WordPad для Windows 11
— это приложение, которое восстанавливает классический текстовый редактор WordPad в операционной системе Windows 11. После того как Microsoft исключила WordPad из. . .
|
Classic Notepad for Windows 11
Jel 10.01.2026
Old Classic Notepad for Windows 11
Приложение для Windows 11, позволяющее пользователям вернуть классическую версию текстового редактора «Блокнот» из Windows 10. Программа предоставляет более. . .
|