Страницы

суббота, 23 ноября 2013 г.

Добавление ресурсов в программу

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

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

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

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

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

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

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

Диалог Resources в Delphi XE5

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

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

 

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