![]() |
|
Модераторы: Poseidon, Snowy, bems, MetalFan |
![]()
|
|
| Elfix |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 167 Регистрация: 13.7.2005 Репутация: нет Всего: нет |
Привет.
Столкнулся с проблемой. У меня есть переменная типа TStream, которая содержит запакованные данные формата gz. Необходимо этот поток распаковать и результат распаковки положить в переменную типа TStringList. Некоторые пользователи подсказывали что есть класс TDecompresionStream или подобный в Zlib (стандартный модуль Delphi), но работать с ним у меня так и не получилось. Возможно есть и другой способ, но не хотелось бы засорять Delphi ненужными компонентами. Возможно уже есть готовая функция? Очень надеюсь на вашу помощь. У меня Delphi 7. Уже благодарен... |
|||
|
||||
| Snowy |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 11363 Регистрация: 13.10.2004 Где: Питер Репутация: 192 Всего: 484 |
gz и ZLib это не совсем одно и то же.
ZLib - алгоритм компрессии, применяемый в gzip. gz - расширение файла gzip архивов. Для решение затачи нужно всё таки определиться - "что в чёрном ящике" |
|||
|
||||
| Elfix |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 167 Регистрация: 13.7.2005 Репутация: нет Всего: нет |
Пока у меня есть данные некогда запакованные архиватором gunzip.
Их я получаю из Интернета в виде потока TStream. Теперь надо распаковать и положить в TStringList. Snowy, я очень надеюсь на твою помощь и, конечно же, помощь других программистов. |
|||
|
||||
| Elfix |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 167 Регистрация: 13.7.2005 Репутация: нет Всего: нет |
Люди, я так и не нашел ответа на вопрос, поэтому тема до сих пор актуальна. Попытался что то сам сочинить, но код, выдает ошибку Invalid Stream Operation. Возможно я не правильно работаю с потоком, а возможно я вообще не тот путь избрал. Помогите разобраться. Вот то, что я уже сделал сам:
|
|||
|
||||
| Snowy |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 11363 Регистрация: 13.10.2004 Где: Питер Репутация: 192 Всего: 484 |
Я пытался разобрать вручную.
Но не получается. Без разбора формата это долхлый помер. А разбирать формат лень. Анализировал по исходнякам. Разбор заголовка понятен. Но тело декомпресить не хочет. Ставь компонент - меньше мороки. На torry их есть. |
|||
|
||||
| Elfix |
|
|||
|
Бывалый ![]() Профиль Группа: Участник Сообщений: 167 Регистрация: 13.7.2005 Репутация: нет Всего: нет |
В общем я решил отказаться от компонентов и от всякой головоломки и тупо воспользоваться готовыми программами, передавая им в параметры имя моего упакованного файла. Но вот проблема, при использовании Rar.exe у меня разархивируются архивы *rar, но не gz. Хотя в общем то архиватор должен поддерживать этот формат. Передаю параметры таким образом
Но распаковки не происходит. Архиватор ругается на неизвестность этого формата. Но ведь в оболочке то WinRar все работает! И при попытке разархивирования такого файла указанным способом в TotalComander все проходит на ура. В чем проблема тогда у меня? Может я не верно использую строку? Подскажите, плз, как передавать параметры архиватору Rar.exe чтобы на выходе получить уже распакованный файл? Заранее благодарен... |
|||
|
||||
![]()
|
| Правила форума "Delphi: Общие вопросы" | |
|
|
Запрещается! 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, MetalFan, bems, Poseidon, Rrader. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Delphi: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |