ВК для работы с файлами 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

Скачать файл

ВНИМАНИЕ: Файлы из Базы знаний - это исходный код разработки. Это примеры решения задач, шаблоны, заготовки, "строительные материалы" для учетной системы. Файлы ориентированы на специалистов 1С, которые могут разобраться в коде и оптимизировать программу для запуска в базе данных. Гарантии работоспособности нет. Возврата нет. Технической поддержки нет.

Наименование Бесплатно
Архив
.zip 546,92Kb ver:1.0.0.3
101
101 Скачать бесплатно

Компонента выполнена по технологии 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

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

См. также

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

Позволяет автоматизировать работу с картинками. С помощью компоненты можно измерять размер изображений, поворачивать их, наносить водяные знаки, конвертировать из одного формата в другой. Будет очень полезна для интернет-магазинов и всех, кому постоянно требуется работать с различными графическими форматами. Выполнена по технологии NativeAPI. Работает с форматами: jpg (jpeg), png, bmp, gif, tif

3600 руб.

02.09.2010    77783    73    257    

191

Разработка внешних компонент Программист Платформа 1С v8.3 1C:Бухгалтерия 1С:Управление нашей фирмой 1.6 1С:Бухгалтерия 3.0 Платные (руб)

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

3000 руб.

12.05.2020    29077    139    100    

92

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

Внешняя компонента позволяет печатать PDF файлы непосредственно из 1С, не используя при этом сторонних программ. Прекрасно работает на сервере, тонком клиенте и веб-клиенте. Основана на проекте PDFium из состава проекта Chromium/Chrome

1500 руб.

17.09.2018    37130    115    128    

116

Разработка внешних компонент Программист Платформа 1С v8.3 1C:Бухгалтерия 1С:Управление торговлей 11 Платные (руб)

Внешняя компонента для конвертации PDF файлов в картинки без использования дополнительных программ. Работает на сервере и в тонком клиенте.

2400 руб.

25.06.2024    1315    3    4    

3

Разработка внешних компонент Системный администратор Программист Стажер Бесплатно (free)

Библиотека для работы с базами SQLite из 1С на основе внешней компоненты. Для Linux и Windows, бесплатно и с открытым исходным кодом!

14.01.2025    2634    bayselonarrend    14    

48

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

В статье описывается приложение-конструктор внешних компонент (native API). Конструктор упрощает процесс разработки за счет удобного добавления всех нужных функций и процедур в графическом режиме, с указанием их параметров и типов параметров. На выходе приложение генерирует готовый код на С++ и Rust и позволяет сразу приступить к реализации, без настройки API компоненты вручную.

04.12.2024    5395    kovalevdmv    26    

77

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

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

26.01.2024    7836    starik-2005    40    

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


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

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

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

(1) Не факт, кстати, что UUID от 1С это действительно настоящий GUID. Были, помнится, публикации на эту тему...
4. Abadonna 3970 19.06.14 23:41 Сейчас в теме
(3) Yashazz, ага, MD5 таки появилась в 8.3. Хрен за ними уследишь ;)))
6. BorovikSV 1037 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 1037 03.07.14 09:29 Сейчас в теме
(0) ты же дельфист. А для него есть вполне full source библиотека. Иначе просто так компоненту в базу не запихаешь. Придется еще с 7z таскаться.
8. Гость 15.09.14 08:33
В минувшие выходные (14.09.14), на 56-году ушел из жизни Кучер Аркадий (aka Abadonna).
RIP
Оставьте свое сообщение