Почему важно подключать модуль к проекту

При работе в С++ Builder (да и не только в нем) иногда мы неправильно подключаем модуль к проекту. Если вы хотите использовать класс реализованный в другом модуле, то вы прописываете директиву #include. Это легко, быстро и понятно. Но этого недостаточно. Продолжить чтение →

Как открыть gnome-terminal в нужном каталоге

Пару месяцев назад, при работе над одним крупным проектом в Linux мне постоянно требовалось переходить в терминале в один и тот же каталог. Это легко выполняется с помощью команды cd. Но путь к нужному каталогу был очень длинным и постоянно вбивать его полностью мне быстро надоело. Продолжить чтение →

Пара слов в защиту goto

Все программисты знают, что использовать оператор goto — моветон. Объясняют это обычно тем, что он сильно запутывает код и делает его трудно читаемым. Это так. Но в некоторых случаях с помощью него можно избежать нежелательного дублирования кода. Продолжить чтение →

Компиляция приложений Windows в Linux

Одна из потрясающих особенностей Linux состоит в том, что, работая в нем, вы можете создавать приложения Windows. Такую возможность обеспечивает пакет mingw-w64. В его состав входят компиляторы для создания 32- и 64-битного кода С и С++ для систем Windows. Продолжить чтение →

char, unsigned char и AnsiString

Существует несколько способов конвертировать целое число в класс AnsiString. Обычно для этого используется функция IntToStr. Но класс AnsiString умеет конвертировать числа «на лету» при сложении строки с числом. Правда здесь нужно быть осторожным. Продолжить чтение →

Компонент TStringGrid не позволяет задать нулевое количество строк

Компонент TStringGrid в C++ Builder описывает таблицу. Он является надстройкой над двумерным массивом строк. В целом это очень удобный класс, и я часто пользуюсь им. Но у него есть одна особенность, которая иногда доставляет неудобства. Продолжить чтение →

Не забывайте про префикс ./ в Linux

Недавно я совершил глупейшую ошибку, работая в Linux. Я написал небольшую программу, скомпилировал ее и отчаянно пытался запустить через терминал. Исполняемый файл назывался «main». В терминале я зашел в каталог с этим файлом и наивно набрал команду: Продолжить чтение →

книга и черновик незавершенной книги

Сегодня выложил в общий доступ свою старую книгу «Разработка приложений под КОМПАС в Delphi» и черновик так и не завершенной книги с рабочим названием «Шпаргалка VCL».

Книга «Разработка приложений под КОМПАС в Delphi» была написана в 2013 году и уже получила признание у читателей. Но на моем блоге ее до сих пор не было. Теперь вы можете бесплатно скачать ее отсюда.

«Шпаргалка VCL» начиналась как книга с большими надеждами. В ней планировалось подробно рассмотреть библиотеку VCL на примере Delphi и C++ Builder. Но во время активной работы над ней я осознал, что она давным-давно утратила свою актуальность (она писалась для Delphi 7 и C++ Builder 6). Поэтому мне пришлось прекратить работу над ней, чтобы сосредоточиться на других, более актуальных проектах. Но, чтобы накопленный материал не пропадал впустую, я выкладываю его здесь. Вдруг кому будет интересно. Более подробная информация и ссылка на скачивание приведены на странице.

Дружественная функция для шаблонного класса

При работе в С++ время от времени приходится создавать свои собственные шаблоны. Их синтаксис описывается в любой более-менее приличной книге по С++. Но правильное объявление дружественной функции может вызвать трудности. Продолжить чтение →

Ошибка отсутствия процедуры __dbk_fcall_wrapper и ее решение

При работе в Embarcadero RAD Studio 10 во время компиляции проекта может возникать ошибка с текстом: «Точка входа в процедуру __dbk_fcall_wrapper не найдена в библиотеке DLL». Продолжить чтение →