Апрельские тезисы

Date: 3 Май 2012 Comments:0

Хотя и немного запоздало, но все же сделаю подборку новостей за апрель. Тезисно.

1. Конкурс на DelphiFeeds.Ru

Мероприятие стало традиционным, и это не может не радовать. На сей раз организаторы (Embarcadero Technologies и DelphiFeeds.Ru) решили придать конкурсу некий вектор полезности. И, согласно условиям, участники должны написать обучающее приложение для школьников.

Все работы конкурсантов будут выкладываться по мере поступления. На странице DelphiFeeds.Ru в Facebook будет сделана голосование, таким образом, подписчики этой страницы сами определят победителя. Кроме того, среди подписчиков DelphiFeeds.Ru на Facebook буду разыграны сувениры.

Подробности читайте на сайте.

2. Акция RAD Studio всего за $99

Во втором квартале 2012-го года Embarcadero объявило новую акцию. При покупке Delphi или C++ Builder пользователи получают право приобрести RAD Studio всего за $99. Те, кто приобрел Delphi или C++ Builder ранее, так же могут воспользоваться акционным предложением. FAQ по акции «RAD Studio XE2 за $99».

3. Акция “Купи Delphi XE2 или C++Builder XE2 со скидкой 20%”

И еще одна акция от Embarcadero. C 1 мая по 30 июня пользователи коммерческих редакций Visual Studio,Visual C++ и Visual Basic могут купить Delphi XE2 или C++ Builder XE2 со скидкой 20%.

4. Help Update 5 для Delphi XE2 и C++Builder XE2

Хотя я об этому уже рассказывал, новость достойна того, что бы упомянуть о ней еще раз. Вышел Help Update 5 для Delphi XE2 и C++Builder XE2. Добавлено очень много материала по FireMonkey.

5. 5 июня 2012 в Москве в здании факультета ВМиК МГУ компания Embarcadero проводит конференцию «Кросс-Платформа 2012».

На конференции выступят: Дейвид Интерсимоне (Embarcadero), Бруно Фиеренс (TMS Software), Дмитрий Сошников (Microsoft), Алексей Шуленин (Microsoft), Артём Кузнецов (независимый эксперт), Всеволод Леонов (Embarcadero), Михаил Филиппенко (Fast Reports), Дмитрий Кузьменко (iBase) и другие эксперты. Основной акцент делается на технических презентациях с разумной долей информации концептуального характера. Также будет представлен опыт разработчиков в области реализации информационных систем, которые расскажут о собственном опыте использования современных технологий.

Получить подробную информацию о программе конференции и зарегистрироваться можно по адресу: www.cpconf.ru

6. Вышел документ “Интеграция FireMonkey в существующие VCL, C# и C++ приложения”.

Скачать документ можно здесь (регистрация обязательна).

7. Fast Report анонсировал генератор отчётов для Apple MacOS.

Таким образом, проблема печати отчетов в FireMonkey похоже будет решена.

8. Англоязычный DelphiFeeds обзавелся страницей на Facebook.

И англоязычные новости из мира Delphi доступны для чтения и комментариев в Facebook.

9. Обновление IDE Fix Pack.

Коль скоро в этом блоге я освещаю этот продукт, то следует упомянуть об очередном обновлении.

10. Embarcadero обновила дизайн сайта.

Обновленный дизайн официального сайта Embarcadero.

На конференции выступят: Дейвид Интерсимоне (Embarcadero), Бруно Фиеренс (TMS Software), Дмитрий Сошников (Microsoft), Алексей Шуленин (Microsoft), Артём Кузнецов (независимый эксперт), Всеволод Леонов (Embarcadero), Михаил Филиппенко (Fast Reports), Дмитрий Кузьменко (iBase) и другие эксперты. Основной акцент делается на технических презентациях с разумной долей информации концептуального характера. Также будет представлен опыт разработчиков в области реализации информационных систем, которые расскажут о собственном опыте использования современных технологий.

Help Update 5 для Delphi XE2 и C++Builder XE2

Date: 20 Апр 2012 Comments:0

Вышел Help Update 5 для Delphi XE2 и C++Builder XE2. Добавлено очень много материала по FireMonkey.

Подробнее можно почитать здесь.

Размер обновления – 931 М. Доступен для зарегистрированных пользователейю Качать и устанавливать необходимо вручную.

Редизайн интерфейса приложения. #8

Date: 6 Апр 2012 Comments: 2 so far

