ВК для работы с файлами FilesNative.dll

18.06.14

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

Компонента реализует некоторые методы работы с файлами (архивами). Поддерживаемые форматы распаковки архивов: ZIP, JAR, XPI, BZ2, BZIP2, TBZ2,TBZ,RAR, R00, ARJ, Z, TAZ, LZH, LHA, 7Z, CAB, LZMA, LZMA86, ISO, XAR, MSI,RPM, TAR, GZ, TGZ, TPZ

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

Наименование Файл Версия Размер
Архив
.zip 546,92Kb
99
.zip 1.0.0.3 546,92Kb 99 Скачать бесплатно

Компонента выполнена по технологии Native, не требует регистрации в реестре и, соответственно, особых прав пользователя.
Компонента реализует некоторые методы работы с файлами (архивами).
Поддерживаемые форматы распаковки архивов:
ZIP, JAR, XPI, BZ2, BZIP2, TBZ2,TBZ,RAR, R00, ARJ, Z, TAZ, LZH, LHA,
7Z, CAB, LZMA, LZMA86, ISO, XAR, MSI,RPM, TAR, GZ, TGZ, TPZЗагрузка компоненты (пример загрузки в модуле обычного приложения)

Перем Файлы Экспорт;

Функция КаталогИБ() Экспорт
КаталогИБ = СтрокаСоединенияИнформационнойБазы();
КаталогИБ = Сред(КаталогИБ,7,СтрДлина(КаталогИБ)-8) + "\";
Возврат КаталогИБ;
КонецФункции

Процедура ПриНачалеРаботыСистемы()
ФайлВК=КаталогИБ()+"FilesNative.dll";
ПодключитьВнешнююКомпоненту(ФайлВК,"FilesNative",AddInType.Native);
Файлы = Новый("AddIn.FilesNative.Files"); // переменная класса
КонецПроцедуры

Методы компоненты (класса Files):

РаспаковатьАрхив(ПолноеИмяАрхивногоФайла,ПапкаКуда)

Распаковывает указанный архивный файл в указанную папку.
Распаковка ведется "до последнего", т.е. если внутри архивного файла
содержатся другие архивные файлы такого же или другого формата (а внутри их, возможно, и ещё),
в указанную папку распакуется всё.
ПапкаКуда - необязательный, по умолчанию = "c:\temp\"
Если указанная папка не существет, она будет создана.

Пример:

Архив="c:\СервисМ\TEST\TTT.RAR";
ПапкаКуда="c:\555\";
Файлы.РаспаковатьАрхив(Архив,ПапкаКуда);

УпаковатьПапку(ПолноеИмяПапки,ПолноеИмяФайлаРезультата,Тип);
Упаковывает указанную папку со всем содержимым в архивный файл формата 7Z или ZIP
Тип - строка вида ".7Z" или ".ZIP", необязательный, по умолчанию = ".7Z"
Пример:

Папка="c:\СервисМ\Taxi\";
Тип=".7Z";
ФайлРезультат="c:\Taxi"+Тип;
Файлы.УпаковатьПапку(Папка,ФайлРезультат,Тип);

УпаковатьФайл(ПолноеИмяФайла,ПолноеИмяФайлаРезультата,Тип)
Практически аналогичен предыдущему, но для отдельного файла.
Пример:

Тип=".7Z";
Файл="c:\СервисМ\1Cv8.1CD";
ФайлРезультат="c:\1Cv8_1CD"+Тип;
Файлы.УпаковатьФайл(Файл,ФайлРезультат,Тип)

ШифроватьФайл(ПолноеИмяИсходногоФайла,ПолноеИмяШифрованногоФайла,Пароль)
Шифрует указанный файл побайтно и создает результирущий зашифрованный файл.
Пароль - строка, необязательный, по умолчанию внутренний пароль компоненты.

Пример:

Пароль="{EC8F1BED-19BB-401B-B448-8EF2150C6FF4}";
ФайлИсх="c:\СервисМ\Поддерживаемые форматы.txt";
ФайлШифр="c:\СервисМ\Поддерживаемые форматы_шифр.txt";
Файлы.ШифроватьФайл(ФайлИсх,ФайлШифр,Пароль);

ДешифроватьФайл(ПолноеИмяИсходногоФайла,ПолноеИмяДешифрованногоФайла,Пароль)
Противоположен предыдущему.
Пример:

Пароль="{EC8F1BED-19BB-401B-B448-8EF2150C6FF4}";
ФайлШифр="c:\СервисМ\Поддерживаемые форматы_шифр.txt";
ФайлДеШифр="c:\СервисМ\Поддерживаемые форматы_дешифр.txt";
Файлы.ДешифроватьФайл(ФайлШифр,ФайлДеШифр,Пароль);

MD5(ПолноеИмяФайла)
Подсчитывает MD5-хеш содержимого указанного файла.
(удобно для отслеживания факта изменения)
Пример:

MD5=Файлы.MD5("c:\СервисМ\NativeFiles\FilesNative.dll");

ВерсияФайла(ПолноеИмяФайла)
Возвращает строку вида Версия;Производитель;ДатаВремяФайла,
например: 1.0.0.3;Сервис-М;18.06.2014 11:42:20
Пример:

Версия=Файлы.ВерсияФайла("c:\СервисМ\NativeFiles\FilesNative.dll");


Примечание: только для файлов exe и dll.

GUID() - без параметров, возвращает сгенерированную строку GUID,
например: {8435EA89-6585-4F86-8C12-6E9556638C97}
Удобно для генерации случайных строк.
Пример:

Сообщить(Файлы.GUID());

ВАЖНО:
для работы компоненты необходимо наличие в системе (или в каталоге компоненты)
файла 7z.dll (прилагается)

