Как стать автором
Обновить

Компания Embarcadero (Borland) временно не ведёт блог на Хабре

Сначала показывать

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

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

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

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

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


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

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

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

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

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

Видеотрансляция запуска RAD Studio XE7

Время на прочтение1 мин
Количество просмотров6.2K
Уважаемые разработчики!

Мы уже анонсировали Запуск RAD Studio XE7, который пройдет в Москве 16 сентября.

Для жителей других регионов мы будем вести он-лайн трансляцию запуска. Присоединяйтесь 16 сентября в 10.00 MCK на сайте delphitour.ru.

Впервые на запуск новой версии — RAD Studio XE7 мы пригласили реальных разработчиков и экспертов по мобильной разработке из компании Samsung.
Вы будете удивлены большому количеству новых возможностей, главной из которых является создание универсальных интерфейсов для всех платформ.
Мы добавили много живых демонстраций и мастер классов по созданию приложений различными интерфейсами сразу под все устройства, с учетом их личных характеристик.
Мы также поделимся секретами как построить органичную мобильную среду в компании.

Будет интересно, не пропустите!
Читать дальше →
Всего голосов 10: ↑7 и ↓3+4
Комментарии20

Приемы работы с планами выполнения запросов в Oracle

Время на прочтение3 мин
Количество просмотров41K
Это как гвоздь в подошве любимого ботинка. Ходить можно, но все чаще ловишь себя на желании остаться на месте или перепоручить дело другим. Мелкие неудобства не только замедляют нашу работу, но и снижают мотивацию, вносят помехи в процесс, снижают качество результата. И если нашелся друг, который научил вас взять молоток и забить этот гвоздь, вы не только будете благодарны ему за помощь, но и сами поможете другим, избавив их от мелкой, но очень раздражающей помехи. Для этого и нужно общаться, делиться не только глубокими и сокровенными знаниями в форумах и на сайтах вроде Хабра, но и своими простыми трюками и «маленькими хитростями»

Как и любой текст, запросы и программы на SQL можно создавать в любом текстовом редакторе. Но если вы профессионал, вы очень много и часто работаете с SQL, то вам уже не будет достаточно наличия подсветки синтаксиса и автоматического переформатирования кода, особенно, если вам приходится переключаться между различными версиями одной СУБД или разными платформами СУБД.

Недавно мне случилось общаться с одним из ведущих профессионалов СУБД Oracle. Он рассказал много интересного про работу с планами выполнения запросов в различных версиях этой СУБД и не постеснялся рассказать всем об используемых им инструментах, приемах и дать немного полезных мелких советов. Я сделал перевод одной из статей в его блоге и хотел бы предложить его вниманию Хабравчан. Несмотря на то, что описанный прием применялся для работы с Oracle, я теперь с успехом применяю тот же подход для MS SQL и Sybase.



Меня зовут Дан Хотка (Dan Hotka). Я директор Oracle ACE. Одной из моих привилегий в этой группе является помощь в распространении информации и полезных технических знаний, связанных с СУБД Oracle. Меня хорошо знают после моих 12 (скоро 14) опубликованных книг и буквально сотен статей. Я регулярно пишу в блоге и собираюсь делать это в дальнейшем. Мы даже могли встречаться на одном из событий или встреч группы пользователей. Я регулярно выступаю на эти темы по всему миру.
Я собираюсь поделиться с вами как техническими знаниями про Oracle, так и тем, как эти знания применяются в решениях Embarcadero.
Читать дальше →
Всего голосов 19: ↑11 и ↓8+3
Комментарии20

Мероприятия по предварительному обзору RAD Studio XE7

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


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

У нас для вас хорошие новости. Мы открываем регистрацию на мероприятия на которых мы поделимся с вами секретами о новых возможностях RAD Studio XE7.

В этом году мы стартуем с Москвы, где вы сможете нас увидеть нас 16 сентября, далее переместимся в Астану – 18 сентября и завершение тура будет в Екатеринбурге 23 сентября.
В этом году мы пригласили не только экспертов по продуктам, но и разработчиков, непосредственно принимающих участие в разработке версии XE7 из R&D центра, которые будут делать демонстрации продуктов и отвечать на вопросы «из первых рук». Нас также поддержат эксперты по корпоративной мобильности из компании Samsung, которые поделятся не только экспертизой по переходу на корпоративную мобильность, но и примут участие в розыгрыше призов.

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

