Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "KOL";
Текущий архив: 2005.01.23;
Скачать: [xml.tar.bz2];

Вниз

Сжатие данных для KOL   Найти похожие ветки 

 
X9   (2004-03-13 06:43) [0]

Подскажите кто-нибудь, где можно взять компонент для сжатия(KOL). Пробовал KOLZLib, только чтобы без библиотек, однако он позволяет сжимать/извлекать только из файла в файл, да и ещё выдаёт ошибку при сжатии файлов > 300кб.


 
Gandalf ©   (2004-03-13 08:34) [1]

У меня на сайте только это, у Кладова http://bonanzas.rinet.ru/r_adds.htm#Compression - еще чуток, не густо - больше нет, надо хорошоую либу адаптировать - есть что на примете?


 
Владимир Кладов   (2004-03-13 10:18) [2]

DIUCL у меня на сайте ссылка. Рекомендую. Только я нашел ошибочку: надо выделение памяти в двух местах где это делается вызывать AllocMem а просто New() для структуры, а то неинициализировано получается (автору я отписал, Ralf обещал у себя на сайте поправить).

Другой вариант - Cab - декомпрессия поддерживается из KOL.pas.

Есть еще KOLUnzip - очень хорош для декомпрессии готовых ZIP. сейчас попробовал, замечательно работает. Только все процедуры-параметры надо передавать обязательно, в комментариях про это не сказано.


 
X9   (2004-03-25 11:04) [3]

А больше ничего нет? Тогда не подскажет кто-нибудь, как использовать zipdll.dll?


 
Wiz@rd ©   (2004-03-25 13:14) [4]

DIUcl и KolZLIB чё то уж больно похожи. Не находите? И объектные файлы и процедуры в модулях строка в строку - тока по разному называются.Человек спрашивает без библиотек - вот и надо что-нить типа CAB.pas и всё. И чтоб к exe не слишком прибавлялось, а точ то CAB декомпрессия - это стандартные мастдайные функции - и распаковываютс CAB тока Normal, а Best и Store не хочет...


 
X9   (2004-03-25 16:22) [5]

Всем спасибо за ответы!
Мастера, может кто-нибудь переведёт на KOL компонент TCompress, пусть даже если он станет невизуальным, а то я в KOL чайник. Кому не жалко времени и немного нервов - пожалуйста, давайте мыло. И, хотя, компонент немного неустойчивый, и сжимает хуже ZIP, но зато всё очень просто, и он позволяет извлекать/запаковывать из Stream в Stream и ещё много чего полезного умеет. Не использует Forms, только SysUtils и Classes. Будет хоть какое-то пополнение в этой области.


 
Gandalf ©   (2004-03-25 22:55) [6]

Брось мне


 
Dimaxx ©   (2004-03-26 00:21) [7]

Я наваял декомпрессор/компрессор каба через FCI/FDI (cabinet.dll) и оформил как компонент (немного доделать осталось), но не могу реализовать прогресс бар (события OnCompress и OnDecompress) для него. А так все работает, все методы вроде распаковывает. Мож кто поможет...


 
Alekc   (2004-03-27 11:57) [8]


> DIUcl и KolZLIB чё то уж больно похожи. Не находите? И объектные
> файлы и процедуры в модулях строка в строку - тока по разному
> называются.Человек спрашивает без библиотек - вот и надо
> что-нить типа CAB.pas и всё. И чтоб к exe не слишком

1. Плохо смотришь, DIUcl и KolZLib ничего общего не имеют.
2. Какие, интересно, библиотеки использует KolZLib ?
3. А вот каб как раз и использует MS cabinet.dll, которая отсутствует в ранних версиях Windows...


 
X9   (2004-03-27 16:15) [9]

2Gandlf
Ловите!


 
Dimaxx ©   (2004-03-27 23:26) [10]

2 Alekc: KolZLib ничего не использует! В этот-то вся прелесть.


 
X9   (2004-03-28 15:48) [11]