Сегодня я снова вернусь к “жизнеописанию” своего проекта. Возможно, в этом посте вы найдете еще один аргумент, для того, что бы перейти на Delphi XE2. Начну я с небольшого вступления.

На семинаре Embarcadero в Киеве в сентябре прошлого года я услышал историю о переводе на юникод очень большого проекта. Собственно, и истории ни какой не было. Был проект, который разработчики, с одной стороны, и хотели бы перевести на старшую версию Delphi. А с другой стороны у них в проекте 5 млн. строчек кода. И, естественно, перспектива рефакторинга и последующего тестирования такого количества кода их весьма пугает. А так ли страшно это на самом деле?

Я уже говорил, что проект у меня относительно не большой. Но вчера я обнаружил, что у меня у самого 0,6 млн. строк. Т.е. в теории выйти на сопоставимые порядки сложности приложения вполне реально, даже если не решать “сверхзадач” (я ни в коем случае не призываю оценивать сложность проекта количеством кода!).

Но таким объемом кода надо эффективно управлять и контролировать его. Конечно, hint’ы и warning’и помогают хоть как-то избегать ляпов. Но довольно часто разработчики просто не обращают на них внимания (что в корне не правильно), тупо полагаясь на оптимизатор.  Даже в довольно именитых наборах компонентов, при сборке исходников hint’ы и warning’и встречаются в изобилии. И полная ревизия всех сообщений компилятора – задача не простая.

И вот здесь очень удобно использовать QA Audits – инструмент, впервые появившийся в Delphi 2010. Использовать это средство в полном объеме могут владельцы Enterprise, Ultimate и Architect редакций Delphi.
Read the rest of this entry »

Дейвид И. в ComputerWeekly. Перевод.

Date: 31 Март 2012 Comments:0

В последней рассылке от Embarcadero пришла ссылка на экспертный прогноз Дейвида Интерсимоне, опубликованный в ComputerWeekly. Он мне показался довольно интересным, и я рискнул сделать перевод. Перевод этот выложен на Хабре.

И несколько слов относительно DelphiFeeds.ru. Сайт стал достаточно удобным средством информирования о публикациях и событиях, связанных с миром Delphi. Таковым он. собственно, и задумывался.

Но, как многие справедливо замечают, у агрегаторов есть два существенных недостатка. Во-первых, туда автоматически попадает не тематический материал (с чем я, по мере сил, стараюсь бороться). Во-вторых, есть много интересных тематических публикаций из источников, в принципе, не посвященных Delphi. Отыскивать и добавлять их руками – задача не выполнимая. Поэтому хочу обратить ваше внимание на Facebook страницу DelphiFeeds. Помимо транслируемой ленты основного сайта, там я размещаю другие интересные тематические ссылки. Кроме того, вы сможете оставлять свои комментарии к публикациям (например, относительно их качества).

Присоединяйтесь!

Firemonkey на практике #3. Использование 3D моделей

Date: 19 Март 2012 Comments: 3 so far

Прежде чем приступить к написанию этого поста хочу напомнить, что скоро заканчивается срок действия специального предложения от Embarcadero, согласно которому обновиться до XE2 могут владельцы любой версии Delphi, C++ Builder или Rad Studio. Одновременно заканчивается и акция “Купите один продукт – второй получите бесплатно!”.

Вы еще можете успеть воспользоваться акционным предложением и купить Delphi, C++ Builder или Rad Studio on-line.  А резиденты Украины могут воспользоваться акционным предложением на сайте “Delphi в Украине”.

Несколько слов про четвертый апдейт. По части 3D в FireMonkey поменялось довольно много. Кое что из написанного мной в предыдущих постах утратило актуальность. Вероятно прийдется произвести ревизию текста и кода.

Ну а теперь, непосредственно к теме повествования.

В FireMonkey приложениях можно успешно использовать 3D модели. Об этом я говорил в предыдущих постах. Для того, что бы отобразить модель на форме используется компонент TModel3D. В настоящий момент поддерживаются три формата моделей (*.ase, *.dae и *.obj). За выбор модели отвечает свойство MeshCollection. Проблема же заключается в том, что разные 3D редакторы поддерживают эти форматы по разному. И некоторые модели способны “повесить” IDE при загрузке. Сегодня существует достаточно много редакторов, но большинство из них платные. Да и создание моделей требуют определенных навыков. Готовые же модели также стоят приличных денег. Тем не менее, бесплатные решения бывают хорошими, особенно если их создает Google.

