уважаемые посетители блога, если Вам понравилась, то, пожалуйста, помогите автору с лечением. Подробности тут.

Вышла Delphi XE7. А всего полгода назад выходила Delphi XE6 с которой я так толком и не познакомился, т.к. бОльшую часть времени работал в Delphi XE3 и было немного не до новинок. В случае с XE7 я решил более основательно изучить, что нового появилось в версии и, по возможности, «пересесть» на самую свежую версию Delphi, если это окажется оправданным и более или менее безболезненным в плане переделок/доработок уже существующих проектов, разработанных в Delphi XE3. В этой заметке я решил рассмотреть лишь некоторые нововведения в XE7. Что касается более подробного описания обновлений, то об этом я постараюсь рассказать позднее.

Новый класс TNetEncoding

Класс располагается в модуле System.NetEncoding и предоставляет в наше распоряжение несколько самых распространенных способов кодирования данных, используемых в Сети. Теперь преобразовывать строки для работы в Сети можно так:

uses System.NetEncoding;
 
TNetEncoding.Base64.EncodeString(S);
TNetEncoding.Base64.DecodeString(S);
TNetEncoding.URL.EncodeString(S);
TNetEncoding.URL.DecodeString(S);
TNetEncoding.HTML.EncodeString(S);
TNetEncoding.HTML.DecodeString(S);

Следует отметить, что представленный класс заменяет собой ранее существующие методы. Ниже представлена таблица соответствия новых методов класса и старых методов использующихся в Delphi XE6 и более ранних версиях:

Класс TNetEncoding Delphi XE6 и ниже
TNetEncoding.Base64.EncodeBytesToString Soap.EncdDecd.EncodeBase64
TNetEncoding.Base64.DecodeStringToBytes Soap.EncdDecd.DecodeBase64
TNetEncoding.Base64.EncodeStream Soap.EncdDecd.EncodeStream
TNetEncoding.Base64.DecodeStream Soap.EncdDecd.DecodeStream
TNetEncoding.Base64.EncodeString Soap.EncdDecd.EncodeString
TNetEncoding.Base64.DecodeString Soap.EncdDecd.DecodeString
TNetEncoding.HTML.EncodeString Web.HTTPApp.HTMLEncode
TNetEncoding.HTML.DecodeString Web.HTTPApp.HTMLDecode
TNetEncoding.URL.EncodeString Web.HTTPApp.HTTPEncode
TNetEncoding.URL.DecodeString Web.HTTPApp.HTTPDecode
Различные методы в Delphi XE6 и ниже поддерживали работу как с AnsiString, так и с UnicodeString или только с AnsiString. Новый класс TNetEncoding поддерживает работу только с UnicodeString.

Работа с массивами

Улучшена инициализация динамических массивов. Теперь допустимо выполнять такие операции:

var B: array of integer;
begin
  B:=[1,2,3,4,5];
end;

Более того, с динамическими массивами можно работать также как и с обычными строками. Например, следующие операции с массивами в Delphi XE7 не вызовут никаких ошибок:

B := B + [5, 6, 7];
 Insert([6, 7, 8], B, 5); //вставка массива [6, 7, 8], в B, начиная с индекса 5
 Delete(B, 1, 3); //удаляем 3 элемента, начиная с индекса 1
 Concat([1,2,3,4],[5,6,7])
При этом первый элемент массива всё так же, как и обычно начинается с нуля

Новые библиотеки

  1. Обновлена библиотека Zlib до версии 1.2.8.
  2. В состав Delphi XE7 включена библиотека OmniXML

Новые типы проектов

Если в Delphi XE6 мы выбирали между Firemonkey Desktop Application и Firemonkey Mobile Application, то теперь, в Delphi XE7 есть только один тип проекта — Multi-Device Application. Создав приложение этого типа, мы можем «на лету» в дизайнере менять внешний вид формы и смотреть как будет выглядеть приложение на десктопе или смартфоне:

delphiXE7_designer

Здесь же в дизайнере можно выбрать, например, Android-устройство с определенной диагональю экрана:

delphiXE7_designer2

 

Кроме этого вновь были расширены возможность FireMonkey. Главное нововведение — новый компонент TBluetoothLE для поддержки Bluetooth.  Кроме того был дополнен новыми методами и свойствами компонент TWebBrowser, в частности, была добавлена поддержка кэширования и методы Stop и CaptureBitmap.

 

Ознакомиться с Rad Studio/Delphi XE7 можно, скачав триал-версию с официального сайта Embarcadero.
Пресс-релиз о выходе RAD Studio XE7 можно почитать тут (на англ.)
0 0 голоса
Рейтинг статьи
уважаемые посетители блога, если Вам понравилась, то, пожалуйста, помогите автору с лечением. Подробности тут.
Подписаться
Уведомить о
3 Комментарий
Межтекстовые Отзывы
Посмотреть все комментарии
trackback

[…] я говорил в прошлый раз, в Delphi XE7 появился новый тип проектов под названием […]

Сергей
Сергей
25/10/2014 20:03

В самом не подходящем месте вылазит окошко с рекламой.

trackback

[…] уже традиционно, в этом году мы увидели Delphi XE6 и Delphi XE7. С Delphi XE6 я практически не работал, т.к. в тот момент был […]