Можно ли приспособить DIUcl для сжатия/декомпрессии файлов, не загружая при этом весь файл в память?


 
Wiz@rd ©   (2004-03-29 00:34) [12]

>1. Плохо смотришь, DIUcl и KolZLib ничего общего не имеют.
>2. Какие, интересно, библиотеки использует KolZLib ?
>3. А вот каб как раз и использует MS cabinet.dll, которая >отсутствует в ранних версиях Windows...

По-моему ты недогоняешь, сам понял чё сказал?


 
Gandalf ©   (2004-03-29 10:43) [13]

Без ссор :)

2X9  Получил - смотрю.


 
X9   (2004-03-29 14:57) [14]

2Gandalf и не только
Я поработал с TCompress и нашёл в нём кучу глюков. Затем, покопавшись в своём архиве компонентов, я нашёл оптимальный вариант - TVZip. Я понимаю, что одному программисту очень сложно перевести такой объём кода, поэтому программисты имеющие опыт работы в KOL - пожалуйста, присоединяйтесь! Библиотека TVZip состоит из 59(!)модулей, однако здесь есть есть всё:
1. Сжатие алгоритмами BlakHole, GZip, Lha, Jar, Cab, Tar, Zip и UUE.
2. Распаковка архивов форматов Ace, Arc, Arj, Bh, Cab, UUE, GZip, Jar, Lha, Rar, Tar, Zip и Zoo.
3. Возможность конвертирования архива из одного формата в другой, создание SFX-архивов и обратное конвертирование, проверки и исправления архивов, несколько визуальных компонентов для работы с архивами вроде списка содержимого в деталях, возможность блокировать архив паролем и ещё много чего полезного. Я понимаю, что всё это звучит как открытая реклама, однако библиотека действительно классная! Кто не верит - попробуйте под VCL, уверен - останетесь довольны. Поддержка Delphi 4-7. Не помню, откуда скачивал, но могу на своём "сайте" выложить или на мыло прислать. Будет круто её на KOL переписать. Уж покруче, чем KOLZLib или DIUcl. Тем более, что она не использует никаких библиотек, кроме UnRar.dll, да и то только при распаковке RAR-архивов.


 
Gandalf ©   (2004-03-29 17:01) [15]

Хм... если уж и переводить, то лучшее - у меня есть TVZip но очень старый - и без сорцов, поделись - можно посмотреть...


 
Alekc   (2004-03-29 19:08) [16]


> По-моему ты недогоняешь, сам понял чё сказал?

Я - понял. А что непонятно тебе ?

> Я поработал с TCompress и нашёл в нём кучу глюков. Затем,
> покопавшись в своём архиве компонентов, я нашёл оптимальный
> вариант - TVZip.

TVZip ? Это не то, что теперь зовётся ZipTV ?


 
dvkr   (2004-03-29 20:02) [17]