• Разрабатывать кроссплатформенные приложения с помощью нового дизайнера единого интерфейса;
• Улучшать производительность настольных и мобильных приложений с помощью библиотеки параллельных вычислений, используя преимущества многоядерных процессоров;
• Как обеспечить использование мобильной инфраструктуры стандартными сервисами
Читать дальше →
Всего голосов 17: ↑7 и ↓10-3
Комментарии3

Запуск RAD Studio XE6 в Минске, Санкт-Петербурге и Воронеже

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


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

Несмотря на отличную погоду, мы приглашаем вас принять участие в Мировом туре RAD Studio XE6, который будет проходить в 27 мая в Минске, 5 июня в Санкт-Петербурге и 10 июня в Воронеже.

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

Читать дальше →
Всего голосов 10: ↑6 и ↓4+2
Комментарии2

Разработка кроссплатформенных мобильных приложений в Delphi #6

Время на прочтение3 мин
Количество просмотров11K
Часть #1
Часть #2
Часть #3
Часть #4
Часть #5

После слегка затянувшейся паузы мы продолжаем рассказ о создании мобильного приложения в Delphi с помощью Платформы FM. Напомню, что в качестве задачи мы выбрали реализацию кулинарной книги, снабженной «калькулятором пропорций продуктов» и таймером. Разработку мы начали с создания «настольного приложения». Поэтапно также реализовали и мобильный аналог для платформы Android. В качестве СУБД была выбрана SQLite.

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

И второй момент, на который следует обратить внимание, прежде чем перейти непосредственно к описанию процесса дальнейшего развития наших приложений. В средине декабря был выпущен Update 2 для Delphi и RAD Studio. Если вы экспериментировали со сторонними компонентами в проекте, вам следует использовать новые версии, совместимые с Update 2. Возможно, также придется заново пересоздать отдельные формы.

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

На предыдущих этапах мы уже создали проект мобильного приложения, модуль данных и заготовку главной формы приложения. Сделаем активной вкладку «Ингредиенты» и разместим на ней необходимые компоненты. В принципе, и в мобильном приложении мы могли бы использовать компонент табличного отображения данных (Grid). Концепция интерфейса для платформы Android, хотя и предполагает возможность использования Grid'а. Однако, как уже отмечалось ранее, Grid для Android несколько отличается от обычного Grid’а для настольных приложений. Поэтому для отображения данных лучше использовать компонент TListBox. Естественно, данные, отображаемые в нём, не будут редактироваться.

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

Список отображает информацию из набора данных посредством LiveBindings автоматически. Формирование же представления целесообразно делать на уровне набора данных, оставляя компоненту TListBox роль декорирования. Поэтому, думая об отображении информации в списке на интерфейсе, мы тем не менее начнём работу с набором данных.
Читать дальше →
Всего голосов 25: ↑13 и ↓12+1
Комментарии0

Мировой тур RAD Studio XE5

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


Друзья,

Вот и начался Новый год и мы продолжаем Мировой Тур RAD Studio XE5 для вас в регионах и в странах СНГ. В этом квартале мы ждите нас 4 марта в Казани, 13 марта в Тюмени, 18 марта в Алма-Ате и 27 марта в Перми.

Наши эксперты расскажут о разработке под все популярные платформы включая Android, мы также затронем тему о планах компании по развитию продуктового портфеля.
Читать дальше →
Всего голосов 16: ↑10 и ↓6+4
Комментарии1

AppFactory: приложение-победитель конкурса Delphi for Android

Время на прочтение5 мин
Количество просмотров11K
Всем привет, начинаем обзор результатов конкурса «Осенняя мобилизация». Сначала я задумывал обзор в формате «Это может Delphi XE5 for Android», но конкурсанты настолько поразили своей технической фантазией и креативным воплощением, что теперь тематика обзоров — «Это можете вы с Delphi XE5 for Android». Минуточку терпения, вы не будете разочарованы. Сейчас мы увидим «мини-мобильное RAD-средство», сделанное по типу Delphi, на Delphi и с возможностью последующего экспорта в Delphi.

