Форум: "Основная";
Текущий архив: 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.054 c