25 ноября 2021

Выпущен RAD Studio 11 Alexandria Patch 2

    Компания Embarcadero выпустила второе обновление для RAD Studio, Delphi и C++Builder 11 Alexandria. Это обновление называется "ноябрьским" и содержит несколько фиксов для VCL и новую версию PAServer для iOS и macOS, которая улучшает поддержку последних Apple SDK на macOS Monterey. Обновление является кумулятивным и включает в себя все исправления RAD Studio 11.0 Patch 1. Это означает, что ноябрьский патч может быть установлен как на RAD Studio 11 с установленным 1-м обновлением, так и на RAD Studio 11 RTM.

17 ноября 2021

Delphi сегодня, завтра и послезавтра

    Доклад Марко Канту "Keynote - Beyond 10x - The Future of Development with Delphi" на DelphiCon 2021 прошел под лозунгом "Delphi развивался, Delphi развивается, Delphi будет развиваться!". Если с "Delphi сегодня" все понятно – это IDE для быстрой разработки приложений с нативными компиляторами под Windows, macOS, Linux, Android и iOS, это Delphi 11 Alexandria. Но, что такое "Delphi завтра и послезавтра"?

16 ноября 2021

DelphiCon 2021

    Сегодня, 16 ноября 2021 года, стартует DelphiCon 2021 - официальная бесплатная онлайн-конференция посвященная Embarcadero Delphi.
DelphiCon 2021

15 ноября 2021

TIOBE Index ноябрь 2021-го года

    После восхождения Python на пьедестал рейтинга языков программирования TIOBE Index он смог за месяц укрепить свою позицию. В TIOBE Index ноябрь 2021 его рейтинг вырос на 0.5% (с 11.27% до 11.77%). При этом старый лидер C, хоть и медленнее, но продолжил терять свой рейтинг (с 11.16% до 10.72%). Можно сказать, что он уже делит 2 место с Java, который с аналогичным рейтингом в 10.72% занимает 3 место (рост с 10.46% до 10.72%).

09 ноября 2021

Призы на DelphiCon 2021

    Для привлечения внимания к бесплатной онлайн-конференции DelphiCon 2021 компания Embarcadero анонсировала розыгрыш призов и реферальную систему регистрации.
Призы DelphiCon 2021

25 октября 2021

Выпущен RAD Studio 11 Alexandria Patch 1

    Компания Embarcadero выпустила первое обновление для RAD Studio, Delphi и C++Builder 11 Alexandria. Оно устраняет несколько важных проблем, относящихся к библиотеке VCL, IDE, поддержке Apple iOS Store, High-DPI и др. Это самый "тяжелый" патч для RAD Studio за последние годы (примерно 700 МБ).

21 октября 2021

FireDAC vs UniDAC. Получение значения первичного ключа новой строки

    Два года тому назад я писал о получении в программе значения первичного ключа, который сгенерирован СУБД при добавлении новой строки в таблицу. Мои примеры вызова INSERT с модификатором RETURNING (или OUTPUT в случае MS SQL Server) были с использованием библиотеки для доступа к базам данных UniDAC. Давайте посмотрим, как реализована эта возможность в библиотеке FireDAC, которая уже много лет входит в поставку Delphi и C++Builder.

15 октября 2021

Запуск Delphi и C++Builder без Welcome Page

    Страница приветствия в Delphi и C++Builder 11 Alexandria стала более удобной. Но все равно ее наличие при загрузке IDE нравится не всем программистам. Есть, как минимум, два способа запустить Delphi и C++Builder без страницы приветствия.

08 октября 2021

TIOBE Index октябрь 2021: Смена лидера

    Впервые более чем за 20 лет у рейтинга языков программирования TIOBE Index появился новый лидер. В TIOBE Index октября 2021 года, потеснив постоянных лидеров рейтинга C и Java, первое место занял Python. За 20 лет Python 4 раза становился "Языком года TIOBE Index" (в 2007, 2010, 2018 и 2020 годах). Это лучший результат среди всех языков. Прежние лидеры рейтинга тоже получали это звание, но C – 3 раза (2008, 2017 и 2019), а Java – всего 2 раза (2005 и 2015).

28 сентября 2021

Анонс DelphiCon 2021

    27 сентября 2021 года компания Embarcadero анонсировала проведение бесплатной онлайн-конференции DelphiCon 2021. Конференция пройдет в период с 16 по 18 ноября 2021 года. С докладами выступят MVP и технологические партнеры компании. Планируются сессии, посвященные новому функционалу Delphi 11 Alexandria, а также общим рекомендациям и технологиям, применимым ко всем версиям Delphi.