Читать дальше →
Всего голосов 24: ↑15 и ↓9+6
Комментарии0

Использование слоя плана выполнения SQL запроса на VST диаграммах

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

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

Мы наблюдаем постоянное появление и ввод новых технологий. Это здорово! А в это же время имеющиеся «старые» технологии требуют массу внимания и времени для поддержки. «Океан» данных, «море» баз данных, больше распределенных систем. Остается меньше времени на настройку и оптимизацию. Сокращение окон для модификации, поддержки и внесения изменений осложняет задачу увеличить непрерывность работы систем на имеющемся оборудовании.

В области настройки оптимизации баз данных, часто встречаются ситуации, когда трудно выбрать «правильное» решение. В таких случаях приходится полагаться на различные инструменты, которые помогают оценить ситуацию и найти пути ее улучшения. Освоив такие инструменты, часто становится проще найти лучшее решение, если в дальнейшем возникает подобная ситуация.
В подтверждение этой мысли приведу перевод любопытной статьи из блога bulldba.com/db-optimizer



В новых релизах DB Optimizer компании Embarcadero, начиная с версии 3.0, имеется отличная новая возможность: наложить на диаграмму VST explain plan запроса!
[Примечание переводчика:
Диаграмма визуальной оптимизации Visual SQL Tuning (VST) превращает текстовый SQL-код в графическую SQL-диаграмму, показывает индексы и ограничения в таблицах и представлениях с использованием статистических сведений, а также операции соединения, используемые в инструкции SQL, такие как прямые и подразумеваемые декартовы произведения и отношения «многие ко многим». ]


Возьмем для примера следующий запрос:

SELECT COUNT (*) 
FROM   a,  b,  c
WHERE
       b.val2 = 100 AND
       a.val1 = b.id AND
       b.val1 = c.id; 

По колонкам b.id и c.id созданы индексы. В окне DB Optimizer этот запрос выглядит так:



Красные линии связей такого вида в соответствии с определениями говорят, что отношения могут быть типа «многие ко многим».
Вопрос: «какой план выполнения этого запроса является оптимальным?».

Один из возможных оптимальных планов выполнения этого «дерева запроса» может быть таким:
  1. Начать с наиболее селективного фильтра
  2. Выполнить JOIN с подчиненными таблицами, если возможно
  3. Если нет – то выполнить JOIN с таблицей верхнего уровня

Читать дальше →
Всего голосов 2: ↑2 и ↓0+2
Комментарии0

Реальное мобильное приложение в Delphi для систем наблюдения

Время на прочтение10 мин
Количество просмотров19K
Мы не рекламируем и не продвигаем ни компанию Digifort, ни её продукты. Компания указана, чтобы показать — это не «фейк», не «фотошоп», люди/продукты реальные. В данном техническом интервью будет рассмотрена проблема мобильной разработки глазами «классического destkop-программиста» с большой степенью объективности и непредвзятости. Нельзя, к примеру, говорить о проектировании мостов без анализа ключевых проектов, таких как Golden Gates Bridge. Для пользователей Delphi такой проект, несомненно, пионерский, есть смысл ознакомится с обзором.

Данное интервью — переводное. Эрик, будучи техническим специалистом, тем не менее, отвечал в классическом «западном деловом» стиле и формате, когда публично не принято ругать и резко критиковать. Он старался похвалить Embarcadero и всячески выражал благодарность, поэтому нам пришлось добавить «sugar-free» секцию, чтобы сохранить объективность изложения.


Сегодня мы поговорим с представителем компании Digifort, которого зовут Эрик Флеминг Бонила (Eric Fleming Bonilha). Он – разработчик, а его компания недавно выпустила мульти-платформенную мобильную версию системы, о чем писалось здесь. Мы попросили Эрика поподробнее рассказать о том, как, что, зачем он делал (при соблюдении know-how), а также почему именно Delphi for Android/iOS.

