Delphi 2010

Блог Александра Божко

Архивы

Рубрики

Поделись с другими!
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  

Создание отчётов в приложениях никогда не относилось к категории моих любимых занятий. Тем не менее, так или иначе, этим приходится заниматься. В своем рабочем проекте, о котором я уже не раз рассказывал, я перевёл практически все отчеты с Rave на FastReport. Последний инструмент сейчас является безусловным лидером “отчётостроения” и если есть необходимость поддерживать проект в управляемом состоянии, то подобное преобразование просто необходимо выполнить. Естественно, при этом хотелось максимально эффективно использовать возможности FastReport и оптимизировать во всех отношениях старые отчеты. Одной из типичных проблем отчётах всегда была проблема отображения Memo полей. Они могут содержать достаточно объемный текст, а могут, напротив, иметь пустые значения. Если такие данные отображать в столбце рядом с обычными данными, то визуально это будет выглядеть малопривлекательно. Читабельность отчета снижается и данные воспринимаются значительно хуже. Проблема довольно типичная, поэтому я решил сделать небольшой пост на эту тему.

На уровне логики всё решается достаточно просто. Значения Memo полей можно опционально выводить под строкой, содержащей основные данные. Примерно так:

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


Поделись с другими!
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
Поделись с другими!
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  

Выпуск технической литературы, посвященной тому или иному продукту, наверняка как ни что другое свидетельствует о росте его популярности. За последний год я делал обзор двух книг, посвященных Delphi. И вот сегодня я расскажу еще об одной книге – iOS/Android Application Development with Delphi.

На этот раз книга практически полностью посвящена мобильной разработке в Delphi. И это именно то, чего долго ожидали многие разработчики.

Конечно, книга отнюдь не дешевая ($48), особенно по нашим меркам. Хотя, для профессиональных разработчиков деньги вполне подъемные. Действительно, автор (Francisco Charte) приложил не мало усилий, и предпринял меры для того, что бы труд не пропал даром. Вы возможно удивитесь, но каждая копия книги персонифицирована. Да, через некоторое время после оплаты мне прислали книгу в формате pdf. Обложка и колонтитулы содержали текст: “This books belongs to Aleksandr Bozhko”. С одной стороны, даже как-то приятно. С другой появляется чувство, что я не потратил деньги на то, что “можно легко украсть”.

Теперь о самой книге. Она чем-то мне напомнила старые книги  Borland Press. Во-первых, наверное, своим внушительным объемом (почти 600 страниц). Во-вторых, структурой и методичностью изложения материала. Фундаментальное вступление затрагивает ещё историю возникновения Borland inc. В иные времена я бы счел это банальной “водой”. Но сейчас, на фоне ставших не редкими вопросов о судьбе Delphi, очень даже актуально. Впрочем, автор не злоупотребляет историческими экскурсами. За рамки введения они не выходят.

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

Полное оглавление книги приведено в pdf формате.

Судя по всему автор начал работать над книгой еще тогда, когда актуальной версией Delphi была XE5. Но весь материал адаптирован под XE7. Там где это необходимо, акцентируется внимание на отличиях в различных версиях Delphi.

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

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


Поделись с другими!
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
Поделись с другими!
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  

Компания Embarcadero приглашает принять участие в конкурсе разработки мобильных приложений “Весенний марафон“.

В соответствии с правилами, участники конкурса должны создать приложение с использованием RAD Studio XE7.
Срок подачи заявок – до 1 апреля 2015, окончание конкурса – 15 мая.

Победители конкурса получат ценные призы.

Подробности на официальном сайте конкурса

 


Поделись с другими!
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
Поделись с другими!
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  

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

Embarcadero

Читать далее


Поделись с другими!
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
Поделись с другими!
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  

Знаете кто такой Рэй Конопка (Ray Konopka)? Те, кто познакомился с Delphi в 90-х наверняка помнят его, прежде всего, по книге “Создание оригинальных компонент в среде Delphi“. Не смотря на то, что издатели пропустили ошибку в названии (в тексте она исправлена), на мой взгляд, это одна из лучших книг по Delphi. Собственно, во многом благодаря ей, я в свое время начал понимать и любить Delphi.

Думаю, многим также известно, что и по сей день Рэй Конопка активно популяризирует Delphi, является партнером Embarcadero и принимает участие во многих мероприятиях. Кроме того, он является президентом компании Raize Software, которая распространяет несколько весьма полезных для Delphi  разработчиков продуктов. Самый известный из них, пожалуй, CodeSite Logging System. Embarcadero редакция данного продукта (CodeSite Express) входит в состав RAD Studio, начиная с версии XE. Лично я стал использовать этот продукт, практически сразу.  Если же вы до сих пор не познакомились с ним, рекомендую прочесть обзор Владислава Баженова.

