Блог Александра Божко
Архивы
Рубрики

купить

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

Книга – лучший подарок! Этот лозунг, рожденный во времена книжного дефицита, пожалуй, актуален на все времена. Конечно, если книга стоящая. А, на мой взгляд, именно таковой является Coding In Delphi Ника Ходжеса. Думаю, сам автор в представлениях особо не нуждается, и его имя под текстом говорит о многом.

Что касается непосредственно книги, то в отличии от большинства Delphi-книг, это не учебник, рассказывающий о возможностях продукта и их использовании. Это книга о языке Delphi. Именно о языке и грамотном применении языковых конструкций Coding In Delphi. Думаю, этот труд будет полезен как начинающим, так и опытным разработчикам. Особенно, с учетом того, что язык Delphi со времен Delphi 7 довольно серьезно обновился и начал поддерживать абсолютно новые языковые конструкции (например, дженерики, анонимные методы и т.д.).

Но ценность книги заключается даже не в том, что в ней довольно подробно описаны практики применения тех или иных языковых возможностей, а, скорее в том, что книга учит осознано создавать грамотный код. Учит именно тому, что отличает программирование от “формошлепства”, которым почему-то так часто попрекают Delphi-разработчиков.

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

Для тех, кто хочет получить эту книгу уже сейчас – достаточно купить Delphi XE5.

 

В сегодняшнем посте я хочу сделать краткий обзор инструмента ER Studio, который позиционируется как комплексное решение для моделирования, разработки архитектуры и создания проектов физических баз данных. Сразу оговорюсь, что существует довольно много редакций продукта, которые отличаются функциональным набором и, соответственно, ценой. В состав Delphi XE3 Architect входит Developer редакция продукта. Именно ее я и использовал. Подробнее о ценах на продукт я планирую рассказать на сайте компании DC Link (реселлер продуктов Embarcadero на территории Украины).

Получение модели

После запуска ER Studio список возможных действий не поражает особым разнообразием. И единственное, если не считать немногочисленных настроек, что можно сделать это создать новую модель. Стандартный диалог предлагает три варианта.

Создать новую модель “с чистого листа”, импортировать модель ERWin или выполнить т.н. обратную инженерию существующей БД (построить модель по существующей базе)  Естественно реверсинжайн, оказался для меня самым интересным вариантом. Последовательность из пяти интуитивно понятных диалогов позволяет настроить модель, выбрать ее нотацию, объекты, которые следует включать и определить другие настройки.

Читать далее

Предыдущий пост вызвал довольно оживлённую дискуссию относительно оптимальности приведенного решения. Напомню, что ставилась задача в отфильтрованном гриде необходимо некоторым образом модифицировать все записи. Действительно, приведенный вариант был далеко не оптимальный. С подачи резидента DevExpress (Константин, спасибо) я набросал еще несколько вариантов решения данной задачи.

Наиболее приемлемым мне показался этот:

if cxDBGridDBTableView1Approved.Filtered then
  cxDBGridDBTableView1Approved.Filtered:= False;

qryTiming.filter:= cxDBGridDBTableView1.DataController.Filter.FilterText;
 qryTiming.DisableControls;
 qryTiming.filtered:= True;
 qryTiming.first;

 while not  qryTiming.Eof do
 begin
   qryTiming.Edit;
   qryTimingApproved.AsInteger:= Approving;
   qryTiming.Post;
   qryTiming.Next;
 end;

qryTiming.filtered:= False;
qryTiming.EnableControls;

Обратите внимание на то, если изменяемое поле присутствует в условии фильтрации, то фильтр по нему сбрасывается. В противном случае, проход через все записи в наборе данных не будет обработан корректно. Так устроен  DataSet. Читать далее



Рассылка книжного магазина притащила информацию о новой книге.

Д.Л. Осипов. Delphi XE2. Наиболее полное руководство. К сожалению, я не знаком с книгами автора, но если верить Всеволоду Леонову, качество предыдущих  книг Дмитрия Осипова весьма достойное.

В книге дан обзор всех новинок Delphi XE2 (коих, как известно, не мало). LiveBinding, DataSnap и, конечно же, FireMonkey.

Издатель акцентирует внимание на последовательность и глубину изложения материала.

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

Купить книгу Д.Л. Осипов. Delphi XE2. Наиболее полное руководство.

Как и обещал, продолжаю повествование о FireMonkey.

Сегодня несколько слов об освещении 3D сцены и об окраске поверхностей 3D объектов. Не смотря на кажущуюся простоту, тема довольно  интересная.

Представьте себе обычную комнату, с мебелью и другими предметами интерьера, в которой полностью отсутствует освещение. Теперь давайте создадим новую 3D форму, поместим в ней несколько 3D объектов и… покрасим ее в черный цвет. Примерно так:

