Все потоки
Поиск
Написать публикацию
Обновить
-2.1

Delphi *

Объектно-ориентированный язык программирования

Сначала показывать
Порог рейтинга
Уровень сложности

Как настроить Android и RAD Studio XE7 (Delphi, C++ Builder)

Время на прочтение3 мин
Количество просмотров67K
Поговорим о том, как «подружить» или настроить Android и RAD Studio XE7 (или Delphi, или C++Builder, или AppMethod).
На самом деле вопрос не очень сложный, но часто поступающие на эту тему вопросы побудили меня написать этот пост.

План действий:
— настройка RAD Studio XE7 (SDK + NDK);
— настройка Android-устройства;
— запуск своего приложения на Android-устройстве.
Читать дальше →

Знакомство с FireUI

Время на прочтение7 мин
Количество просмотров15K
Недавно мы опубликовали серию статей, посвящённых разработке приложений в FireMonkey. Тогда мы описали ключевые моменты построения приложения, в том числе создание базы данных, подключение данных с помощью технологии LiveBinding, развёртывание приложения на мобильной платформе. Однако, детально рассматривать ньюансы создания мобильных приложений мы не стали. Во многом это связано с тем, что сам процесс мобильной разработки в Delphi эволюционирует от версии к версии. В частности, в последней XE7 на сегодняшний день версии Delphi, был представлен новый дизайнер форм FireUI Multi-Device Designer. В данной статье с помощью небольшого примера мы рассмотрим, что же из себя представляет FireUI и каким образом с его появлением изменилась методология разработки.


Читать дальше →

Конкурс по созданию приложений «Весенний марафон»

Время на прочтение1 мин
Количество просмотров3.3K


Уважаемые друзья,

