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