Наш магазин на eBay Наш магазин на AliExpress Наш канал в telegram

Записи с меткой «C++»

Рабочие столы Windows и простейший менеджер рабочих столов на С++ Builder

Рабочие столы Windows Простейший менеджер на C++ Builder Рабочие столы Windows Как я недавно узнал, — в Windows 10 у пользователей наконец «появилась» такая штука, как виртуальные рабочие столы. Сейчас, наверное, многие скажут, — Здравствуйте вам, проснулся, уже 11-я винда вышла, алё. Но, подождите кидаться тапками, сейчас мы ещё узнаем, кто тут из нас проснулся? …

Горячие клавиши в Windows-приложениях на С++ Builder

Cвойство ShortCut и компонент HotKey Свойство KeyPreview Подписка через WinAPI В этой статье я расскажу о трёх способах реализации горячих клавиш в ваших Windows-приложениях на C++ Builder. Причём, если первые два способа работают только когда фокус установлен на окно вашего приложения, то последний позволяет реагировать на горячие клавиши независимо от наличия или отсутствия фокуса у …

Работа с устройством USB HID в ОС Windows через Windows API

Введение Подключение к устройству USB HID Обмен данными с устройством USB HID Пример программы для работы с устройством USB HID Введение В прошлой статье я рассказывал как сделать устройство USB HID на микроконтроллере stm32. Но, как вы понимаете, сделать устройство — это только половина дела, вторая половина — как с этим устройством потом работать. Сегодняшняя …

Как подружить C++ Builder и Windows DDK

При разработке программ под Windows с использованием WIN API вам может очень сильно облегчить жизнь использование стандартных хидеров Windows (заголовочных файлов) с описаниями различных функций, структур и прочим, а также использование готовых статических библиотек, которые можно прикомпилить к своим проектам. Ниже я расскажу где эти хидеры и библиотеки взять и как всё это использовать в …

OpenGL в C++ Builder. Основы

Введение Инициализация Примитивы Введение Все, наверное, понимают, что для работы с 2D и 3D графикой очень приятно пользоваться готовыми библиотеками. Они позволяют программисту избавиться от кучи адовых вычислений, типа обсчёта поворотов, освещений, пересечений, наложений и прочей мути. Все вышеперечисленные «умения» в таком случае реализуются в библиотеке, а нам остаётся только с помощью специальных стандартных функций …

Простой http-сервер на C++ Builder (Indy)

Сегодня мы будем писать на C++ Builder простейший http-сервер, но для начала, как всегда, немного теории (просто чтобы было понятно, что мы вообще собираемся делать). Итак, http (HyperText Transfer Protocol) — протокол передачи гипертекста (например, html-страничек). Это протокол прикладного уровня, из набора протоколов TCP/IP. В настоящий момент он является основным протоколом передачи данных в интернете …

Dll для шлюза UART-to-I2C/SPI/1W (RH0004)

Чтобы облегчить себе и другим разработку программ для шлюза UART-to-I2C/SPI/1W я решил собрать реализацию всех поддерживаемых шлюзом команд в отдельную Dll. Это избавит программистов от необходимости писать код для работы с железкой и позволит им сосредоточиться на прикладной части своих приложений. Dll-ка выложена с исходниками и может распространяться совершенно свободно, — делайте с ней что …

Как написать и отладить dll в C++ Builder

Что такое Dll и зачем оно нам надо? Как написать Dll? Как подключить и использовать Dll в своей программе? Как отладить Dll? Что такое Dll и зачем оно нам надо? Ну, начнём с того, что Dll — это аббревиатура от слов Dynamic Link Library, что переводится как «динамически подключаемая библиотека». По-сути, это модуль, содержащий какой-то …

Строки (AnsiString) и символьные массивы (Char[], Char*) в C++ Builder

Введение Преобразование типов Некоторые полезные методы класса AnsiString Введение Итак, в С++ Builder строки можно задать тремя разными способами: через специальный класс AnsiString, через массив символов char[] и через указатель на первый символ массива char*: AnsiString String1="Hello!"; char *String2="Hello!"; char String3[]={’H’,’e’,’l’,’l’,’o’,’!’,’\0’}; char String4[7]={’H’,’e’,’l’,’l’,’o’,’!’,’\0’};AnsiString String1="Hello!"; char *String2="Hello!"; char String3[]={‘H’,’e’,’l’,’l’,’o’,’!’,’\0′}; char String4[7]={‘H’,’e’,’l’,’l’,’o’,’!’,’\0′}; Задание строк String3 и String4 …