Мы решили запустить конкурс по разработке приложений на Delphi и C++Builder XE7, чтобы наградить лучших разработчиков по кроссплатформенной разработке. В этом году мы не стали выделять какую либо платформу, вы можете писать приложение, как для IOS, Android, Windows или MAC OS X, а также настольное и мобильное приложение (связанное с помощью технологии App Tethering.
Мы стартуем 26 февраля, зарегистрироваться для участия вы можете до 1 апреля, до 15 мая мы будем принимать ваши работы, а 1 июня – объявим победителей.

Регистрируйтесь на сайте конкурса, создавайте приложения на Delphi XE7 и выигрывайте призы: планшет Samsung Galaxy S5, планшет Samsung Galaxy Tab 4 10.1 или лицензию RAD Studio XE7.
Если вы разрабатываете на Delphi, но только задумываетесь о создании мобильных приложений, это хороший способ попробовать свои силы.
Если вы уже писали приложения на Delphi, конкурс – отличный повод попробовать новый инструмент разработки.
Читать дальше →

Вебинары по новым возможностям RAD Studio XE7

Время на прочтение2 мин
Количество просмотров4.8K


Уважаемые разработчики!

Спешим сообщить Вам, что мы запускаем серию вебинаров для Вас

Вот наша программа на ближайшие месяцы:

18 февраля 2015 — 12:00

Новые возможности InterBase XE7

В ходе вебинара мы рассмотрим новые возможности Interbase XE7 такие как: улучшения в производительности, инкрементный дамп, транзакции, счетчики производительности, индексы, 64-разрядный идентификатор транзакций, Change views и другие. В вебинаре примет участие Дмитрий Кузьменко, эксперт по InterBase.

4 марта 2015 — 12:00

Что нового в FireDAC XE7

FireDAC, являясь флагманской технологией доступа к данным компании Embarcadero, успешно эволюционирует. Данный вебинар посвящен нововведениям в FireDAC XE7, в частности, новым возможностям работы с BLOB-значениями и новому компоненту TFDBatchMove. В вебинаре примет участие Дмитрий Арефьев, главный разработчик и идеолог FireDAC.

18 марта 2015 12:00

Построение пользовательского интерфейса с помощью универсальной панели MultiView

В ходе вебинара мы рассмотрим различные варианты применения нового уникального компонента TMultiView, который позволяет существенно сократить время на проектирование интерфейсов, благодаря заложенным в него возможностям. Рассмотрим поведение компонента на различных платформах, свойства компонента, варианты использования компонента в мобильных приложениях.

Читать дальше →

rfg_drawer или OTDR Editor

Время на прочтение2 мин
Количество просмотров11K

Вступление


Не так давно меня перевели в офис, в проектно-технический отдел. Работал я монтажником связи в одной не самой большой организации в городе. Затем было повышение на более престижную должность в организации – спайщик оптических волокон. Это всё действие происходило в течение 3-х лет.

За это время мы построили много объектов по городу и по областям, в том числе и целые города опутывали сетью FTTH/FTTB, так что опыт в строительстве и ведении кое-какой документации уже имелся.

Перевели меня в ПТО в самый пик документации, к концу года закрывали два больших объекта в разных городах. Посадили за компьютер, объяснили чего не хватает, дали данные и определили сроки сдачи.

Вот тут и началось самое интересное.
Читать дальше →

Мировой тур RAD Studio XE7 в Ростове-на-Дону, Алматы и Оренбурге

Время на прочтение1 мин
Количество просмотров2K

Уважаемые друзья!

Несмотря на кризис, у нас есть хорошие новости для Вас. Мы продолжаем Мировой тур RAD Studio XE7 в России и странах СНГ. Мы много дискутировали между собой какие города выбрать, смотрели на ваши пожелания и отзывы.
Внимание!

Наше расписание на 1 квартал:

• 17 февраля Ростов-на-Дону
• 25 февраля Алмата
• 3 марта Оренбург

В Ростове-на-Дону у нас есть отличный технологический партнер – Fast Report, который придет к нам в гости и расскажет как сократить время разработки и поддержки отчетов.
Читать дальше →

Объемные планеты в 2D через шейдер

Время на прочтение7 мин
Количество просмотров58K
А помните, как вы просили меня про шейдеры написать? Помните? Нет? А вот я помню и даже написал. Милости просим, поговорим о прекрасном.

Сегодня я поведу речь о том, как я делал объемные вращающиеся планеты для нашей игры blast-off. Тоесть они, конечно, совершенно плоские, всего пара треугольников, но выглядят как объемные.



Заинтересовало? Прошу под кат. Картинок прилично.
Читать дальше →

MindStream. Как мы пишем ПО под FireMonkey. Часть 5. Тестирование

Время на прочтение22 мин
Количество просмотров7.4K
Часть 1.
Часть 2.
Часть 3. DUnit + FireMonkey
Часть 3.1. По мотивам GUIRunner
Часть 4. Serialization

Здравствуйте, дорогие хабровчане.

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

Сейчас наш проект выглядит так:


Читать дальше →

Стиль WS_EX_LAYERED для дочерних окон в Windows 8

Время на прочтение3 мин
Количество просмотров17K
В Windows Вы не можете просто так сделать полупрозрачный элемент управления, Вы должны либо рисовать все контролы сами(Qt, FMX) либо использовать DrawThemeParentBackground, что неминуемо приводит к тормозам.
Регионы тут не помогут т.к. они не поддерживают частичную прозрачность.
Было бы удобно использовать окна со стилем WS_EX_LAYERED («Слоистые» окна поддерживающие альфа прозрачность отдельных пикселей), однако Windows поддерживает этот стиль только для окон верхнего уровня. Так было до Windows 8 в которой, не прошло и полвека, наконец-то стало возможно назначать этот стиль дочерним окнам.

Что это дает? Первое что приходит в голову, это то, что композицией окон будет заниматься видео карта, что даст прирост производительности.

Под катом небольшое исследование этой возможности Windows 8.
Читать дальше →

CAD для разработки снежинок: SnowFlaker

Время на прочтение3 мин
Количество просмотров63K

Привет всем.
Да да, это CAD, для разработки снежинок, написанный мной за пару дней.

Предисловие


Вырезая на днях очередную снежинку я задумался. Очень уж неудобно вырезать снежинку вслепую, разворачивать её, и убеждаться, что сделал не то что хотел.
Сначала я стал прибегать к карандашу. Сворачиваем снежинку, рисуем, вырезаем. Но мое воображение продолжало играть со мной злые шутки, я разворачивал и видел очередного уродца.
Почему бы не разработать CAD, чтобы поставить точку в этой ужасной несправедливости?

В статье не будет никакого процесса разработки и программирования. В ней я поделюсь с вами получившейся программой, и расскажу как ей пользоваться. Под катом много картинок.
Забрать сборку под win можно тут: sourceforge.net/projects/snowflaker
Там же исходный код в GIT. Сборки под linux пока нет, но программа написана на fpc, и должна собираться и работать под linux-ом. Добавлена сборка под Linux.
Читать дальше →

Простейшие Lock-Free объекты для двух потоков

Время на прочтение11 мин
Количество просмотров7.9K
Здесь было много статей об универсальных Lock-free объектах, однако, для некоторых частных случаев они излишне громоздки. Мой случай как раз таким и являлся: требовалось организовать одностороннюю передачу информации от одного потока другому. Главный поток запускает рабочий, после чего он может только запросить его остановку и никак больше управлять он им не может. В свою очередь рабочий поток может уведомлять главный о своем текущем состоянии (прогрессе выполнения), а также отсылать промежуточные результаты выполнения. Получается, что требуется только передача данных от рабочего к главному потоку.

Разумеется, возможно, я изобрёл велосипед или, хуже того, велосипед с глюками. Поэтому комментарии и критика очень приветствуются!
Читать дальше →

CPU vs GPU. Distance field

Время на прочтение5 мин
Количество просмотров22K
Привет всем. Я уже однажды писал про Distance Field и приводил реализацию «эвристическим» кодом, дающую неплохую скорость: «Честный glow и скорость».

Зачем он нужен?


DField можно применять:
  • Для значительного повышения качества шрифтов
  • Для эффектов например горения контура. Один из эффектов я приводил в своей предыдущей статье
  • Для эффекта «metaballs» но в 2д и для любых сложных шейпов. (возможно я когда-нибудь приведу пример реализации этого эффекта)
  • А в данный момент DField мне нужен для качественного сглаживания углов и удаления мелких деталей.

И если в первых двух случаях мы можем заранее вычислить DField, то для других эффектов нам нужно просчитывать его в реальном времени.
В статье будет рассмотрен наиболее популярный, я бы сказал классический Chamfer distance (CDA) с кучей картинок, объясняющих принцип его работы, а так же рассмотрен двухпроходный алгоритм на GPU.
Оба алгоритма реализованы в демонстрационных программах на FPC.
Читать дальше →

Использование замыканий и функций высших порядков в Delphi

Время на прочтение10 мин
Количество просмотров19K
Данная статья является продолжением предыдущей публикации, которая была посвящена анонимным методам. В этот раз речь пойдет о примерах использования функций высших порядков и замыканий, показавшихся автору интересными.
Читать дальше →

Ближайшие события

MindStream. Как мы пишем ПО под FireMonkey. Часть 4 Serialization

Время на прочтение12 мин
Количество просмотров7.7K
Часть 1.
Часть 2.
Часть 3. DUnit + FireMonkey.
Часть 3.1. По мотивам GUIRunner.

Ещё в начале увлечения программированием мне нравилось работать с файлами. Работа, правда, в основном заключалась в чтении входных данных и записей результатов. Дальше была работа с БД, файлами я пользовался все реже. Максимум IniFile иногда. Поэтому задача сериализации была довольно интересной для меня.

Сегодня я расскажу о том, как мы добавили сериализацию в нашу программу, какие возникли трудности и как мы их преодолели. Так как материал уже не новый, то он скорее для новичков. Хотя, кое-какие приемы смогут почерпнуть покритиковать все.

image

Читать дальше →

Разработка игры в 115 кб — хаки, баги и досада

Время на прочтение10 мин
Количество просмотров41K

В начале ноября я участвовал в 115-ом по счете конкурсе сообщества Independent Games Developers Contests (IGDC), темой которого была разработка аркадного шутера с лимитом в 115 килобайт за неделю. Под катом история разработки игры на OpenGL + Free Pascal, эксперименты с LZO, обход багов компилятора FPC для uFMOD, простейшая генерация текстур и досадный баг на видеокартах NVidia, который все испортил.

Видео, бинарник для Windows и исходный код также прилагаются — ищите в конце статьи.
Читать дальше →

Использование TTreeView в Firemonkey приложениях

Время на прочтение5 мин
Количество просмотров18K
На днях мне пришлось столкнуться с компонентом TTreeView. Заказчик настаивал на привычном ему компоненте — «Дереве», и хотел, чтобы приложение выглядело так, как он привык в VCL.

В этой статье я хотел бы рассказать о компоненте TTreeView (ветка дерева) и его использовании в Firemonkey приложениях, а также рассмотреть, в чем различия между VCL и FireMonkey реализацией.
Читать дальше →

Использование анонимных методов в Delphi

Время на прочтение8 мин
Количество просмотров34K
Поводом для написания статьи стал интерес к возможностям анонимных функций в Delphi. В разных источниках можно найти их теоретические основы, информацию о внутреннем устройстве, а вот примеры использования везде даются какие-то тривиальные. И многие задают вопросы: а для чего вообще нужны эти reference, какая может быть польза от их применения? Поэтому предлагаю некоторые варианты использования анонимных методов, применяемые в других языках, возможно, более ориентированных на функциональный стиль программирования.
Читать дальше →

Пара слов о кэшировании данных при чтении и смартпойнтерах

Время на прочтение23 мин
Количество просмотров5.3K
Я не думаю что сильно ошибусь, если скажу, что у большинства читателей данной статьи на компьютере присутствует папка, в которой хранятся наработки кода, применяющиеся потом в боевых проектах. Маленькие такие кусочки алгоритмов, на которых проверяется сама возможность реализации той или иной идеи. Я их называю «ништячки».

Чем больше программист работает по своим задачам, тем больше эта папочка пухнет. Вот моя уже вылезла за пределы семи сотен различных демопримеров.

Но проблема в том, что в 99 процентов случаев все эти «ништячки» пишутся в стол, и о существовании оных наработок знает только владелец данной папки, а ведь там же иногда целые закрома идей, подходов к реализации, алгоритмических трюков, да и просто остановленных на взлете мыслей, которыми не грех бы и поделиться (а вдруг кто-то возьмет да и разовьет подход).

В данной статье я поделюсь тремя наработками, которые вышли как раз из таких вот «папок с ништяками» и уже не первый год применяются в наших боевых проектах.
Будет немножко ассемблера — но не пугайтесь, он там только в виде информационной составляющей.
Читать дальше →

Мировой тур RAD Studio XE7 в Минске, Нижнем Новгороде и Красноярске

Время на прочтение1 мин
Количество просмотров4.1K


Уважаемые друзья,

Мы продолжаем Мировой тур RAD Studio XE7 и в этом квартале мы стартуем с Минска, в котором будем 26 ноября, далее 2 декабря ждите нас в Нижнем Новгороде, а окончание тура будет 10 декабря в Красноярске.

В этот раз мы будем освещать не только темы по кроссплатформенной разработке и корпоративной мобильности, но и коснемся проблем с которыми сталкиваются корпоративные разработчики по взаимодействию с различными базами данных.

В ходе мероприятия спикеры расскажут как:

• Разрабатывать кроссплатформенные приложения с помощью нового дизайнера единого интерфейса;
• Улучшать производительность настольных и мобильных приложений с помощью библиотеки параллельных вычислений, используя преимущества многоядерных процессоров;
• Как обеспечить использование мобильной инфраструктуры стандартными сервисами
• Сбалансировать ИТ инфраструктуру и масштабировать работу с данными за счет включения корпоративных сервисов
Читать дальше →

Поддержка MultiTouch + Gestures в Delphi XE4

Время на прочтение38 мин
Количество просмотров16K


Как-то незаметно для меня прошли все эти новые веяния в виде активных мониторов, на которые пользователь может тыкать пальцами. И знать бы о них не знал, кабы месяца три назад начальство не приобрело себе ноутбук, который можно порвать на две части (экран отдельно, клавиатура отдельно), причем не Surface какой-то, пропиаренный MS, а уже самый проходной у пользователей – от ASUS, за гораздо меньшие деньги (относительно).
Да и закуплен был данный девайс не просто так – задача выросла оттуда, откуда и не ждали.

Де юре: мы проводим огромное количество семинаров в месяц, и вот именно на них, нашим лекторам начали демонстрировать несовместимость нашего ПО с этим пресловутым тачем.

Де факто: на почту саппорта начали сыпаться гневные письма пользователей плана – «я два раза тапнула, а оно не тапнулось, может не так тапнула?»
А начальство все это скрупулезно отслеживало на своем «порватом» ноутбуке и готовило ТЗ.

И вот настал тот день. Мне на рабочий стол был воздвигнут третий монитор, 23 дюйма от LG (с поддержкой Touch ввода аж 10 пальцами) и поставлена задача – это должно заработать в течении трех дней!

А работаю то я в XE4 – беда.
Читать дальше →

Вклад авторов