ВК для упаковки строк в памяти

07.01.11

Разработка - Разработка внешних компонент

ВК для упаковки строк в памяти

Скачать исходный код

Наименование Файл Версия Размер
zipstring
.zip 72,12Kb
36
.zip 72,12Kb 36 Скачать

Компонента предназначена для упаковки строк в памяти, чтобы в дальнейшем хранить запакованные строки в БД 1С. Написана на Delphi.

Работа с компонентой.

У ВК есть 1 свойство и 2 метода.

Свойства:

УровеньСжатия (CompressionLevel)

может принимать следующие значения:

"None", "Fastest", "Default", "Max", если не указано, то будет использована степень сжатия Max.

Методы:

Упаковать (Zip)

Распаковать (Unzip)

перед вызовом метода Zip следует установить уровень сжатия.

Пример:

ИсходнаяСтрока = "здесь строка для упаковки";
Упаковщик = СоздатьОбъект("Addin.zipstring");
Упаковщик.УровеньСжатия = "Fastest";
СжатаяСтрока = Упаковщик.zip(ИсходнаяСтрока);
РаспакованнаяСтрока = Упаковщик.unzip(СжатаяСтрока);
 

См. также

HTTP сервер, HTTP асинхронный клиент, клиент ГИС МТ "Честный знак": внешние компоненты для 1С 7.7

Разработка внешних компонент WEB-интеграция Платформа 1С v7.7 Конфигурации 1cv7 Платные (руб)

Компонента HttpSrv7 позволяет создавать веб-сервисы в среде 1С 7.7 и даже, используя файлы HTML, несложные веб-сайты. С помощью нее можно обеспечить доступ к данным 1С 7.7 из браузера. Дополнительно используя компоненту HTTP_Async или синхронный клиент HTTP для 1С 7.7 (публикация № 1152364) можно наладить обмен данными между удаленными информационными базами. С помощью компоненты HTTP_Async можно сначала послать несколько запросов к сайтам, веб-сервисам (в т.ч. к HttpSrv7), а затем обрабатывать данные по мере их поступления. Компонента GISMT в дополнение к HTTP_Async имеет функцию цифровой подписи и, таким образом, имеет все возможности для работы с API ГИС МТ "Честный знак" непосредственно из среды 1С 7.7.

2000 руб.

27.05.2022    7895    19    13    

31

Компонента ExchangeStruc (Структура Обмена). Прямой обмен данными между потоками, сессиями и окнами.

Разработка внешних компонент Платформа 1С v7.7 Платформа 1С v8.3 Платформа 1C v8.2 Платформа 1С v8.1 Россия Платные (руб)

Аддон "Структура Обмена" (ExchangeStruc) - это компонента, которая обеспечивает доступ к разделяемым процессом структурам, аналогичным структурам 1С. Обеспечивает прозрачную передачу данных примитивных типов, в том числе Двоичных данных, в режиме Реального времени между разными контекстами (формами) или потоками одного процесса. В перспективе функционал будет расширен для обмена между процессами, даже разных версий платформ. Совместим с версиями Windows рабочих станций и серверов, с платформами 1С разных версий и релизов в режиме Native начиная с 8.2, и в режиме COM начиная с версий 7.7. По скорости чтения и записи лишь немногим уступает стандартной структуре 1С. НОВОЕ: Добавлен функционал регистрации компоненты COM в качестве OLE Auto (COMОбъект) для поддержки её работы в серверах старых версий 1С: 8.0 и 8.1, где работа с компонентами исключена. Теперь можно коммуникацию с Фоновыми заданиями на этих версиях проводить.

7200 руб.

19.04.2023    4820    1    0    

3

Выбор из большого списка (для 1С 7.7)

Разработка внешних компонент Платформа 1С v7.7 Платные (руб)

Компонента для выбора значения из больших списков значений.

1200 руб.

02.12.2021    5811    2    19    

4

Форма для ввода количества товаров

Разработка внешних компонент Оптовая торговля Платформа 1С v7.7 Конфигурации 1cv7 Управленческий учет Платные (руб)

Расширяем уровень взаимодействия c пользователем с помощью новых возможностей - форма для ввода количества для перемещений и форма ввода количества с упаковками и штуками.

1200 руб.

08.09.2021    7413    0    2    

