c++

Пример использование AddMsOff.dll из c++ для написания чисел прописью

in

Прежде всего надо поблагодарить Андрияшкина Александра за отличную бесплатную библиотеку AddMsOff.dll.
Она может цепляться к MSWord и Excel, но и программисты на других языках могут с легкостью ей пользоваться.
Преведу пример исользования функции SumPropF на C с динамической загрузкой библиотеки

Особенности использования TStringList с Values и Names

in

В TStringsList, если ты используешь Values и Names существует удобная вещь являющаяся при этом подводным камемнем:
Когда в список передается пустое значение AnsiString(NULL) Такой ключ исключается из списка за ненадобностью. Таким образом можно обновлять только заполненные свойства. Однако размер списка, как можно догадаться, будет все время меняться и не будет соответствовать полному набору вводимых ключей, если среди них будут пустые.

Borland CBuilder 6 пропадающая возможность отладки

in

В Borland С++ Builder 6-й верии периодически отваливается возможность отладки.

Почему это происходит можно только догадываться.Зато есть способ вернуть все на свои места:

1. Закрываем Builder

2. Удаляем все obj файлы проекта

3. Удаляем выходной exe и tds файлы

4. Удаляем в каталоге исходников dsk файл

5. Запускаем Builder с проектом и запускаем Build project

Обрабатываем кнопки мыши вперед/назад

in

Обрабатывать надо сообщения WM_XBUTTONDOWN, WM_XBUTTONUP и так далее

Считается, что есть две кнопки XBUTTON1 и XBUTTON2

HIWORD(wParam) == XBUTTON1 //== 1 назад

HIWORD(wParam) == XBUTTON2 //== 2 вперед

 

Для Borland CBuilder обработка сообщения будет выглядеть так

//В файле заголовка

class TForm1 {

Считываем настройки прокси из registry

Чотбы получить настроки указваемые windows в свойствах Интернет достаточно считать два ключа в системном реестра текущего пользователя

  "HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Internet Settings"
"ProxyEnable"=dword:00000001
"ProxyServer"=":"
"ProxyOverride"=""
"DisablePasswordCaching"=dword:00000001

На VCL это будет выглядеть так:

С++ Builder/Delphi Несколько верхних (top) окон в приложении (и на панели задач)

in

Чтобы окно показывалось в панели задач (task panel) необходимо поставить ему соответствующие аттрибуты и назначить родителем десктоп: (Написано по мотивам примера для Delphi http://blogs.teamb.com/deepakshenoy/archive/2005/04/26/4050.aspx) Для каждой формы верхнего уровня перегружаем виртуальую функцию

void __fastcall CreateParams(TCreateParams &Params);

...

В реализации функции добавляем атрибут WS_EX_APPWINDOW и родительское окно - десктоп

freopen's feature in Visual Studio

in

freopen's feature in Visual Studio

If you close with \'fclose\' function standard stream (stdout, stderr) redirected with freopen, Then when next fopen will be called it will return handler to new opened file and standard stream will be linked to it to. This behaviour is discovered in Visual Studio v6,v7.

Example:

Borland CBuilder 6 - Crystal Reports VCL 10

in

Install Component

Download component here

Close All files and CBuilder as written in readme.txt

Set path to component Tools-Environment Options-Library-Include Path

Example:

Изменение размеров изображения runtime при помощи (ImageMagick, GraphicsMagick )

in

Методы с++ API

В с++ интерфейсе реализованы 2 метода sample (использует ResampleImage из C) и scale (ScaleImage из C). Resize нет в виду ненужности :-). Дело в том что resizeImage использует медленные алгоритмы обеспечивающие наилучшее качество.

Пример:

Magick::Image Image;
Image.read("test.gif");
int newW = 50;
int newH = 50;
Magick::Geometry NewHW(newW, newH, 0, 0);
Image.scale(NewHW);
Image.write("test_new.gif");

Тонкости использования

C++ Boost настройка, установка, использование - просто

Введение

Boost мультиплатформенная библиотека
с++ расширяющая функциональность этого языка на порядок. Построена на
основе STL и является по существу продвинутым вариантом RTL для c++
приближающей его к базовой фукнциональности JDK и .NET

Установка на примере windows

Опуская различные особенности указанные в документации надо:

RSS-материал