Размещение двоичных данных (обработок, документов, библиотек) в файле ERT
Обработка для конвертации любого файла в псевдо-BMP-файл. Сконвертированные таким образом файлы можно размещать внутри любой внешней обработки/отчета (контейнера) и извлекать по мере необходимости. Таким образом можно внутри одного файла — внешней обработки, размещать различные двоичные данные. Например: многочисленные служебные ert-файлы, документы Word и Excel, архивы, библиотеки и так далее.
- Описание
- Подробнее
Описание
2. В рабочем отчете/обработке (куда хотите зашить сконвертированные файлы) в любую из печатных таблиц вставьте картинки из полученных вами файлов. В свойствах этих картинок (в поле «текст») укажите уникальные идентификаторы этих картинок-файлов, по которым потом будете к ним обращаться. Эти идентификаторы не должны встречаться больше нигде в пределах файла (ну например «fileimage1», «fileimage2»). Можно практически скрыть эти картинки с глаз пользователя, если картинки размещать строго по размеру ячеек, а те колонки и строки где картинки расположены, уменьшить по размеру до минимума.
3. В коде рабочей обработки создаете процедуру «РаспаковатьBin» и переменную «СписокРаспакованныхФайлов». Исходный код процедуры можно взять в обработке-примере.
4. Ну и затем, в необходимых местах обработки, когда требуется получить запакованный файл, вызываете процедуру распаковки. Например:
// первый параметр — имя распаковываемого файла
// второй параметр — уникальный идентификатор файла (который вы указывали в свойствах картинки)
// третий параметр — размер исходного файла (который выводился в списке файлов обработки-конвертора)
РаспаковатьBin(«ObAvtore.ert»,»ObAvtore»,14848);
ОткрытьФормуМодально(«Отчет»,,КаталогВременныхФайлов()+»ObAvtore.ert»);
ЗАКЛЮЧЕНИЕ.
Таким образом можно внутри одного файла — внешней обработки, размещать различные двоичные данные. Например: многочисленные служебные ert-файлы, документы Word и Excel, архивы, библиотеки и так далее. Распаковка файлов занимает некоторое время (от долей секунды до нескольких секунд — в зависимости от размера распаковываемого файла и размера файла-контейнера), поэтому нужно использовать эти возможности разумно. Например, можно внутрь главной обработки запихать 5 вспомогательных обработок по 50 килобайт, или одну библиотеку килобайт на 500, но явно не стоит запихивать 10 вордовских файлов по 600 килобайт каждый. В этом случае лучше их предварительно запаковать, уменьшив тем самым раз в 10, и зашить в контейнер архив + маленький разархиватор (unzip, unrar). Можно создавать обработки с несколькими уровнями вложенности (как например здесь: //sale.itcity.ru/profile/1782/projects/2682/ ). На текущий момент большинство моих обработок, выложенных на Инфостарте, используют эту технологию.
