Блог


Последние записи


Теги

Информация

TDelphi-блог

Фильтр по тегу: know how


Изменение курсора и автоматическое восстановление при выходе из метода

Не знаю как у вас, а у меня коде (vcl приложение) полным-полно таких конструкций: var tmpOldCursor: TCursor; begin tmpOldCursor := Screen.Cursor; try Screen.Cursor := crHourglass; // код который может работать относительно долго // например, выполнять запрос в БД finally Screen.Cursor := tmpOldCursor; end; end; И мне это надоело. По двум причинам: увеличение размера модулей - по 8 строк кода на каждый такой случай разбухание секции uses, ведь чтобы это работало нужно в каждый модуль работающий с курсором добавить uses Forms, Controls; Поэтому давайте уже воспользуемся механизмом подсчёта ссылок в интерфейсах, и реализуем маленький класс избавляющий нас написания лишнего кода. Так чтобы вышеприведённый пример можно было упростить до 1й...

[[ Полный текст записи доступен в TDelphi-блоге]] читать дальше...
добавлено: 21 сен 15 просмотры: 1466, комментарии: 0



Delphi for Android: играем звук при встряхивании

Обещанного 3 года ждут. А план таков, что программку для детей мы всё-равно еще не скоро допишем (сомневаюсь что есть смысл её дописывать). Поэтому давайте зафигачим что-нибудь простенькое и бесполезное. Например что-то типа эмулятора кнута Индианы Джонса. As seen on tv. Типа того, что показывали в Теории Большого Взрыва много лет сезонов назад. Только вместо кнута будем использовать колокольчик. А назовём проект LazyShaker. Для тех, кто предпочитает не засорять сознание ситкомами расскажу суть. Программка должна воспроизводить звук при встряхивании. Всё. Способы применения - самые разнообразные, но в основном одинаково бесполезные и ограничивающиеся привлечением внимания. Исходный код проекта я выложил на github. А собранное приложение на Google Play. Под катом объяснение того...

[[ Полный текст записи доступен в TDelphi-блоге]] читать дальше...
добавлено: 11 апр 14 просмотры: 1657, комментарии: 0



Delphi. Как указать папку "по умолчанию" для новых проектов

Надоело мне, что 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



[[ Полный текст записи доступен в TDelphi-блоге]]
добавлено: 19 дек 13 просмотры: 1693, комментарии: 0



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

В этой публикации я побуду Капитаном Очевидность и расскажу о паре способах добавления ресурсов в программу.
Определение: Ресурсы — данные, встроенные в EXE, DLL, CPL и (начиная с Windows Vista) MUI-файлы. Доступ к этим данным можно получить через функции Windows API. (из Википедии).
В Delphi XE5 аналогичный механизм используется и для хранения ресурсов в Android приложениях. Насчёт iOS приложений я не проверял, но полагаю, что должно работать и там.
Вообще, ресурсы в Delphi – это фундамент, на котором строится вся программа. Именно в ресурсы пакуются все ваши DFM файлы (видели же строку “{$R *.DFM}” в .pas файлах форм? это оно самое), иконки, курсоры, и строки (resourcestring). Именно благодаря ресурсам работает локализация программ с помощью Translation Manager. Всё это происходит...



[[ Полный текст записи доступен в TDelphi-блоге]]
добавлено: 29 ноя 13 просмотры: 1373, комментарии: 0



Легкий способ проверить Android устройство на совместимость с Delphi XE5.

Как узнать будет ли работать программа сделанная в Delphi XE5 на Android устройстве.
Начну сразу с простейшего способа. Официальная спецификация – ниже. Неофициальные способы Легкий способ проверить своё устройство Список из 118 проверенных устройств Официальные способы Соответствие спецификации Список проверенных устройств от Embarcadero Неофициальные способы Легкий способ проверить своё устройство Надо установить на телефон маленькую программку SysCheck от Christopher Moeller (не требует никаких прав). Запустить. И посмотреть на первые 3 строчки отчёта.
Там будет указана версия ARM (нужна v7), версия OS (2.3.3-2.3.7 и 4.0.3-4.3)  и указано поддерживается ли NEON (должно быть yes).
[[ Полный текст записи доступен в TDelphi-блоге]]
добавлено: 25 окт 13 просмотры: 1672, комментарии: 0



