Форум » [x]Harbour » Совместимость архивов » Ответить

Совместимость архивов

Dima: По следам Темы [pre2] Harbour 1.1, 2.0 Связка 1 (создаем zip с паролем) HB_zipfile -> HB_UnzipFile = OK HB_zipfile -> Winrar = Bad // пароль не подходит HB_zipfile -> Winzip = Bad // пароль не подходит HB_zipfile -> pkuzip = Bad // пароль не подходит HB_zipfile -> Far Manager = Bad // пароль не подходит HB_zipfile -> Total Commander = Bad // пароль не подходит XHarbour 1.1 Связка 2 (создаем zip с паролем) HB_zipfile -> HB_UnzipFile = OK HB_zipfile -> Winrar = OK HB_zipfile -> Winzip = OK HB_zipfile -> pkuzip = OK HB_zipfile -> Far Manager = OK HB_zipfile -> Total Commander = OK Вопрос думаю очевиден. Что Harbour делает не так при создании архива с паролем. [/pre2]

Ответов - 31, стр: 1 2 All

Dima: Ладно проехали. Обновил версию Total Comander он и открыл архив. Winrar и Far сопротивляются , ну и бог с ними ;) (версии самые свежие) PSP СПАСИБО !!!

PSP: Да не за что... Поробуй 7-zip. Бесплатный, быстрый, универсальный...

Andrey: Попробуй на другом компе или поставь себе в эту же систему VirtualBox или Vmware workstation.....


Петр: А зачем Диме ставить 7-zip или VirtualBox ? (Хотя они конечно не помешают и у меня установлены ) Я так понял вопрос несколько в другом. Дима - вот пример - "пища для ума", если хотите можете искать где собака порылась, а можете обойтись существующими решениями [pre2]#include "hbzlib.ch" PROCEDURE main() LOCAL hZip, cBuff /* * test 1 * Используем hbziparc */ HB_ZipFile( "test1", {"t.prg"},,,, "111" ) /* * test 2 * Примерно так работает HB_ZipFile из hbziparc * надстройка над hbmzip */ hZip := hb_ZipOpen( "test2.zip" ) hb_ZipFileCreate( hZip, "t.prg", NIL, NIL, NIL, NIL, NIL, NIL, "111" ) cBuff := hb_memoread( "t.prg" ) hb_ZipFileWrite( hZip, cBuff, Len(cBuff) ) hb_ZipFileClose( hZip ) /* * test 3 * А этот пример написан по мотивам hbmzip\tests\myzip */ hZip := hb_ZipOpen( "test3.zip" ) hb_ZipStoreFile( hZip, "t.prg", "t.prg", "111" ) hb_ZipClose( hZip ) RETURN[/pre2]

PSP: Петр пишет: А зачем Диме ставить 7-zip Ну, не для решения его вопроса, конечно... Чтобы было.

Dima: Петр Спасибо ! Xharbour 1.1 + Far для открытия c коментом #include "hbzlib.ch" hb_memoread -> memoread test1.zip - OK test2.zip - Bad pass test3.zip - OK Harbour 2.0 test1.zip - Bad pass test2.zip - Bad pass test3.zip - OK Стоит подумать однако.

Петр: Как по мне - без анализа исходников hbmzip, реализация HB_ZipFile (или hb_ZipFileWrite) не совсем корректная. Так что если хотите одновременно юзать архивы и xHb и harbour , и Far/Rar используйте вариант 3 или перепишите для harbour HB_ZipFile c использованием hb_ZipStoreFile

Dima: Петр Понял а как объяснить что Total Commander понял без проблем все 6 архивов ?

Петр: Возможно два варианта или Total Commander такой шибко умный, что использует механизм коррекции ошибок, или плевать он хотел на все вроде бы ошибки и просто игнорирует их; или даже третий вариант - метод используемый в Harbour корректный, но еще не повсеместно используемый. Кстати 7zip открывает тоже эти архивы без вопросов. P.S. В пользу третьего варианта говорит и то, что TC открыл файлы только после обновления.

Dima: Петр Спасибо !!!

PSP: "Вот оно чё, Михалыч, вот оно чё..." Спасибо, Петр!



полная версия страницы