Здравствуйте, Эрик! Чтобы мы могли понять техническую составляющую Вашего проекта, расскажите о системе в целом. Каково её назначение? Это – реальный проект?

Здравствуйте. Я представляю «софтверную» компанию. Наш основной продукт решает задачи в области IP-TV-наблюдения на основе TCP/IP передачи закодированных изображений с аналоговых или IP-камер. Предусмотрена запись для последующего анализа. Технологии Digifort могут быть использованы в качестве основы для реализации анализа видео на предмет соответствия заданным шаблонам для идентификации проблемных ситуаций. Например, можно записывать изображения номеров машин, помещать их в базу данных, распознавать случаи угона. Естественно, можно представить себе и ряд других сценариев использования нашей системы. У нас есть масса продуктов, которые могут быть агрегированы в единое решение для создания замкнутых решений проблем безопасности вплоть до корпоративных потребностей.

Читать дальше →
Всего голосов 24: ↑19 и ↓5+14
Комментарии14

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

Время на прочтение5 мин
Количество просмотров8.9K
В предыдущих частях цикла, посвященного созданию приложений на платформе FM (FireMonkey), мы познакомились с основными приемами и техниками, позволяющими создавать как «настольные», так и мобильные FM-приложения. И сегодня мы немного отвлечемся от создания демонстрационного приложения, и коснемся некоторых отличительных особенностях процесса разработки с использованием платформы FM. А точнее, мы хотим дать несколько советов (как практических, так и концептуальных), которые, возможно, сделают процесс разработки более комфортным.

Опытный разработчик может просто бегло ознакомится с данным материалом, в то время, как начинающим такая информация может оказаться весьма полезной. Начнем с практических рекомендаций.

Активнее используйте окно структуры объектов Structure


FireMonkey формы по своей организации несколько отличаются от VCL аналогов. Компоненты FM имеют свойство parent, и, соответственно, позиции объектов привязаны не к самой форме, а непосредственно к parent-объекту (в данном случае parent не имеет ничего общего с наследованием классов). Поэтому увидеть к какому объекту «привязан» компонент и при необходимости «привязать» его к другому объекту, зачастую проще в окне структуры, чем непосредственно в редакторе формы. Особенно это касается 3D приложений, где используется трехмерная система координат.
Читать дальше →
Всего голосов 17: ↑12 и ↓5+7
Комментарии1

Управление изменениями в БД с Embarcadero DB Change Manager

Время на прочтение8 мин
Количество просмотров4.5K
Существует множество различных способов и решений, чтобы хранить изменения в БД и управлять ими. Важно найти наиболее приемлемый подход и применить подходящий инструмент, который поможет вам повысить степень автоматизации версионной миграции БД, повысить качество и надежность вашей работы, сэкономить ресурсы и время сотрудников. В прошлой статье я постарался на жизненном примере рассказать, откуда возникают проблемы управления изменениями БД, какие трудности это создает, и какие выводы можно сделать на базе этого, по большому счету, негативного опыта.
Как правило, для успешного внедрения технологий версионной миграции БД желательно иметь инструментальные средства, которые облегчают и автоматизируют выполнение следующих задач:
  • Обновление БД с конкретной версии на любую другую за один шаг, как на более позднюю, так и возврат к предыдущей;
  • Легкое получение скриптов миграции в автоматическом режиме, с возможностью «ручного» внесения исправлений в крайнем случае;
  • Создание «с нуля» нового экземпляра БД, соответствующего имеющейся версии приложения;
  • Простое создание тестовых/девелоперских экземпляров БД на базе актуальных рабочих БД для ведения разработки на них, которые максимально соответствуют этим рабочим.
  • Контроль и аудит нежелательных изменений в экземплярах БД, при необходимости автоматический возврат к эталонному состоянию в сжатые сроки.

Уже упоминалось, что версионный подход не очень эффективно применять без использования каких-либо инструментальных решений. Посмотрим, как можно решить эти задачи с помощью DB Change Manager компании Embarcadero. Это утилита для администраторов БД и разработчиков баз данных позволяет упростить и автоматизировать внесение изменений в базы данных и создавать отчеты об изменениях. DB Change Manager обеспечивает согласованность БД, соблюдение норм и конфиденциальность данных.