На самом деле CodeSite Logging System – продукт очень серьезный с очень впечатляющим функционалом. И даже урезанная Embarcadero редакция предоставляет разработчику достаточно возможностей для того, что бы не утруждаться написанием собственной системы логирования.

Те, кто следит за моим блогом, знают, что я занимаюсь разработкой продукта, который массово продается. Как следствие, у нашего продукта есть множество клиентов, в разных точках мира, говорящих на разных языках, использующих разной программного и аппаратное обеспечение. Естественно, периодически у наших клиентов могут возникать проблемы в работе приложения, требующие вмешательства разработчиков. Сегодня я расскажу, как при помощи CodeSite Logging можно существенно облегчить себе жизнь и упростить процесс “отлова” багов на машинах клиентов.

Читать далее


Поделись с другими!
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
Поделись с другими!
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  

Прежде всего хочу поздравить всех читателей блога с прошедшими праздниками и пожелать всего наилучшего в наступившем году.

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

Sony Xperia™ M2

С характеристиками вы можете ознакомиться на официальном сайте. А субъективное впечатление весьма приятное. Обращает на себя внимание тот факт, что аппарат буквально напичкан фирменным софтом от производителя. Да и от продавцов достался в подарок внушительный комплект софта. В работе смартфон достаточно шустр и вполне оправдывает свою стоимость (примерно $200). К слову, свой предыдущий телефон GSmart 1362 я покупал примерно за те же деньги 2 года назад. Но, как вы, наверняка, догадались, основной интерес для меня заключался в том, как будут работать FireMonkey приложения.

Разработку я веду в XE7 на HP Envy 23 d254er с предустановленной Windows 8.1. Последнее обстоятельство, конечно же создает проблемы при установке драйвера. В очередной раз выручил пост и видеоролик Jim’а McKeeth.

Читать далее


Поделись с другими!
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
Поделись с другими!
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  

Embarcadero

До окончания действия специального предложения Embarcadero осталось меньше недели:

  • возможен апгрейд с любой старой версии на новую версию XE7: Delphi, C++ Builder и RAD Studio.
  • покупатели редакций Enterprise, Ultimate и Architect получают бесплатную лицензию Rapid SQL XE6.

Paweł Głowacki

  • “RasterrainObjPas” – Simple Ray Tracer in Object Pascal;

Sarina Dupont

Marco Cantu

Mason Wheeler

TMS Software

Jeroen W. Pluimers

Malcolm Groves

David I

Jon Lennart Aasenden

Александр Люлин


Поделись с другими!
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
Поделись с другими!
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  

Embarcadero

  • Зарегистрированным пользователям Delphi стала доступна книга Object Pascal Handbook by Marco Cantu на японском языке (угадайте, зачем я об этом написал?);

Sarina Dupont

Marco Cantu

Malcolm Groves

Jeroen Pluimers

OTAPI (SAimon Stewart) 

Developer Machines

DevExpress

FMX Express

Павел Прилуков

Владислав Баженов

Александр Люлин

Delphi XE5-XE7 разработка приложений для Android

 

 

 

 


Поделись с другими!
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
Поделись с другими!
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  

Embarcadero

Stephen Ball

Jeroen Pluimers

Malcolm Groves

OTAPI (SAimon Stewart) 

Nick Hodges

Александр Люлин


Поделись с другими!
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
Поделись с другими!
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  

Казалось бы количество версий Delphi перевалило за два десятка, и уж белых пятен, по крайней мере  относительно функций даты и времени, быть не должно. Действительно, появившийся, если не ошибаюсь, в Delphi 7, модуль DateUtils, казалось бы снимает все вопросы. Однако, не тут то было!

В доставшемся мне от предшественников проекте я тщательно вычистил функции подобные StartOfTheWeek или StartOfTheDay. Первая версия проекта была написана, похоже, на Delphi 5, в которой DateUtils просто еще не было. Потом этот модуль появился, а я, унаследовав проект, решил, что нет смысла таскать “лишний” код, а проще подключить DateUtils. И вот недавно я получил получил забавный баг. Приложение определяет всегда первый день недели – понедельник. Хотя, у большинства пользователей первым днем является воскресенье.

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

Note:StartOfTheWeek defines the week of AValue according to the ISO 8601 standard. That is, the week starts on Monday and ends on Sunday.

Лично мне не совсем понятно, почему данная функция реализована именно так, тем не менее, факт остается фактом. Но, как в свое время говаривала Лия Ахиджакова: “Надо что-то с этим делать, бороться как-то!”

Смотрим код функции:

function StartOfTheWeek(const AValue: TDateTime): TDateTime;
begin
  Result := Trunc(AValue) - (DayOfTheWeek(AValue) - 1);
end;

Как видим, в коде используется функция DayOfTheWeek, которая так же считает, что первым днем недели является понедельник. Код функции такой:

  Читать далее


Поделись с другими!
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  

Продукты DevArt

Купить онлайн:



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