Рекомендую Google SketchUp. Легкий бесплатный 3D редактор. Но самое ценное то, что существует огромная коллекция бесплатных моделей для этого редактора. И эти модели абсолютно корректно открываются в Delphi (следует выполнить экспорт в формат *.dae).

Нашлась даже модель родного ОСК “Металлист”, где уже через три месяца пройдут игры Евро 2012. Как видно на ролике, эта довольно сложная модель прекрасно отображается в FireMonkey программе.

В принципе, работа с моделями не представляет из себя ничего сложного. В приведеном выше примере модель размещена в центре формы. Там же помещен объект TDummy, к которому привязана камера. Вращение TDummy создает иллюзию вращения камеры вокруг стадиона.

Код приложения приводить не буду, при желании вы сами сможете установить Google SketchUp и совершить экскурсию по стадионам, принимающим Евро 2012 с помощью FireMonkey.

Если вы знаете другие бесплатные редакторы и коллекции моделей – буду признателен за ссылку.

И в заключение – небольшой анонс. В ближайшее время на DelphiFeeds.ru будет объявлен новый конкурс. Следите за новостями.

Delphi XE2 and C++Builder XE2 Help Update 4

Date: 13 Март 2012 Comments:0

Вчера обновился Help для Delphi XE2 и C++Builder XE2.

update

Более 1000 страниц нового материала, обновленные примеры и описания. Подробнее об этом обновлении.

Так же не пропустите:

14 марта 2012 года. Вебинар. InterBase с Дмитрием Кузьменко.

15 марта 2012 года. Санкт-Петербург. Семинар “Линейка средств разработки Embarcadero”.

Update 4 и другие новости

Date: 29 Фев 2012 Comments: 1

Прежде всего, сегодня вышел обещанный Delphi XE2 и C++ Builder XE2 Update 4.

Зарегистрированные пользователи могут скачать iso образ Delphi XE2 и C++ Builder XE2 с включенным Update 4,  либо воспользоваться автоматическим обновлением.

Пока не могу сказать ничего конкретного по поводу данного релиза. Качаю.

Кроме того, сегодня состоится очередной вебинар с Евгением Крюковым, посвященный стилям в FireMonkey.

Не пропустите!

Для тех, кто хочет глубже разобраться с LiveBinding - Understanding RAD Studio LiveBindings;

Для тех, кто читает DelphiFeeds.ru – получать новостную ленту можно с помощью FaceBook.

О действующих акциях компании Embarcadero вы можете узнать здесь.

http://cc.embarcadero.com/myreg

DUCK DUCK DELPHI

Date: 16 Фев 2012 Comments: 2 so far
DUCK DUCK DELPHI – замечательный, на мой взгляд, проект, иллюстрирующий возможности RTTI в Delphi. Автор Jason Southwell.
Проект представляет собой модуль, реализующий duck typing.
Вместо
if obj is TControl then
TCoontrol(obj).Visible := True
вы можете написать
obj.duck.sett(’Visible’,True);
Или так, если нужно установить видимость для всех объектов.
Self.duck.all.has(’Visible’).sett(True);

День Рождения Delphi

Date: 14 Фев 2012 Comments:0

17 лет назад, 14 февраля 1995 года на конференции Software Development Conference 95 West была презентована первая версия Delphi.

Сегодня в честь этого события состоится вебинар.

В программе вебинара:

  • Welcome and birthday celebration – 5 minutes
  • Conversation with Barry Kelly about Delphi and Delphi compiler with Q&A – 20 minutes max
  • David I – history of Delphi Innovations – 10 minutes
  • Pawel demos – 10 minutes
  • Stephen Ball demo – 15 minutes
  • Vsevelod demos – 9 minutes
  • Andreano demo 3D text – 15 minutes
  • Anders Ohlsson FireMonkey Scientific and Mathematics demos – 20 minutes
  • David I – Data Visualization demo  – 5 minutes
  • Live Q&A – 25 minutes max

Firemonkey на практике #2. Движение 3D объектов

Date: 10 Фев 2012 Comments:0

Перед тем как почесть этот пост я советую посмотреть ролик Всеволода Леонова, посвященный анимации.

Собственно, существует, как минимум два способа реализовать движение объектов в FireMonkey.

Первый из них – банально менять координаты объекта по таймеру.

Второй – использовать компонент TFloatAnimation.

На видео проиллюстрирована реализация движения тела, брошенного под углом к горизонту обеими способами.

И здесь можно увидеть, что траектории полета мячей немного отличаются. Почему? Давайте попробуем разобраться.

Левый мяч “летит” с помощью таймера. Код примерно такой:


Read the rest of this entry »