|
Вопрощающий
|
|
Создание (+распаковка) CAB архива11.10.2009, 19:26. Показов 11736. Ответов 130
Метки cabinet.dll (Все метки)
|
|
| 11.10.2009, 19:26 | |
|
Ответы с готовыми решениями:
130
Создание архива Программное создание архива. Создание архива с паролем |
|
Вернулся
1748 / 644 / 45
Регистрация: 10.09.2021
Сообщений: 2,786
|
|
| 21.11.2024, 03:09 | |
|
testuser2, в TwinBasic будет работать без зависимостей вообще. Что касается той строчки то там это надо для функции DispCallByVtbl плюс ко всему прочему фафалон очень настаивал на том чтобы я так написал.
Добавлено через 2 минуты testuser2, ты видишь какой сумасшедший код получился) насколько много тут функций) очень долго пришлось работать над этим, пришлось разобрать всё по косточкам буквально, именно для этого модуля я кстати и интересовался темой создания потоков IStream, и как бы мне там ни советовал The Trick подключать TLB тут это не нужно совсем учитывая что мой код работает на лонгах. Добавлено через 32 секунды но зато я очень хорошо всё прокомментировал так что любой даже начинающий прогер вполне разберётся там Добавлено через 23 минуты Я только ещё пока не разобрался как сделать LZX-сжатие. Там непонятно как-то, такой константы вроде нет.
0
|
|
|
Вернулся
1748 / 644 / 45
Регистрация: 10.09.2021
Сообщений: 2,786
|
|
| 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
|
|||||||||||
|
Вернулся
1748 / 644 / 45
Регистрация: 10.09.2021
Сообщений: 2,786
|
|
| 21.11.2024, 17:29 | |
|
И как это всё чудо написать на VB6?
0
|
|
| 21.11.2024, 17:52 | |||||||||||
|
На Твин Бейсике, я думаю будет так
Добавлено через 8 минут Аналог, того что выше для Твинбейсика, но я не знаю, точно ли это должно быть так
1
|
|||||||||||
|
Вернулся
1748 / 644 / 45
Регистрация: 10.09.2021
Сообщений: 2,786
|
|||||||||||||||||
| 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
|
|||||||||||||||||
|
Вернулся
1748 / 644 / 45
Регистрация: 10.09.2021
Сообщений: 2,786
|
|
| 21.11.2024, 18:53 | |
|
Теперь я вот наконец-то достиг того о чём так мечтал! Наивысшая степень сжатия! Даже лучше чем RAR сжимает по моему. 3.6 Мб превратилось в 1.9 Мб.
0
|
|
| 21.11.2024, 18:56 | |||||||
|
Рад, что это сработало!
0
|
|||||||
|
Вернулся
1748 / 644 / 45
Регистрация: 10.09.2021
Сообщений: 2,786
|
|
| 21.11.2024, 19:01 | |
|
Странные константы у тебя, я тут посчитал на калькуляторе 0x1500 это 5376 получается, а у меня 5379 выдаёт из 21 наивысшего.
Добавлено через 1 минуту Я проверил 5376 точно не работает, а вот 5379 точно работает в коде сжатие. Добавлено через 18 секунд 0x1500 это сколько? неужели я неправильно посчитал
0
|
|
|
Вернулся
1748 / 644 / 45
Регистрация: 10.09.2021
Сообщений: 2,786
|
||||||||||||||||||||||
| 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
|
||||||||||||||||||||||
|
Вернулся
1748 / 644 / 45
Регистрация: 10.09.2021
Сообщений: 2,786
|
||||||
| 21.11.2024, 21:00 | ||||||
Сообщение было отмечено HackerVlad как решение
Решение
Новый модуль написал сегодня:
1
|
||||||
|
Вернулся
1748 / 644 / 45
Регистрация: 10.09.2021
Сообщений: 2,786
|
|
| 22.11.2024, 01:59 | |
|
testuser2, да, но я не пробовал эти квантумы...
Добавлено через 1 минуту жмёт мне кажется хуже чем LZX
0
|
|
|
Вернулся
1748 / 644 / 45
Регистрация: 10.09.2021
Сообщений: 2,786
|
|
| 22.11.2024, 02:01 | |
|
если хочешь сам попробуй
0
|
|
|
Вернулся
1748 / 644 / 45
Регистрация: 10.09.2021
Сообщений: 2,786
|
|
| 22.11.2024, 02:04 | |
|
Ну и какой их них самый лучший?
0
|
|
|
Вернулся
1748 / 644 / 45
Регистрация: 10.09.2021
Сообщений: 2,786
|
|
| 22.11.2024, 02:20 | |
|
testuser2, ну хорошо, ты попробуй свой квантум, потом скажешь как он жмёт лучше или нет
Добавлено через 1 минуту testuser2, тебе для твоего VBA7 правда придётся переписывать все API Добавлено через 46 секунд хотя в VBA7 точно фурычить не будет там же навреное не будет работать надстройка CDeckFix хотя я не пробовал
0
|
|
| 22.11.2024, 02:20 | |
|
Помогаю со студенческими работами здесь
40
Создание установочного архива для своих любимых программ Распаковка архива rar без сохранения файла во временную папку Создание архива с паролем средствами PB. Возможно? Создание cab архива
Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Транскрипция 55-минутного видео через Whisper: WhisperDesktop облажался, спас Google Colab[
anaschu 01.06.2026
Понадобилось получить текст из свежезагруженного видео на YouTube. Казалось бы, задача на пять минут. Заняла полтора часа. Делюсь опытом — может кому пригодится последовательность решений.
. . .
|
21 мат мед. Планы на развитие модели здравоСохранения
anaschu 01.06.2026
AnyLogic: план развития симуляционной модели рабочего коллектива — динамический абсентеизм, реальные данные, три сценария сравнения
Продолжаю серию постов о дискретно-событийной модели рабочего. . .
|
20. Мат мед. Абсентеизм как отдельный тип простоя
anaschu 29.05.2026
Апдейт модели: исправленные баги, абсентеизм и новые механизмы
Продолжаю развивать ранее описанную модель рабочего коллектива на AnyLogic. За последние несколько дней был проведён серьёзный. . .
|
19. здоровье, усталость и психотип работника влияют на производительность предприятия, и наоборот, производительность на здоровье, усталось и психотип
anaschu 28.05.2026
Дискретно-событийная модель рабочего коллектива на AnyLogic: здоровье, выгорание, психотипы и микростимуляция
Привет, коллеги. Хочу поделиться итогами нескольких недель работы над симуляционной. . .
|
|
"Прокси" для последовательного порта
Eddy_Em 28.05.2026
Эту штуку написал я достаточно давно. Но сейчас вот понадобилось настроить датчик грозы, но при этом не отключать его от "метеодемона". Соответственно, надо запустить этот "прокси": метеодемон будет. . .
|
Рефакторинг программы уравнивания.
Massaraksh7 26.05.2026
Пример по предыдущей записи в блоге. Но, надо заметить, что, во-первых, там оптимизация не только математики, но и работы с базой данных, и с графами, а во-вторых, это ещё не всё.
|
Использование TThread в Lazarus для математических вычислений.
Massaraksh7 25.05.2026
Производя рефакторинг своих программ на предмет ускорения их работы, обратил внимание на такой аспект, как сокращение времени матвычислений. Дело в том, что приходится работать с большими матрицами. . .
|
Модель здравосохранения 18. Чем здоровее работник, тем быстрее выгорает
anaschu 24.05.2026
Имитационная модель корпоративного здравоохранения: что показывает математика
Сегодня в модели рабочего коллектива на AnyLogic появились три новые механики — выгорание через накопленную усталость,. . .
|