|
Вопрощающий
|
|
Создание (+распаковка) CAB архива11.10.2009, 19:26. Показов 12833. Ответов 130
Метки cabinet.dll (Все метки)
|
|
| 11.10.2009, 19:26 | |
|
Ответы с готовыми решениями:
130
Создание архива Программное создание архива. Создание архива с паролем |
|
Вернулся
1775 / 670 / 46
Регистрация: 10.09.2021
Сообщений: 2,820
|
|||||||||||
| 22.11.2024, 12:20 | |||||||||||
|
Надстройку же не подключишь в VBA
Добавлено через 37 минут testuser2, а у fafalone вот так вот это кстати описано в его библиотеке для твинбейсика:
0
|
|||||||||||
| 22.11.2024, 15:10 | ||||||
|
Я не пойму зачем у уважаемого fafalone столько скобок, и явных приведений к integer. Вообще если обрамлять скобками аргумент функции, то это какбы неявное приведение к ByVal, не знаю, правда, как это работает в выражениях, но я стараюсь просто всегда избегать лишних скобок. Небольшой тестик
Добавлено через 6 минут Тут еще нюанс, что VarPtr работает как библиотечная функция, и там принцип передачи аргументов немного иной нежели в VB-функция. Если передать аргумент в скобках в VB-фнукцию будет полное копирование и переменной и данных Добавлено через 50 минут Скобки это привидение к варианту, вот это что, это также как cVar()
1
|
||||||
|
Вернулся
1775 / 670 / 46
Регистрация: 10.09.2021
Сообщений: 2,820
|
||
| 22.11.2024, 15:18 | ||
|
Добавлено через 28 секунд testuser2, твой код мне больше понравился, чем фафалоновский, твоя функция лучше, мне больше нравится
0
|
||
|
Вернулся
1775 / 670 / 46
Регистрация: 10.09.2021
Сообщений: 2,820
|
||||||
| 22.11.2024, 15:30 | ||||||
|
Ну красивее же код у тебя, согласись, ну
Хотя у тебя процедура, а не функция, у тебя немного по другому.
0
|
||||||
|
Вернулся
1775 / 670 / 46
Регистрация: 10.09.2021
Сообщений: 2,820
|
|||||||||||
| 22.11.2024, 15:57 | |||||||||||
|
ааааа с функцией же легче работать, чем с процедурой, значит у фафалона всё-таки код лучше, хотя зачем так много скобок там и ещё и Integer тоже не понимаю этого совсем
Добавлено через 38 секунд а давай проверим тогда в Твине, чем гадать Добавлено через 8 минут Короче проверил, его функция работает так же как и твоя процедура. Тоже самое значение возвращает. Попробовал так же убрать первую и последнею лишнею скобку тоже всё работает после этого прекрасно. Добавлено через 2 минуты Я вообще не понимаю зачем у него ТАК МНОГО скобок лишних, я их короче поубирал все, к чёртовой матери, вот теперь так:
Добавлено через 29 секунд И вопрос зачем там CInt тоже не понимаю, если честно. Добавлено через 24 секунды Пожалуй, надо фафалону мозги покомпосировать по этому поводу) Добавлено через 8 минут Я проверил можно упростить даже вот так:
Добавлено через 2 минуты testuser2, https://www.vbforums.com/showt... ost5663272
0
|
|||||||||||
| 22.11.2024, 16:22 | ||
|
0
|
||
|
Вернулся
1775 / 670 / 46
Регистрация: 10.09.2021
Сообщений: 2,820
|
|
| 22.11.2024, 16:28 | |
|
0
|
|
|
Вернулся
1775 / 670 / 46
Регистрация: 10.09.2021
Сообщений: 2,820
|
|
| 23.11.2024, 07:55 | |
|
Мой алгоритм кстати не идеален, для создания CAB с несколькими файлами внутри что-то у меня там не так как надо работает. Вроде всё норм, в проводнике винды и в новом TotalCommander вроде нормально всё отображается, а вот в старой версии TotalCommander отображается неправильно уже содержимое архива, если несколько файлов, то оно почему на второй, третитй и т.д. файлы уже почему-то добавляет в самом начале файла плюсик (символ "+") хотя такого просто быть не должно... баг значит у меня где-то в загаловочниках может... ну такой полу-баг... в новых версиях-то всё работает...
0
|
|
|
Вернулся
1775 / 670 / 46
Регистрация: 10.09.2021
Сообщений: 2,820
|
|
| 23.11.2024, 07:59 | |
|
Вот такой вот баг получается, что добавляет символ плюса зачем-то. И эти папки и/или файлы, с символом плюса, уже не читаются потом... В старой версии тотал коммандера, у меня. В новой всё норм отображается и всё читается как надо.
0
|
|
|
Вернулся
1775 / 670 / 46
Регистрация: 10.09.2021
Сообщений: 2,820
|
|||||||||||
| 23.11.2024, 10:19 | |||||||||||
|
Где-то я накосячил в коде может. А самые новые версии умеют распознавать и игнорировать такие косяки...
Добавлено через 1 час 35 минут Ура! Я нашёл где косяк. Чтобы кэбы читались везде-везде хорошо, нужно по другому определять изначальные значения структуры ccab для FCICreate. За основу я теперь взял уже пример из MSDN: https://learn.microsoft.com/ru... -a-cabinet Лучше всего всегда переписывать из примеров от Microsoft конечно же, чтобы избегать косяков... А до этого я переписывал у немцев с Delphi отсюда: https://www.viathinksoft.com/codelib/206 Вообще я и был вдохновлён, этой статьёй у немцев, этим готовым кодом на Delphi, а оказывается косяки там... Так же я был вдохновлён статьёй где рассказывалось как обманывать технологию сжатия/распаковки не в файлы а в IStream в память, вот здесь: https://habr.com/ru/articles/314832/ Добавлено через 8 минут Кто бы мог подумать, у немцев ошибка в коде была, поэтому когда я переписывал функцию с Delphi то и у меня тоже такой же косяк поэтому получился. Добавлено через 1 минуту А всего-то они забыли объявить cbFolderThresh = И только из-за этого в старых версиях архиваторов CAB не читалось как надо, и было с глюками Добавлено через 3 минуты Вот я переписывал этот немецкий код с Delphi:
Добавлено через 5 минут Чтобы это исправить, нужно просто в определении структуры добавить:
Я исправил ошибки в коде! Добавлено через 7 минут А немцы переписывали у китайцев, этот код, кстати, так что изначально могли ошибку допустить китайцы... А теперь я русский переписал код у немцев, которые переписали у китайцев... А лучше всего конечно всего переписывать из MSDN...
0
|
|||||||||||
|
Вернулся
1775 / 670 / 46
Регистрация: 10.09.2021
Сообщений: 2,820
|
||
| 23.11.2024, 10:22 | ||
|
Добавлено через 12 секунд И ошибки тоже...
0
|
||
|
Вернулся
1775 / 670 / 46
Регистрация: 10.09.2021
Сообщений: 2,820
|
||||||
| 23.11.2024, 10:35 | ||||||
Сообщение было отмечено HackerVlad как решение
Решение
Теперь вот новая версия модуля, без ошибок уже:
1
|
||||||
|
Вернулся
1775 / 670 / 46
Регистрация: 10.09.2021
Сообщений: 2,820
|
|
| 23.11.2024, 22:03 | |
|
testuser2, кстати fafalone выложил 64-битную версию модуля, как раз для тебя))) ты же любишь 64))) я его даже не просил он сам решил написать 64 битно-совместимую версию) Вот здесь посмотри: https://www.vbforums.com/showt... ost5663417
Особенно забавно какие комментарии он оставил к моему модулю, мне больше всего понравилась фраза "Некоторые из использованных вами хаков немного свели меня с ума..." ахахахахах Добавлено через 3 минуты Будет ли только в VBA7 работать это большой вопрос конечно, проверять надо. Особенно непонятно как там будет себя чувствовать CDecl.
0
|
|
| 24.11.2024, 05:56 | |||||||||||||
Хотя я замечал в Твин-бейские такую странность там в vbaCopyBytes размер именно Long, хотя по сути, в среде x64 это урезает его возможности, больше 2 гигов не скопируешь
0
|
|||||||||||||
|
Вернулся
1775 / 670 / 46
Регистрация: 10.09.2021
Сообщений: 2,820
|
||
| 24.11.2024, 12:19 | ||
|
Добавлено через 1 минуту CAB всё равно не поддерживает файлы больше 2 Гб, так что нафига там копировать LongPtr таких больших данных быть не может просто
0
|
||
| 24.11.2024, 12:19 | |
|
Создание установочного архива для своих любимых программ Распаковка архива rar без сохранения файла во временную папку Создание архива с паролем средствами PB. Возможно? Создание cab архива
Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Беседа с ИИ о программистах, недопускающих к созданию и правке кода генеративные ИИ и причины этого
zorxor 21.09.2026
Раньше я радовался или получал некоторые эмоции, пусть небольшие, но всё же, от самого процесса написания кода, рекомпиляции и запуска, видя постепенное развитие программы и прочее. А теперь лень. . .
|
Мобильное приложение ColorStep
pavlinmavlin 17.09.2026
Реализовал приложение Красный, Зеленый, Синий в Unity3d + c#.
Название изменил на ColorStep.
Приложение прошло модерацию и теперь доступно для скачивания. Делал его сам, шаг за шагом — и вот,. . .
|
Запрет дублирования строк в табличной части
Maks 13.09.2026
Реализация из решения ниже выполнена на нетиповом справочнике "Нормы ТО" с табличной часть "Виды ТО", разработанного в КА2, со следующими реквизитами:
- ВидТО (СправочникСсылка. ВидыТО);
- ВидГСМ. . .
|
Скрипты Tampermonkey для CyberForum, ChatGPT, Claude и пр.
Jin X 06.09.2026
Скрипты Tampermonkey для CyberForum, ChatGPT, Claude и пр.
Работая с форумом и нейросетями в браузере часто хочется что-то подкорректировать или добавить какого-то функционала.
Ниже прикреплён. . .
|
|
Программа опроса у.з. расходомера SLS-720F
Argus19 02.09.2026
Программа опроса у. з. расходомера SLS-720F
Программа опрашивает один раз в минуту три ультразвуковых расходомера SLS-720F через интерфейс RS-485 по протоколу Modbus RTU.
Опрашиваются регистры. . .
|
Hyper-V: Компьютер должен поддерживать доверенный платформенный модуль 2.0.
Maks 31.08.2026
При установке Windows 11 на виртуальную машину Hyper-V 2-го поколения вылезла такая ошибка:
Решение: в параметрах виртуальной машины, в разделе "Безопасность" (Security) активировать флаг. . .
|
Архитектура биовида Стива в Майнкрафте: Зачем бонобо кубический каннибализм
anaschu 30.08.2026
Кубический Вагинокапитализм в Minecraft: Математический инвариант ОДУ и рок Стивов-бонобо
Главная задача разработанной «Модели Всего» — наглядно продемонстрировать наличие системной «судьбы». . .
|
Оттачиваю умение писать js программы.
russiannick 30.08.2026
Проектом выходного дня стало написание Книги шифров Виженера. Итогом стала версия 200, синий туман.
Синий туман назван так, потому что замораживает текст под собой. Нажатие синих кнопок управляют. . .
|