DelphiCon 2021

22 сентября 2021

MS SQL Server. Получение из файловой системы списка папок и файлов

    Иногда работа с базами данных подкидывает не стандартные задачи. Например, недавно мне в скрипте MS SQL Server понадобилось получить из файловой системы список папок и файлов. Мои попытки сделать это через объект Scripting.FileSystemObject потерпели неудачу. Его метод GetFolder по имени папки возвращает объект Folder, у которого есть свойства SubFolders/Files содержащее списки вложенных папок и файлов. Но проблема в том, что эти списки – это коллекции, элементы которых в VBA можно перебрать в цикле "For Each File in Folder.Files", а из скрипта T-SQL к их элементам можно обратиться только по имени папки/файла (exec sp_OAMethod @objItems, N'Item("FileName.txt")', @objItem out). То есть для получения списка папок и файлов объект Scripting.FileSystemObject не подходит. Поиск в интернете позволил мне сформулировать 4 различные способа решения этой задачи.

15 сентября 2021

Delphi 11. Поддержка CheckBox'ов в узлах TTreeView

    В Delphi 11 Alexandria разработчики сделали одну из самых существенных за много лет доработок контрола для отображения древовидных структур TTreeView. Наконец-то его узлы (TTreeNode) могут быть CheckBox'сами.

13 сентября 2021

TIOBE Index сентябрь 2021: Delphi снова на 20-м месте

    TIOBE Index на сентябрь 2021 не представляет из себя ничего интересного. C, Python и Java по прежнему возглавляют рейтинг. Можно отметить только то, что Delphi набрав 0.15% рейтинга вернулась на июльскую позицию (переместилась с 22-го на 20-е место).
Топ-20 TIOBE Index сентябрь 2021-го года
Топ-20 TIOBE Index сентябрь 2021-го года

12 сентября 2021

Delphi 11. Разделитель цифр в числовых литералах

    В Delphi 11 Alexandria разработчики добавили разделитель цифр для числовых литералов (констант). Он улучшает читаемость числовых литералов с большим количеством цифр. В качестве разделителя используется символ подчеркивания "_". Символы разделителя могут быть добавлены после любого количества цифр. Они игнорируется при синтаксическом анализе и компиляции кода, так как используются только для форматирования числа и никак не влияют на его значение.
const
  ciDEC = 1_000_000;
  ciHEX = $0F_42_40;
  ciBIN = %1111_0100_0010_0100_0000;
  
var
  i: Integer;
begin
  i := 1_000_000;
  i := $0F_42_40;
  i := %1111_0100_0010_0100_0000;
Этот синтаксис позаимствован у C# 7.0.

11 сентября 2021

Delphi 11. Двоичные литералы (константы)

    Со времен Turbo Pascal мы привыкли, что Delphi поддерживает числовые литералы (константы) двух видов: десятичные (без префикса) и шестнадцатеричные (в качестве префикса используется знак доллара "$"). В Delphi 11 Alexandria разработчики добавили поддержку двоичных литералов. Для них в качестве префикса выбрали символ процента "%". Этот синтаксис используют и другие компиляторы языка Pascal. Например, FreePascal.
    Запишем числовой литерал 100 в различных системах счисления:
const
  ciDEC = 100; // в десятичной системе
  ciHEX = $64; // в шестнадцатеричной системе
  ciBIN = %1100100; // в двоичной системе  

var
  i: Integer;
begin
  i := 100; // в десятичной системе счисления
  i := $64; // в шестнадцатеричной системе счисления
  i := %1100100; // в двоичной системе счисления

10 сентября 2021

Delphi 11. Театр начинается с вешалки, а Delphi с Welcome Page

    С каждой версией Delphi ее разработчики стараются сделать IDE более удобной. Delphi 11 Alexandria не стала исключением. При ее запуске нас встречает абсолютно новая версия страницы приветствия. Вместо отображения во встроенном браузере HTML-страницы теперь полноценный VCL-диалог, реализованный с использованием добавленного в RAD Studio 10.4.2 контрола TControlList.
Welcome Page в Delphi 11

09 сентября 2021

Выпущены Delphi, C++Builder и RAD Studio 11

    Сегодня, 9 сентября 2021 года, компания Embarcadero выпустила Delphi, C++Builder и RAD Studio 11 Alexandria.
Delphi 11 splash screen
Вопрос: Почему Александрия?
Ответ: Город в Африке + великая библиотека
Подробнее:

08 сентября 2021

Фиксим "There is insufficient system memory in resource pool 'internal' to run this query" при запуске MS SQL Server

    Вчера MS SQL Server преподнес мне сюрприз. При создании новой базы данных он выдал ошибку "There is insufficient system memory in resource pool 'internal' to run this query" и "умер" – сервис SQL Server не запускался, а в ERRORLOG сыпались ошибки:
