Рейтинг@Mail.ru

Учебники по программированию

Встраивание браузера Chromium в Delphi приложения

Для отображения HTML-страниц с документами, справок сделанных в Вики или целых веб-порталов в своём приложении, созданном в Delphi, вам понадобится современный встраиваемый браузер, такой как Chromium. О том, как встроить браузер Chromium в своё приложение, узнаем в этой статье.

Как увеличить размер шрифта в среде разработки Delphi 10.3 Rio?

Что делать, если размер шрифта в среде разработки Delphi 10.3 Rio слишком мелок для вас и вам приходится сильно напрягаться, глядя на него? Увеличить его? Конечно, но, к сожалению, в Delphi 10.3 Rio через настройки вы можете увеличить только шрифт редактора. А как увеличить шрифт в многочисленных панельках, например, в инспекторе объектов? Я поделюсь с вами одним из способов, который я обнаружил.

Совершенствуем перебор записей в Delphi 10.2 Tokyo с классом-помощником TDataSetHelper

Работая с данными в Delphi с помощью классов унаследованных от TDataSet нам часто нужно делать перебор записей. При этом почти всегда сначала требуется отключить элементы управления, сохранить закладку, выключить фильтры, отписаться от событий, а после перебора восстановить всё в обратном порядке. И благодаря возможности в последних версиях Delphi создавать классы-помощники и использовать анонимные функции, вся эта рутина сокращается до нескольких строк кода. Давайте рассмотрим, мой класс-помощник TDataSetHelper и научимся его использовать.

System.IOUtils – удобные утилиты Delphi для работы с файлами и директориями

Начиная с версии XE2 в Delphi появился юнит System.IOUtils, включающий удобные утилиты для работы с файлами и директориями. Предлагаю вместе подробно разобраться с тем, что в юните System.IOUtils имеется и попробовать на примерах как это всё работает.

Работа со строками в Delphi 10.1 Berlin

Для работы со строками в последних версиях Delphi разработчикам доступно большое количество функций, помимо которых ещё есть помощники для работы со строками, такие как TStringHelper, TStringBuilder и TRegEx. Во всём этом разнообразии бывает сложно найти нужную функцию. Я попытался разобраться, что есть в Delphi 10.1 Berlin для работы со строками и как этим всем пользоваться.

Delphi. Немного об использовании string в CASE

Каждый разработчик для улучшения понимания кода программы, пытается повысить её читабельность. Один из вариантов это сделать - использовать оператор case при тестировании значения переменной. Но, к сожалению, в Delphi этот оператор умеет работать не со всеми типами переменных. Например, он не будет работать со строками. А что делать, если всё-таки нужно проверять переменную типа string оператором case? Давайте рассмотрим один из вариантов, как это можно сделать.

Использование OpenCV в Delphi

Создатели библиотеки компьютерного зрения OpenCV позаботились о разработчиках, которые программируют на C++, C, Python и Java, ведь для этих языков есть официальные интерфейсы. А что же делать Delphi-разработчикам? На помощь приходит неофициальный проект Delphi-OpenCV, созданный и поддерживаемый российскими разработчиками, который предоставляет обёртки для библиотеки OpenCV. Давайте пробовать, насколько просто или сложно, установить, настроить и использовать OpenCV в Delphi.

Выведение стека вызовов в строку в Delphi

 

Когда программа уже написана и работает на компьютере пользователя, становится практически невозможно отловить ошибку без просмотра стека вызовов. Ведь с помощью него вы сможете точно определить, где произошла ошибка, и узнать какие функции вызывались до этого. Платформы .Net и Java имеют встроенную поддержку трассировки стека в классе Exception. Вы просто вызываете Exception.StackTrace (в .NET) или Exception.getStackTrace (в Java) и получаете детальную информацию о стеке. В Delphi с трассировкой стека всё не так просто. Давайте разбираться.

Асинхронная загрузка данных с помощью ADO в Delphi

В некоторых случаях нам приходится делать асинхронную загрузку данных из базы. Ведь так пользователь может почти сразу увидеть первые фрагменты данных по мере их загрузки, не дожидаясь, пока будет загружено всё полностью. Ещё пользователь получит возможность отменить загрузку в любой момент, пока она происходит. Ну и конечно, асинхронная загрузка позволяет сделать, например, многозакладочный пользовательский интерфейс, на каждой закладке которого можно будет параллельно загружать разные данные. В этой статье я приведу решение, которое позволит сделать асинхронную пошаговую загрузку данных в таблицу в Delphi с помощью ADO.

Использование стандартных дженериков Delphi для работы с наборами данных

Начиная с версии 2009, в Delphi на уровне языка и компилятора появилась поддержка универсальных типов или дженериков (известных также как параметризованные типы), аналога шаблонов в C++. Вместе с этими изменениями появился юнит System.Generics.Collections, служащий для работы с массивами и группировки данных в словари, списки, стеки и очереди. Именно об этом юните и о работе с ним пойдёт здесь речь.

Создание дистрибутива Windows приложения в Inno Setup

Для удобства установки ваших программ на компьютеры пользователей вам понадобится создание дистрибутива. Сегодня я хочу рассказать об очень мощном и бесплатном инструменте для создания дистрибутивов для ОС Windows – Inno Setup.

Параллельное программирование в Delphi XE7

В Delphi XE7 была включена библиотека для параллельного программирования. Чтобы её использовать, достаточно подключить юнит System.Threading. Давайте разберёмся, что в этой библиотеке есть и как её можно использовать.

Массивы Delphi XE7

Ни для кого не секрет, что Delphi XE7 получил улучшения в языке Object Pascal для работы с массивами. В этой статье мы разберёмся, что же появилось нового и пробежимся по уже имеющимся возможностям по работе с массивами.

Тест производительности программы в Delphi XE3

При разработке приложений часто возникает потребность оптимизировать код таким образом, чтобы он работа быстрее. Чтобы это сделать, зачастую мало внимательно изучить код. Ведь медленно работать может сторонняя библиотека или компонент. Да и программный код может быть очень объёмным. Давайте разберёмся, как можно проанализировать производительность программы в Delphi XE3.

Запуск консольных приложений и перехват потока ввода/вывода в Delphi XE3

Предположим вам нужно запустить консольное приложение из оконного приложения и наблюдать за потоком вывода. Вы можете сохранять выводимый текст в файл журнала или отображать текст в окне в многострочном текстовом поле, например, в TRichEdit. Кроме того вы можете отправить информацию приложению, если оно что-то запросило. Давайте разберёмся, как это сделать?

Обмен данными между процессами в Delphi XE3

Перед разработчиком приложений Windows нередко встаёт вопрос, как обмениваться данными между двумя и более приложениями. Это бывает необходимо, например, если вы разрабатываете службу Windows и приложение для настройки и мониторинга за этой службой.

Журналирование или логирование в Delphi XE3

Передо мной возник вопрос, как логировать то, что происходит в программе в Delphi XE3. Причём мне нужно отписывать происходящие события не только в файл, но и в базу данных. Кроме того я хочу отписывать сообщения из двух приложений в один файл параллельно, т.е. из разных процессов. Поскольку за Delphi я не садился с далёкого 2000-го года, мне пришлось закатать рукава и заняться поисками, что появилось с тех давних времён.