Концепция работы утилиты основывается на операциях сравнения и «архивирования». DB Change Manager позволяет анализировать и сравнивать элементы БД, взятые из двух различных источников данных. Он генерирует SQL-скрипт, с помощью которого один источник данных будет изменен так, чтобы он совпадал с другим.

Все операции выполняются в виде отдельных «заданий». Задания используются для организации повторно используемых процессов. Задание может быть выполнено по директиве пользователя или сохранено на диск, чтобы быть запущенным по расписанию в пакетном режиме из командной строки.
image
Читать дальше →
Всего голосов 10: ↑9 и ↓1+8
Комментарии0

От версионной миграции БД к управлению изменениями в БД

Время на прочтение6 мин
Количество просмотров10K
Спасибо людям, которые не стесняются поделиться своими мыслями и опытом, пусть даже негативным, по многим важным вопросам организации работы с системами БД. Я наткнулся на статью «Версионная миграция структуры БД: почему так лучше не делать», думал прокомментировать ее, но, рассмотрев дату публикации, решил написать свою. Совершенно очевидно, что автор имел собственное представление о значении и смысле слов, вынесенных им в заголовок. А неточное представление привело к тому, что решалась совсем не та задача. На Хабре довольно давно появились статьи, посвященные организации версионной миграции БД. Они легко обнаруживаются поиском по ключевым словам. Вот в этой статье: ВЕРСИОННАЯ МИГРАЦИЯ СТРУКТУРЫ БАЗЫ ДАННЫХ: ОСНОВНЫЕ ПОДХОДЫ приведено отличное введение в терминологию, задачи и основные методики их решения.
Мне хотелось бы на собственном примере рассказать о тех нежданных проблемах, которые без приглашения внезапно возникли перед нашей группой на одной из моих старых работ, и о том, чего нам тогда не хватало, для быстрого и эффективного разрешения ситуации – в общем, тоже негативный опыт — вдруг кому-то пригодится сейчас или в будущем. Несмотря на то, что в нашей компании мы более широко подходим к решению подобных задач, объединяя их под термином «Управление изменениями в БД», я постараюсь оставаться в поле терминологии из статьи выше.

ОПЫТ ПРОШЛЫХ ЛЕТ – О НЕРЕШЕННЫХ ПРОБЛЕМАХ

В 1997 году перед группой разработчиков, куда я только что вошел, была поставлена задача в течение 3 месяцев создать программный комплекс, который реализует автоматизированную технологию, которая должна была лечь в основу бизнес-деятельности всей компании. Дело давнее и, с вашего разрешения, я не буду углубляться в подробности и детали технологии и бизнес-процессов. Важно то, что нужно было обработать и взаимоувязать ежедневно принимаемые данные, поставляемые в значительных объемах из двух независимых внешних источников, накапливать их в хранилище, с минимальными задержками выдавать ответы по произвольным запросам от наших потребителей – менеджеров внутри компании, выполнять прогноз множества показателей на основе ретроспективного анализа накопленных объемов информации. Эта задача была выполнена, была создана типичная внутренняя корпоративная система, которая работает с той поры и до сих дней, успешно видоизменяясь и дорабатываясь в течение всего этого срока.
Читать дальше →
Всего голосов 18: ↑16 и ↓2+14
Комментарии4

RAD Studio XE5 для эффективного обучения программированию

Время на прочтение10 мин
Количество просмотров32K
Как евангелист Embarcadero я общаюсь с программистами достаточно интенсивно и на пределе физических возможностей. Траффик приблизительно 1000 человек в год. На семинарах ко мне подходят преподаватели, которые используют Delphi и C++Builder в обучении. После знакомства с возможностями RAD Studio XE5 они спрашивают: «Можно ли увидеть список весомых аргументов в пользу Delphi и C++Builder именно для образования?». Вопрос понятен. Люди годами используют эти продукты для обучения программированию, наблюдая, как их воспитанники с нуля достигают хорошего уровня с точки зрения самостоятельной разработки. Но «борьба» между технологиями ведётся и в области образования, а новомодные увлечения и броские продукты с необоснованно раздутым имиджем негативно воздействуют на людей, далёких от учебного процесса, но влияющих на принятие решений. Из уважения к преподавателям, часто за небольшие деньги растящих молодое IT-поколение, привожу такие доводы, подкреплённые личным более чем 15-ти летним опытом (школьники, студенты, аспиранты, преподаватели).