Содержимое архива: Описание.txt, 7z.dll и FilesNative.dll
(текущая версия 1.0.0.3)

© Кучер А.А. Красноярск, 2014

Компонента файлы архив упаковка

См. также

Внешняя компонента для сканирования (замена TWAIN-компоненты БСП) (Native Win 32/64)

Разработка внешних компонент Платформа 1С v8.3 Конфигурации 1cv8 Платные (руб)

Внешняя компонента позволяет работать c TWAIN-совместимым оборудованием (сканерами, камерами) . Полностью совместима со стандартной TWAIN-компонентой из БСП и может применяться как ее замена без изменения вызовов, при этом может работать с 64-разрядной платформой, а так же имеет расширенную функциональность, например, сохранение результата непосредственно в PDF без использования сторонних утилит. Прекрасно работает на сервере, тонком клиенте и веб-клиенте (проверена работа в браузерах Google Chrome, Mozilla Firefox и Microsoft Internet Explorer).

2400 руб.

12.05.2020    26415    132    99    

84

Мастер создания внешних компонент 1С (технология COM) для DELPHI 6/7/8/2005/2006/2007/2008/2010/XE/XE2/XE3

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

Средство для сверхбыстрой разработки внешних компонент 1С:Предприятия 7.7 и 8 по технологии COM на всех версиях DELPHI, начиная с 6.

2000 руб.

28.03.2013    54069    35    14    

68

QR-код с логотипом компании (обычная и управляемая форма)

Разработка внешних компонент Платформа 1С v8.3 Управляемые формы Конфигурации 1cv8 Платные (руб)

Как известно, стремление сделать свою рекламную продукцию запоминающейся и выделяющейся — верный путь к успеху. Сегодня, мы поговорим с вами о том, что можно сделать с обычным черно-белым QR-кодом, чтобы он стал более живым и привлекательным. Если вам не терпится попробовать сделать QR-код с логотипом компании, то эта обработка для вас!

2400 руб.

22.06.2016    30882    4    4    

8

Внешняя компонента 1С и С++. Продолжаем разговор.

Разработка внешних компонент Платформа 1С v8.3 Бесплатно (free)

А давайте запилим 8.3.26 до релиза, или оповещение с сервера...

19.02.2024    4177    starik-2005    28    

53

Внешние компоненты 1С и язык C++

Разработка внешних компонент Механизмы платформы 1С Платформа 1С v8.3 Бесплатно (free)

Некоторые практические аспекты создания внешних компонент на языке С++ для платформы 1С 8.3++.

26.01.2024    4939    starik-2005    32    

39

Внешняя компонента для работы с Apach Kafka

Инструментарий разработчика Разработка внешних компонент Платформа 1С v8.3 Конфигурации 1cv8 Бесплатно (free)

Пример взаимодействия 1С с Apach Kafka посредством внешней компоненты, разработанной на основе официальной библиотеки librdkafka (the Apache Kafka C/C++ client library).

22.11.2023    2995    62    ivan1703    26    

41

Внешняя компонента GraphQL клиент для 1С

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

Внешняя компонента, позволяющая посылать команды и получать ответы по GraphQL протоколу из 1С.Может быть использована при интеграции. В 1С работает на стороне "клиента".

4600 руб.

27.06.2023    2761    1    0    

2

Компонента 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    4821    1    0    

3
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. asved.ru 36 19.06.14 07:03 Сейчас в теме
GUID() - без параметров, возвращает сгенерированную строку GUID


Новый УникальныйИдентификатор()

да и вообще, многое из описанного легко и непринужденно делается стандартными средствами.
2. Abadonna 3959 19.06.14 07:17 Сейчас в теме
(1) asved.ru,
многое из описанного легко и непринужденно делается стандартными средствами.

Примерчик в студию, кроме Новый УникальныйИдентификатор()
Например, распаковка архивов, кроме формата ZIP? Или MD5? Или производитель и версия из Файл=Новый Файл(БлаБла)?
3. Yashazz 4723 19.06.14 17:02 Сейчас в теме
(2) Насчёт MD5 вроде в 8.3 есть, или скоро обещали.
В целом вещь полезная однозначно. Мне пока совершенно не нужно, тем не менее заранее спасибо и плюс.

(1) Не факт, кстати, что UUID от 1С это действительно настоящий GUID. Были, помнится, публикации на эту тему...
4. Abadonna 3959 19.06.14 23:41 Сейчас в теме
(3) Yashazz, ага, MD5 таки появилась в 8.3. Хрен за ними уследишь ;)))
6. BorovikSV 1036 03.07.14 09:26 Сейчас в теме
(4) MD5 вроде как уже давно в 8.3. С момента выхода ознакомительной :)
5. EmpireSer 01.07.14 13:37 Сейчас в теме
(3) Yashazz,
Новый УникальныйИдентификатор() возвращает такой же GUID, как и Windows.
А вот хранение в базе, т.е. идентификатор под "_Ref", формируется уже по другому. Именно он отображается, когда объект не находится.

(0)
А попробуй использовать 7z как кросс-платформенный (что бы не зависит от dll).
LZMA SDK и к примеру вот тут 7-Zip-JBinding 7z у них получился кросс-платформенным и много что поддерживает.
7. BorovikSV 1036 03.07.14 09:29 Сейчас в теме
(0) ты же дельфист. А для него есть вполне full source библиотека. Иначе просто так компоненту в базу не запихаешь. Придется еще с 7z таскаться.
8. Гость 15.09.14 08:33
В минувшие выходные (14.09.14), на 56-году ушел из жизни Кучер Аркадий (aka Abadonna).
RIP
Оставьте свое сообщение