Головокружительные возможности DI и Delphi Spring. Часть 9. Один интерфейс – несколько реализаций.

Это последний перевод из серии про внедрение зависимостей на примере использования Delphi Spring.

Это перевод публикации Ника Ходжеса от 07 ноября 2011 года: Getting Giddy with Dependency Injection and Delphi Spring #9 – One Interface, Many Implementations. (перевод сделан с разрешения автора).

Полный текст записи доступен в TDelphi-блоге
добавлено: 29 мар 13 просмотры: 1371, комментарии: 0



Головокружительные возможности Dependency Injection и Delphi Spring. Часть 8. Разное.

Это перевод публикации Ника Ходжеса от 5 ноября 2011 года: Getting Giddy with Dependency Injection and Delphi Spring #8 – Miscellanea. (перевод сделан с разрешения автора).

Полный текст записи доступен в TDelphi-блоге
добавлено: 16 сен 12 просмотры: 1151, комментарии: 0



Головокружительные возможности Dependency Injection и Delphi Spring. Часть 6. Обойдёмся без конструк

Это перевод публикации Ника Ходжеса от 24-09-2011: Getting Giddy with Dependency Injection and Delphi Spring #6 – Don’t even have a constructor.

Вступление

В четвёртой статье этой серии я озвучил правило “Делайте Конструкторы Простыми”. В последней статье мы узнали, как использовать контейнер Spring для хранения интерфейсов и реализаций и как запросить у контейнера Spring готовую реализацию интерфейса, вместо создания объекта вручную с помощью конструктора.

В этой статье мы продвинемся ещё на один шаг и посмотрим, как Delphi Spring Framework умеет самостоятельно создавать объекты и автоматически вставлять реализацию в нужных местах, и нам для этого даже не придется вызывать конструктор.

Читать дальше в TDelphi-блоге.
добавлено: 25 июн 12 просмотры: 1918, комментарии: 0



Головокружительные возможности Dependency Injection и Delphi Spring. Часть 5. Основы Delphi Spring.

Это перевод публикации Ника Ходжеса: Getting Giddy with Dependency Injection and Delphi Spring #5 – Delphi Spring Basics. Вступительное слово <br />Я много слышал о фреймворке Spring для Java. И даже знал, что аналогичный фреймворк был создан и для Delphi. Но у меня не хватало терпения сесть и разобраться. Также, как и с терминами “Внедрение зависимости” (Dependency Injection) и “Обращение управления” (Inversion of Control). Я часто встречал упоминания о них в разных статьях, но так и не смог уложить в своей голове, как применить эти знания к Delphi. И вот, наконец, я наткнулся на публикацию Ника. То, что я прочитал в этой публикации, запросто расставило всё по своим местам. Это было настолько потрясающе, что я решил обязательно перевести этот материал и опубликовать перевод у себя в блоге....

Полный текст записи доступен в TDelphi-блоге..
добавлено: 27 июл 11 просмотры: 1695, комментарии: 0



Перевод Live templates Revisited

Это перевод поста Кэри Дженсена “Live templates Revisited”.

Ещё раз о живых шаблонах

Хотя шаблоны кода были в Delphi со времён 4й версии Delphi, они были очень простыми по сравнению с новой функцией живых шаблонов, впервые появившейся в Delphi 2006. Живые шаблоны предоставляют возможность делать вставку кода ещё более интеллектуальной, а также позволяют осуществлять интерактивную навигацию по изменяемым частям шаблона. Если вы ещё не используете их, то сейчас самое время рассмотреть их повнимательнее.

Читать дальше в TDelphi-блоге
добавлено: 14 июл 11 просмотры: 1600, комментарии: 0