В условиях всё усиливающейся роли обучения программированию на всех этапах – от школьной скамьи до вуза – очень важно выбрать эффективную программную среду. Рассмотрим в этом качестве интегрированную среду разработки IDE и языковой базис на примере RAD Studio XE5, которая состоит из Delphi XE5, C++Builder и HTML5 Builder. Соответственно, языковые средства данного пакетного решения – это Delphi/Pascal, C/C++ и ряд популярных языков и технологий для Web-разработки. Такое сочетание весьма эффективно, если целью обучения программирования является формирование универсальных знаний и навыков, необходимых для создания современного программного обеспечения (ПО), в максимально широком диапазоне учащихся.

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

Знакомство с языками программирования должно происходить в школе. Но в силу различных причин очень многие студенты начинают обучение в вузах, имея весьма отдалённое представление о программирование, по крайней мере, создавать приложения самостоятельно они не умеют. Не нужно, говоря о массовом IT-образовании в плане изучения программирования, исходить из предположений о наличии каких-либо знаний. Именно поэтому требуется выработать единый подход к обучению программированию и в школе, и в среднеспециальном, и в высшем учебном заведении. Ещё раз отметим, что целью является поднятие всеобщего уровня знаний в области программирования и навыков создания приложений среди всех учащихся в национальных масштабах. Авторские методики и целевые программы развития наиболее одарённых учащихся неприменимы в отношении общего уровня. Используемые языки и программные среды при таком обучении не рассматриваться при формировании образовательных стандартов в школах, среднеспециальных и высших учебных заведениях по направлениям, непосредственно не связанным с разработкой ПО.

Читать дальше →
Всего голосов 30: ↑8 и ↓22-14
Комментарии28

Разработка кроссплатформенных мобильных приложений в Delphi #5

Время на прочтение3 мин
Количество просмотров9.9K
Разработка кроссплатформенных мобильных приложений в DelphiЧасть #1
Часть #2
Часть #3
Часть #4

В предыдущей части цикла мы более детально познакомились с принципами работы механизма связывания объектов LiveBinding на основе выражений. Благодаря возможностям подсистемы Visual LiveBinding разработчик избавлен от необходимости программировать эти выражения вручную. Сегодня мы продолжим разработку нашего приложения и познакомимся с новыми приемами работы с базами данных в FireMonkey с использованием FireDAC и LiveBinding.

В модуле данных (DataModule) создадим еще один набор данных с помощью компонента TFDTable. Свяжем его с таблицей tblIngredientes. Назовем его FDTIngredientes. По аналогии с предыдущими наборами данных, создадим список полей. Внесем изменения в процедуру ConnectToDB.

function TDM.ConnectToDB: Boolean;
begin
  try
    FDConnection1.Connected := True; // Устанавливаем соединение
    FDTRecipe.Open; // Открываем таблицу рецептов
    FDTUnits.Open; // Открываем единиц измерения
    FDTFoodstuff.Open; // Открываем продуктов
    FDTIngredientes.Open; // Открываем ингредиентов
  except
// Обработчик исключений....
  end;
  Result := FDConnection1.Connected;
end;
Читать дальше →
Всего голосов 31: ↑15 и ↓16-1
Комментарии1

Специальное предложение для учебных заведений

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


Компания Embarcadero объявляет специальную программу для учебных заведений — владельцев образовательных лицензий старых версий Delphi/C++Builder/RAD Studio/BDS.

Только до 31 декабря 2013 те учебные заведения, которые имеют лицензии на Delphi/C++Builder/RAD Studio/BDS любой версии, могут приобрести комплексное решение Embarcadero RAD Studio XE5 по cпециальной цене со скидкой 40% от цены обычной образовательной лицензии.