Msg 701, Level 17, State 130, Server XYZ, Line 1
There is insufficient system memory in resource pool 'internal' to run this query.

01 сентября 2021

Delphi 11. Улучшения VCL

    В связи с приближающимся релизом RAD Studio 11, Delphi 11 и C++Builder 11 компания Embarcadero стала понемногу рассказывать, что нас ждет в новой версии. Уже подтверждено добавление в Delphi поддержки Android API 30 и 64-битного ARM-компилятора под macOS для процессора Apple Silicon M1 (при этом будет возможность создать универсальный бинарный файл, который одновременно содержит код и для Intel и для ARM). Сегодня на Desktop First UX Summit 2021 Марко Канту рассказал о развитии VCL в RAD Studio 11.

24 августа 2021

Работа с любыми структурами данных через DB-Aware контролы

    DB-Aware контролы в Delphi значительно упрощают жизнь разработчикам GUI-программ работающих с базами данных. Они многое делают сами без написания кода – отображают данные, позволяют пользователям их модифицировать и сохраняют изменения в базу данных. Но, что делать, если данные хранятся не в базе данных, а в массиве, списке, объекте или какой-нибудь другой структуре? Можно воспользоваться "memory table" – потомком TDataSet, который хранит данные в памяти. Скопировать в него данные, отобразить, обработать и скопировать обратно. Вариантов таких "memory table" много: TClientDataSet, TFDMemTable из FireDAC, TkbmMemTable, TVirtualTable из UniDAC, TMemTableEh из EhLib... Но есть способ решить этот вопрос проще, без копирования данных туда-сюда.

19 августа 2021

Разделение по диагонали ячейки MS Excel с двумя значениями

    Существует много способов разнообразить внешний вид таблицы в MS Excel. Например, иногда таблица может стать более наглядной, если в одной ячейке разместить сразу два значения, разделив ее по диагонали на две части. Одним из вариантов использования такой ячейки является шапка таблицы, в ячейке которой сразу два заголовка – для строк и для столбцов.
Таблица MS Excel с разделением ячейки по диагонали

11 августа 2021

Использование нескольких шрифтов и цветов в одной ячейке MS Excel одновременно

    Каждое слово или буква в ячейке MS Excel может иметь свой шрифт, стиль шрифта, цвет и размер. Это позволяет сделать таблицу более наглядной и удобочитаемой. Для подобного форматирования ячейки достаточно перевести ее в режим редактирования нажатием клавиши F2 или двойным кликом левой кнопки мыши, выделить нужный участок текста и поменять параметры его шрифта. Как это сделать программным способом?

05 августа 2021

TIOBE Index август 2021: Delphi снова покинул топ-20

    Бурный рост рейтинга Delphi в TIOBE Index в начале 2021-го года привел его в апрельском выпуске рейтинга на 12-е место. Я, надеясь на сохранение темпов роста, мечтал уже о 11-м месте и даже о топ-10. Но что-то пошло не так...

03 августа 2021

Как снять защиту книги MS Excel не зная пароль?

    MS Excel позволяет защитить структуру книги паролем, что запретит другим пользователям манипуляции с ее листами. Не зная пароль нельзя добавлять, перемещать, удалять, скрывать и переименовывать листы, а также просматривать скрытые ранее листы. Звучит красиво. Но защита книги очень ненадежна и ее легко можно снять тем же способом, как я снимал защиту с листа MS Excel.

28 июля 2021

Как определить реальную версию Windows?

    WinAPI – это огромный монстр с неисчислимым количеством функций, которые запросто могут дублировать функционал друг друга. Это позволяет решить одну задачу различными способами. Так и для определения версии установленной на компьютере операционной системы существует несколько путей. Давайте посмотрим на сколько они эффективны.

20 июля 2021

Выпущены Delphi и C++Builder 10.4.2 Community Edition

    Спустя год и два месяца после выпуска RAD Studio 10.4 Sydney, компания Embarcadero выпустила Delphi и C++Builder 10.4.2 Community Edition. Эта версия делает бесплатными функции Delphi и C++Builder 10.4.2 Professional Edition для студентов, разработчиков "любителей" и некоммерческих организаций. Она, как и раньше, не включает поддержку разработки программного обеспечения под Linux и позволяет разрабатывать под Windows, macOS, iOS и Android. Пользователям Delphi и C++Builder 10.3.3 Community Edition необходимо получить новые лицензионные ключи.
