Добавление Ресурсов В Программу

  • Автор темы Автор темы Lomanu4
  • Дата начала Дата начала

Lomanu4

Команда форума
Администратор
Ofline
В этой публикации я побуду Капитаном Очевидность и расскажу о паре способах добавления ресурсов в программу.

Определение: Ресурсы — данные, встроенные в EXE, DLL, CPL и (начиная с Windows Vista) MUI-файлы. Доступ к этим данным можно получить через функции Windows API. (из Википедии).

В Delphi XE5 аналогичный механизм используется и для хранения ресурсов в Android приложениях. Насчёт iOS приложений я не проверял, но полагаю, что должно работать и там.

Вообще, ресурсы в Delphi – это фундамент, на котором строится вся программа. Именно в ресурсы пакуются все ваши DFM файлы (видели же строку “{$R *.DFM}” в .pas файлах форм? это оно самое), иконки, курсоры, и строки (resourcestring). Именно благодаря ресурсам работает локализация программ с помощью Translation Manager. Всё это происходит автоматически.

Также, именно ресурсы рекомендуется использовать для встраивания в программу дополнительных файлов - картинок, аудиофайлов, текстов.

Для чтения ресурсов можно использовать класс TResourceStream. А о том, как добавить ресурсы в программу, мы и поговорим.

Начиная с Delphi 2009 в IDE появился диалог, позволяющий добавить ресурсы в проект.

image%25255B1%25255D.png


Этот диалог даёт возможность включить в проект сразу несколько файлов (проверял в XE5).

При сборке проекта, эти файлы компилируются в .res файл. А при линковке (компоновке), встраиваются в программу.



Но как же программисты жили раньше? Как добавляли в программы картинки, звуки и большие текстовые файлы?

звучать так:

  1. Создайте текстовый файл с расширением .RC
  2. Добавьте туда список ресурсов в формате: resource_name RCDATA “filename”
  3. Запустите компилятор ресурсов: brcc32 ваш_файл.rc
  4. Добавьте в программу строку: {$R ваш_файл.res}
  5. Пересоберите программу
  6. Если вам понадобится изменить ваш .rc файл, повторите шаги 2-5.
Но, чтобы не собирать этот файл вручную, можно добавить RC файл прямо в проект.

В очень старых версиях Delphi (6,7) файл с ресурсами (RC) было проще создать в блокноте, а потом добавить в проект (Add to project).

В современных версиях Delphi, отлично работает способ создания прямо из IDE:

File –> New –> Text file –> .rc Resource file

Сохраним созданный файл как animals.rc

В результате в наш .dpr файл сверху добавится строка

{$R 'animals.res' 'animals\animals.rc'}

И теперь, при каждой компиляции, пересобираться и файл animals.rc и в программе всегда будет актуальная версия.
 
Назад
Сверху Снизу