17 июля 2023

Свойство ShowInTaskbar у TForm в Delphi 12

    В Delphi 12 классу TForm добавили новое свойство ShowInTaskbar. Это свойство определяет, должна ли форма иметь иконку на панели задач Windows. То есть теперь даже не основная форма приложения, у которой свойство ShowInTaskBar имеет значение True, будет иметь на панели задач свою иконку. Это позволит свернуть и восстановить форму через ее иконку на панели задач независимо от состояния основной формы. Для основной формы приложения (Application.MainForm) свойства ShowInTaskBar и Application.MainFormOnTaskBar синхронизируются.

14 июля 2023

Многострочные строковые литералы в Delphi 12

    Продолжим тему строковых литералов в Delphi 12. Кроме длинных строковых литералов в компилятор Delphi 12 добавлена поддержка многострочных строковых литералов. Больше не будет необходимости, как раньше, объединять строки в один строковый литерал используя оператор "+".
Многострочные строковые литералы в Delphi 12

12 июля 2023

Длинные строковые литералы в Delphi 12

    Строки в Delphi, можно сказать, безразмерные. Они могут занимать в памяти до 2GB и вмещать примерно 230 символов для UnicodeString, или даже 231 для AnsiString. Но для обратной совместимости у него есть строковый тип ShortString, который как классическая строка Pascal, ограничена 255 символами. Все эти годы компилятор Delphi обрабатывал строковые литералы как ShortString. Поэтому если программист в коде писал литерал из более чем 255 символов, то получал ошибку "E2056 String literals may have at most 255 elements ".
Delphi 11: [dcc32 Error] E2056 String literals may have at most 255 elements
Что бы избавиться от ошибки, такой строковый литерал необходимо было разделить на несколько отдельных литералов и объединить их, используя оператор "+". Delphi 12 снял это ограничение. Теперь длина строки литералов ограничиваться только ограничениями редактора (4K символов в строке).

22 июня 2023

Первый международный конгресс посвященный языку Pascal

    С 3 по 7 июля 2023 года в испанском городе Саламанка пройдет первый международный конгресс, посвященный языку программирования Pascal – International Pascal Congress (IPC 2023). Его организатором является Университет Саламанки, который учрежден в 1254 году и является одним из старейших университетов в Европе. Основные цели IPC 2023: стимулирование роста популярности языков программирования семейства Pascal, обсуждение новых идей и технологического сотрудничества, обмен знаниями о программировании, создание благоприятной среды для расширения сообщества Pascal.

19 июня 2023

Что нового в стандарте SQL:2023?

    Международная организация по стандартизации (ISO, International Organization for Standardization) в начале июня 2023 года приняла новую версию стандарта ISO/IEC 9075 "Information technology - Database languages - SQL" – SQL:2023. Этот стандарт определяет требования к синтаксису языка SQL, которые, хоть немного, но обеспечивают совместимость реляционных СУБД. Его первая версия вышла в 1986 году и была основана на стандарте ANSI SQL. Я считаю, что основополагающим стандартом для SQL был SQL-92. Он заложил фундамент, а остальные редакции его просто "достраивали" функционалом не совсем связанным с SQL: регулярные выражения, массивы, XML, JSON, элементы объектно-ориентированного программирования... Исключением можно считать только SQL:2003, который дал нам то, без чего сегодня трудно представить реляционную базу данных: оконные функции, генераторы последовательностей, автоинкрементные столбцы, MERGE, CREATE TABLE AS. А, что нового в стандарте SQL:2023?

15 июня 2023

Результаты Stack Overflow Developer Survey 2023

    Stack Overflow опубликовал результаты прошедшего Stack Overflow Developer Survey 2023. Анкету заполнили более 90 000 разработчиков. В этом году в разделе "Programming, scripting, and markup languages" был учтен 51 язык. Это на 9 больше чем в прошлом. Пятерка лидеров раздела среди профессиональных разработчиков не изменилась:

12 июня 2023

Сколько строк обработал оператор DML?

    После выполнения оператора DML модифицирующего данные иногда бывает необходимо узнать, сколько строк им было обработано. Это может быть полезно, например для определения успешности выполнения оператора или для ведения журнала операций. Каждая СУБД реализует такую функциональную возможность по-своему.