Перейти к основному содержимому

Ресурс

Ресурс — это произвольный файл, который требуется для работы приложения. В каждой подсистеме и в каждом пакете может быть собственный набор ресурсов.

Ресурсы подсистемы

Описание в проекте

Ресурсы — это все файлы подсистем, находящиеся в специальном каталоге Ресурсы. Пример структуры проекта:

Каталог «Ресурсы»

Использование в проекте

Ссылку на ресурс можно использовать в компонентах интерфейса для задания значения свойства типа ДвоичныйОбъект.Ссылка. Например:

-
Тип: Кнопка
Заголовок: ИзменитьСообщение
Изображение: Картинки/Редактировать.png
-
Тип: Кнопка
Заголовок: УдалитьСообщение
Изображение: Сообщения::Удалить.png

Ссылка на ресурс имеет следующий формат:

имя_подсистемы::путь/в/фс

Разделитель каталогов — «/». Например, ссылка:

Главная::Каталог1/test.xml

указывает на ресурс, находящийся в проекте по пути:

Главная/Ресурсы/Каталог1/test.xml

При этом имя подсистемы указывать в ссылке необязательно — при неоднозначности будет ошибка валидации.

Тип (mime-type) содержимого, который будет отдавать хранилище двоичных данных, определяется автоматически, исходя из расширения файла. Если автоматически определить его не удалось, то присваивается тип application/octet-stream.

Использование во встроенном языке

К ресурсу можно обращаться:

  • в форме литерала (пространство имен можно не указывать, если есть импорт). Например:

    исп РесурсПоток = Ресурс{Главная::picture.png}.ОткрытьПотокЧтения()
    пер РесурсСтрока = Ресурс{Главная::template_1.txt}.ОткрытьПотокЧтения().ПрочитатьКакСтроку()
  • в форме строки. Для этого используется тип ПакетРесурсов, который предоставляет доступ как к ресурсу, так и к нескольким или сразу всем ресурсам в рамках пространства имен. Например:

    метод ПолучитьРесурс(ИмяРесурса: Строка): ДвоичныйОбъект.Ссылка?
    возврат ПакетРесурсов.Текущий().Получить("Главная/Ресурсы/%ИмяРесурса.png").Ссылка
    ;