Автоматизация компиляции и запуска QtE5-приложений в Windows

Библиотека QtE5 очень удобная и нужная вещь, но иногда требуется добиться того, чтобы из некоторой среды разработки или какого-либо редактора можно было легко и быстро скомпилировать
QtE5-приложение. Дело обычно осложняется еще и тем, что после компиляции такого приложения, саму программу просто так не запустить требуется набор dll-файлов и картинок, которые распространяются вместе с QtE5. Естественно, сразу возникает вариант копирования всех нужных файлов QtE5 в какую-нибудь уединенную папку, однако, постоянное перемещение исполняемых файлов в нее может весьма быстро надоесть… Читать далее →

Подробнее

Простая консольная программа для ведения списка задач (todo)

В этой статье я расскажу о том, как однажды я написал небольшую консольную программку для ведения списка задач почти полностью в функциональном стиле (за исключением использования переменных и некоторых приемов из ООП). К сожалению, в статье помимо полезных практических приемов будут и некоторые отрицательные примеры, в частности, некоторое дублирование кода и нерациональное использование функций стандартной библиотеки. Также в этой скромной публикации я покажу с чего я начал функциональное проектирование программы (будет показан пример кода на одном из функциональных языков), нестандартное использование одного файла из состава библиотеки QtE5, одну интересную библиотеку для раскрашивания сообщений в командной строке, а также я сделаю небольшое резюме о полученном в ходе работы над этой программкой todo опыте. Читать далее →

Подробнее

Добавление в класс универсального свойства

Язык D обладает богатыми возможностями кодогенерации, которые позволяют упростить процесс добавления своих свойств в структуру и класс. А что если потребуется в класс добавить свойство, которое будет выдавать значение того типа, который нужен в данный момент?

Читать далее →

Подробнее

Проверка любого типа на принадлежность к числовым

Иногда возникает необходимость проверить является ли некоторый тип числовым, при этом, если тип относится к числовым, то не важно целое ли это число или же с плавающей точкой. То есть решение должно быть универсальным. Читать далее →

Подробнее

Слоты и сигналы в QtE5

В Qt С++ используется два механизма обработки событий, это механизм виртуальных функций и механизм слотов и сигналов. Подробно останавливаться на этом не будем, так как в интернете очень много информации на эту тему. Главное — слот/сигнал, это имя функции с аргументами определенных типов. Мое представление об этом механизме сводится к следующим моментам Читать далее →

Подробнее

Создание своего виджета в QtE5

В этой статье, я покажу вам, несколько с иной стороны, насколько удобна QtE. Дело в том, что несмотря на то, что в этой замечательной привязке к библиотеке Qt5, есть много элементов графического интерфейса, но … иногда этого набора не хватает… Хоть это и случается редко, но порой возникает задача, при которой требуется создать какой-то свой графический элемент. Вот тут то, начинается самое интересное и при этом не трудное!

Читать далее →

Подробнее

Стеганография в dlib

Думаю, нет необходимости лишний раз говорить о том, насколько в наше время важна защита личных данных и тайна переписки. Конечно, к нашим услугам имеются криптографические алгоритмы, но одного только шифрования порой бывает мало – иногда нужно не просто передать секретное сообщение, но и скрыть сам факт передачи. И здесь приходят на помощь алгоритмы стеганографии. Читать далее →

Подробнее

Мониторинг температуры процессора на нескольких машинах одновременно. Часть 2

В этой части мы завершим написание пары клиент-сервер программы для мониторинга температуры процессоров на большом количестве машин. Первую часть вы можете почитать здесь.

На данный момент у нас есть готовый работающий приёмник данных с клиентов. Осталось написать сам клиент. Сразу оговорюсь, что писать код будем для ОС семейства GNU/Linux, но с возможностью простого и быстрого масштабирования для остальных ОС. Благо, язык обладает для этого всеми средствами. Читать далее →

Подробнее

Паттерн «Стратегия» в D. Строим простое семейство алгоритмов для рисования графических примитивов

Довольно часто в своей практике я использую D Form Library 2 (DFL2) для своих экспериментов с математической графикой и рисованием, но бывает так, что приходиться пользоваться другими инструментами для тех же самых задач. Одним из таких инструментов является библиотека dlib, которая служит для работы с изображениям и которая способна работать в среде Linux, что делает ее одним из прекраснейших средств для математических экспериментов с графикой. Читать далее →

Подробнее

Удаление элемента из массива по его индексу

Удалить элемент из массива, зная его индекс очень просто, и при этом совершенно не обязательно для этих целей использовать диапазоны и алгоритмы из стандартной библиотеки! Читать далее →

Подробнее