Embarcadero RAD Studio XE5 – это среда командной разработки native–приложений для Android и iOS. RAD Studio позволяет один раз написать приложение на языке C++ или Delphi, а затем автоматически оптимизировать его для различных платформ.

Читать дальше →
Всего голосов 10: ↑3 и ↓7-4
Комментарии2

Разработка кроссплатформенных мобильных приложений в Delphi #4

Время на прочтение6 мин
Количество просмотров17K
Разработка кроссплатформенных мобильных приложений в DelphiЧасть #1
Часть #2
Часть #3

В четвертой части настоящего цикла мы вновь возвратимся к разработке «настольного» приложения и попытаемся более подробно разобраться с технологией связывания объектов LiveBinding. Данный механизм универсален и подходит как для мобильных, так и настольных приложений. Более того, этот механизм работает и в VCL. Знакомство же с LiveBinding лучше начать именно в классическом проекте.

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

Итак, в модуле данных поместим два компонента TFDTable и настроим их на работу с таблицами tblUnit и tblFoodstuff (по аналогии с набором данных для работы с таблицей tblRecipe). Двойным щелчком на компоненте откроем редактор полей, добавим все поля (пункт контекстного меню Add all fields).

Важно понимать, что практически во всех реализациях компоненты наборов данных наследуются от класса TDataSet и работают с некоторым набором полей. Здесь имеются в виду экземпляры классов, наследников TField (TIntegerField, TStringField и т.д.). Набор полей можно создать в режиме проектирования (design-time) и настроить свойства полей с помощью «инспектора объектов». Если рассматривать TFDTable, то помимо полей, соответствующих физическим полям таблицы, можно создать и другие типы полей, например, вычисляемое (Caclulated) или подставляемое (LookUp) поле. Значения этих полей будут вычисляться динамически в ходе работы программы, а не браться из источника данных. Чуть ниже мы рассмотрим пример создания таких полей.

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

Ниже приведен фрагмент файла формы модуля данных uDM.dfm, содержащий описание одного из наборов данных и связанных с ними полей. Текстовое представление формы можно получить, если в контекстном меню формы выбрать пункт «View as Text». Для того, что бы вернуться в обычный режим представления формы, следует нажать «View as Form».
Читать дальше →
Всего голосов 20: ↑15 и ↓5+10
Комментарии4

Конкурс «Осенняя мобилизация»

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


В сентябре мы запустили релиз RAD Studio XE5 с поддержкой Android.
Специально для вас мы организовали конкурс «Осенняя мобилизация», чтобы поощрить разработку под самую популярную мобильную платформу Android и наградить лучших разработчиков. Конкурс стартует 11 ноября, а подводить итоги мы будем в последнюю неделю года, 25 декабря.

Регистрируйтесь на сайте конкурса, создавайте приложения на Delphi XE5 для Android и выигрывайте призы: планшет Asus Nexus 10, планшет Asus Nexus 7, смартфон Nexus 4 или специальный приз от компании Софтлайн – лицензия RAD Studio XE5.
Если вы разрабатываете на Delphi, но только задумываетесь о создании мобильных приложений, это хороший способ попробовать свои силы.
Если вы уже писали приложения под Android, конкурс – отличный повод попробовать новый инструмент разработки.
Если у вас есть опыт и в Delphi и в разработке под Android – ваши шансы на победу выше!
Для участия в конкурсе вам необходимо
Читать дальше →
Всего голосов 16: ↑8 и ↓80
Комментарии8

Разработка кроссплатформенных мобильных приложений в Delphi #3

Время на прочтение6 мин
Количество просмотров30K
Разработка кроссплатформенных мобильных приложений в DelphiЧасть #1
Часть #2

Настройка среды и создание нового мобильного приложения.


В предыдущей части цикла мы определились с задачей и создали простейшее FM приложение, которое отображает список рецептов. При этом мы использовали библиотеку доступа к данным FireDAC и технологию связывания объектов LiveBinding. Также мы условились, что в рамках поставленной задачи будет создано два приложения, использующих единую кодовую базу. И теперь, настало время для, возможно, самой интересной части – создания первого Android приложения.
Читать дальше →
Всего голосов 19: ↑13 и ↓6+7
Комментарии11