С++

С++ Как сделать класс ненаследуемым. Паттерн проектирования «Ненаследуемый класс».

2011-08-27 papirosnik Паттерны

В грамотно спроектированной программе должно учитываться множество нюансов. К сожалению, хотя  с++  и исповедует парадигму ООП, но делает это несколько своеобразно. Так, например, в нём разрешено множественное наследование классов. На первый взгляд это кажется разумным и такая возможность считается очень привлекательной, но на практике, как правило, сопряжено со многими трудностями и свидетельствует о плохой архитектуре […]

More

1

TDBGridEh — использование ExternalRecalc, SumList, Mногострочных заголовков и т.п.

2011-03-23 papirosnik C++ Builder

Имеется очень замечательная, удобная, красивая библиотека VCL-компонентов EhLib. Центральным звеном в цепочке элементов выступает DBGridEh. Именно он прославил эту библиотеку благодаря широким возможностям по отображению таблиц базы данных в таблицы на мониторе и на принтере. DBGridEh является многофункциональным  наследником стандартного DBGrid, расширяя его возможности такими полезными вещами, как группировка колонок в заголовке, группировка строк, футеры […]

More

0 BSGrid, VCL Components,

Насторйки проекта в MS Visual Studio 2010

2010-11-22 papirosnik Microsoft Visual Studio

Microsoft Visual Studio 2010 наряду со многими полезными новшествами имеет и такие, которые многих раздражают и ставят в тупик тех, кто не желает читать то, что для них пишут опричники Билла. Основным раздражающим моментом являются изменения в настройках студии, касающихся путей для Include файлов и путей на библиотеки (lib path). Вплоть до этой версии в […]

More

0 Microsoft Visual Studio, Properties, Property sheet,

Как открыть на чтение запущенный exe (C++ Builder, Delphi) и вообще любой заблокированный файл

2010-11-02 papirosnik C++ Builder

При программировании в среде C++ Builder и/или Delphi программисты иногда сталкиваются со следующей проблемой: при попытке открыть при помощи Reset заблокированный системой файл (например запущенный exe-шник) программа валится с ошибкой. Наиболее типичной является необходимость открыть сам исполняемый файл программы, чтобы прочитать какие-то данные из него. Такая ситуация часто возникает при реализации каких-то своих собственных защит […]

More

10 Файловая система,

Ini-файл на основе std::map

2010-06-15 papirosnik Программирование

В среде программирования C++ Builder и Delphi есть удобный класс: TIniFile. С его помощью можно практически за десять секунд организовать сохранения каких-либо данных во внешнем файле (например, настройки программы в файл с расширением *.cfg). Как его использовать — описывать смысла нет. Уйма общедоступной информации. Но в практике программирования в Microsoft Visual Studio 2010 (C++) я […]

More

0 ini-файл, map, STL,

TTreeView и контекстное (popup) меню в Delphi и С++ Builder

2010-06-14 papirosnik Delphi

Здесь осветим некоторые моменты, возникающие при привязке контекстного меню к компоненте TTreeView. Часто бывает удобно отображать некоторую информацию в виде дерева. Например, список каталогов, подкаталогов и файлов в них — что и сделано в Проводнике Windows. Для отображения всей иерархии как нельзя лучше подходит VCL компонента TTreeView из стандартного набора Delphi и/или C++ Builder. Версия […]

More

4 C++ Buider, Delphi, Embarcadero, VCL Components,

Как отловить утечки памяти MS Visual C++

2010-06-13 papirosnik Программирование

Что такое "утечки памяти" (memory leaks) и чем чревато их наличие пожалуй объяснять не стану. Просто попытаюсь рассказать, как их улавливать стандартными средствами среды Microsoft Visual C++. Версия вроде принципиального значения не имеет, т.к. пользуюсь этим средством начиная с MS VC 2003 и до сих пор (MS VC 2010) без каких либо изменений. Обычные механизмы […]

More

3 crtdbg, утечки памяти,

Powered by WordPress. Designed by elogi.