Обновлено 2014.02.21 22:34
Подборка ссылок на лучшие публикации по Delphi за 2013 год.
Аналогичные подборки за предыдущие годы:
Читать дальше..
Блог Delphi-программиста. Обзоры инструментов и экспертов для Delphi. Описание JCL, JVCL, cnWizards. Дженерики в Delphi. Дневник разработки Lazy Delphi Builder. Переводы.
В тихом саду здравомыслияЧогьям Трунгпа РИНПОЧЕ
Пусть на вас постоянно падают
кокосовые орехи пробужденности.
Обновлено 2014.02.21 22:34
Подборка ссылок на лучшие публикации по Delphi за 2013 год.
Аналогичные подборки за предыдущие годы:
Отправил свою программу на конкурс. Саму программу показывать пока не хочу. А хочу поделиться своими впечатлениями от использования Delphi XE5 и Firemonkey.
Deployment manager и папки. С этим тоже пришлось повозиться прежде чем удалось понять какие надо указывать пути в Deployment manager и как потом найти эти файлы в программе. Пришлось провести небольшое исследование. О нём напишу позже, в отдельном посте. Вот только так и не понял, как же из приложения определить путь до корня SdCard. Также не понравился UI в Deployment manager-e. Редактирование пары десятков файлов сделано не очень удобно, хотя к слову сказать просто добавить пачку файлов довольно легко.
Сразу уточню, что я хотел недокументированного. Искал легкий способ добавления/редактирования файлов в Deployment manager из консоли. Не получилось, так файлы добавленные через Deployment manager поначалу сохраняются в .dproj файле, хотя в папке проекта и присутствует отдельный файл .deployproj. И я так и не понял в какой момент файлы переносятся из .dproj в .deployproj файл. Вот кстати наткнулся на пост о похожем исследовании от Павла Алхимова “DeployFolder - Развёртывание мобильного подкаталога”.
Надоело мне, что Delphi предлагает каждый новый проект сохранить в папке My documents. И задался я вопросом, а как бы эту папку изменить. Оказалось – очень просто. Настолько просто, что даже и рассказывать тут не о чем. Но я всё-таки расскажу так как я (почему-то) долгое время считал, что такой опции просто нет.
Главное меню –> Tools –> Options –> Environment Options –> Default Project
Или, с помощью IDE insight: Ctrl+. ввести default project + Enter
В Delphi XE-XE5 эти настройки хранятся в реестре:
HKEY_CURRENT_USER\Software\Embarcadero\BDS\12.0\Globals\DefaultProjectsDirectory
Тип данных: REG_SZ
Продолжаем писать программку для детей под Android (требования мы сформулировали в первом посте).
Начнём с того, что сделаем совсем простой проект – программку, которая умеет листать картинки при нажатии на кнопку. Картинки запакуем в ресурсы программы.
Создаём новый проект: Firemonkey Mobile application –> Blank application
Отключим ненужные permissions. Так как по умолчанию включено слишком много всего.
Project –> Options –> Uses permissions. (Или через Help Insight: Ctrl+. –> ввести Permission + Enter, но это как-то странно работает). Сверху выберем All configurations Android Platform, так как список Permissions доступен только для Android платформы.
В этой публикации я побуду Капитаном Очевидность и расскажу о паре способах добавления ресурсов в программу.
Определение: Ресурсы — данные, встроенные в EXE, DLL, CPL и (начиная с Windows Vista) MUI-файлы. Доступ к этим данным можно получить через функции Windows API. (из Википедии).
В Delphi XE5 аналогичный механизм используется и для хранения ресурсов в Android приложениях. Насчёт iOS приложений я не проверял, но полагаю, что должно работать и там.
Вообще, ресурсы в Delphi – это фундамент, на котором строится вся программа. Именно в ресурсы пакуются все ваши DFM файлы (видели же строку “{$R *.DFM}” в .pas файлах форм? это оно самое), иконки, курсоры, и строки (resourcestring). Именно благодаря ресурсам работает локализация программ с помощью Translation Manager. Всё это происходит автоматически.
Также, именно ресурсы рекомендуется использовать для встраивания в программу дополнительных файлов - картинок, аудиофайлов, текстов.
Для чтения ресурсов можно использовать класс TResourceStream. А о том, как добавить ресурсы в программу, мы и поговорим.
Начиная с Delphi 2009 в IDE появился диалог, позволяющий добавить ресурсы в проект.
Этот диалог даёт возможность включить в проект сразу несколько файлов (проверял в XE5).
При сборке проекта, эти файлы компилируются в .res файл. А при линковке (компоновке), встраиваются в программу.
Но как же программисты жили раньше? Как добавляли в программы картинки, звуки и большие текстовые файлы?