Выпущены Delphi и C++Builder 10.4.2 Community Edition
    Подробнее о Delphi CE и C++Builder CE вы можете почитать на сайте компании.

13 июля 2021

Delphi 10.5 отменяется – ждем Delphi 11

    Компания Embarcadero вместо запланированной в Delphi, C++Builder и RAD Studio roadmap 2020/2021 версии 10.5 выпустит 11-ю версию.
RAD Studio is coming
Это связано с нумерацией версий операционных систем, на которые ориентируется средство разработки. Серия релизов RAD Studio 10.x: 10 "Seattle", 10.1 "Berlin", 10.2 "Tokyo" и 10.4 "Sydney" были ориентированы на Windows 10 и OS X (macOS 10). В свете выпуска macOS 11 и недавнего объявления Microsoft о предстоящем выпуске Windows 11, компания Embarcadero решила соответствующим образом изменить нумерацию версий RAD Studio.

12 июля 2021

Delphi, C++Builder и RAD Studio 10.5 Beta

    Компания Embarcadero начинает бета-тестирование следующего выпуска Delphi, C++Builder и RAD Studio. Эта бета-версия получила кодовое название Olympus.
Delphi, C++Builder и RAD Studio Olympus Beta
Материалы бета-программы (документация, описание функций каждой бета-сборки) защищены NDA.

06 июля 2021

Получение SHA1-хеша цифрового сертификата

    Одним из вариантов сертификата при программном добавлении цифровой подписи в PDF документ может быть идентифицированный по SHA1-хешу сертификат из хранилища сертификатов Windows. Получение без использования сторонних библиотек списка персональных сертификатов из хранилища я рассмотрел в статье Список персональных сертификатов. Но структура CERT_CONTEXT (record TCertificate в Delphi) для хранения информации о сертификате не содержит нужный нам SHA1-хеш. Давайте посмотрим, как достать его из сертификата.

29 июня 2021

Список персональных сертификатов

    Список персональных сертификатов пользователя в хранилище сертификатов Windows можно посмотреть с помощью менеджера сертификатов (certmgr.msc).
Менеджер сертификатов - Personal certificates
А как получить этот список в своей программе?

24 июня 2021

Двойная подпись файла сертификатами SHA-1 и SHA-256

    В 2016-м году Microsoft отказалась от сертификатов X.509 с использованием алгоритма криптографического хеширования SHA-1. Основанием для этого было то, что SHA-1 – это устаревший алгоритм, который специалисты по безопасности считают небезопасным. Старые версии Windows не только не попали под эти ограничения, но и работают только с сертификатами SHA-1 (Windows 2000 SP4, Windows XP SP3, Windows Vista SP2, Windows Server 2003 SP2, Windows Server 2008 SP2). Таким образом, если вы допускаете использование вашей программы на этих устаревших операционных системах, то вы должны подписать ее двумя алгоритмами – и SHA-1 и SHA-256.

18 июня 2021

Oracle. Строковая функция REVERSE

    Недавно я перевел запрос с MS SQLServer на Oracle. Мне говорят: "не работает". Начал проверять. Оказалось, что если запрос по частям добавить в скрипт, то при его запуске получим ошибку "идентификатор 'REVERSE' должен быть объявлен".
идентификатор 'REVERSE' должен быть объявлен
Проблема в том, что у MS SQLServer есть стандартная строковая функция REVERSE, которая возвращает строковое значение, где символы переставлены в обратном порядке справа налево, а у Oracle ее нет. Но SQL-запрос с вызовом функции REVERSE в Oracle работает... и работает корректно!

14 июня 2021

Цифровая подпись PDF документов созданных в FastReport

    С ростом популярности обмена документами в электронном виде тема защиты их от подделки становится все более важной. На прошлой неделе я писал о добавлении в PDF документ цифровой подписи с использованием Foxit Quick PDF Library. Сегодня хочу рассказать о возможности цифровой подписи PDF документов, созданных с использованием генератора отчетов FastReport.

09 июня 2021

Fire-Monkey.ru требуется помощь

    У Fire-Monkey.ru, единственного русскоязычного ресурса посвященного разработке на Delphi с использованием FireMonkey (FMX), проблема с движком форума. Требуется обновление движка форума на последнюю версию. Объявлен сбор средств на покупку его лицензии.



11.06.2021. Спасибо всем, кто принял участие! Нужная сумма собрана и форум открыт на новом движке. В благодарность за помощь Ярослав Бровин выложил на своем youtube-канале курс уроков по работе со стилями в FireMonkey.

07 июня 2021

Программное добавление цифровой подписи в PDF документ

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

04 июня 2021

Когда решили удалить поле из таблицы