недавно занимался этой проблемой перекопал довольно много материала. но остановился на том , что использовал консольный упаковщик 7z (http://www.7-zip.org/) и в своей проге запускал.
Писал на KOL что-то типа
ExecuteWait("7za.exe",Бпараметры>,GetTempDir,SW_HIDE, INFINITE, nil)
сжатие получше даже в формате zip.


 
Dimaxx ©   (2004-03-29 22:36) [18]

Сайт www.ziptv.com. Либа стоит денег, у меня есть ломалка 3.50, но прогресс не стоит на месте... Исходники любой версии на мыло, плз...


 
X9   (2004-03-30 09:03) [19]

Кому на мыло - выкладывайте адреса. А вот линк на версию 6.8.4 с сырцами и демкакми - бесплатно:
http://xplorer-delphi.narod/download/delphi/ziptv.rar - весит
около 700 кб.
2Alekc
Да, действительно, теперь это ZipTV.


 
X9   (2004-03-30 09:32) [20]

Извините за битый линк, вот нормальный:
http://xplorer.ruwh.com/download/delphi/ziptv/ziptv.part1.rar
http://xplorer.ruwh.com/download/delphi/ziptv/ziptv.part2.rar
Всё вместе весит чуть меньше 700 кб. Извините за многотомный архив, но на этом хосте не разрешено отправлять файлы > 500 кб.


 
X9   (2004-03-30 09:46) [21]

В общем заходите на http://xplorer-delphi.narod.ru с паролем corel, но только, plz, не меняйте его!


 
mdw ©   (2004-03-30 10:38) [22]

У меня есть компонент VCLZip с исходниками, правда довольно старенький (Version 2.17 February 8, 1999). Давно портануть собираюсь, но сейчас работы - выше крыши:((. Если у кого есть желание и возможность - пришлю. Я смотрел, там, в принципе, работы не очень много.
Ах, да работает с Zip архивами (компрессия\декомпрессия).


 
Dimaxx ©   (2004-03-30 22:20) [23]

Пишет "Нет такой страницы"! Че делать!!! Залей на hotbox.ru - там пофигу размер.


 
X9   (2004-03-31 05:22) [24]

Заходите на ftp://ruwh.com с логином xplorer и паролем corel или на htt://narod.yandex.ru с логином xplorer-delphi и паролем
corel. На ruwh.com в папке download/delphi/tvzip/, а на народе -
в download/delphi. Если никак, то исходники я уже отослал Dimaxx.
У меня есть VCLZip, только без сырцов, моё мыло - x-comp2004@mail.ru


 
Gandalf ©   (2004-03-31 19:21) [25]

Качаю... даст бог скачается... по мне ZipTV круче, ну что попробуем портануть?


 
Dimaxx ©   (2004-03-31 21:47) [26]

Гендальф, участвую!


 
X9   (2004-04-01 07:39) [27]

2Gandalf
Ну как, закачали? Если да, то что вы думаете об адаптации в KOL?
В разумные сроки, конечно:)).
2Dimaxx
А вы получили? Если все всё получили, то давайте распределять обязанности(т.е. модули), т. к. 60 модулей перевести в одиночку, на мой взгляд, очень проблематично. Я тут в KOL немного осваиваться начал. Там ведь в основном надо TMemoryStream, TFileStream заменить на PSream, поставив вместо
T***Stream.Create NewRead/WriteStream и NewMemoryStream, и ещё часто встречается TStringList -> PStrList. Давайте тогда я как чайник в KOL начну с небольших модулей - например, ztvUnJar и ztvJar.


 
Владимир Кладов   (2004-04-01 09:21) [28]

Для таких преобразований можно использовать GlueCut. Один раз задать набор рулесов вроде
REPLACE[TStringList.Create][NewStrList]
REPLACE[TStringList][PStrList]
...
И потом только подставлять их, и получать на выходе KOL-версию компоненты. Подумайте: лучше 1 день потерять (на изучение), зато потом сколько дней выиграть...


 
X9   (2004-04-01 09:37) [29]

Спасибо за совет, хотя я этим пользуюсь. Но дело ведь не только в TSringList и TMemoryStream. В этих компонентах очень часто используются процедуры и функции из SysUtils, и, хотя у меня есть исходники этого модуля, в нем есть функции, которые используют другие функции из SysUtils. Я знаю, что в KOL реализованы почти все возможности SysUtils и даже больше, однако рни имеют разное написание, например:
StrToInt -> Str2Int
CompareText -> AnsiCompareText и др.
Поэтому на поиск процедур-клонов уходит немало времени.


 
Владимир Кладов   (2004-04-01 10:13) [30]

Вот я и говорю: 1 раз все найти и написать правила для автоматической конвертации, и потом можно работу автоматизировать.


 
Vetek   (2004-04-01 12:48) [31]

ZipTV.rar скачал :)))
Хорошая штука !


 
Dimaxx ©   (2004-04-02 00:13) [32]

2 Х9: Получить - не получил, но скачал... Сенькс тебе гигантский за сырцы! Там даже есть распаковка метода Inflate64!!!! Вот это супер!!!


 
Михаил   (2004-04-02 09:45) [33]

У меня есть VCLZip 2.17 с исходниками (D5,D6)...
Пользуюсь очень давно...
Если кого интересует - мыльте....


 
X9   (2004-04-02 14:39) [34]

2Михаил
А для Delphi7 нет исходников?


 
X9   (2004-04-02 14:50) [35]

2mdw
Спасибо за сырцы, щас попробую установить.


 
mdw ©   (2004-04-02 15:13) [36]

А для Delphi7 нет исходников? Там для Д7 нужно только в модуле kpCntn.pas заменить Uses Consts; на Uses RTLConsts;


 
X9   (2004-04-05 13:50) [37]

Извиняюсь за долгое молчание - систему переустанавливал.
2mdw
Cпасибо! Классно работает! Быстрее сжимает zip чем TVZip. Однако, я думаю, что перевести на KOL его будет непросто(это я говорю как чайник в KOL). У меня возникли трудности в kpCntn.pas:
1. Чем можно заменить тип TPrsistent?
2.----------//----------- TClass?
3.----------//----------- TFiler?
4.----------//----------- TDuplicates?
Может уже кто-нибудь начал переводить VCLZip? Если да, то, опять же, давайте, plz, делить модули.


 
mdv   (2004-04-05 14:31) [38]

1. TPersistent - ничем. Наследовать от TObj
2. Все что использует можно смело убивать...
3. TFiler - не нужен (запись в DFM). Можно использовать для зеркала
4.   TDuplicates = (dupIgnore, dupAccept, dupError);

На самом деле в этом модуле очень много можно убить, все, что касается VCL. Хотя возни с ним будет много.


 
X9   (2004-04-05 17:10) [39]


>mdw
> Хотя возни с ним будет много.

Тут я с вами полностью согласен!


 
Gandalf ©   (2004-04-07 14:28) [40]

Я тут пока болею, TVZip скачал, надо адаптировать - он того стоит... собсвенно чем и занимаюсь. Естественно, что адаптируем не вручную - автоматизация это вещь :)


 
Ajax ©   (2004-04-07 21:34) [41]

Вы меня только пожалуйста ногами не бейте... А почему бы CAB не использовать? Он хоть может и не мультиплатфорный, зато все просто.

PS: Я зная про функции для работы с CAB в KOL.PAS, а имею ввиду функции экспортируемые cabinet.dll


 
Dimaxx ©   (2004-04-07 22:00) [42]

2 Ajax: Смотри пункт [7].


 
Ajax ©   (2004-04-07 23:52) [43]

>Dimaxx ©   (07.04.04 22:00)
Да, точно, пропустил. Только все-равно что-то недогоняю. От каба отказались из-за длл-ки? Сбрось мне исходники на почту или линк откуда скачать.


 
Dimaxx ©   (2004-04-10 23:00) [44]

От каба отказались не из-за длл"ки, а я не могу приделать событие для реализации прогресс бара при распаковке/упаковке.
Сырцы ща зашлю...


 
Gandalf ©   (2004-04-10 23:07) [45]

У меня сдвиги в ZipTV может завтра что и выложу. Желающих kolqt под linux нет потестить? А то я свои снес, появились события мыши и клавы - контролы стандратные (panel,label,button,*box).


 
X9   (2004-04-10 23:43) [46]

Извините, что опять так долго - предки из-за !"образцовой" успеваемости доступ в Инет закрыли.
2Gandalf
> Я тут пока болею, TVZip скачал, надо адаптировать - он того
> стоит...

Это точно!
Так что у вас с TVZip? Неужели, уже всё?! Если да, то за это необходимо вручить Вам Нобелевскую или даже 2 :)).
Я нашёл первый глюк в TVZip при работе с TUnRAR:
Открываю  демку, компилю, при вызове ф-ии Extract появляется File not found: unrar?.dll. UnRAR.dll лежиит в каталоге с проектом. Поискал по сырцам TVZip - там вообще нигде не упоминается unrar?.dll. Может unrar.dll глючит? Тогда зачем её глючную было ложить в демку.


 
Gandalf ©   (2004-04-12 15:58) [47]

Не то все, но почти все - а чего тянуть, то?

Rar еще не тестил... Посмотрю.


 
X9   (2004-04-12 18:31) [48]


> Gandalf ©   (12.04.04 15:58) [47]
> Не то все, но почти все - а чего тянуть, то?

Но как вам удалось так быстро закончить адаптацию - ведь там исходников почти на 2 мега. Вы просто гений, монстр программирования(в хорошем смысле этого слова). Низкий вам поклон!

> Rar еще не тестил... Посмотрю.

Посмотрите пожалуйста, я думаю, что unrar.dll, скорее всего написанная на Assembler"е, выиграет в скорости у кода, сгенерированного компилятором Delphi. Да и вообще, RAR намного лучше ZIP"а. Как только закончите с адаптацией, отправьте, пожалуйста, на мыло. Я их заодно целиком протестирую.
А интересно, законно ли данная адаптация и распространение TVZip для KOL, с сохранением всех прав и копирайтов? Лично я качал TVZip абсолютно свободно, хоть и не с сайта производителя, но всё же...


 
X9   (2004-04-13 19:12) [49]

2Gandalf
Ув. Gandalf, ну что у вас там с TVZip? Попробовали TUnRAR? А как дела с адаптацией?


 
Dimaxx ©   (2004-04-13 22:24) [50]

Unrar, как и весь RAR, целиком написан на борландовском С Builder"е.


 
X9   (2004-04-14 09:36) [51]

2Dimaxx
Но наверное он написан со вставками на АСМе.
2Gandalf
goto [49]


 
Gandalf ©   (2004-04-14 11:22) [52]

Нормально с адаптацией. Идет тестинг - пока местами вылетает, и не все перевел на чистый KOL, есть несколько моих тяжелых (условно) враперов... оставил пару классов - так удобней. Выложу на днях.


 
Max Kozlov   (2004-04-14 12:03) [53]

тут говорят о сжатии данных.

я как раз на днях сделал для себя модулёчек для zlib, gzip, bz2

на KOL переводится ( и уже переведён ) за 10 мин :)

не сочтите за рекламу :)
http://www.terraspace.ru/~max/progs/zlibbzip.zip

посмотрите, потестируйте кому надо... у меня работает.

присутствуют [De]CompressBuf, [De]CompressStream, и для zlib
[De]CompressStr. компрессионные классы выкинуты за ненадобностью(на мой пристрастный взгляд :)

ну и на этот сайт можно выложить.


 
X9   (2004-04-14 18:01) [54]

2Gandalf
Вы просто молодец! Если нужно, я могу полностью протестировать Вашу работу, если что - сообщите на мыло.
2Max Kozlov
Уже качаю...


 
Gandalf ©   (2004-04-14 21:11) [55]

Выложу.


 
Dimaxx ©   (2004-04-17 23:14) [56]

2 Max Kozlov: Проверь, не работает распаковка gzip (ни vcl-, ни kol-версия)!


 
X9   (2004-04-18 15:00) [57]

Dimaxx прав!


 
Max Kozlov   (2004-04-19 13:06) [58]

извиняюсь, в финальной версии ошибочка маленькая вышла :)

ищем определение CRC32
function CRC32(CRC: Cardinal; const Data; cbData: Cardinal ): Cardinal;
и меняем его на
function CRC32(CRC: Cardinal; const Data: PChar; cbData: Cardinal ): Cardinal;

