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

Вниз

Как извлечь GZIP файлы   Найти похожие ветки 

 
D7pro   (2006-03-09 18:03) [0]

Пытаюсь разархивировать файлы в формате GZIP. Перепробовал разные компоненты, такие как filetools 2.0, TurboPower Abbrevia v3.04, ZipTV.7.0.6. Проблемма в том что они извлекают архив не полностью. Если архив распаковать winrar-ом, то получаю 11 кб, с помошью моей проги 276 байт. На всех трех компонентах разультат один и тотже. Может кто сталкивался с такой проблемой подскажите !!!


 
Fay ©   (2006-03-09 18:08) [1]

На torry.net есть компонент для gzip. Галюнов пока не замечено.


 
D7pro   (2006-03-09 18:30) [2]

Для delphi 7 я нашел только два компонента ZipTV.7.0.6 и filetools 2.0 и они не правльно работают, во всяком случае нужные мне файлы распаковывают не до конца. А как называется тот компонент ???


 
Slym ©   (2006-03-10 14:22) [3]

INDY10 IdZLibCompressorBase.pas
procedure TIdZLibCompressorBase.DecompressGZipStream(AStream : TStream; const AOutStream : .........


 
D7pro   (2006-03-10 15:58) [4]

Спасибо сейчас попробую.


 
D7pro   (2006-03-10 16:34) [5]

Slym. Подскажи пожалуйста еще одну вещь. Как правильно передать параметры этой процедуре. Делаю так.

procedure TForm1.Button1Click(Sender: TObject);
var
s1: TFileStream;
Decompressor:TIdZLibCompressorBase;
const s2: TStream=nil;

begin
s1:=TFileStream.Create("C:\download\Aug-2005.gz",fmOpenReadWrite);
Decompressor:=TIdZLibCompressorBase.Create;
Decompressor.DecompressGZipStream(s1,s2);
end;

На последней строке вылетает ошибка "Abstract error".  Что делать ???


 
Palladin ©   (2006-03-11 12:13) [6]

const s2: TStream=nil;


Это что еще такое?


 
Slym ©   (2006-03-13 07:36) [7]

IdZLibCompressorBase.pas - абстрактная реализация
реально реализовано в - IdCompressorZLibEx.pas TIdCompressorZLibEx


 
D7pro   (2006-03-13 12:04) [8]

Сделал так.

procedure TForm1.Button1Click(Sender: TObject);
var
s1: TFileStream;
s2: TMemoryStream;
Decompressor:TIdCompressorZLibEx;

begin
s1:=TFileStream.Create("C:\download\Aug-2005.gz",fmOpenReadWrite);
s2:=TMemoryStream.Create;
Decompressor:=TIdCompressorZLibEx.Create;
Decompressor.DecompressGZipStream(s1,s2);
s2.SaveToFile("C:\download\1.txt");
end;

В результате файл 1.txt пустой, а архив Aug-2005.gz становится битый. Может DecompressGZipStream распаковывает mod_gzip. Мне нужно распаковать лог файлы с сервака. Неужели никто не сталкивался с этой проблемой ???
Кстати когда заменяю fmOpenReadWrite на fmOpenRead то возникает ошибка "Stream Write Error", зачем он пишет в архивный файл ???


 
Slym ©   (2006-03-14 06:53) [9]

INDY пользует ZLibEx может он чемнибудь отличается от обычного ZLib... тебе всего нужно переделать DecompressGZipStream под ZLib.TDecompressionStream
И вообще - Тебя RAR не устроит?


 
D7pro   (2006-03-14 11:01) [10]

Ты имеешь ввиду консольный RAR  ??? Была такая мысль, но по моему это не красиво. Все равно спасибо за помощь !!!



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

Форум: "Основная";
Текущий архив: 2006.04.16;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.46 MB
Время: 0.043 c
9-1128441067
Зм1й
2005-10-04 19:51
2006.04.16
Анатомия


2-1140954483
tio
2006-02-26 14:48
2006.04.16
AddIndex


15-1143010657
WondeRu
2006-03-22 09:57
2006.04.16
Очeредные веселости от Google


2-1144053643
VAZMan
2006-04-03 12:40
2006.04.16
RadioButton


15-1143130099
Pazitron_Brain
2006-03-23 19:08
2006.04.16
Идеальная субкультура.





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