Аналитик: -Надо удалить поле X из таблицы XYZ.
Я: -Не вижу проблем: alter table XYZ drop column X
Бэкенд-разработчик: -Что ты творишь?!?!
Фронтенд-разработчик: -Твари!
Когда решил удалить поле из таблицы
В сериале этот диалог звучал так (диалог начинает бандит, который на фото слева):
-Слушайте, пацаны, только поймите меня правильно. Могут стрелять по мне, а зацепят вас.
-Саша, это общее дело, и потом, мы с первого класса вместе.
-И за все, что мы делаем, отвечаем тоже вместе.
-И во всем этом дерьме прикрываю вас я!
-Бригада!
В чем смысл этого поста? Смысл в том, что на любом этапе реализации проекта, как бы не менялось задание, важно помнить, что на проекте мы все - бригада.

31 мая 2021

Встраиваем Microsoft Edge. Управление всплывающими окнами

    В интернет-браузере клик по ссылке с атрибутом "target="_blank"", или клик по ссылке левой кнопкой мыши с нажатой на клавиатуре клавишей ctrl или shift инициируют создание в интернет-браузере новой вкладки или нового окна. В WebView2 нет встроенной поддержки вкладок, поэтому в этой ситуации всегда открывается новое окно браузера. Например, в программе на Delphi первый клик по ссылке в TEdgeBrowser откроет окно браузера, второй клик в этом окне откроет второе окно и так до бесконечности. Самое плохое то, что эти новые окна мы уже не контролируем. Они живут своей жизнью даже после закрытия программы.
TEdgeBrowser/WebView2 NewWindowRequested
На скриншоте в логе программы видно, что открытие первой ссылки программа перехватила, а открытие второй ссылки, которое инициировано в окне браузера, программа не видит.

27 мая 2021

Stack Overflow Developer Survey 2021

    Stack Overflow начал свой ежегодный опрос разработчиков. Его анонимные результаты будут общедоступны в соответствии с лицензией Open Database License. Давайте поддержим Delphi и RAD Studio:
  • в разделе "programming, scripting, and markup languages" можно нужно отметить Delphi;
  • внизу раздела "development environments" можно нужно вписать RAD Studio.
Анкета не большая и ее заполнение займет всего 5-10 минут. Учетная запись Stack Overflow не требуется.

24 мая 2021

Встраиваем Microsoft Edge. Просмотр содержимого загруженной в WebView2 веб-страницы

    Добавленный в RAD Studio 10.4 Sydney новый контрол TEdgeBrowser позволяет легко встроить браузер Microsoft Edge на основе Chromium в приложение написанное на Delphi или C++Builder. Но его функциональные возможности ограничены возможностями Microsoft.Web.WebView2. Например, у всех интернет-браузеров есть функция для просмотра исходного кода загруженной в него веб-страницы, а у WebView2 такого метода нет. Но этот недостаток можно легко исправить.

21 мая 2021

Delphi и Lazarus в Telegram

    Популярность мессенджера Telegram не обошла стороной и комьюнити разработчиков на Delphi, Lazarus и Pascal. Хотя чатов данной тематики в нем немного, но они есть. Печально, что количество их участников очень маленькое. К тому же можно предположить, что большая часть участников различных чатов – это одни и те же лица.
Delphi и Lazarus в Telegram

06 мая 2021

TIOBE Index май 2021-го года

    Мои надежды, что Delphi в майском выпуске рейтинга языков программирования TIOBE Index займет 11-е место потерпели неудачу. Мне казалось, что рост стабилен, а отрыв в 0.24% от ближайшего преследователя гарантирует стабильность его положения. Но паршивец по имени Ruby в апреле набрал 0.27% рейтинга и перепрыгнул с 13-й позиции на 11-ю. А рейтинг Delphi, вместо продолжения роста, упал сразу на 5 позиций (-0.26%). Это отбросило его с 12-го на 17-е место.
TIOBE Index for May 2021 - TOP-20

03 мая 2021

Третье обновление для RAD Studio 10.4.2 – Delphi 10.4.2 RTL Patch

    Сегодня компания Embarcadero оперативно выпустила третье обновление для RAD Studio 10.4.2 - Delphi 10.4.2 RTL Patch. Оно устраняет оплошность, допущенную при выпуске RAD Studio 10.4.2 General Patch - исправляет баг RSP-33117 "Critical: TRY..FINALLY block is broken for non-Windows platforms". Delphi 10.4.2 RTL Patch доступен только для активных подписчиков на обновления в диспетчере пакетов GetIt. Его установка рекомендуется всем пользователям Delphi 10.4.2.

01 мая 2021

Исправление бага с TRY/FINALLY – Акела промахнулся

    В RAD Studio 10.4.2 General Patch нашли маленький недочет. Заявленное в нем исправление критического бага "RSP-33117 - Critical: TRY..FINALLY block is broken for non-Windows platforms" забыли включить в архив с патчем. Разработчики выпустят еще один патч, связанный с этой проблемой. Подробнее...

RAD Studio 10.4.2 General Patch и Delphi Compiler Patch

    Компания Embarcadero выпустил два патча для RAD Studio, Delphi и C++Builder 10.4.2. Патчи устраняют несколько критических проблем и доступны для активных подписчиков на обновления в диспетчере пакетов GetIt.

23 апреля 2021

Извлечение изображений из файла формата PDF

    Я уже писал о создании документов в формате PDF. Он представляет собой контейнер, который состоит из объектов различного типа: текста, изображений, шрифтов и так далее. Иногда может потребоваться операция обратная созданию – разобрать этот контейнер на составные части. Сегодня я рассмотрю извлечение изображений из PDF файлов и сохранение их на диск.

15 апреля 2021

Сортировка по текстовому полю содержащему комбинацию букв и цифр

    Сортировка результата SQL запроса – это то, с чем программисты сталкиваются постоянно. Обычно СУБД при сортировке текстовых полей для сравнения строк использует лексикографический порядок. Согласно Википедии, он означает, что слово X предшествует слову Y (X < Y), если:
  • либо слово X является началом слова Y (например, "МАТЕМАТИК" < "МАТЕМАТИКА");
  • либо первые m символов этих слов совпадают, а m+1-й символ слова X меньше m+1-го символа слова Y (например, "АБАК" < "АБРАКАДАБРА", так как первые две буквы у этих слов совпадают, а третья буква у первого слова меньше, чем у второго).
Этот способ сортировки строк подходит для большинства случаев. Проблемы могут возникнуть если строки содержат в себе комбинацию букв и цифр, а пользователи захотят видеть сортировку в "естественном порядке". Естественный порядок сортировки – это упорядочение строк в лексикографическом порядке, за исключением того, что многозначные числа обрабатываются атомарно (то есть, как один символ).
 Лексикографический порядок   Естественный порядок 
a12 a2a
a22 a2b
a2a a3a2
a2b a3a2a
a30z a12
a3a2 a22
a3a2a a30z

05 апреля 2021

TIOBE Index апрель 2021-го года

    Апрельский выпуск рейтинга языков программирования TIOBE Index принес несколько интересных новостей. Конечно, главная новость — это то, что Delphi продолжает свое восхождение к ТОП-10. За март он набрал 0.27% и переместился вверх на две позиции заняв 12-е место. Немаловажно то, что Delphi оторвался от ближайших конкурентов, которые наступали ему на пятки в мартовском выпуске (Ruby, занимающий 13-е место, отстает на 0.24%).
TIOBE Index for April 2021 - TOP-20

01 апреля 2021

Релиз Delphi 10.4 Sydney Community Edition

    Сегодня компания Embarcadero представила новую версию Delphi Community Edition. Она реализована на базе Delphi 10.4.2 Sydney и дополнена исправлениями, которые войдут в первое обновление RAD Studio 10.4.2 Sydney. Delphi Community Edition является бесплатной полнофункциональной средой разработки для создания кросс-платформенных приложений для Windows, Android, iOS и macOS.
Delphi 10.4.2 Sydney Community Edition

22 марта 2021

Использование TrueType шрифтов Microsoft в FastReport FMX под Linux

    Шрифты, устанавливаемые на компьютер вместе с продуктами Microsoft, плотно вошли в нашу жизнь. Их использование в документах – это давно уже не дань моде или привычке. Это требование, закрепленное в наших государственных стандартах. Например, шрифт Times New Roman упоминается в "инструкции по оформлению документов с использованием компьютерных технологий в органах государственного управления и иных государственных организациях". Дистрибутивы Linux не поставляется с проприетарными шрифтами Microsoft. Но, тогда как заставить исполняемую под Linux программу создавать в FastReport документы, соответствующие высоким государственным стандартам?

16 марта 2021

Встраиваем Microsoft Edge. Дополнение №2 "Новшества Delphi 10.4.2"

    Я уже два раза писал про возможность встраивания в приложение на RAD Studio 10.4 браузера Microsoft Edge на основе Chromium. Одной из проблем с которой столкнулись программисты в Delphi 10.4.1 является несовместимость TEdgeBrowser с WebView2 старше, чем выпущенная 8 месяцев тому назад версия 0.9.579 (багрепорт от клиентов RSP-31427). Причиной этого является то, что TEdgeBrowser в Delphi 10.4-10.4.1 после своего создания выполняет инициализацию элемента управления WebView2 в фоновом потоке, а разработчики из Microsoft отключили эту возможность.

12 марта 2021

Очередные четыре позиции Delphi в TIOBE Index

    В выпуске TIOBE Index за ноябрь 2020-го Delphi поднялся сразу на 4 позиции и вернулся в ТОП-20 на 18-е место. Последних два месяца зимы были для Delphi тоже удачными. Он набрал 0.41% рейтинга: январь +0.23% и февраль +0.18%. Это позволило Delphi, после четырехмесячного топтания на месте, снова шагнуть сразу на 4 позиции и в TIOBE Index за март 2021-го года подняться с 18-го места на 14-е.

09 марта 2021

Состязание компиляторов: Delphi 10.4.2 против Delphi 10.3.3 под допингом

WOW effect from Delphi 10.4.2 Compiler Improvements
    Поддавшись всеобщему вау-эффекту от новости про улучшение производительности компилятора Delphi 10.4.2 я сделал свои тесты, и тоже сказал "WOW!". Но один из комментариев к статье меня немного отрезвил: "Я так понимаю, те, кто использовал IDE Fix Pack (большинство?), разницы в скорости вообще не ощутят? Да уж, достижение века!". Как я сам не подумал добавить в сравнение Delphi 10.3.3 с установленным IDE Fix Pack? Без этого варианта тесты действительно не полные.

07 марта 2021

Улучшение производительности компилятора Delphi 10.4.2

    Одним из основных улучшений RAD Studio 10.4.2 Sydney является значительное увеличение скорости работы компилятора Delphi. Согласно официальному анонсу, разработчики реализовали более 35 различных оптимизаций компилятора. На вебинаре "What's Coming in Delphi, C++Builder and RAD Studio 10.4.2 Sydney" был заявлен рост скорости в 90 процентов.
Delphi 10.4.2 compiler improvements
На сколько же реально выросла скорость работы компилятора в Delphi 10.4.2?

02 марта 2021

FastReport меняет лицензию

    Мой интерес к Linux и комментарии к статье о создании документов в формате PDF подтолкнули меня к экспериментам с FastReport FMX. Задумавшись о получении на него лицензии я попытался разобраться, что поменялось в лицензировании генератора отчетов FastReport за последние 5-6 лет пока я им не пользовался? А ни чего. Но, по информации из надежного источника следует, что мы в шаге от новых правил лицензирования продуктов компании FastReport. Сегодня я решил поделиться этими слухами, так как нашел им подтверждение в тексте лицензионного соглашения FastReport VCL. Поэтому у меня для вас есть две новости. Как говорится, "одна плохая, вторая..."

25 февраля 2021

Новые возможности Error Insight в Delphi 10.4.2 для индикации ошибок, предупреждений и подсказок

    IDE Delphi 10.4.2 Sydney порадовала новой реализацией механизма Error Insight. Кроме индикации ошибок, новая версия Error Insight умеет показывать предупреждения и подсказки. К тому же теперь он не ограничивается, только подчеркиванием слов в редакторе.

24 февраля 2021

RAD Studio 10.4.2 доступна для загрузки

RAD Studio 10.4.2 is now available for download
Сегодня во время первого вебинара What's Coming in Delphi, C++Builder and RAD Studio 10.4.2 Sydney было объявлено, что RAD Studio 10.4.2 доступна для загрузки. Подробнее:

Новый VCL-контрол TNumberBox в Delphi 10.4.2

    Как было анонсировано в прошлом году, в Delphi 10.4.2 добавлены новые VCL-контролы. С учетом того, что разработчики RAD Studio нас не часто балуют подобным, это заслуживает внимания. О виртуальном listview в стиле DBCtrlGrid – TControlList, я уже писал. Сейчас я расскажу о новом контроле для вода числовых значений – TNumberBox.

23 февраля 2021

Вебинар "Что нового в Delphi, C++Builder и RAD Studio 10.4.2 Sydney?"

What's Coming in Delphi, C++Builder and RAD Studio 10.4.2 Sydney
    Согласно RAD Studio roadmap на 2020/2021 новый выпуск Delphi, C++Builder и RAD Studio 10.4.2 запланирован на первую половину 2021 года. Завтра компания Embarcadero проводит вебинар "What's Coming in Delphi, C++Builder and RAD Studio 10.4.2 Sydney". Это означает, что тестирование бета-версии RAD Studio 10.4.2 Hunter подходит к концу и нам пора готовиться к новым плюшкам... и новым багам...
    Для удобства слушателей из разных уголков планеты вебинар пройдет три раза. Это позволит выбрать временной интервал, который лучше всего подходит вашему расписанию:
  • 24.02.2021 18:00-19:00 MSK
  • 24.02.2021 21:00-22:00 MSK
  • 25.02.2021 04:00-05:00 MSK