для ленивых версию на сайте исправил :)


 
Dimaxx ©   (2004-04-19 21:44) [59]

Ща отведаем...


 
Dimaxx ©   (2004-04-20 23:08) [60]

Все ок! Респект!


 
X9   (2004-04-23 21:00) [61]

Точно, работает!
2Gandalf
Так что у вас там, с TVZip? Вы обещали выложить, а в кладовке я пока не нашёл.


 
Dimaxx ©   (2004-04-23 22:15) [62]

Гэндальф зализывает окончательный вариант. Раньше выходных нечего его тревожить - все равно не выложит :0)


 
X9   (2004-04-24 04:52) [63]

2Dimaxx
Ясно. А вы не можете посмотреть, что там с TUnRAR. Даже демка не работает - ругается, что не найден unrar?.dll, хотя unrar.dll лежит в каталоге вместе с проектом.


 
X9   (2004-04-24 09:33) [64]

Фуф! Разобрался! в файле ztvUnRAR.pas нужно поменять значение константы UNRARDLL с "unrar3.dll" на "unrar.dll". А для работы с RAR-архивами, созданными WinRAR версии позже 2.90 нужно использовать unrar.dll версии 2.90, которую можно взять здесь:
http://xplorer-delphi.narod.ru/unrar.dll .


 
X9   (2004-04-24 09:35) [65]

Извиняюсь за битый линк, вот отсюда:
http://xplorer-delphi.narod.ru/unrar.rar


 
Tolyan   (2004-04-24 14:05) [66]

Народ! Привет всем.
А куда это интересное выкладывается, чего-то не соображу.
Я тут как раз с архивацией на KOL застрял (глуки в компоненте TZip),  а тут такая перспектива ВАМИ предлагается. Очень хочется.
Очень нужная вещь


 
Dimaxx ©   (2004-04-28 21:48) [67]

Гэндальф! Как с переводом дела?


 
Gandalf ©   (2004-04-28 22:46) [68]

Вылетает пока большей частью :( Но мы не сдаемся ;)


 
Tolyan   (2004-04-29 11:22) [69]

Могу поддержать ... морально :)


 
X9   (2004-05-01 10:59) [70]

2Gandalf
Вперед, не останавливаться! Родина-Мать зовёт! :)))


 
X9 ©   (2004-05-17 14:18) [71]

2Gandalf
Ну что там с адаптацией? Если нужна какая помощь - не стесняйтесь, только plz на мыло.


 
Terminus   (2004-05-20 18:51) [72]

Не знаю, надо или нет.. Я уже года 3 назад написал модуль для zlib, который юзаю до сих пор. Архивация и разархивация из потока в поток. Размер файлов вроде не имеет значения. Во всяком случае пробовал и на очень больших.

http://www.extractor.ru/_public/KOLGZipFuncs.pas


 
Dimaxx   (2004-06-13 22:41) [73]

Гэндальф! Как работа движется с KOLZipTV? В какой стадии?


 
Gandalf ©   (2004-06-14 17:19) [74]

Процесс затормозился... сейчас где-то 20-25%, недостаточно для приемлемой работы...



Страницы: 1 2 вся ветка

Форум: "KOL";
Текущий архив: 2005.01.23;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.64 MB
Время: 0.041 c
1-1104913176
Sanich
2005-01-05 11:19
2005.01.23
Как сделать чтоб в TDBGridEh выбиралось значние для TDBGridEh


1-1105350958
KSergey
2005-01-10 12:55
2005.01.23
Массив и параметры по умолчанию


14-1104612996
GanibalLector
2005-01-01 23:56
2005.01.23
Математики стоят на пороге уничтожения криптографии...


1-1104990911
Алина
2005-01-06 08:55
2005.01.23
Edit-Combobox


3-1101745245
skovorodka
2004-11-29 19:20
2005.01.23
host, логин, пароль





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский