Вверх ↑
Этот топик читают: Гость
Ответов: 655
Рейтинг: 18
#1: 2016-01-30 21:53:30 ЛС | профиль | цитата
Собственно своих мозгов не хватает, готов оплатить чужие труды.
Есть пример NetSpirit http://forum.hiasm.net//getfile/34429, inline распаковывает данные в gzip с web сервера.
Мне же требуется обратная процедура, т.е. сжатие данных.
карма: 0

0
Ответов: 655
Рейтинг: 18
#2: 2016-02-01 10:39:32 ЛС | профиль | цитата
NetSpirit отзовись )))
карма: 0

0
Ответов: 4628
Рейтинг: 749
#3: 2016-02-01 11:56:42 ЛС | профиль | цитата
Я здесь
карма: 26

0
Ответов: 655
Рейтинг: 18
#4: 2016-02-01 14:35:50 ЛС | профиль | цитата
Тему создал в подобающем разделе) ты как автор примера, помоги, размер помощи обсуждаем!)
карма: 0

0
Ответов: 4628
Рейтинг: 749
#5: 2016-02-01 14:39:18 ЛС | профиль | цитата
Пробую.
карма: 26

0
Ответов: 4628
Рейтинг: 749
#6: 2016-02-02 17:34:24 ЛС | профиль | цитата
В наличии такой компонент:

[Type]
Class=Element
Info=Сжатие и распаковка данных методом GZip
Tab=Files


[Property]
@Level=Степень компрессии для методов сжатия данных. От 0 до 9. 0 - без сжатия|1|8|0,9
SrcFileName=Имя исходного файла для методов doCompressFile, doDecompressFile|2|
DstFileName=Имя результирующего файла для методов doCompressFile, doDecompressFile|2|
InBuffer=Размер входящего буфера в памяти при сжатии/распаковке потоков и файлов|1|524288
OutBuffer=Размер исходящего буфера в памяти при сжатии/распаковке потоков и файлов|1|524288
InclHeader=Добавить заголовок GZip (10 байт) перед конечными данными при упаковке и проверить его наличие в исходных данных при распаковке. Для совместимости со сторонними программами должно быть включено.|4|1|False,True
InclTrailer=Добавить контрольную сумму и размер (8 байт) после конечных данных при упаковке. Для совместимости со сторонними программами должно быть включено.|4|1|False,True

[Methods]
doCompress=Сжимает строку Data|1|2
doDecompress=Распаковывает строку Data|1|2
doCompressFile=Упаковать файл с именем SrcFileName и сохранить результат под именем DstFileName. Событие onResult выдаёт размер конечного файла|1|2
doDecompressFile=Распаковать файл с именем SrcFileName и сохранить результат под именем DstFileName. Событие onResult выдаёт размер конечного файла|1|2
*doAbort=Прервать текущую операцию с файлом или потоком|1|0
*doCompressStream=Упаковать Count байт из текущей позиции потока SrcStream и записать результат в текущую позицию потока DstStream. Событие onResult выдаёт количество данных, записанных в DstStream.|1|10
*doDecompressStream=Распаковать Count байт из текущей позиции потока SrcStream и записать результат в текущую позицию потока DstStream. Событие onResult выдаёт количество данных, записанных в DstStream.|1|10

onResult=Событие происходит всякий раз после окончания сжатия/распаковки. Для строки выдает в поток результат. Для файлов и потоков - выдаёт количество записанных данных|2|2
onError=Событие происходит при ошибках и выдает в поток код ошибки|2|1

Data=Строка для сжатия/распаковки|4|2
SrcFileName=Имя исходного файла для методов doCompressFile, doDecompressFile|4|2
DstFileName=Имя результирующего файла для методов doCompressFile, doDecompressFile|4|2
*SrcStream=Исходный поток для методов doCompressStream, doDecompressStream|4|10
*DstStream=Результирующий поток для методов doCompressStream, doDecompressStream. Не может быть тем же, что и SrcStream|4|10
*Count=Количество байт, которые будут сжаты/распакованы методами doCompressStream, doDecompressStream|4|1

Цена будет зависеть от того, желаешь компонент в личное использование или выкладывать публично.
Функционал подходит?

Ещё немного доработаю в плане большей всеядности файлов (обрабатываются не все варианты заголовка архива).
карма: 26

0
Гость
Ответов: 17029
Рейтинг: 0
#7: 2016-02-02 18:04:06 правка | ЛС | профиль | цитата


Редактировалось 6 раз(а), последний 2021-06-21 07:46:37
карма: 0

0
Ответов: 655
Рейтинг: 18
#8: 2016-02-02 18:05:43 ЛС | профиль | цитата
Выше я.
п.п.с если не сложно сделать небольшой тест сожми <p>твой_текст</p> в gzip, хочу попробовать подсунуть браузеру в HTTP данные сжатые gzip, это в принципе у меня основная задача по данному компоненту)
карма: 0

0
Ответов: 4628
Рейтинг: 749
#9: 2016-02-02 18:15:36 ЛС | профиль | цитата
gzip text demo.7z
карма: 26

0
Ответов: 655
Рейтинг: 18
#10: 2016-02-02 23:26:22 ЛС | профиль | цитата
Ррработает! п.с. уровень сжатия какой стоит?
------------ Дoбавленo в 22.49:
Я тебе как-то личную в почту по TCP серверу писал, так что озвучивай)
------------ Дoбавленo в 22.50:
простенький html 276 байт в 63 жмет уррраааа
карма: 0

0
Ответов: 4628
Рейтинг: 749
#11: 2016-02-03 11:52:03 ЛС | профиль | цитата
Gunnman писал(а):
уровень сжатия какой стоит?
8 (по умолчанию). Максимальный - 9.
Gunnman писал(а):
простенький html 276 байт в 63 жмет
К собственно сжатым данным добавляет при включенном заголовке 10 байт в начале и при включенном хвосте 8 байт в конце. Данные 0-вой длины будут иметь размер 2 байта, данные без сжатия или плохо сжимающиеся - несколько больше самих данных.
Gunnman писал(а):
Я тебе как-то личную в почту по TCP серверу писал, так что озвучивай)
Я там же и ответил. До создания TCP_ServerEx время пока не дошло. Или что озвучить?

Итак. Цена компонента 5 USD или 390 рублей.
Рублевый кошелек можно пополнить через платежные терминалы.

Сообщи, когда оплатишь.
карма: 26

0
Ответов: 233
Рейтинг: 12
#12: 2016-02-03 14:37:47 ЛС | профиль | цитата
Netspirit писал(а):


Привет! А для этого компонента нужно менять KolZLib.pas или уже нет?
карма: 2

0
Ответов: 4628
Рейтинг: 749
#13: 2016-02-03 15:40:32 ЛС | профиль | цитата
Нужно. Плюс ещё один файлик добавить.
карма: 26

0
Гость
Ответов: 17029
Рейтинг: 0
#14: 2016-02-03 17:14:22 правка | ЛС | профиль | цитата


Редактировалось 6 раз(а), последний 2021-06-21 07:46:37
карма: 0

0
Гость
Ответов: 17029
Рейтинг: 0
#15: 2016-02-05 13:11:33 правка | ЛС | профиль | цитата


Редактировалось 6 раз(а), последний 2021-06-21 07:43:32
карма: 0

0
Сообщение
...
Прикрепленные файлы
(файлы не залиты)