self.Color:= TAlphaColors.Null;

Фактически, таким образом,  мы получим модель идеальной темной комнаты. В которой, как справедливо заметил Конфуций, очень трудно искать черную кошку. В роли кошек, в нашем случае выступают 3D фигуры. Ни одной фигуры на форме, как вы понимаете, не видно. Вот с этого места, на мой взгляд, и следует рассказывать об освещении и свойстве 3D объектов FireMonkey - Material.

property Material: TMaterial read FMaterial write SetMaterial; Читать далее

Размышления на тему обращения к полям DataSet

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

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

В некоторой степени этот вопрос уже был затронут в болге Delphi Notes.

В начале немного теории. По умолчанию, при размещении экземпляра TDataSet на форме, Delphi автоматически создает наследников TFields для каждого поля в наборе данных, с учетом типов этих полей. В режиме проектирования (design mode) можно заменить эти поля на постоянные с помощью редактора полей. Лично я всегда предпочитаю всегда создавать поля в редакторе. Кроме того, мы можем добавить вычисляемые (calculated) и выпадающие (lookup) поля. Читать далее

Боремся со скоростью!

В предыдущем посте я затронул проблему производительности приложения, использующего DevExpress компоненты. Здесь я расскажу о некоторых своих изысканиях в данном направлении.

Итак, имеем следующее…

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

К набору данных привязаны cxGrid, в котором активное представление TcxDBGridDBTableView и cxPivotGrid (еще один очень интересный компонент из набора DevExpress о котором обязательно стоит рассказать). При загрузке свыше тысячи записей наблюдается явственная протормозка.

Попробуем выяснить из-за чего именно. Ниже я приведу свой ход мысли. Возможно, в чем-то я не прав, поэтому надеюсь на вашу помощь в рассуждениях…

Я попытался вычислить количество миллисекунд, затрачиваемых на открытие DataSet’а и на загрузку данных в Grid’ы примерно так: Читать далее

Содержание:

В ожидании x64: WOW64
Старые приложения в новом мире… Александр Алексеев
Delphi и Unicode
Объясняем основы Петер Присман
Что будем праздновать?
Всегда забываю памятные даты Петер Бейлсма
Проект Xfont
Работаем со шрифтами Давид Дирксе
Учимся использовать FastReport 4 для VCL, часть 1
Не только для чайников Сергей Любезный
Введение в 64 бита на Windows
Всё, что вы только хотели знать Александр Алексеев
Создание web-приложений для iPhone/iPod/iPad
с Delphi и TMS controls

Просто изумительный пакет Бруно Ференс
Введение в базы данных, часть 3: TDataSet
Кто может обойтись без БД? Кэри Дженсен
64-битные Delphi программы уже в пути
Эта статья публикуется с любезного разрешения Embarcadero
Узнаем кое-что… Примож Габриельчич
Программирование на Паскале в ОС Android
Вы Чужой? Или Андроид? Фелипе Монтейру де Кавалью
Альтернативы FieldByName
Хотите научиться чему-нибудь новому? Хэнк Схрей
Компоненты FlexCel в действии Группа компонентов ‘musthave’ Зигфрид Цур

Скины для dxRibbon

Как гласит официальная документация, для того, что бы применить скин для dxRibbon нужно изменить свойство ColoreSchemeName. Действительно, устанавливаем значения свойства как Office2010Silver и прямо в режиме проектирования видим как наш Ribbon bar преображается.

skinnedribbon

Однако запустив приложение видим следующее:

skinnedribbonold

Обычный голубой скин, который и был изначально. Какой бы скин мы не выбрали, ситуация не меняется. dxRibbon отображает только стандартные цветовые схемы – blue, black и silver.

В чем же проблема?

Читать далее

Как-то так получилось, что я не написал сразу о выходе первого бесплатного номера Blase Pascal Magazine в русской редакции. Поэтому напоминаю. что он доступен для скачивания на русской странице издания.

Тем временем, наши голландские коллеги успели выпустить сразу три номера, один из которых бесплатный и посвящен Delphi Starter Edition.  Не пропустите!

Перевод всех трех номеров также практически завершен.

Так что скоро вы сможете прочесть как минимум, еще один выпуск на русском языке. Два остальных распространяются по подписке.

Подробная инструкция как оформить подписку приведена на сайте.

Можно подписаться на журнал как на в формате .pdf, так и на бумажную версию. Кстати, я стал обладателем бумажной версии первого выпуска. Что можно сказать? Хорошая полиграфия. Удобно, красиво, приятно…

Одним словом – рекомендую.

Чуть позже выложу фото (что-то не ладится у меня с фототехникой…)

Читать далее

Продукты DevArt
Купить онлайн:



Читай русскоязычные Delphi блоги
Каталог блогов Blogdir.ru
Яндекс.Метрика