Главная страница
    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 скачал, надо адаптировать - он того стоит... собсвенно чем и занимаюсь. Естественно, что адаптируем не вручную - автоматизация это вещь :)



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

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

Наверх




Память: 0.55 MB
Время: 0.043 c
14-1104576205
Alex_S
2005-01-01 13:43
2005.01.23
Чудеса с Лексиконом. (История прошлого века)


4-1101719727
Lera
2004-11-29 12:15
2005.01.23
Перехват нажатия кнопки.


1-1104942414
debuger
2005-01-05 19:26
2005.01.23
Графики.


1-1105077787
schooll
2005-01-07 09:03
2005.01.23
О захвате экрана


1-1105049240
Deos
2005-01-07 01:07
2005.01.23
Отправить файл





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский