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.