Регистрация

22 февраля 2021

Создание PDF файла в Linux без графической оболочки используя FastReport FMX

    В комментариях к статье "Создание PDF файла в Windows и Linux" читатели рассказали о использовании для создания документов в формате PDF генератора отчетов FastReport. У меня уже был подобный опыт, и я даже писал об этом 10 лет тому назад. Сейчас я не стал приводить пример с FastReport, так как моя статья была написана еще до выхода FastReport FMX версии 2.8, в которой была добавлена поддержка FmxLinux. Сегодня я сделал несколько первых экспериментов с FastReport FMX под Ubuntu Desktop 20.04. Он действительно работает под Linux! Запускать мой тест экспорта в PDF я решил, как и в прошлой статье, не под Ubuntu Desktop, а под Ubuntu Server.

18 февраля 2021

MS SQL Server. Преобразование из ASCII в HEX и обратно

    Попросили меня написать скрипт, который конвертировал данные из одной таблицы в другую. При этом одно из текстовых полей нужно "привести к верхнему регистру, взять символы в обратном порядке и преобразовать их из ASCII в HEX". Например, строка "XYZ" должна превратиться в "5A5958". Привести к верхнему регистру и взять символы в обратном порядке – это делают встроенные строковые функции UPPER и REVERSE. Но, преобразование из ASCII в HEX поставило меня в тупик. Гугл мне в помощь!

14 февраля 2021

Мир без Delphi. 26-летию Delphi посвящается

    26 лет тому назад, 14 февраля 1995 года, компания Borland выпустила новый продукт для быстрой разработки приложений - Borland Delphi. Я могу писать это предложение каждый год, только менять цифры в его начале. Но для большинства современных программистов это событие ничего не значит. Delphi для них – это то, о чем рассказывал старый, выживший из ума, препод в ВУЗ'е. А упоминание компании Borland давно идет с хештегом "олды помнят".
Borland Delphi Client/Server
    Представим, что 26 лет тому назад компания Borland не выпустила новый продукт для быстрой разработки приложений - Borland Delphi...

08 февраля 2021

Создание PDF файла в Windows и Linux

    Различные операционные системы все больше теснят MS Windows в технических заданиях. Часто все усугубляется пугающим в недалеком прошлом словом "кроссплатформенность". Многие задачи могут потребовать серьезной доработки для портирования под другую операционную систему. Повезет тем, кто изначально заложил в проект использование кроссплатформенных библиотек. Им портирование можно будет реализовать в несколько строк кода или добавлением директив компилятора. Одним из самых востребованных кроссплатформенных форматов электронных документов является формат PDF. Сегодня я рассмотрю несколько вариантов создания файлов в этом формате под Windows и Linux. Но они подойдут и для других операционных систем.

31 января 2021

Быстрое заполнение нового столбца таблицы

    Недавно мне дали скрипт для обновления структуры базы данных на MS SQL Server. В нем было полно блоков, которые добавляли в таблицу столбец, заполняли его в существующих строках одинаковым значением и делали NOT NULL:
alter table MyTable add FIELD1 int null
go
update MyTable set FIELD1 = 1
go
alter table MyTable alter column FIELD1 int not null
go
Что будет, если количество строк в таблице измеряется не сотнями или тысячами, а миллионами или десятками миллионов?

18 января 2021

Clever Internet Suite. Аутентификация на SFTP-сервере с помощью SSH-ключа

    В статье "Передача файлов по SFTP" я подключался к SFTP-серверу используя парольную аутентификацию пользователя. Теперь давайте рассмотрим аутентификацию пользователя с помощью SSH-ключа. Для нее используется пара ключей: открытый (public, публичный) и закрытый (private, приватный). Публичный ключ хранится на сервере и представляет собой цифровой замок, который можно открыть только с помощью закрытого ключа. Считается, что аутентификация с помощью SSH-ключа обеспечивает более надежную проверку подлинности пользователя.

06 января 2021

Встраиваем Microsoft Edge. Дополнение

    В мае 2020-го года я писал про использование TEdgeBrowser для встраивания в приложение на Delphi браузера Microsoft Edge на основе Chromium. В комментариях к статье появились жалобы, что TEdgeBrowser не работает. Я попробовал запустить пример, который скомпилировал при ее написании - действительно не работает. Что случилось?