ПО Rastrwin: комплекс OpenSaveD для работы с комплектами рабочих файлов

Сегодня хочу предложить, на мой взгляд, очень полезную вещь: пакетное сохранение файлов (комплект). В свое время эта идея была предложена на форуме растра. В итоге (с версии 1.6 Rastr3) пользователи получили возможность создавать и редактировать пакеты файлов, которые представляют из себя набор рабочих файлов:

Работа с пакетами

Все было бы ничего, если бы по умолчанию эти пакеты были бы архивами. Но после сохранения с расширением rsln пакет представляет из себя xml файл с указанием на файлы.

rsln файл

Хотя, отмечу, что из-под редактора можно сохранить пакет в архив, только вот обратного импорта из архива не предусмотрено.

Комплекс OpenSaveD, как раз, и должен решить следующие маленькие проблемы:

  • автоматическое открытие/сохранение в пакет файлов и их шаблонов
  • автоматическое определение шаблона по типу файла
  • создание истории работы с файлами (*)

Тут стоит упомянуть про одно допущение (*). В Rastr есть механизм получения текущих рабочих файлов, но в Rastr3 не работает. Поэтому пока в программе не устранят эту ошибку, то работа с комплексом будет во многом сводится именно к истории последних файлов. Для версий Rasrt2 надо доработать комплекс с учетом работы механизма получения текущих файлов.

Итак, комплекс состоит из 5 файлов:

  1. Открыть по шаблону.rbs
  2. Сохранить по шаблону.rbs
  3. Сохранить пакет файлов.rbs
  4. Очистить историю последних файлов.rbs
  5. Экспорт файлов из пакета.rbs

комплекс OpenSaveD

Очищаем рабочую область в растре (Файлы — Новый — Очистить Все) для чистоты эксперимента

Команда очистить Все

Используем макрос Открыть по шаблону.rbs

Макрос Открыть по шаблону.rbs

В диалоге Открыть можно выделять сразу несколько файлов, что удобно для загрузки нескольких файлов сразу. По умолчанию, в диалоге можно увидеть все форматы, которые поддерживаются в Rastr3.

После нажатия кнопки Открыть видим подключение файлов в программе

Загрузка выбранных файлов

После открытия будет создан файл по адресу Мои документы — Rastrwin3 — opensaveopt.ini, который и отвечает за историю открытых файлов, представляет из себя текстовый файл с указанием текущего файла и текущего шаблона

Файл opensaveopt.ini

Изменим данные в таблице Узлы (добавим 4 строку) в файле

Добавление данных в Узлы

и сохраним файлы через макрос Сохранить по шаблону.rbs

Макрос Сохранить по шаблону.rbs

После очистки рабочей области удостоверимся в сохранении файлов, загрузим файлы заново

Проверка на сохранение файлов

Теперь попробуем сохранить текущие файлы в пакет, воспользуемся макросом Сохранить пакет файлов.rbs

Протокол после сохранения пакета

При этом в историю последних файлов (opensaveopt.ini) записался пакет вместо группы файлов

Файл opensaveopt.ini после сохранения пакета

На диске файл представляет собой обычный zip архив c сохраненными файлами и шаблонами

Состав файла Тестовый пакет.fll

Очистим рабочую область и попробуем открыть пакетный файл с помощью макроса Открыть по шаблону.rbs

Загрузка тестового пакета

Проверим результат

Проверка тестового пакета

Введем изменения в таблицу Узлы (6 строка)

Ввод информации в таблицу Узлы

и сохраним с помощью макроса Сохранить по шаблону.rbs

Протокол после сохранения пакета

Опять тестируем пакет: очищаем рабочую область, и загружаем пакет с помощью макроса Открыть по шаблону.rbs

Загрузка тестового пакета

Вроде, все пока работает. Теперь создадим файл контрольных величин (Файлы — Новый — контр-е величины.kpr), внесем информацию по КВ и сохраним через меню обычного сохранения как test1.kpr. Чтобы комплекс OpenSaveD знал о файле, он должен попасть в историю открытых файлов (opensaveopt.ini), поэтому воспользуемся макросом Открыть по шаблону.rbs

В результате файл opensaveopt.ini будет такой

Состав файла opensaveopt.ini

Сохраняем новый пакет с помощью макроса Сохранить пакет файлов.rbs

Сохранение тестового пакета 2

И смотрим на диске сохраненный пакет

Состав тестового пакета 2

И напоследок:

  • макрос Очистить историю последних файлов.rbs удаляет файл истории последних файлов (opensaveopt.ini), нужен для работы с новым набором файлов;
  • макрос Экспорт файлов из пакета.rbs используется для выгрузки файлов из пакета и работы с ними напрямую.

Стоит упомянуть про наличие настроек в самих макросах:

Настройки макросов

Комплекс OpenSaveD одним файлом

OpenSaveD.zip

Установка: кидаем папку из архива в Мои документы — Rastrwin3 — macro, выносим на панель инструментов по необходимости, доступны как обычные макросы в меню Расчеты — Выполнить — OpenSaveD

В общем, успехов в работе.. в новом-то году подмигнуть

UPD1: На некоторых машинах код может не заработать со следующей ошибкой «Класс не лицензирован для использования». Для того, чтобы все заработало, нужно установить бесплатный VB5 CCE (Microsoft Visual Basic 5 Control Creation Edition) VB5_CCE_install.zip
Оцените статью
В коробке инженера
Добавить комментарий

Нажимая на кнопку "Добавить комментарий", я даю согласие на обработку персональных данных и принимаю политику конфиденциальности

Введите буквы на русском языке : *

Reload Image