1

Внешняя компонента для преобразования файлов из/в кодировку Base64 в 1С 7.7

Разработка внешних компонент Файловый обмен (TXT, XML, DBF), FTP Платформа 1С v7.7 Конфигурации 1cv7 Абонемент ($m)

Эта внешняя компонента Base64.dll предназначена для платформы 1С версии 7.7. Используется для преобразования файлов из/в кодировку Base64 из встроенного языка 1С Предприятие. Компонента тестировалась на базе конфигурации Бухгалтерский учет для Казахстана, редакции 7.70.257.

10 стартмани

06.04.2021    9488    14    softmaker    12    

5

Криптография: внешняя компонента для 1С 7.7

Разработка внешних компонент Защита ПО и шифрование Платформа 1С v7.7 Абонемент ($m)

Цифровые подписи, шифрование, просмотр сертификатов ключей ЭЦП, работа с различными криптопровайдерами (в т.ч. КриптоПРО ГОСТ 2012) в 1С 7.7.

1 стартмани

08.06.2020    9088    28    mdbruyfn    10    

9

Протокол UDP: внешняя компонента для 1С 7.7

Разработка внешних компонент Платформа 1С v7.7 Абонемент ($m)

Обмен сообщениями и небольшими файлами по протоколу UDP с 1С и внешними приложениями в локальной сети или сети VPN.

1 стартмани

23.05.2020    7335    5    mdbruyfn    0    

6
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. iov 406 07.01.11 23:05 Сейчас в теме
Все прекрасно только вот:
1) каков процент сжатия
2) Сколько используется на рабочих конфах?
ну и дабы понять область применения - в каких целях использовалась?
+
3. nicxxx 254 08.01.11 10:25 Сейчас в теме
(1) процент сжатия не измерял, используется zlib, можно почитать его описание.
использую не так давно на одной конфе, ТиС 9.2 для хранения версий документов. реквизиты документа выгружаются в ТЗ, потом делаю ЗначениеВСтрокуВнутр() и результат сжимаю и записываю эту сжатую строку в справочник версий объектов
(2) ну покажи, как в 7.7 вызвать ZLibEx.ZCompressStr без внешней компоненты?
+
4. cool.vlad4 2 08.01.11 11:26 Сейчас в теме
(3) :D просто нужны веские причины, чтобы сделать ВК только для zlibEx.zCompressStr. Вот потому (1) и спрашивал.
ЗЫ Алгоритм забавный - А производительность версионирования какова?
+
6. nicxxx 254 08.01.11 11:46 Сейчас в теме
(4) производительность нормальная, документы исправляются каждый день, но небольшое количество, поэтому пара лишних секунд при проведении совсем не заметна.
(5) про экзешник не подумал, сделал компоненту, че тут криминального? перед тем как сделать, искал долго, подобный функционал есть только в binfiles.dll, но мне не совсем подходит. в нормальных сетках можно vkloader использовать и даже админы ниче не заметят.
PS.а можно я всякий раз, когда мне понадобится расширить функционал платформы 7.7, буду просить тебя добавить нужную мне фичу в твою miracle.dll? :)))
и я вобще не понял, че за синдром бога, Абадонна? если что-то сделано не по-твоему, то все, автор - враг народа?
+
7. Abadonna 3958 08.01.11 11:49 Сейчас в теме
(6)
про экзешник не подумал, сделал компоненту, че тут криминального?

Криминального - НИЧЕГО, наоборот я всячески поддерживаю людей, которые программят не только на "языке домохозяек" 1С :)))
Просто уж добей в ВК еще че-нить, тогда ее и зарегить не жалко будет ;)
P.S. У меня синдром демона, а не Бога :))))
P.P.S.
нормальных сетках можно vkloader

В нормальных сетках можно и Miracle использовать, там есть метод RunAs
+
8. nicxxx 254 08.01.11 11:56 Сейчас в теме
(7) да че туда еще добивать... все уже сделали до меня:) сделай в miracle упаковку строк, буду твою ВК использовать, а в этой публикации большими буквами ссылку на miracle напишу :)
+
12. Abadonna 3958 08.01.11 18:56 Сейчас в теме
(8)
сделай в miracle упаковку строк

