31 марта 2020

Туманное будущее C++ Builder

 "Будущее туманно, а конец - всегда близок"
 © Джим Моррисон

    Компания Embarcadero часто подвергается критике, что C++ Builder, по сравнению с Delphi, является для нее пасынком. Большинство их клиентов использует Delphi, поэтому логично, что Delphi является приоритетным направлением в разработке RAD Studio. Тем не менее, они постоянно обещают не забывать о C++ Builder.

29 марта 2020

Создание выпадающего списка в ячейке электронной таблицы

    Современные программы для создания электронных таблиц имеют много интересных функций, которые делают работу пользователя с данными более комфортной. Одна из таких функций "Проверка данных" ("Data Validation") позволяет контролировать корректность ввода данных в ячейке электронной таблицы. Контроль достигается за счет ограничения типа данных или значений, которые можно ввести в ячейку. Одним из часто используемых применений механизма проверки данных является создание выпадающих списков. Давайте посмотрим, как создать выпадающий список в ячейке электронной таблицы "руками" в Google Таблицы и Microsoft Excel. А также создадим его из программы.

18 марта 2020

Denali. Предстоящей версии RAD Studio посвящается

    Сиэтл, Берлин, Токио, Рио... Это не маршрут очередного прощальный тура Scorpions по городам и селам нашей планеты, а кодовые названия релизов последних версий Embarcadero RAD Studio. 28 февраля компания Embarcadero объявила о подготовке выпуска бета-версии RAD Studio 10.4. Она выйдет под кодовым названием "Denali". Если названия Seattle, Berlin, Tokyo, Rio были для меня понятные, то название Denali поставило меня в тупик.

09 марта 2020

TIOBE Index: Delphi вот-вот выпадет из топ-20

 "Цифры в Tiobe немного похожи на отображение мировой популяции диких кабанов, основываясь исключительно на том, сколько мяса кабана продается в супермаркетах"
 © Jon L. Aasenden

    Меня всегда смущал рейтинг популярности языков программирования TIOBE Index. И не только из-за их явно предвзятого отношения к наследникам языка Pascal, но и из-за их рейтингов других языков программирования. Например, как "голые" C и C++ могут быть впереди планеты всей и обгонять тот же C#?

04 марта 2020

Избавляемся от "Процесс не может получить доступ к файлу, так как этот файл занят другим процессом"

    Процесс не может получить доступ к файлу, так как этот файл занят другим процессом... Но это не точно... Как показала практика, для программы на Delphi это действительно не точно.
    При открытии файла в режиме "только для чтения" в параметре определяющем режим доступа к файлу обычно передают комбинацию "fmOpenRead or fmShareDenyNone". Но оказалось, что это избавляет только от части ошибок "Процесс не может получить доступ к файлу, так как этот файл занят другим процессом" или "The process cannot access the file because it is being used by another process".

28 февраля 2020

RAD Studio 10.4 beta. Что день грядущий нам готовит?

    Компания Embarcadero объявила о подготовке выпуска бета-версии RAD Studio 10.4. Ее выпуск под кодовым названием "Denali" запланирован на март 2020-го года. Из незакрытых NDA новшеств RAD Studio 10.4 называются:

Delphi
  • Language Server Protocol под Delphi
  • Улучшения языка: Managed Records
  • Унифицированное управление памятью для всех платформ

Антивирус Касперского против Delphi

    Недавно мое руководство осчастливило нас защитой от "Лаборатории Касперского". Пришел админ и поставил всем Kaspersky Endpoint Security. На днях безопасность мирового класса у меня дала сбой. В крошечной консольной программке сразу после компиляции в Delphi 10.3.1 эвристический анализ антивируса нашел троян "HEUR:Trojan-Banker.Win32.Danabot.gen".
При этом если проект собрать компилятором под Win-64, то он успешно запускается. Так же, как и если 32-х битную версию собрать на Delphi 10.3.2 или Delphi 10.3.3.
    Я сталкивался с таким раньше, когда программа по HTTP скачивала страницу из интернета, но эта всего лишь читает список файлов каталога (исходный текст моего "трояна" является примером к моей следующей статье). Так, что время идет, название антивируса меняется, а алгоритмы касперсого продолжают глючить :-)