![]() |
|
|
|||||||
| Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
![]() |
|
|
Опции темы | Поиск в этой теме | Опции просмотра |
|
#16
|
||||
|
||||
|
Вот этот пост читай http://www.delphisources.ru/forum/sh...7&postcount=13
Я тебе пример понаписал в самом низу. |
|
#17
|
|||
|
|||
|
Цитата:
|
|
#18
|
||||
|
||||
|
Адреса так передаются.
|
|
#19
|
|||
|
|||
|
Цитата:
|
|
#20
|
||||
|
||||
|
Мой inc файл подруби, у меня все норм работает.
|
|
#21
|
|||
|
|||
|
Цитата:
|
|
#22
|
||||
|
||||
|
Код:
var
ms, ms2: TMemoryStream;
zs: TCompressionStream;
begin
ms := TMemoryStream.Create;
ms2 := TMemoryStream.Create;
// zs := TCompressionStream.Create(ms2, zcMax);
try
ms.LoadFromFile('чото-там');
// zs.CopyFrom(ms, ms.Size);
ms2.Size := 1024*1024*10;
ms2.Size := lzocompress(Byte(ms.Memory^), Byte(ms2.Memory^), ms.Size);
ms2.SaveToFile('C:\qqq.lz');
finally
ms2.Free;
ms.Free;
end;Думаю дальше разберешься как что делать. кстати, zLib уделывает этот алгоритм по степени сжатия, но проигрывает в скорости. LZO - 634 КБ (649 747 байт) zLib - 448 КБ (458 752 байт) |
|
#23
|
|||
|
|||
|
Спасибо, конечно, но меня больше lzodecompress интерресует!..
Кстат у LZO тоже есть степени сжатия, но они прямо пропорциональны скорости... Последний раз редактировалось DrGeorg, 26.04.2013 в 09:17. |
|
#24
|
||||
|
||||
|
Ну ДЕкомпресс аналогично вызывается. Я надеюсь ты сам сможешь написать, тем более, что примеров накидал тебе более чем достаточно.
З.Ы. В этой реализации не вижу где настраивается степень сжатия. Последний раз редактировалось M.A.D.M.A.N., 26.04.2013 в 09:21. |
|
#25
|
|||
|
|||
|
Цитата:
Там в консоли надо ввести параметр: zlop -7 или -8 или -9 "Путь\Имя Файла.расш" или zlop "Путь\Имя Файла.расш" Поймешь разницу! Да кстат, а откуда взялся класс TCompressionStream? Я просто профан в области создания классов ![]() Код:
var
ms, ms2: TMemoryStream;
begin
ms := TMemoryStream.Create;
ms2 := TMemoryStream.Create;
try
ms.LoadFromFile('C:\qqq.lzo');
ms2.Size := 1024*1024*10;
ms2.Size := lzodecompress(Byte(ms.Memory^), Byte(ms2.Memory^), ms.Size);
ms2.SaveToFile('C:\qqq.txt');
finally
ms2.Free;
ms.Free;
end;Последний раз редактировалось DrGeorg, 26.04.2013 в 10:39. |
|
#26
|
||||
|
||||
|
Потому, что ф-я принимает 2 параметра. Странно, что ты не заметил.
|
|
#27
|
|||
|
|||
|
Да я и так пытался:
Код:
var
ms, ms2: TMemoryStream;
begin
ms := TMemoryStream.Create;
ms2 := TMemoryStream.Create;
try
ms.LoadFromFile('C:\qqq.lzo');
ms2.Size := 1024*1024*10;
ms2.Size := lzodecompress(Byte(ms.Memory^), Byte(ms2.Memory^));
ms2.SaveToFile('C:\qqq.txt');
finally
ms2.Free;
ms.Free;
end;Правда ошибка: Access violation at address http://forum.sources.ru/index.php?showtopic=38911 Последний раз редактировалось M.A.D.M.A.N., 26.04.2013 в 11:45. |
|
#28
|
|||
|
|||
|
Цитата:
![]() |
|
#29
|
||||
|
||||
|
|
|
#30
|
||||
|
||||
|
Потому, что в 7зип используется LZMA. LZMA - это разновидность LZ алгоритма (т.е. алгоритм LZ лежит в основе).
Последний раз редактировалось M.A.D.M.A.N., 26.04.2013 в 15:27. |