Плиз:
Процедура Сформировать()
	Стр1="- Господин Вопягин!  Вы обвиняетесь  в том, что семнадцатого  июня сего
	|года,  спрятавшись  в  кустах,  подсматривали  за  купающимися  женщинами...
	|Признаете себя виновным?
	|     Господин Вопягин усмехнулся чуть заметно в  свои великолепные, пушистые
	|усы и, сделав откровенное, простодушное лицо, сказал со вздохом:
	|     -  Что  ж  делать...  признаю! Но только  у меня  есть  смягчающие вину
	|обстоятельства...
	|     - Ага... Так-с. Расскажите, как было дело?"
	;
	Стр2=L.ZCompressString(Стр1);
	Стр3=L.ZDecompressString(Стр2);
	Сообщить(Стр1); 
	Сообщить(Стр2);
	Сообщить(Стр3);
КонецПроцедуры
Показать

... сейчас переопубликую
P.S. © Аркадий Аверченко
Прикрепленные файлы:
+
5. Abadonna 3958 08.01.11 11:31 Сейчас в теме
(3)
ну покажи, как в 7.7 вызвать ZLibEx.ZCompressStr без внешней компоненты?

Начнем по порядку:
1. ZLibEx.ZCompressStr можно спокойно вызывать как экзюк с параметрами. Так и работает undeflat
Написать такое на Дельфи - как два байта отослать
2. Ты видимо не в курсе, что в сетках с НОРМАЛЬНЫМ администрированием, никакая ЗагрузитьВнешнююКомпоненту не пройдет, если 1С не запущена под правами локалього админа (а таковых прав у юзверьков в НОРМАЛЬНЫХ сетках НЕТ). И совершать танцы с бубном на так примерно 50 компах ради двух жалких методов сжатия - лично не для меня
3. А ВК надо писать примерно вот такие, чтобы уж не было жаль лишний раз зарегить ;) http://infostart.ru/public/59436/
P.S. Вставить туда упаковку не посчитал нужным, но это дело 3 минут с перекуром
+
2. Abadonna 3958 08.01.11 07:46 Сейчас в теме
писать отдельную ВК ради только
ZLibEx.ZCompressStr
ZLibEx.ZDecompress? хм...
+
9. Abadonna 3958 08.01.11 12:26 Сейчас в теме
А плюсик поставлю. За то, что ВК ;)
cool.clo; +1
10. nicxxx 254 08.01.11 12:29 Сейчас в теме
11. cool.clo 08.01.11 12:45 Сейчас в теме
אין השד נורא כל כך :D .....как его малюют +
+
13. CheBurator 3119 09.01.11 00:59 Сейчас в теме
Ну тогда, если по уму - надо и упаковку внешних файлов делать...
Стр2=L.ZCompressString(ИмяВнешнегоФайла);
.
но в двух вариантах (типа с флагом)
а) возвращается строка
б) возвращается ТЗ, со строками фиксированной длины
.
в принципе б) - есть подмножество а) (можно самому нарезать), не помню навскидку какой длины может быть строка в 7.7...?
.
и как вариант: ну и компрессить хорошо бы с использование только читабельных кодов, как это делаее UUENCODE, UUDECODE
.
+
14. Abadonna 3958 09.01.11 06:52 Сейчас в теме
(13) Насчет файлов думал... Опять же: смотря какой длины. Если его сразу в буфер загнать в память - одно дело, поблочно - другое.
читабельных кодов, как это делаее UUENCODE, UUDECODE

А на фига тебе ее читать? ;) Можно, конечно, дополнительно строку обработать, сейчас просто практически стандартный zip
(можно самому нарезать)

Во-во! :D
+
15. Abadonna 3958 09.01.11 13:56 Сейчас в теме
16. cabat 01.06.11 14:09 Сейчас в теме
Супер! Очень полезная компонента, главное - маленькая.
Вот только не проверил пока - требует регистрации в реестре?
+
17. hvv2002 12 05.11.13 13:28 Сейчас в теме
Попробовал, работает, но по моей проблемке не помогло :(. (упаковывал значениевстрокувнутр(), в моем случае огромный объект был и время терялось именно на это преобразование ). к данной компоненте нареканий нет, и думаю в ней ничего добавлять не надо, работу свою делает на 5.
Прикрепленные файлы:
info.html
+
Оставьте свое сообщение